summaryrefslogtreecommitdiff
path: root/.localrepo/compat-30.0.0.0.tar
blob: a91565d737ae2222bf47376b4b849d29e092bda6 (plain)
ofshex dumpascii
0000 63 6f 6d 70 61 74 2d 33 30 2e 30 2e 30 2e 30 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 compat-30.0.0.0/................
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 31 36 35 32 00 20 35 00 00 00 0000000.00000000000.011652..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 63 6f 6d 70 61 74 2d 33 30 2e 30 2e 30 2e 30 2f 63 6f 6d 70 61 74 2d 32 35 2e 65 6c 00 00 00 00 compat-30.0.0.0/compat-25.el....
0220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0260 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
0280 30 30 32 32 35 35 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 37 31 34 00 20 30 00 00 00 0022555.00000000000.013714..0...
02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0400 3b 3b 3b 20 63 6f 6d 70 61 74 2d 32 35 2e 65 6c 20 2d 2d 2d 20 46 75 6e 63 74 69 6f 6e 61 6c 69 ;;;.compat-25.el.---.Functionali
0420 74 79 20 61 64 64 65 64 20 69 6e 20 45 6d 61 63 73 20 32 35 2e 31 20 2d 2a 2d 20 6c 65 78 69 63 ty.added.in.Emacs.25.1.-*-.lexic
0440 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 al-binding:.t;.-*-..;;.Copyright
0460 20 28 43 29 20 32 30 32 31 2d 32 30 32 34 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 .(C).2021-2024.Free.Software.Fou
0480 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 ndation,.Inc...;;.This.program.i
04a0 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 s.free.software;.you.can.redistr
04c0 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 ibute.it.and/or.modify.;;.it.und
04e0 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 er.the.terms.of.the.GNU.General.
0500 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 3b Public.License.as.published.by.;
0520 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 ;.the.Free.Software.Foundation,.
0540 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c either.version.3.of.the.License,
0560 20 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 .or.;;.(at.your.option).any.late
0580 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 r.version...;;.This.program.is.d
05a0 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 istributed.in.the.hope.that.it.w
05c0 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e ill.be.useful,.;;.but.WITHOUT.AN
05e0 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 Y.WARRANTY;.without.even.the.imp
0600 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c lied.warranty.of.;;.MERCHANTABIL
0620 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 ITY.or.FITNESS.FOR.A.PARTICULAR.
0640 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c PURPOSE...See.the.;;.GNU.General
0660 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 .Public.License.for.more.details
0680 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 ...;;.You.should.have.received.a
06a0 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 .copy.of.the.GNU.General.Public.
06c0 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 License.;;.along.with.this.progr
06e0 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e am...If.not,.see.<https://www.gn
0700 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 u.org/licenses/>...;;;.Commentar
0720 79 3a 0a 0a 3b 3b 20 46 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 61 64 64 65 64 20 69 6e 20 45 6d y:..;;.Functionality.added.in.Em
0740 61 63 73 20 32 35 2e 31 2c 20 6e 65 65 64 65 64 20 62 79 20 6f 6c 64 65 72 20 45 6d 61 63 73 20 acs.25.1,.needed.by.older.Emacs.
0760 76 65 72 73 69 6f 6e 73 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 65 76 61 6c 2d 77 68 65 6e versions...;;;.Code:..(eval-when
0780 2d 63 6f 6d 70 69 6c 65 20 28 6c 6f 61 64 20 22 63 6f 6d 70 61 74 2d 6d 61 63 73 2e 65 6c 22 20 -compile.(load."compat-macs.el".
07a0 6e 69 6c 20 74 20 74 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 76 65 72 73 69 6f 6e 20 22 32 35 2e 31 nil.t.t))..(compat-version."25.1
07c0 22 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 61 6c 6c 6f 63 2e 63 0a 0a 28 63 6f ")..;;;;.Defined.in.alloc.c..(co
07e0 6d 70 61 74 2d 64 65 66 75 6e 20 62 6f 6f 6c 2d 76 65 63 74 6f 72 20 28 26 72 65 73 74 20 6f 62 mpat-defun.bool-vector.(&rest.ob
0800 6a 65 63 74 73 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 62 6f 6f 6c 2d 76 65 63 jects).;;.<compat-tests:bool-vec
0820 74 6f 72 3e 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6e 65 77 20 62 6f 6f 6c 2d 76 65 63 74 6f 72 tor>..."Return.a.new.bool-vector
0840 20 77 69 74 68 20 73 70 65 63 69 66 69 65 64 20 61 72 67 75 6d 65 6e 74 73 20 61 73 20 65 6c 65 .with.specified.arguments.as.ele
0860 6d 65 6e 74 73 2e 0a 41 6c 6c 6f 77 73 20 61 6e 79 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 ments..Allows.any.number.of.argu
0880 6d 65 6e 74 73 2c 20 69 6e 63 6c 75 64 69 6e 67 20 7a 65 72 6f 2e 0a 75 73 61 67 65 3a 20 28 62 ments,.including.zero..usage:.(b
08a0 6f 6f 6c 2d 76 65 63 74 6f 72 20 26 72 65 73 74 20 4f 42 4a 45 43 54 53 29 22 0a 20 20 28 6c 65 ool-vector.&rest.OBJECTS)"...(le
08c0 74 20 28 28 76 65 63 20 28 6d 61 6b 65 2d 62 6f 6f 6c 2d 76 65 63 74 6f 72 20 28 6c 65 6e 67 74 t.((vec.(make-bool-vector.(lengt
08e0 68 20 6f 62 6a 65 63 74 73 29 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 28 69 20 30 29 29 0a h.objects).nil)).........(i.0)).
0900 20 20 20 20 28 77 68 69 6c 65 20 6f 62 6a 65 63 74 73 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 ....(while.objects.......(when.(
0920 63 61 72 20 6f 62 6a 65 63 74 73 29 0a 20 20 20 20 20 20 20 20 28 61 73 65 74 20 76 65 63 20 69 car.objects).........(aset.vec.i
0940 20 74 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6f 62 6a 65 63 74 73 20 28 63 64 72 20 6f 62 .t)).......(setq.objects.(cdr.ob
0960 6a 65 63 74 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 20 28 31 2b 20 69 29 29 29 0a 20 20 jects).............i.(1+.i)))...
0980 20 20 76 65 63 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 65 64 69 74 66 6e 73 ..vec))..;;;;.Defined.in.editfns
09a0 2e 63 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 61 6c 69 61 73 20 66 6f 72 6d 61 74 2d 6d 65 73 73 .c..(compat-defalias.format-mess
09c0 61 67 65 20 66 6f 72 6d 61 74 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 66 6f 72 age.format).;;.<compat-tests:for
09e0 6d 61 74 2d 6d 65 73 73 61 67 65 3e 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 66 69 mat-message>..;;;;.Defined.in.fi
0a00 6c 65 69 6f 2e 63 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 64 69 72 65 63 74 6f 72 79 2d leio.c..(compat-defun.directory-
0a20 6e 61 6d 65 2d 70 20 28 6e 61 6d 65 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 64 name-p.(name).;;.<compat-tests:d
0a40 69 72 65 63 74 6f 72 79 2d 6e 61 6d 65 2d 70 3e 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e irectory-name-p>..."Return.non-n
0a60 69 6c 20 69 66 20 4e 41 4d 45 20 65 6e 64 73 20 77 69 74 68 20 61 20 64 69 72 65 63 74 6f 72 79 il.if.NAME.ends.with.a.directory
0a80 20 73 65 70 61 72 61 74 6f 72 20 63 68 61 72 61 63 74 65 72 2e 22 0a 20 20 28 65 71 20 28 65 76 .separator.character."...(eq.(ev
0aa0 61 6c 2d 77 68 65 6e 2d 63 6f 6d 70 69 6c 65 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 6d 65 6d al-when-compile.........(if.(mem
0ac0 71 20 73 79 73 74 65 6d 2d 74 79 70 65 20 27 28 63 79 67 77 69 6e 20 77 69 6e 64 6f 77 73 2d 6e q.system-type.'(cygwin.windows-n
0ae0 74 20 6d 73 2d 64 6f 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 3f 5c 5c 20 3f 2f 29 29 0a t.ms-dos)).............?\\.?/)).
0b00 20 20 20 20 20 20 28 61 72 65 66 20 6e 61 6d 65 20 28 31 2d 20 28 6c 65 6e 67 74 68 20 6e 61 6d ......(aref.name.(1-.(length.nam
0b20 65 29 29 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 64 6f 63 2e 63 0a 0a 28 e)))))..;;;;.Defined.in.doc.c..(
0b40 63 6f 6d 70 61 74 2d 64 65 66 76 61 72 20 74 65 78 74 2d 71 75 6f 74 69 6e 67 2d 73 74 79 6c 65 compat-defvar.text-quoting-style
0b60 20 6e 69 6c 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 74 65 78 74 2d 71 75 6f 74 69 .nil.;;.<compat-tests:text-quoti
0b80 6e 67 2d 73 74 79 6c 65 3e 0a 20 20 22 53 74 79 6c 65 20 74 6f 20 75 73 65 20 66 6f 72 20 73 69 ng-style>..."Style.to.use.for.si
0ba0 6e 67 6c 65 20 71 75 6f 74 65 73 20 69 6e 20 68 65 6c 70 20 61 6e 64 20 6d 65 73 73 61 67 65 73 ngle.quotes.in.help.and.messages
0bc0 2e 0a 0a 54 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 69 73 20 76 61 72 69 61 62 6c 65 20 64 65 ...The.value.of.this.variable.de
0be0 74 65 72 6d 69 6e 65 73 20 73 75 62 73 74 69 74 75 74 69 6f 6e 20 6f 66 20 67 72 61 76 65 20 61 termines.substitution.of.grave.a
0c00 63 63 65 6e 74 73 0a 61 6e 64 20 61 70 6f 73 74 72 6f 70 68 65 73 20 69 6e 20 68 65 6c 70 20 6f ccents.and.apostrophes.in.help.o
0c20 75 74 70 75 74 20 28 62 75 74 20 6e 6f 74 20 66 6f 72 20 64 69 73 70 6c 61 79 20 6f 66 20 49 6e utput.(but.not.for.display.of.In
0c40 66 6f 0a 6d 61 6e 75 61 6c 73 29 20 61 6e 64 20 69 6e 20 66 75 6e 63 74 69 6f 6e 73 20 6c 69 6b fo.manuals).and.in.functions.lik
0c60 65 20 60 6d 65 73 73 61 67 65 27 20 61 6e 64 20 60 66 6f 72 6d 61 74 2d 6d 65 73 73 61 67 65 27 e.`message'.and.`format-message'
0c80 2c 20 62 75 74 20 6e 6f 74 0a 69 6e 20 60 66 6f 72 6d 61 74 27 2e 0a 0a 54 68 65 20 76 61 6c 75 ,.but.not.in.`format'...The.valu
0ca0 65 20 73 68 6f 75 6c 64 20 62 65 20 6f 6e 65 20 6f 66 20 74 68 65 73 65 20 73 79 6d 62 6f 6c 73 e.should.be.one.of.these.symbols
0cc0 3a 0a 20 20 60 63 75 72 76 65 27 3a 20 20 20 20 71 75 6f 74 65 20 77 69 74 68 20 63 75 72 76 65 :...`curve':....quote.with.curve
0ce0 64 20 73 69 6e 67 6c 65 20 71 75 6f 74 65 73 20 e2 80 98 6c 69 6b 65 20 74 68 69 73 e2 80 99 2e d.single.quotes....like.this....
0d00 0a 20 20 60 73 74 72 61 69 67 68 74 27 3a 20 71 75 6f 74 65 20 77 69 74 68 20 73 74 72 61 69 67 ...`straight':.quote.with.straig
0d20 68 74 20 61 70 6f 73 74 72 6f 70 68 65 73 20 5c 5c 3d 27 6c 69 6b 65 20 74 68 69 73 5c 5c 3d 27 ht.apostrophes.\\='like.this\\='
0d40 2e 0a 20 20 60 67 72 61 76 65 27 3a 20 20 20 20 71 75 6f 74 65 20 77 69 74 68 20 67 72 61 76 65 ....`grave':....quote.with.grave
0d60 20 61 63 63 65 6e 74 20 61 6e 64 20 61 70 6f 73 74 72 6f 70 68 65 20 5c 5c 3d 60 6c 69 6b 65 20 .accent.and.apostrophe.\\=`like.
0d80 74 68 69 73 5c 5c 3d 27 3b 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 2e 65 2e 2c 20 64 6f this\\=';...............i.e.,.do
0da0 20 6e 6f 74 20 61 6c 74 65 72 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 71 75 6f 74 65 20 6d 61 .not.alter.the.original.quote.ma
0dc0 72 6b 73 2e 0a 20 20 6e 69 6c 3a 20 20 20 20 20 20 20 20 6c 69 6b 65 20 60 63 75 72 76 65 27 20 rks....nil:........like.`curve'.
0de0 69 66 20 63 75 72 76 65 64 20 73 69 6e 67 6c 65 20 71 75 6f 74 65 73 20 61 72 65 20 64 69 73 70 if.curved.single.quotes.are.disp
0e00 6c 61 79 61 62 6c 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 6c 69 6b 65 20 layable,...............and.like.
0e20 60 67 72 61 76 65 27 20 6f 74 68 65 72 77 69 73 65 2e 20 20 54 68 69 73 20 69 73 20 74 68 65 20 `grave'.otherwise...This.is.the.
0e40 64 65 66 61 75 6c 74 2e 0a 0a 59 6f 75 20 73 68 6f 75 6c 64 20 6e 65 76 65 72 20 72 65 61 64 20 default...You.should.never.read.
0e60 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 69 73 20 76 61 72 69 61 62 6c 65 20 64 69 72 65 63 the.value.of.this.variable.direc
0e80 74 6c 79 20 66 72 6f 6d 20 61 20 4c 69 73 70 0a 70 72 6f 67 72 61 6d 2e 20 20 55 73 65 20 74 68 tly.from.a.Lisp.program...Use.th
0ea0 65 20 66 75 6e 63 74 69 6f 6e 20 60 74 65 78 74 2d 71 75 6f 74 69 6e 67 2d 73 74 79 6c 65 27 20 e.function.`text-quoting-style'.
0ec0 69 6e 73 74 65 61 64 2c 20 61 73 20 74 68 61 74 20 77 69 6c 6c 0a 63 6f 6d 70 75 74 65 20 74 68 instead,.as.that.will.compute.th
0ee0 65 20 63 6f 72 72 65 63 74 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e 74 20 e.correct.value.for.the.current.
0f00 74 65 72 6d 69 6e 61 6c 20 69 6e 20 74 68 65 20 6e 69 6c 20 63 61 73 65 2e 22 29 0a 0a 3b 3b 3b terminal.in.the.nil.case.")..;;;
0f20 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 73 69 6d 70 6c 65 2e 65 6c 0a 0a 3b 3b 20 60 73 61 76 65 ;.Defined.in.simple.el..;;.`save
0f40 2d 65 78 63 75 72 73 69 6f 6e 27 20 62 65 68 61 76 65 64 20 6c 69 6b 65 20 60 73 61 76 65 2d 6d -excursion'.behaved.like.`save-m
0f60 61 72 6b 2d 61 6e 64 2d 65 78 63 75 72 73 69 6f 6e 27 20 62 65 66 6f 72 65 20 32 35 2e 31 2e 0a ark-and-excursion'.before.25.1..
0f80 28 63 6f 6d 70 61 74 2d 64 65 66 61 6c 69 61 73 20 73 61 76 65 2d 6d 61 72 6b 2d 61 6e 64 2d 65 (compat-defalias.save-mark-and-e
0fa0 78 63 75 72 73 69 6f 6e 20 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 29 20 3b 3b 20 3c 63 6f 6d xcursion.save-excursion).;;.<com
0fc0 70 61 74 2d 74 65 73 74 73 3a 73 61 76 65 2d 6d 61 72 6b 2d 61 6e 64 2d 65 78 63 75 72 73 69 6f pat-tests:save-mark-and-excursio
0fe0 6e 3e 0a 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 72 65 67 69 6f 6e 2d 62 6f 75 n>..(declare-function.region-bou
1000 6e 64 73 20 6e 69 6c 29 20 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 63 6f 6d 70 61 74 2d 32 36 nds.nil).;;.Defined.in.compat-26
1020 2e 65 6c 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 72 65 67 69 6f 6e 2d 6e 6f 6e 63 6f 6e 74 .el.(compat-defun.region-noncont
1040 69 67 75 6f 75 73 2d 70 20 28 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 72 65 67 iguous-p.().;;.<compat-tests:reg
1060 69 6f 6e 2d 6e 6f 6e 63 6f 6e 74 69 67 75 6f 75 73 2d 70 3e 0a 20 20 22 52 65 74 75 72 6e 20 6e ion-noncontiguous-p>..."Return.n
1080 6f 6e 2d 6e 69 6c 20 69 66 20 74 68 65 20 72 65 67 69 6f 6e 20 63 6f 6e 74 61 69 6e 73 20 73 65 on-nil.if.the.region.contains.se
10a0 76 65 72 61 6c 20 70 69 65 63 65 73 2e 0a 41 6e 20 65 78 61 6d 70 6c 65 20 69 73 20 61 20 72 65 veral.pieces..An.example.is.a.re
10c0 63 74 61 6e 67 75 6c 61 72 20 72 65 67 69 6f 6e 20 68 61 6e 64 6c 65 64 20 61 73 20 61 20 6c 69 ctangular.region.handled.as.a.li
10e0 73 74 20 6f 66 0a 73 65 70 61 72 61 74 65 20 63 6f 6e 74 69 67 75 6f 75 73 20 72 65 67 69 6f 6e st.of.separate.contiguous.region
1100 73 20 66 6f 72 20 65 61 63 68 20 6c 69 6e 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 62 6f 75 6e 64 s.for.each.line."...(let.((bound
1120 73 20 28 72 65 67 69 6f 6e 2d 62 6f 75 6e 64 73 29 29 29 20 28 61 6e 64 20 28 63 64 72 20 62 6f s.(region-bounds))).(and.(cdr.bo
1140 75 6e 64 73 29 20 62 6f 75 6e 64 73 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e unds).bounds)))..;;;;.Defined.in
1160 20 73 75 62 72 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 73 74 72 69 6e 67 2d 67 .subr.el..(compat-defun.string-g
1180 72 65 61 74 65 72 70 20 28 73 74 72 69 6e 67 31 20 73 74 72 69 6e 67 32 29 20 3b 3b 20 3c 63 6f reaterp.(string1.string2).;;.<co
11a0 6d 70 61 74 2d 74 65 73 74 73 3a 73 74 72 69 6e 67 2d 67 72 65 61 74 65 72 70 3e 0a 20 20 22 52 mpat-tests:string-greaterp>..."R
11c0 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 53 54 52 49 4e 47 31 20 69 73 20 67 72 65 61 eturn.non-nil.if.STRING1.is.grea
11e0 74 65 72 20 74 68 61 6e 20 53 54 52 49 4e 47 32 20 69 6e 20 6c 65 78 69 63 6f 67 72 61 70 68 69 ter.than.STRING2.in.lexicographi
1200 63 20 6f 72 64 65 72 2e 0a 43 61 73 65 20 69 73 20 73 69 67 6e 69 66 69 63 61 6e 74 2e 0a 53 79 c.order..Case.is.significant..Sy
1220 6d 62 6f 6c 73 20 61 72 65 20 61 6c 73 6f 20 61 6c 6c 6f 77 65 64 3b 20 74 68 65 69 72 20 70 72 mbols.are.also.allowed;.their.pr
1240 69 6e 74 20 6e 61 6d 65 73 20 61 72 65 20 75 73 65 64 20 69 6e 73 74 65 61 64 2e 22 0a 20 20 28 int.names.are.used.instead."...(
1260 73 74 72 69 6e 67 2d 6c 65 73 73 70 20 73 74 72 69 6e 67 32 20 73 74 72 69 6e 67 31 29 29 0a 0a string-lessp.string2.string1))..
1280 28 63 6f 6d 70 61 74 2d 64 65 66 6d 61 63 72 6f 20 77 69 74 68 2d 66 69 6c 65 2d 6d 6f 64 65 73 (compat-defmacro.with-file-modes
12a0 20 28 6d 6f 64 65 73 20 26 72 65 73 74 20 62 6f 64 79 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 .(modes.&rest.body).;;.<compat-t
12c0 65 73 74 73 3a 77 69 74 68 2d 66 69 6c 65 2d 6d 6f 64 65 73 3e 0a 20 20 22 45 78 65 63 75 74 65 ests:with-file-modes>..."Execute
12e0 20 42 4f 44 59 20 77 69 74 68 20 64 65 66 61 75 6c 74 20 66 69 6c 65 20 70 65 72 6d 69 73 73 69 .BODY.with.default.file.permissi
1300 6f 6e 73 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 73 65 74 20 74 6f 20 4d 4f 44 45 53 2e 0a 4d 4f ons.temporarily.set.to.MODES..MO
1320 44 45 53 20 69 73 20 61 73 20 66 6f 72 20 60 73 65 74 2d 64 65 66 61 75 6c 74 2d 66 69 6c 65 2d DES.is.as.for.`set-default-file-
1340 6d 6f 64 65 73 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 20 28 modes'."...(declare.(indent.1).(
1360 64 65 62 75 67 20 74 29 29 0a 20 20 28 6c 65 74 20 28 28 75 6d 61 73 6b 20 28 6d 61 6b 65 2d 73 debug.t))...(let.((umask.(make-s
1380 79 6d 62 6f 6c 20 22 75 6d 61 73 6b 22 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 75 6d ymbol."umask"))).....`(let.((,um
13a0 61 73 6b 20 28 64 65 66 61 75 6c 74 2d 66 69 6c 65 2d 6d 6f 64 65 73 29 29 29 0a 20 20 20 20 20 ask.(default-file-modes)))......
13c0 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 20 20 20 28 70 72 ..(unwind-protect............(pr
13e0 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 64 65 66 61 75 6c 74 2d 66 69 ogn..............(set-default-fi
1400 6c 65 2d 6d 6f 64 65 73 20 2c 6d 6f 64 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 40 le-modes.,modes)..............,@
1420 62 6f 64 79 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 64 65 66 61 75 6c 74 2d 66 69 6c 65 body)..........(set-default-file
1440 2d 6d 6f 64 65 73 20 2c 75 6d 61 73 6b 29 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 6d -modes.,umask)))))..(compat-defm
1460 61 63 72 6f 20 69 66 2d 6c 65 74 20 28 73 70 65 63 20 74 68 65 6e 20 26 72 65 73 74 20 65 6c 73 acro.if-let.(spec.then.&rest.els
1480 65 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 69 66 2d 6c 65 74 3e 0a 20 20 22 42 e).;;.<compat-tests:if-let>..."B
14a0 69 6e 64 20 76 61 72 69 61 62 6c 65 73 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 53 50 45 43 20 ind.variables.according.to.SPEC.
14c0 61 6e 64 20 65 76 61 6c 75 61 74 65 20 54 48 45 4e 20 6f 72 20 45 4c 53 45 2e 0a 45 76 61 6c 75 and.evaluate.THEN.or.ELSE..Evalu
14e0 61 74 65 20 65 61 63 68 20 62 69 6e 64 69 6e 67 20 69 6e 20 74 75 72 6e 2c 20 61 73 20 69 6e 20 ate.each.binding.in.turn,.as.in.
1500 60 6c 65 74 2a 27 2c 20 73 74 6f 70 70 69 6e 67 20 69 66 20 61 0a 62 69 6e 64 69 6e 67 20 76 61 `let*',.stopping.if.a.binding.va
1520 6c 75 65 20 69 73 20 6e 69 6c 2e 20 20 49 66 20 61 6c 6c 20 61 72 65 20 6e 6f 6e 2d 6e 69 6c 20 lue.is.nil...If.all.are.non-nil.
1540 72 65 74 75 72 6e 20 74 68 65 20 76 61 6c 75 65 20 6f 66 0a 54 48 45 4e 2c 20 6f 74 68 65 72 77 return.the.value.of.THEN,.otherw
1560 69 73 65 20 74 68 65 20 6c 61 73 74 20 66 6f 72 6d 20 69 6e 20 45 4c 53 45 2e 0a 0a 45 61 63 68 ise.the.last.form.in.ELSE...Each
1580 20 65 6c 65 6d 65 6e 74 20 6f 66 20 53 50 45 43 20 69 73 20 61 20 6c 69 73 74 20 28 53 59 4d 42 .element.of.SPEC.is.a.list.(SYMB
15a0 4f 4c 20 56 41 4c 55 45 46 4f 52 4d 29 20 74 68 61 74 20 62 69 6e 64 73 0a 53 59 4d 42 4f 4c 20 OL.VALUEFORM).that.binds.SYMBOL.
15c0 74 6f 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 56 41 4c 55 45 46 4f 52 4d 2e 20 20 41 6e 20 65 to.the.value.of.VALUEFORM...An.e
15e0 6c 65 6d 65 6e 74 20 63 61 6e 20 61 64 64 69 74 69 6f 6e 61 6c 6c 79 20 62 65 0a 6f 66 20 74 68 lement.can.additionally.be.of.th
1600 65 20 66 6f 72 6d 20 28 56 41 4c 55 45 46 4f 52 4d 29 2c 20 77 68 69 63 68 20 69 73 20 65 76 61 e.form.(VALUEFORM),.which.is.eva
1620 6c 75 61 74 65 64 20 61 6e 64 20 63 68 65 63 6b 65 64 20 66 6f 72 20 6e 69 6c 3b 0a 69 2e 65 2e luated.and.checked.for.nil;.i.e.
1640 20 53 59 4d 42 4f 4c 20 63 61 6e 20 62 65 20 6f 6d 69 74 74 65 64 20 69 66 20 6f 6e 6c 79 20 74 .SYMBOL.can.be.omitted.if.only.t
1660 68 65 20 74 65 73 74 20 72 65 73 75 6c 74 20 69 73 20 6f 66 0a 69 6e 74 65 72 65 73 74 2e 20 20 he.test.result.is.of.interest...
1680 49 74 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 53 59 4d 42 4f It.can.also.be.of.the.form.SYMBO
16a0 4c 2c 20 74 68 65 6e 20 74 68 65 20 62 69 6e 64 69 6e 67 20 6f 66 0a 53 59 4d 42 4f 4c 20 69 73 L,.then.the.binding.of.SYMBOL.is
16c0 20 63 68 65 63 6b 65 64 20 66 6f 72 20 6e 69 6c 2e 0a 0a 41 73 20 61 20 73 70 65 63 69 61 6c 20 .checked.for.nil...As.a.special.
16e0 63 61 73 65 2c 20 69 6e 74 65 72 70 72 65 74 73 20 61 20 53 50 45 43 20 6f 66 20 74 68 65 20 66 case,.interprets.a.SPEC.of.the.f
1700 6f 72 6d 20 5c 28 53 59 4d 42 4f 4c 20 53 4f 4d 45 54 48 49 4e 47 29 0a 6c 69 6b 65 20 5c 28 28 orm.\(SYMBOL.SOMETHING).like.\((
1720 53 59 4d 42 4f 4c 20 53 4f 4d 45 54 48 49 4e 47 29 29 2e 20 20 54 68 69 73 20 65 78 69 73 74 73 SYMBOL.SOMETHING))...This.exists
1740 20 66 6f 72 20 62 61 63 6b 77 61 72 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 0a 77 69 74 68 .for.backward.compatibility.with
1760 20 61 6e 20 6f 6c 64 20 73 79 6e 74 61 78 20 74 68 61 74 20 61 63 63 65 70 74 65 64 20 6f 6e 6c .an.old.syntax.that.accepted.onl
1780 79 20 6f 6e 65 20 62 69 6e 64 69 6e 67 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 y.one.binding."...(declare.(inde
17a0 6e 74 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 64 65 62 75 67 20 28 5b 26 6f 72 20 28 73 nt.2)............(debug.([&or.(s
17c0 79 6d 62 6f 6c 70 20 66 6f 72 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ymbolp.form)....................
17e0 20 20 20 20 20 28 26 72 65 73 74 20 5b 26 6f 72 20 73 79 6d 62 6f 6c 70 20 28 73 79 6d 62 6f 6c .....(&rest.[&or.symbolp.(symbol
1800 70 20 66 6f 72 6d 29 20 28 66 6f 72 6d 29 5d 29 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 p.form).(form)])]...............
1820 20 20 20 20 20 62 6f 64 79 29 29 29 0a 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 3c 3d 20 28 6c .....body)))...(when.(and.(<=.(l
1840 65 6e 67 74 68 20 73 70 65 63 29 20 32 29 20 28 6e 6f 74 20 28 6c 69 73 74 70 20 28 63 61 72 20 ength.spec).2).(not.(listp.(car.
1860 73 70 65 63 29 29 29 29 0a 20 20 20 20 3b 3b 20 41 64 6a 75 73 74 20 74 68 65 20 73 69 6e 67 6c spec)))).....;;.Adjust.the.singl
1880 65 20 62 69 6e 64 69 6e 67 20 63 61 73 65 0a 20 20 20 20 28 73 65 74 71 20 73 70 65 63 20 28 6c e.binding.case.....(setq.spec.(l
18a0 69 73 74 20 73 70 65 63 29 29 29 0a 20 20 28 6c 65 74 20 28 28 65 6d 70 74 79 20 28 6d 61 6b 65 ist.spec)))...(let.((empty.(make
18c0 2d 73 79 6d 62 6f 6c 20 22 73 22 29 29 0a 20 20 20 20 20 20 20 20 28 6c 61 73 74 20 74 29 20 6c -symbol."s")).........(last.t).l
18e0 69 73 74 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 76 61 72 20 73 70 65 63 29 0a 20 20 20 20 ist).....(dolist.(var.spec).....
1900 20 20 28 70 75 73 68 20 60 28 2c 28 69 66 20 28 63 64 72 20 76 61 72 29 20 28 63 61 72 20 76 61 ..(push.`(,(if.(cdr.var).(car.va
1920 72 29 20 65 6d 70 74 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 2c 6c 61 r).empty)...............(and.,la
1940 73 74 20 2c 28 69 66 20 28 63 64 72 20 76 61 72 29 20 28 63 61 64 72 20 76 61 72 29 20 28 63 61 st.,(if.(cdr.var).(cadr.var).(ca
1960 72 20 76 61 72 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 29 0a 20 20 20 20 r.var)))).............list).....
1980 20 20 28 77 68 65 6e 20 28 6f 72 20 28 63 64 72 20 76 61 72 29 20 28 63 6f 6e 73 70 20 28 63 61 ..(when.(or.(cdr.var).(consp.(ca
19a0 72 20 76 61 72 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6c 61 73 74 20 28 63 61 61 r.var))).........(setq.last.(caa
19c0 72 20 6c 69 73 74 29 29 29 29 0a 20 20 20 20 60 28 6c 65 74 2a 20 2c 28 6e 72 65 76 65 72 73 65 r.list)))).....`(let*.,(nreverse
19e0 20 6c 69 73 74 29 0a 20 20 20 20 20 20 20 28 69 66 20 2c 28 63 61 61 72 20 6c 69 73 74 29 20 2c .list)........(if.,(caar.list).,
1a00 74 68 65 6e 20 2c 40 65 6c 73 65 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 6d 61 63 72 then.,@else))))..(compat-defmacr
1a20 6f 20 77 68 65 6e 2d 6c 65 74 20 28 73 70 65 63 20 26 72 65 73 74 20 62 6f 64 79 29 20 3b 3b 20 o.when-let.(spec.&rest.body).;;.
1a40 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 77 68 65 6e 2d 6c 65 74 3e 0a 20 20 22 42 69 6e 64 20 <compat-tests:when-let>..."Bind.
1a60 76 61 72 69 61 62 6c 65 73 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 53 50 45 43 20 61 6e 64 20 variables.according.to.SPEC.and.
1a80 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 65 76 61 6c 75 61 74 65 20 42 4f 44 59 2e 0a 45 76 61 conditionally.evaluate.BODY..Eva
1aa0 6c 75 61 74 65 20 65 61 63 68 20 62 69 6e 64 69 6e 67 20 69 6e 20 74 75 72 6e 2c 20 73 74 6f 70 luate.each.binding.in.turn,.stop
1ac0 70 69 6e 67 20 69 66 20 61 20 62 69 6e 64 69 6e 67 20 76 61 6c 75 65 20 69 73 20 6e 69 6c 2e 0a ping.if.a.binding.value.is.nil..
1ae0 49 66 20 61 6c 6c 20 61 72 65 20 6e 6f 6e 2d 6e 69 6c 2c 20 72 65 74 75 72 6e 20 74 68 65 20 76 If.all.are.non-nil,.return.the.v
1b00 61 6c 75 65 20 6f 66 20 74 68 65 20 6c 61 73 74 20 66 6f 72 6d 20 69 6e 20 42 4f 44 59 2e 0a 0a alue.of.the.last.form.in.BODY...
1b20 54 68 65 20 76 61 72 69 61 62 6c 65 20 6c 69 73 74 20 53 50 45 43 20 69 73 20 74 68 65 20 73 61 The.variable.list.SPEC.is.the.sa
1b40 6d 65 20 61 73 20 69 6e 20 60 69 66 2d 6c 65 74 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 me.as.in.`if-let'."...(declare.(
1b60 69 6e 64 65 6e 74 20 31 29 20 28 64 65 62 75 67 20 69 66 2d 6c 65 74 29 29 0a 20 20 28 6c 69 73 indent.1).(debug.if-let))...(lis
1b80 74 20 27 69 66 2d 6c 65 74 20 73 70 65 63 20 28 6d 61 63 72 6f 65 78 70 2d 70 72 6f 67 6e 20 62 t.'if-let.spec.(macroexp-progn.b
1ba0 6f 64 79 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 73 75 62 72 2d 78 2e 65 ody)))..;;;;.Defined.in.subr-x.e
1bc0 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 68 61 73 68 2d 74 61 62 6c 65 2d 65 6d 70 74 l..(compat-defun.hash-table-empt
1be0 79 2d 70 20 28 68 61 73 68 2d 74 61 62 6c 65 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 y-p.(hash-table).;;.<compat-test
1c00 73 3a 68 61 73 68 2d 74 61 62 6c 65 2d 65 6d 70 74 79 2d 70 3e 0a 20 20 22 43 68 65 63 6b 20 77 s:hash-table-empty-p>..."Check.w
1c20 68 65 74 68 65 72 20 48 41 53 48 2d 54 41 42 4c 45 20 69 73 20 65 6d 70 74 79 20 28 68 61 73 20 hether.HASH-TABLE.is.empty.(has.
1c40 30 20 65 6c 65 6d 65 6e 74 73 29 2e 22 0a 20 20 28 7a 65 72 6f 70 20 28 68 61 73 68 2d 74 61 62 0.elements)."...(zerop.(hash-tab
1c60 6c 65 2d 63 6f 75 6e 74 20 68 61 73 68 2d 74 61 62 6c 65 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d le-count.hash-table)))..(compat-
1c80 64 65 66 6d 61 63 72 6f 20 74 68 72 65 61 64 2d 66 69 72 73 74 20 28 26 72 65 73 74 20 66 6f 72 defmacro.thread-first.(&rest.for
1ca0 6d 73 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 74 68 72 65 61 64 2d 66 69 72 73 ms).;;.<compat-tests:thread-firs
1cc0 74 3e 0a 20 20 22 54 68 72 65 61 64 20 46 4f 52 4d 53 20 65 6c 65 6d 65 6e 74 73 20 61 73 20 74 t>..."Thread.FORMS.elements.as.t
1ce0 68 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 74 68 65 69 72 20 73 75 63 63 65 he.first.argument.of.their.succe
1d00 73 73 6f 72 2e 0a 45 78 61 6d 70 6c 65 3a 0a 20 20 20 20 28 74 68 72 65 61 64 2d 66 69 72 73 74 ssor..Example:.....(thread-first
1d20 0a 20 20 20 20 20 20 35 0a 20 20 20 20 20 20 28 2b 20 32 30 29 0a 20 20 20 20 20 20 28 2f 20 32 .......5.......(+.20).......(/.2
1d40 35 29 0a 20 20 20 20 20 20 2d 0a 20 20 20 20 20 20 28 2b 20 34 30 29 29 0a 49 73 20 65 71 75 69 5).......-.......(+.40)).Is.equi
1d60 76 61 6c 65 6e 74 20 74 6f 3a 0a 20 20 20 20 28 2b 20 28 2d 20 28 2f 20 28 2b 20 35 20 32 30 29 valent.to:.....(+.(-.(/.(+.5.20)
1d80 20 32 35 29 29 20 34 30 29 0a 4e 6f 74 65 20 68 6f 77 20 74 68 65 20 73 69 6e 67 6c 65 20 60 2d .25)).40).Note.how.the.single.`-
1da0 27 20 67 6f 74 20 63 6f 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 62 65 66 6f '.got.converted.into.a.list.befo
1dc0 72 65 0a 74 68 72 65 61 64 69 6e 67 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e re.threading."...(declare.(inden
1de0 74 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 64 65 62 75 67 20 28 66 6f 72 6d 20 26 72 65 t.1)............(debug.(form.&re
1e00 73 74 20 5b 26 6f 72 20 73 79 6d 62 6f 6c 70 20 28 73 65 78 70 20 26 72 65 73 74 20 66 6f 72 6d st.[&or.symbolp.(sexp.&rest.form
1e20 29 5d 29 29 29 0a 20 20 28 6c 65 74 20 28 28 62 6f 64 79 20 28 63 61 72 20 66 6f 72 6d 73 29 29 )])))...(let.((body.(car.forms))
1e40 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 66 6f 72 6d 20 28 63 64 72 20 66 6f 72 6d 73 29 29 ).....(dolist.(form.(cdr.forms))
1e60 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 73 79 6d 62 6f 6c 70 20 66 6f 72 6d 29 0a 20 20 20 20 .......(when.(symbolp.form).....
1e80 20 20 20 20 28 73 65 74 71 20 66 6f 72 6d 20 28 6c 69 73 74 20 66 6f 72 6d 29 29 29 0a 20 20 20 ....(setq.form.(list.form)))....
1ea0 20 20 20 28 73 65 74 71 20 62 6f 64 79 20 28 61 70 70 65 6e 64 20 28 6c 69 73 74 20 28 63 61 72 ...(setq.body.(append.(list.(car
1ec0 20 66 6f 72 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 .form)).........................
1ee0 20 28 6c 69 73 74 20 62 6f 64 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(list.body)....................
1f00 20 20 20 20 20 20 28 63 64 72 20 66 6f 72 6d 29 29 29 29 0a 20 20 20 20 62 6f 64 79 29 29 0a 0a ......(cdr.form)))).....body))..
1f20 28 63 6f 6d 70 61 74 2d 64 65 66 6d 61 63 72 6f 20 74 68 72 65 61 64 2d 6c 61 73 74 20 28 26 72 (compat-defmacro.thread-last.(&r
1f40 65 73 74 20 66 6f 72 6d 73 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 74 68 72 65 est.forms).;;.<compat-tests:thre
1f60 61 64 2d 6c 61 73 74 3e 0a 20 20 22 54 68 72 65 61 64 20 46 4f 52 4d 53 20 65 6c 65 6d 65 6e 74 ad-last>..."Thread.FORMS.element
1f80 73 20 61 73 20 74 68 65 20 6c 61 73 74 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 74 68 65 69 72 20 s.as.the.last.argument.of.their.
1fa0 73 75 63 63 65 73 73 6f 72 2e 0a 45 78 61 6d 70 6c 65 3a 0a 20 20 20 20 28 74 68 72 65 61 64 2d successor..Example:.....(thread-
1fc0 6c 61 73 74 0a 20 20 20 20 20 20 35 0a 20 20 20 20 20 20 28 2b 20 32 30 29 0a 20 20 20 20 20 20 last.......5.......(+.20).......
1fe0 28 2f 20 32 35 29 0a 20 20 20 20 20 20 2d 0a 20 20 20 20 20 20 28 2b 20 34 30 29 29 0a 49 73 20 (/.25).......-.......(+.40)).Is.
2000 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 3a 0a 20 20 20 20 28 2b 20 34 30 20 28 2d 20 28 2f 20 32 equivalent.to:.....(+.40.(-.(/.2
2020 35 20 28 2b 20 32 30 20 35 29 29 29 29 0a 4e 6f 74 65 20 68 6f 77 20 74 68 65 20 73 69 6e 67 6c 5.(+.20.5)))).Note.how.the.singl
2040 65 20 60 2d 27 20 67 6f 74 20 63 6f 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 e.`-'.got.converted.into.a.list.
2060 62 65 66 6f 72 65 0a 74 68 72 65 61 64 69 6e 67 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 before.threading."...(declare.(i
2080 6e 64 65 6e 74 20 31 29 20 28 64 65 62 75 67 20 74 68 72 65 61 64 2d 66 69 72 73 74 29 29 0a 20 ndent.1).(debug.thread-first))..
20a0 20 28 6c 65 74 20 28 28 62 6f 64 79 20 28 63 61 72 20 66 6f 72 6d 73 29 29 29 0a 20 20 20 20 28 .(let.((body.(car.forms))).....(
20c0 64 6f 6c 69 73 74 20 28 66 6f 72 6d 20 28 63 64 72 20 66 6f 72 6d 73 29 29 0a 20 20 20 20 20 20 dolist.(form.(cdr.forms)).......
20e0 28 77 68 65 6e 20 28 73 79 6d 62 6f 6c 70 20 66 6f 72 6d 29 0a 20 20 20 20 20 20 20 20 28 73 65 (when.(symbolp.form).........(se
2100 74 71 20 66 6f 72 6d 20 28 6c 69 73 74 20 66 6f 72 6d 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 tq.form.(list.form))).......(set
2120 71 20 62 6f 64 79 20 28 61 70 70 65 6e 64 20 66 6f 72 6d 20 28 6c 69 73 74 20 62 6f 64 79 29 29 q.body.(append.form.(list.body))
2140 29 29 0a 20 20 20 20 62 6f 64 79 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 6d )).....body))..;;;;.Defined.in.m
2160 61 63 72 6f 65 78 70 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 6d 61 63 72 6f 65 acroexp.el..(compat-defun.macroe
2180 78 70 2d 70 61 72 73 65 2d 62 6f 64 79 20 28 62 6f 64 79 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d xp-parse-body.(body).;;.<compat-
21a0 74 65 73 74 73 3a 6d 61 63 72 6f 65 78 70 2d 70 61 72 73 65 2d 62 6f 64 79 3e 0a 20 20 22 50 61 tests:macroexp-parse-body>..."Pa
21c0 72 73 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 42 4f 44 59 20 69 6e 74 6f 20 28 44 45 43 4c 41 52 rse.a.function.BODY.into.(DECLAR
21e0 41 54 49 4f 4e 53 20 2e 20 45 58 50 53 29 2e 22 0a 20 20 28 6c 65 74 20 28 28 64 65 63 6c 73 20 ATIONS...EXPS)."...(let.((decls.
2200 28 29 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 28 63 64 72 20 62 6f 64 79 29 0a ())).....(while.(and.(cdr.body).
2220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 65 20 28 63 61 72 20 62 6f ................(let.((e.(car.bo
2240 64 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 73 74 72 dy)))...................(or.(str
2260 69 6e 67 70 20 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d ingp.e).......................(m
2280 65 6d 71 20 28 63 61 72 2d 73 61 66 65 20 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 emq.(car-safe.e)................
22a0 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 3a 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 64 65 .............'(:documentation.de
22c0 63 6c 61 72 65 20 69 6e 74 65 72 61 63 74 69 76 65 20 63 6c 2d 64 65 63 6c 61 72 65 29 29 29 29 clare.interactive.cl-declare))))
22e0 29 0a 20 20 20 20 20 20 28 70 75 73 68 20 28 70 6f 70 20 62 6f 64 79 29 20 64 65 63 6c 73 29 29 ).......(push.(pop.body).decls))
2300 0a 20 20 20 20 28 63 6f 6e 73 20 28 6e 72 65 76 65 72 73 65 20 64 65 63 6c 73 29 20 62 6f 64 79 .....(cons.(nreverse.decls).body
2320 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 6d 61 63 72 6f 65 78 70 2d 71 75 6f 74 )))..(compat-defun.macroexp-quot
2340 65 20 28 76 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 6d 61 63 72 6f 65 78 70 2d e.(v).;;.<compat-tests:macroexp-
2360 71 75 6f 74 65 3e 0a 20 20 22 52 65 74 75 72 6e 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 45 quote>..."Return.an.expression.E
2380 20 73 75 63 68 20 74 68 61 74 20 60 28 65 76 61 6c 20 45 29 27 20 69 73 20 56 2e 0a 0a 45 20 69 .such.that.`(eval.E)'.is.V...E.i
23a0 73 20 65 69 74 68 65 72 20 56 20 6f 72 20 28 71 75 6f 74 65 20 56 29 20 64 65 70 65 6e 64 69 6e s.either.V.or.(quote.V).dependin
23c0 67 20 6f 6e 20 77 68 65 74 68 65 72 20 56 20 65 76 61 6c 75 61 74 65 73 20 74 6f 0a 69 74 73 65 g.on.whether.V.evaluates.to.itse
23e0 6c 66 20 6f 72 20 6e 6f 74 2e 22 0a 20 20 28 69 66 20 28 61 6e 64 20 28 6e 6f 74 20 28 63 6f 6e lf.or.not."...(if.(and.(not.(con
2400 73 70 20 76 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 6b 65 79 77 6f 72 64 70 20 sp.v))............(or.(keywordp.
2420 76 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 73 79 6d 62 6f 6c 70 20 v)................(not.(symbolp.
2440 76 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 6d 71 20 76 20 27 28 6e 69 6c v))................(memq.v.'(nil
2460 20 74 29 29 29 29 0a 20 20 20 20 20 20 76 0a 20 20 20 20 28 6c 69 73 74 20 27 71 75 6f 74 65 20 .t)))).......v.....(list.'quote.
2480 76 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 6d 61 63 72 6f 65 78 70 61 6e 64 2d v)))..(compat-defun.macroexpand-
24a0 31 20 28 66 6f 72 6d 20 26 6f 70 74 69 6f 6e 61 6c 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 29 20 3b 1.(form.&optional.environment).;
24c0 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 6d 61 63 72 6f 65 78 70 61 6e 64 2d 31 3e 0a 20 ;.<compat-tests:macroexpand-1>..
24e0 20 22 50 65 72 66 6f 72 6d 20 28 61 74 20 6d 6f 73 74 29 20 6f 6e 65 20 73 74 65 70 20 6f 66 20 ."Perform.(at.most).one.step.of.
2500 6d 61 63 72 6f 20 65 78 70 61 6e 73 69 6f 6e 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 63 macro.expansion."...(cond....((c
2520 6f 6e 73 70 20 66 6f 72 6d 29 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 68 65 61 64 20 28 63 61 72 onsp.form).....(let*.((head.(car
2540 20 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 65 6e 76 2d 65 78 70 61 6e 64 65 72 .form))............(env-expander
2560 20 28 61 73 73 71 20 68 65 61 64 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 29 29 29 0a 20 20 20 20 20 .(assq.head.environment)))......
2580 20 28 69 66 20 65 6e 76 2d 65 78 70 61 6e 64 65 72 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 .(if.env-expander...........(if.
25a0 28 63 64 72 20 65 6e 76 2d 65 78 70 61 6e 64 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 (cdr.env-expander)..............
25c0 20 28 61 70 70 6c 79 20 28 63 64 72 20 65 6e 76 2d 65 78 70 61 6e 64 65 72 29 20 28 63 64 72 20 .(apply.(cdr.env-expander).(cdr.
25e0 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 6d 29 0a 20 20 20 20 20 20 20 form)).............form)........
2600 20 28 69 66 20 28 6e 6f 74 20 28 61 6e 64 20 28 73 79 6d 62 6f 6c 70 20 68 65 61 64 29 20 28 66 .(if.(not.(and.(symbolp.head).(f
2620 62 6f 75 6e 64 70 20 68 65 61 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 6d 0a boundp.head))).............form.
2640 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 64 65 66 20 28 61 75 74 6f 6c 6f 61 64 2d 64 ..........(let.((def.(autoload-d
2660 6f 2d 6c 6f 61 64 20 28 73 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f 6e 20 68 65 61 64 29 20 68 65 o-load.(symbol-function.head).he
2680 61 64 20 27 6d 61 63 72 6f 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 ad.'macro))).............(cond..
26a0 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 46 6f 6c 6c 6f 77 20 61 6c 69 61 73 2c 20 62 75 74 ............;;.Follow.alias,.but
26c0 20 6f 6e 6c 79 20 66 6f 72 20 6d 61 63 72 6f 73 2c 20 6f 74 68 65 72 77 69 73 65 20 77 65 20 6d .only.for.macros,.otherwise.we.m
26e0 61 79 20 65 6e 64 20 75 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 6b 69 70 70 69 ay.end.up..............;;.skippi
2700 6e 67 20 61 6e 20 69 6d 70 6f 72 74 61 6e 74 20 63 6f 6d 70 69 6c 65 72 2d 6d 61 63 72 6f 20 28 ng.an.important.compiler-macro.(
2720 65 2e 67 2e 20 63 6c 2d 2d 62 6c 6f 63 6b 2d 77 72 61 70 70 65 72 29 2e 0a 20 20 20 20 20 20 20 e.g..cl--block-wrapper).........
2740 20 20 20 20 20 20 28 28 61 6e 64 20 28 73 79 6d 62 6f 6c 70 20 64 65 66 29 20 28 6d 61 63 72 6f ......((and.(symbolp.def).(macro
2760 70 20 64 65 66 29 29 20 28 63 6f 6e 73 20 64 65 66 20 28 63 64 72 20 66 6f 72 6d 29 29 29 0a 20 p.def)).(cons.def.(cdr.form)))..
2780 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6e 6f 74 20 28 63 6f 6e 73 70 20 64 65 66 29 29 20 66 ............((not.(consp.def)).f
27a0 6f 72 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 orm)..............(t............
27c0 20 20 20 28 69 66 20 28 65 71 20 27 6d 61 63 72 6f 20 28 63 61 72 20 64 65 66 29 29 0a 20 20 20 ...(if.(eq.'macro.(car.def))....
27e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 28 63 64 72 20 64 65 66 29 20 ...............(apply.(cdr.def).
2800 28 63 64 72 20 66 6f 72 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 6d (cdr.form)).................form
2820 29 29 29 29 29 29 29 29 0a 20 20 20 28 74 20 66 6f 72 6d 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 ))))))))....(t.form)))..;;;;.Def
2840 69 6e 65 64 20 69 6e 20 6d 69 6e 69 62 75 66 66 65 72 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 ined.in.minibuffer.el..(compat-d
2860 65 66 75 6e 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 2d 63 61 74 65 67 6f 72 79 2d 6f 76 65 72 72 69 efun.completion--category-overri
2880 64 65 20 28 63 61 74 65 67 6f 72 79 20 74 61 67 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 de.(category.tag).;;.<compat-tes
28a0 74 73 3a 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6d 65 74 61 64 61 74 61 2d 67 65 74 3e 0a 20 20 22 52 ts:completion-metadata-get>..."R
28c0 65 74 75 72 6e 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 74 65 67 6f 72 79 20 6f 76 65 72 72 69 eturn.completion.category.overri
28e0 64 65 20 66 6f 72 20 43 41 54 45 47 4f 52 59 20 61 6e 64 20 54 41 47 2e 22 0a 20 20 28 61 73 73 de.for.CATEGORY.and.TAG."...(ass
2900 71 20 74 61 67 20 28 63 64 72 20 28 61 73 73 71 20 63 61 74 65 67 6f 72 79 20 63 6f 6d 70 6c 65 q.tag.(cdr.(assq.category.comple
2920 74 69 6f 6e 2d 63 61 74 65 67 6f 72 79 2d 6f 76 65 72 72 69 64 65 73 29 29 29 29 0a 0a 28 70 72 tion-category-overrides))))..(pr
2940 6f 76 69 64 65 20 27 63 6f 6d 70 61 74 2d 32 35 29 0a 3b 3b 3b 20 63 6f 6d 70 61 74 2d 32 35 2e ovide.'compat-25).;;;.compat-25.
2960 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 el.ends.here....................
2980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
29e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a00 63 6f 6d 70 61 74 2d 33 30 2e 30 2e 30 2e 30 2f 63 6f 6d 70 61 74 2d 32 38 2e 65 6c 00 00 00 00 compat-30.0.0.0/compat-28.el....
2a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a60 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
2a80 30 31 30 36 30 35 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 37 31 37 00 20 30 00 00 00 0106057.00000000000.013717..0...
2aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b00 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...................
2b20 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...................
2b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c00 3b 3b 3b 20 63 6f 6d 70 61 74 2d 32 38 2e 65 6c 20 2d 2d 2d 20 46 75 6e 63 74 69 6f 6e 61 6c 69 ;;;.compat-28.el.---.Functionali
2c20 74 79 20 61 64 64 65 64 20 69 6e 20 45 6d 61 63 73 20 32 38 2e 31 20 2d 2a 2d 20 6c 65 78 69 63 ty.added.in.Emacs.28.1.-*-.lexic
2c40 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 al-binding:.t;.-*-..;;.Copyright
2c60 20 28 43 29 20 32 30 32 31 2d 32 30 32 34 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 .(C).2021-2024.Free.Software.Fou
2c80 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 ndation,.Inc...;;.This.program.i
2ca0 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 s.free.software;.you.can.redistr
2cc0 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 ibute.it.and/or.modify.;;.it.und
2ce0 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 er.the.terms.of.the.GNU.General.
2d00 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 3b Public.License.as.published.by.;
2d20 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 ;.the.Free.Software.Foundation,.
2d40 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c either.version.3.of.the.License,
2d60 20 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 .or.;;.(at.your.option).any.late
2d80 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 r.version...;;.This.program.is.d
2da0 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 istributed.in.the.hope.that.it.w
2dc0 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e ill.be.useful,.;;.but.WITHOUT.AN
2de0 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 Y.WARRANTY;.without.even.the.imp
2e00 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c lied.warranty.of.;;.MERCHANTABIL
2e20 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 ITY.or.FITNESS.FOR.A.PARTICULAR.
2e40 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c PURPOSE...See.the.;;.GNU.General
2e60 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 .Public.License.for.more.details
2e80 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 ...;;.You.should.have.received.a
2ea0 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 .copy.of.the.GNU.General.Public.
2ec0 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 License.;;.along.with.this.progr
2ee0 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e am...If.not,.see.<https://www.gn
2f00 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 u.org/licenses/>...;;;.Commentar
2f20 79 3a 0a 0a 3b 3b 20 46 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 61 64 64 65 64 20 69 6e 20 45 6d y:..;;.Functionality.added.in.Em
2f40 61 63 73 20 32 38 2e 31 2c 20 6e 65 65 64 65 64 20 62 79 20 6f 6c 64 65 72 20 45 6d 61 63 73 20 acs.28.1,.needed.by.older.Emacs.
2f60 76 65 72 73 69 6f 6e 73 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 65 76 61 6c 2d 77 68 65 6e versions...;;;.Code:..(eval-when
2f80 2d 63 6f 6d 70 69 6c 65 20 28 6c 6f 61 64 20 22 63 6f 6d 70 61 74 2d 6d 61 63 73 2e 65 6c 22 20 -compile.(load."compat-macs.el".
2fa0 6e 69 6c 20 74 20 74 29 29 0a 28 63 6f 6d 70 61 74 2d 72 65 71 75 69 72 65 20 63 6f 6d 70 61 74 nil.t.t)).(compat-require.compat
2fc0 2d 32 37 20 22 32 37 2e 31 22 29 0a 0a 28 63 6f 6d 70 61 74 2d 76 65 72 73 69 6f 6e 20 22 32 38 -27."27.1")..(compat-version."28
2fe0 2e 31 22 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 63 6f 6d 70 2e 63 0a 0a 28 63 .1")..;;;;.Defined.in.comp.c..(c
3000 6f 6d 70 61 74 2d 64 65 66 61 6c 69 61 73 20 6e 61 74 69 76 65 2d 63 6f 6d 70 2d 61 76 61 69 6c ompat-defalias.native-comp-avail
3020 61 62 6c 65 2d 70 20 69 67 6e 6f 72 65 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a able-p.ignore).;;.<compat-tests:
3040 6e 61 74 69 76 65 2d 63 6f 6d 70 2d 61 76 61 69 6c 61 62 6c 65 2d 70 3e 0a 0a 3b 3b 3b 3b 20 44 native-comp-available-p>..;;;;.D
3060 65 66 69 6e 65 64 20 69 6e 20 66 6e 73 2e 63 0a 0a 3b 3b 20 46 49 58 4d 45 20 53 68 6f 75 6c 64 efined.in.fns.c..;;.FIXME.Should
3080 20 68 61 6e 64 6c 65 20 6d 75 6c 74 69 62 79 74 65 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 .handle.multibyte.regular.expres
30a0 73 69 6f 6e 73 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 73 74 72 69 6e 67 2d 73 65 61 72 63 sions.(compat-defun.string-searc
30c0 68 20 28 6e 65 65 64 6c 65 20 68 61 79 73 74 61 63 6b 20 26 6f 70 74 69 6f 6e 61 6c 20 73 74 61 h.(needle.haystack.&optional.sta
30e0 72 74 2d 70 6f 73 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 73 74 72 69 6e 67 2d rt-pos).;;.<compat-tests:string-
3100 73 65 61 72 63 68 3e 0a 20 20 22 53 65 61 72 63 68 20 66 6f 72 20 74 68 65 20 73 74 72 69 6e 67 search>..."Search.for.the.string
3120 20 4e 45 45 44 4c 45 20 69 6e 20 74 68 65 20 73 74 72 69 6e 67 20 48 41 59 53 54 41 43 4b 2e 0a .NEEDLE.in.the.string.HAYSTACK..
3140 0a 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 74 68 65 20 70 6f 73 69 74 69 6f .The.return.value.is.the.positio
3160 6e 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 6f 63 63 75 72 72 65 6e 63 65 20 6f 66 0a 4e 45 45 n.of.the.first.occurrence.of.NEE
3180 44 4c 45 20 69 6e 20 48 41 59 53 54 41 43 4b 2c 20 6f 72 20 6e 69 6c 20 69 66 20 6e 6f 20 6d 61 DLE.in.HAYSTACK,.or.nil.if.no.ma
31a0 74 63 68 20 77 61 73 20 66 6f 75 6e 64 2e 0a 0a 54 68 65 20 6f 70 74 69 6f 6e 61 6c 20 53 54 41 tch.was.found...The.optional.STA
31c0 52 54 2d 50 4f 53 20 61 72 67 75 6d 65 6e 74 20 73 61 79 73 20 77 68 65 72 65 20 74 6f 20 73 74 RT-POS.argument.says.where.to.st
31e0 61 72 74 20 73 65 61 72 63 68 69 6e 67 20 69 6e 0a 48 41 59 53 54 41 43 4b 20 61 6e 64 20 64 65 art.searching.in.HAYSTACK.and.de
3200 66 61 75 6c 74 73 20 74 6f 20 7a 65 72 6f 20 28 73 74 61 72 74 20 61 74 20 74 68 65 20 62 65 67 faults.to.zero.(start.at.the.beg
3220 69 6e 6e 69 6e 67 29 2e 0a 49 74 20 6d 75 73 74 20 62 65 20 62 65 74 77 65 65 6e 20 7a 65 72 6f inning)..It.must.be.between.zero
3240 20 61 6e 64 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 48 41 59 53 54 41 43 4b 2c 20 69 6e 63 .and.the.length.of.HAYSTACK,.inc
3260 6c 75 73 69 76 65 2e 0a 0a 43 61 73 65 20 69 73 20 61 6c 77 61 79 73 20 73 69 67 6e 69 66 69 63 lusive...Case.is.always.signific
3280 61 6e 74 20 61 6e 64 20 74 65 78 74 20 70 72 6f 70 65 72 74 69 65 73 20 61 72 65 20 69 67 6e 6f ant.and.text.properties.are.igno
32a0 72 65 64 2e 0a 0a 4e 4f 54 45 3a 20 50 72 69 6f 72 20 74 6f 20 45 6d 61 63 73 20 32 37 20 60 73 red...NOTE:.Prior.to.Emacs.27.`s
32c0 74 72 69 6e 67 2d 6d 61 74 63 68 27 20 68 61 73 20 69 73 73 75 65 73 20 68 61 6e 64 6c 69 6e 67 tring-match'.has.issues.handling
32e0 0a 6d 75 6c 74 69 62 79 74 65 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 73 2e 20 .multibyte.regular.expressions..
3300 20 41 73 20 74 68 65 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 0a 66 .As.the.compatibility.function.f
3320 6f 72 20 60 73 74 72 69 6e 67 2d 73 65 61 72 63 68 27 20 69 73 20 69 6d 70 6c 65 6d 65 6e 74 65 or.`string-search'.is.implemente
3340 64 20 76 69 61 20 60 73 74 72 69 6e 67 2d 6d 61 74 63 68 27 2c 20 74 68 65 73 65 0a 69 73 73 75 d.via.`string-match',.these.issu
3360 65 73 20 61 72 65 20 69 6e 68 65 72 69 74 65 64 2e 22 0a 20 20 28 77 68 65 6e 20 28 61 6e 64 20 es.are.inherited."...(when.(and.
3380 73 74 61 72 74 2d 70 6f 73 20 28 6f 72 20 28 3c 20 28 6c 65 6e 67 74 68 20 68 61 79 73 74 61 63 start-pos.(or.(<.(length.haystac
33a0 6b 29 20 73 74 61 72 74 2d 70 6f 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 k).start-pos)...................
33c0 20 20 20 20 20 20 20 20 20 28 3c 20 73 74 61 72 74 2d 70 6f 73 20 30 29 29 29 0a 20 20 20 20 28 .........(<.start-pos.0))).....(
33e0 73 69 67 6e 61 6c 20 27 61 72 67 73 2d 6f 75 74 2d 6f 66 2d 72 61 6e 67 65 20 28 6c 69 73 74 20 signal.'args-out-of-range.(list.
3400 73 74 61 72 74 2d 70 6f 73 29 29 29 0a 20 20 28 6c 65 74 20 28 63 61 73 65 2d 66 6f 6c 64 2d 73 start-pos)))...(let.(case-fold-s
3420 65 61 72 63 68 29 0a 20 20 20 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 28 72 65 67 65 earch).....(string-match-p.(rege
3440 78 70 2d 71 75 6f 74 65 20 6e 65 65 64 6c 65 29 20 68 61 79 73 74 61 63 6b 20 73 74 61 72 74 2d xp-quote.needle).haystack.start-
3460 70 6f 73 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 6c 65 6e 67 74 68 3d 20 28 73 pos)))..(compat-defun.length=.(s
3480 65 71 75 65 6e 63 65 20 6c 65 6e 67 74 68 29 20 3b 3b 20 5b 5b 63 6f 6d 70 61 74 2d 74 65 73 74 equence.length).;;.[[compat-test
34a0 73 3a 6c 65 6e 67 74 68 3d 5d 5d 0a 20 20 22 52 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 69 s:length=]]..."Returns.non-nil.i
34c0 66 20 53 45 51 55 45 4e 43 45 20 68 61 73 20 61 20 6c 65 6e 67 74 68 20 65 71 75 61 6c 20 74 6f f.SEQUENCE.has.a.length.equal.to
34e0 20 4c 45 4e 47 54 48 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 6e 75 6c 6c 20 73 65 71 75 .LENGTH."...(cond....((null.sequ
3500 65 6e 63 65 29 20 28 7a 65 72 6f 70 20 6c 65 6e 67 74 68 29 29 0a 20 20 20 28 28 63 6f 6e 73 70 ence).(zerop.length))....((consp
3520 20 73 65 71 75 65 6e 63 65 29 0a 20 20 20 20 28 61 6e 64 20 28 6e 75 6c 6c 20 28 6e 74 68 63 64 .sequence).....(and.(null.(nthcd
3540 72 20 6c 65 6e 67 74 68 20 73 65 71 75 65 6e 63 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 74 r.length.sequence))..........(nt
3560 68 63 64 72 20 28 31 2d 20 6c 65 6e 67 74 68 29 20 73 65 71 75 65 6e 63 65 29 0a 20 20 20 20 20 hcdr.(1-.length).sequence)......
3580 20 20 20 20 74 29 29 0a 20 20 20 28 28 61 72 72 61 79 70 20 73 65 71 75 65 6e 63 65 29 0a 20 20 ....t))....((arrayp.sequence)...
35a0 20 20 28 3d 20 28 6c 65 6e 67 74 68 20 73 65 71 75 65 6e 63 65 29 20 6c 65 6e 67 74 68 29 29 0a ..(=.(length.sequence).length)).
35c0 20 20 20 28 74 20 28 73 69 67 6e 61 6c 20 27 77 72 6f 6e 67 2d 74 79 70 65 2d 61 72 67 75 6d 65 ...(t.(signal.'wrong-type-argume
35e0 6e 74 20 28 6c 69 73 74 20 27 73 65 71 75 65 6e 63 65 70 20 73 65 71 75 65 6e 63 65 29 29 29 29 nt.(list.'sequencep.sequence))))
3600 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 6c 65 6e 67 74 68 3c 20 28 73 65 71 75 65 6e )..(compat-defun.length<.(sequen
3620 63 65 20 6c 65 6e 67 74 68 29 20 3b 3b 20 5b 5b 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 6c 65 6e ce.length).;;.[[compat-tests:len
3640 67 74 68 3c 5d 5d 0a 20 20 22 52 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 53 45 51 gth<]]..."Returns.non-nil.if.SEQ
3660 55 45 4e 43 45 20 69 73 20 73 68 6f 72 74 65 72 20 74 68 61 6e 20 4c 45 4e 47 54 48 2e 22 0a 20 UENCE.is.shorter.than.LENGTH."..
3680 20 28 63 6f 6e 64 0a 20 20 20 28 28 6e 75 6c 6c 20 73 65 71 75 65 6e 63 65 29 20 28 6e 6f 74 20 .(cond....((null.sequence).(not.
36a0 28 7a 65 72 6f 70 20 6c 65 6e 67 74 68 29 29 29 0a 20 20 20 28 28 6c 69 73 74 70 20 73 65 71 75 (zerop.length)))....((listp.sequ
36c0 65 6e 63 65 29 0a 20 20 20 20 28 6e 75 6c 6c 20 28 6e 74 68 63 64 72 20 28 31 2d 20 6c 65 6e 67 ence).....(null.(nthcdr.(1-.leng
36e0 74 68 29 20 73 65 71 75 65 6e 63 65 29 29 29 0a 20 20 20 28 28 61 72 72 61 79 70 20 73 65 71 75 th).sequence)))....((arrayp.sequ
3700 65 6e 63 65 29 0a 20 20 20 20 28 3c 20 28 6c 65 6e 67 74 68 20 73 65 71 75 65 6e 63 65 29 20 6c ence).....(<.(length.sequence).l
3720 65 6e 67 74 68 29 29 0a 20 20 20 28 74 20 28 73 69 67 6e 61 6c 20 27 77 72 6f 6e 67 2d 74 79 70 ength))....(t.(signal.'wrong-typ
3740 65 2d 61 72 67 75 6d 65 6e 74 20 28 6c 69 73 74 20 27 73 65 71 75 65 6e 63 65 70 20 73 65 71 75 e-argument.(list.'sequencep.sequ
3760 65 6e 63 65 29 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 6c 65 6e 67 74 68 3e ence)))))..(compat-defun.length>
3780 20 28 73 65 71 75 65 6e 63 65 20 6c 65 6e 67 74 68 29 20 3b 3b 20 5b 5b 63 6f 6d 70 61 74 2d 74 .(sequence.length).;;.[[compat-t
37a0 65 73 74 73 3a 6c 65 6e 67 74 68 3e 5d 5d 0a 20 20 22 52 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 ests:length>]]..."Returns.non-ni
37c0 6c 20 69 66 20 53 45 51 55 45 4e 43 45 20 69 73 20 6c 6f 6e 67 65 72 20 74 68 61 6e 20 4c 45 4e l.if.SEQUENCE.is.longer.than.LEN
37e0 47 54 48 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 6c 69 73 74 70 20 73 65 71 75 65 6e 63 GTH."...(cond....((listp.sequenc
3800 65 29 0a 20 20 20 20 28 61 6e 64 20 28 6e 74 68 63 64 72 20 6c 65 6e 67 74 68 20 73 65 71 75 65 e).....(and.(nthcdr.length.seque
3820 6e 63 65 29 20 74 29 29 0a 20 20 20 28 28 61 72 72 61 79 70 20 73 65 71 75 65 6e 63 65 29 0a 20 nce).t))....((arrayp.sequence)..
3840 20 20 20 28 3e 20 28 6c 65 6e 67 74 68 20 73 65 71 75 65 6e 63 65 29 20 6c 65 6e 67 74 68 29 29 ...(>.(length.sequence).length))
3860 0a 20 20 20 28 74 20 28 73 69 67 6e 61 6c 20 27 77 72 6f 6e 67 2d 74 79 70 65 2d 61 72 67 75 6d ....(t.(signal.'wrong-type-argum
3880 65 6e 74 20 28 6c 69 73 74 20 27 73 65 71 75 65 6e 63 65 70 20 73 65 71 75 65 6e 63 65 29 29 29 ent.(list.'sequencep.sequence)))
38a0 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 66 69 6c 65 69 6f 2e 63 0a 0a 28 63 ))..;;;;.Defined.in.fileio.c..(c
38c0 6f 6d 70 61 74 2d 64 65 66 75 6e 20 66 69 6c 65 2d 6e 61 6d 65 2d 63 6f 6e 63 61 74 20 28 64 69 ompat-defun.file-name-concat.(di
38e0 72 65 63 74 6f 72 79 20 26 72 65 73 74 20 63 6f 6d 70 6f 6e 65 6e 74 73 29 20 3b 3b 20 3c 63 6f rectory.&rest.components).;;.<co
3900 6d 70 61 74 2d 74 65 73 74 73 3a 66 69 6c 65 2d 6e 61 6d 65 2d 63 6f 6e 63 61 74 3e 0a 20 20 22 mpat-tests:file-name-concat>..."
3920 41 70 70 65 6e 64 20 43 4f 4d 50 4f 4e 45 4e 54 53 20 74 6f 20 44 49 52 45 43 54 4f 52 59 20 61 Append.COMPONENTS.to.DIRECTORY.a
3940 6e 64 20 72 65 74 75 72 6e 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 20 73 74 72 69 6e 67 2e 0a nd.return.the.resulting.string..
3960 45 6c 65 6d 65 6e 74 73 20 69 6e 20 43 4f 4d 50 4f 4e 45 4e 54 53 20 6d 75 73 74 20 62 65 20 61 Elements.in.COMPONENTS.must.be.a
3980 20 73 74 72 69 6e 67 20 6f 72 20 6e 69 6c 2e 0a 44 49 52 45 43 54 4f 52 59 20 6f 72 20 74 68 65 .string.or.nil..DIRECTORY.or.the
39a0 20 6e 6f 6e 2d 66 69 6e 61 6c 20 65 6c 65 6d 65 6e 74 73 20 69 6e 20 43 4f 4d 50 4f 4e 45 4e 54 .non-final.elements.in.COMPONENT
39c0 53 20 6d 61 79 20 6f 72 20 6d 61 79 20 6e 6f 74 20 65 6e 64 0a 77 69 74 68 20 61 20 73 6c 61 73 S.may.or.may.not.end.with.a.slas
39e0 68 20 2d 2d 20 69 66 20 74 68 65 79 20 64 6f 6e e2 80 99 74 20 65 6e 64 20 77 69 74 68 20 61 20 h.--.if.they.don...t.end.with.a.
3a00 73 6c 61 73 68 2c 20 61 20 73 6c 61 73 68 20 77 69 6c 6c 20 62 65 0a 69 6e 73 65 72 74 65 64 20 slash,.a.slash.will.be.inserted.
3a20 62 65 66 6f 72 65 20 63 6f 6e 74 61 74 65 6e 61 74 69 6e 67 2e 22 0a 20 20 28 6c 65 74 20 28 28 before.contatenating."...(let.((
3a40 73 65 70 61 72 61 74 6f 72 20 28 65 76 61 6c 2d 77 68 65 6e 2d 63 6f 6d 70 69 6c 65 0a 20 20 20 separator.(eval-when-compile....
3a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6d 65 6d 71 20 73 79 73 74 ..................(if.(memq.syst
3a80 65 6d 2d 74 79 70 65 20 27 28 6d 73 2d 64 6f 73 20 77 69 6e 64 6f 77 73 2d 6e 74 20 63 79 67 77 em-type.'(ms-dos.windows-nt.cygw
3aa0 69 6e 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 22 5c in)).........................."\
3ac0 5c 22 20 22 2f 22 29 29 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6d 70 6f 6e 65 6e 74 73 20 28 64 \"."/"))).........(components.(d
3ae0 65 6c 71 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 elq.nil.........................
3b00 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 61 6e 64 20 28 6e 6f 74 20 ..(mapcar.(lambda.(x).(and.(not.
3b20 28 65 71 75 61 6c 20 22 22 20 78 29 29 20 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (equal."".x)).x))...............
3b40 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 64 69 72 65 63 74 ....................(cons.direct
3b60 6f 72 79 20 63 6f 6d 70 6f 6e 65 6e 74 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 72 65 73 75 ory.components)))).........(resu
3b80 6c 74 20 22 22 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 63 6f 6d 70 6f 6e 65 6e 74 73 0a 20 20 lt."")).....(while.components...
3ba0 20 20 20 20 28 6c 65 74 20 28 28 63 20 28 70 6f 70 20 63 6f 6d 70 6f 6e 65 6e 74 73 29 29 29 0a ....(let.((c.(pop.components))).
3bc0 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 65 73 75 6c 74 20 28 63 6f 6e 63 61 74 20 72 65 73 ........(setq.result.(concat.res
3be0 75 6c 74 20 63 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 ult.c...........................
3c00 20 20 20 28 61 6e 64 20 63 6f 6d 70 6f 6e 65 6e 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ...(and.components..............
3c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 73 74 72 69 6e .....................(not.(strin
3c40 67 2d 73 75 66 66 69 78 2d 70 20 73 65 70 61 72 61 74 6f 72 20 63 29 29 0a 20 20 20 20 20 20 20 g-suffix-p.separator.c))........
3c60 20 20 20 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 70 61 72 ...........................separ
3c80 61 74 6f 72 29 29 29 29 29 0a 20 20 20 20 72 65 73 75 6c 74 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 ator))))).....result))..;;;;.Def
3ca0 69 6e 65 64 20 69 6e 20 61 6c 6c 6f 63 2e 63 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 61 6c 69 61 ined.in.alloc.c..(compat-defalia
3cc0 73 20 67 61 72 62 61 67 65 2d 63 6f 6c 6c 65 63 74 2d 6d 61 79 62 65 20 69 67 6e 6f 72 65 29 20 s.garbage-collect-maybe.ignore).
3ce0 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 67 61 72 62 61 67 65 2d 63 6f 6c 6c 65 63 74 ;;.<compat-tests:garbage-collect
3d00 2d 6d 61 79 62 65 3e 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 63 68 61 72 61 63 74 -maybe>..;;;;.Defined.in.charact
3d20 65 72 73 2e 63 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 73 74 72 69 6e 67 2d 77 69 64 74 ers.c..(compat-defun.string-widt
3d40 68 20 28 73 74 72 69 6e 67 20 26 6f 70 74 69 6f 6e 61 6c 20 66 72 6f 6d 20 74 6f 29 20 3b 3b 20 h.(string.&optional.from.to).;;.
3d60 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 73 74 72 69 6e 67 2d 77 69 64 74 68 3e 0a 20 20 22 48 <compat-tests:string-width>..."H
3d80 61 6e 64 6c 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73 20 46 52 4f 4d 20 61 6e andle.optional.arguments.FROM.an
3da0 64 20 54 4f 2e 22 0a 20 20 3a 65 78 74 65 6e 64 65 64 20 74 0a 20 20 28 6c 65 74 2a 20 28 28 6c d.TO."...:extended.t...(let*.((l
3dc0 65 6e 20 28 6c 65 6e 67 74 68 20 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 72 en.(length.string))..........(fr
3de0 6f 6d 20 28 6f 72 20 66 72 6f 6d 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 6f 20 28 6f 72 om.(or.from.0))..........(to.(or
3e00 20 74 6f 20 6c 65 6e 29 29 29 0a 20 20 20 20 28 69 66 20 28 61 6e 64 20 28 3d 20 66 72 6f 6d 20 .to.len))).....(if.(and.(=.from.
3e20 30 29 20 28 3d 20 74 6f 20 6c 65 6e 29 29 0a 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 77 0).(=.to.len)).........(string-w
3e40 69 64 74 68 20 73 74 72 69 6e 67 29 0a 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 77 69 64 74 68 idth.string).......(string-width
3e60 20 28 73 75 62 73 74 72 69 6e 67 20 73 74 72 69 6e 67 20 66 72 6f 6d 20 74 6f 29 29 29 29 29 0a .(substring.string.from.to))))).
3e80 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 64 69 72 65 64 2e 63 0a 0a 28 63 6f 6d 70 61 .;;;;.Defined.in.dired.c..(compa
3ea0 74 2d 64 65 66 75 6e 20 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 20 28 64 69 72 65 63 74 6f t-defun.directory-files.(directo
3ec0 72 79 20 26 6f 70 74 69 6f 6e 61 6c 20 66 75 6c 6c 20 6d 61 74 63 68 20 6e 6f 73 6f 72 74 20 63 ry.&optional.full.match.nosort.c
3ee0 6f 75 6e 74 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 64 69 72 65 63 74 6f 72 79 ount).;;.<compat-tests:directory
3f00 2d 66 69 6c 65 73 3e 0a 20 20 22 48 61 6e 64 6c 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 6f 70 74 -files>..."Handle.additional.opt
3f20 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 43 4f 55 4e 54 2e 22 0a 20 20 3a 65 78 74 65 6e 64 ional.argument.COUNT."...:extend
3f40 65 64 20 74 0a 20 20 28 6c 65 74 20 28 28 66 69 6c 65 73 20 28 64 69 72 65 63 74 6f 72 79 2d 66 ed.t...(let.((files.(directory-f
3f60 69 6c 65 73 20 64 69 72 65 63 74 6f 72 79 20 66 75 6c 6c 20 6d 61 74 63 68 20 6e 6f 73 6f 72 74 iles.directory.full.match.nosort
3f80 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 6e 61 74 6e 75 6d 70 20 63 6f 75 6e 74 29 0a 20 20 ))).....(when.(natnump.count)...
3fa0 20 20 20 20 28 73 65 74 66 20 28 6e 74 68 63 64 72 20 63 6f 75 6e 74 20 66 69 6c 65 73 29 20 6e ....(setf.(nthcdr.count.files).n
3fc0 69 6c 29 29 0a 20 20 20 20 66 69 6c 65 73 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 il)).....files))..(compat-defun.
3fe0 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 2d 61 6e 64 2d 61 74 74 72 69 62 75 74 65 73 20 28 directory-files-and-attributes.(
4000 64 69 72 65 63 74 6f 72 79 20 26 6f 70 74 69 6f 6e 61 6c 20 66 75 6c 6c 20 6d 61 74 63 68 20 6e directory.&optional.full.match.n
4020 6f 73 6f 72 74 20 69 64 2d 66 6f 72 6d 61 74 20 63 6f 75 6e 74 29 20 3b 3b 20 3c 63 6f 6d 70 61 osort.id-format.count).;;.<compa
4040 74 2d 74 65 73 74 73 3a 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 2d 61 6e 64 2d 61 74 74 72 t-tests:directory-files-and-attr
4060 69 62 75 74 65 73 3e 0a 20 20 22 48 61 6e 64 6c 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 6f 70 74 ibutes>..."Handle.additional.opt
4080 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 43 4f 55 4e 54 2e 22 0a 20 20 3a 65 78 74 65 6e 64 ional.argument.COUNT."...:extend
40a0 65 64 20 74 0a 20 20 28 6c 65 74 20 28 28 66 69 6c 65 73 20 28 64 69 72 65 63 74 6f 72 79 2d 66 ed.t...(let.((files.(directory-f
40c0 69 6c 65 73 2d 61 6e 64 2d 61 74 74 72 69 62 75 74 65 73 20 64 69 72 65 63 74 6f 72 79 20 66 75 iles-and-attributes.directory.fu
40e0 6c 6c 20 6d 61 74 63 68 20 6e 6f 73 6f 72 74 20 69 64 2d 66 6f 72 6d 61 74 29 29 29 0a 20 20 20 ll.match.nosort.id-format)))....
4100 20 28 77 68 65 6e 20 28 6e 61 74 6e 75 6d 70 20 63 6f 75 6e 74 29 0a 20 20 20 20 20 20 28 73 65 .(when.(natnump.count).......(se
4120 74 66 20 28 6e 74 68 63 64 72 20 63 6f 75 6e 74 20 66 69 6c 65 73 29 20 6e 69 6c 29 29 0a 20 20 tf.(nthcdr.count.files).nil))...
4140 20 20 66 69 6c 65 73 29 29 0a 0a 3b 3b 3b 3b 20 78 66 61 63 65 73 2e 63 0a 0a 28 63 6f 6d 70 61 ..files))..;;;;.xfaces.c..(compa
4160 74 2d 64 65 66 75 6e 20 63 6f 6c 6f 72 2d 76 61 6c 75 65 73 2d 66 72 6f 6d 2d 63 6f 6c 6f 72 2d t-defun.color-values-from-color-
4180 73 70 65 63 20 28 73 70 65 63 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 63 6f 6c spec.(spec).;;.<compat-tests:col
41a0 6f 72 2d 76 61 6c 75 65 73 2d 66 72 6f 6d 2d 63 6f 6c 6f 72 2d 73 70 65 63 3e 0a 20 20 22 50 61 or-values-from-color-spec>..."Pa
41c0 72 73 65 20 63 6f 6c 6f 72 20 53 50 45 43 20 61 73 20 61 20 6e 75 6d 65 72 69 63 20 63 6f 6c 6f rse.color.SPEC.as.a.numeric.colo
41e0 72 20 61 6e 64 20 72 65 74 75 72 6e 20 28 52 45 44 20 47 52 45 45 4e 20 42 4c 55 45 29 2e 0a 54 r.and.return.(RED.GREEN.BLUE)..T
4200 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 63 6f 67 6e 69 73 65 73 20 74 68 65 20 66 6f 6c 6c his.function.recognises.the.foll
4220 6f 77 69 6e 67 20 66 6f 72 6d 61 74 73 20 66 6f 72 20 53 50 45 43 3a 0a 0a 20 23 52 47 42 2c 20 owing.formats.for.SPEC:...#RGB,.
4240 77 68 65 72 65 20 52 2c 20 47 20 61 6e 64 20 42 20 61 72 65 20 68 65 78 20 6e 75 6d 62 65 72 73 where.R,.G.and.B.are.hex.numbers
4260 20 6f 66 20 65 71 75 61 6c 20 6c 65 6e 67 74 68 2c 20 31 2d 34 20 64 69 67 69 74 73 20 65 61 63 .of.equal.length,.1-4.digits.eac
4280 68 2e 0a 20 72 67 62 3a 52 2f 47 2f 42 2c 20 77 68 65 72 65 20 52 2c 20 47 2c 20 61 6e 64 20 42 h...rgb:R/G/B,.where.R,.G,.and.B
42a0 20 61 72 65 20 68 65 78 20 6e 75 6d 62 65 72 73 2c 20 31 2d 34 20 64 69 67 69 74 73 20 65 61 63 .are.hex.numbers,.1-4.digits.eac
42c0 68 2e 0a 20 72 67 62 69 3a 52 2f 47 2f 42 2c 20 77 68 65 72 65 20 52 2c 20 47 20 61 6e 64 20 42 h...rgbi:R/G/B,.where.R,.G.and.B
42e0 20 61 72 65 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e 74 20 6e 75 6d 62 65 72 73 20 69 6e 20 5b .are.floating-point.numbers.in.[
4300 30 2c 31 5d 2e 0a 0a 49 66 20 53 50 45 43 20 69 73 20 6e 6f 74 20 69 6e 20 6f 6e 65 20 6f 66 20 0,1]...If.SPEC.is.not.in.one.of.
4320 74 68 65 20 61 62 6f 76 65 20 66 6f 72 6d 73 2c 20 72 65 74 75 72 6e 20 6e 69 6c 2e 0a 0a 45 61 the.above.forms,.return.nil...Ea
4340 63 68 20 6f 66 20 74 68 65 20 33 20 69 6e 74 65 67 65 72 20 6d 65 6d 62 65 72 73 20 6f 66 20 74 ch.of.the.3.integer.members.of.t
4360 68 65 20 72 65 73 75 6c 74 69 6e 67 20 6c 69 73 74 2c 20 52 45 44 2c 20 47 52 45 45 4e 2c 0a 61 he.resulting.list,.RED,.GREEN,.a
4380 6e 64 20 42 4c 55 45 2c 20 69 73 20 6e 6f 72 6d 61 6c 69 7a 65 64 20 74 6f 20 68 61 76 65 20 69 nd.BLUE,.is.normalized.to.have.i
43a0 74 73 20 76 61 6c 75 65 20 69 6e 20 5b 30 2c 36 35 35 33 35 5d 2e 22 0a 20 20 28 6c 65 74 20 28 ts.value.in.[0,65535]."...(let.(
43c0 28 63 61 73 65 2d 66 6f 6c 64 2d 73 65 61 72 63 68 20 6e 69 6c 29 29 0a 20 20 20 20 28 73 61 76 (case-fold-search.nil)).....(sav
43e0 65 2d 6d 61 74 63 68 2d 64 61 74 61 0a 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 e-match-data.......(cond........
4400 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 28 72 78 20 62 ((string-match..........;;.(rx.b
4420 6f 73 20 22 23 22 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 20 20 20 20 28 6f 72 20 28 3a 20 28 67 os."#"..........;;.....(or.(:.(g
4440 72 6f 75 70 2d 6e 20 31 20 28 3d 20 31 20 68 65 78 29 29 20 28 67 72 6f 75 70 2d 6e 20 32 20 28 roup-n.1.(=.1.hex)).(group-n.2.(
4460 3d 20 31 20 68 65 78 29 29 20 28 67 72 6f 75 70 2d 6e 20 33 20 28 3d 20 31 20 68 65 78 29 29 29 =.1.hex)).(group-n.3.(=.1.hex)))
4480 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 20 20 20 20 20 20 20 20 28 3a 20 28 67 72 6f 75 70 2d 6e ..........;;.........(:.(group-n
44a0 20 31 20 28 3d 20 32 20 68 65 78 29 29 20 28 67 72 6f 75 70 2d 6e 20 32 20 28 3d 20 32 20 68 65 .1.(=.2.hex)).(group-n.2.(=.2.he
44c0 78 29 29 20 28 67 72 6f 75 70 2d 6e 20 33 20 28 3d 20 32 20 68 65 78 29 29 29 0a 20 20 20 20 20 x)).(group-n.3.(=.2.hex)))......
44e0 20 20 20 20 3b 3b 20 20 20 20 20 20 20 20 20 28 3a 20 28 67 72 6f 75 70 2d 6e 20 31 20 28 3d 20 ....;;.........(:.(group-n.1.(=.
4500 33 20 68 65 78 29 29 20 28 67 72 6f 75 70 2d 6e 20 32 20 28 3d 20 33 20 68 65 78 29 29 20 28 67 3.hex)).(group-n.2.(=.3.hex)).(g
4520 72 6f 75 70 2d 6e 20 33 20 28 3d 20 33 20 68 65 78 29 29 29 0a 20 20 20 20 20 20 20 20 20 3b 3b roup-n.3.(=.3.hex)))..........;;
4540 20 20 20 20 20 20 20 20 20 28 3a 20 28 67 72 6f 75 70 2d 6e 20 31 20 28 3d 20 34 20 68 65 78 29 .........(:.(group-n.1.(=.4.hex)
4560 29 20 28 67 72 6f 75 70 2d 6e 20 32 20 28 3d 20 34 20 68 65 78 29 29 20 28 67 72 6f 75 70 2d 6e ).(group-n.2.(=.4.hex)).(group-n
4580 20 33 20 28 3d 20 34 20 68 65 78 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 20 20 20 20 .3.(=.4.hex))))..........;;.....
45a0 65 6f 73 29 0a 20 20 20 20 20 20 20 20 20 22 5c 5c 60 23 5c 5c 28 3f 3a 5c 5c 28 3f 31 3a 5b 5b eos).........."\\`#\\(?:\\(?1:[[
45c0 3a 78 64 69 67 69 74 3a 5d 5d 5c 5c 7b 31 5c 5c 7d 5c 5c 29 5c 5c 28 3f 32 3a 5b 5b 3a 78 64 69 :xdigit:]]\\{1\\}\\)\\(?2:[[:xdi
45e0 67 69 74 3a 5d 5d 5c 5c 7b 31 5c 5c 7d 5c 5c 29 5c 5c 28 3f 33 3a 5b 5b 3a 78 64 69 67 69 74 3a git:]]\\{1\\}\\)\\(?3:[[:xdigit:
4600 5d 5d 5c 5c 7b 31 5c 5c 7d 5c 5c 29 5c 5c 7c 5c 5c 28 3f 31 3a 5b 5b 3a 78 64 69 67 69 74 3a 5d ]]\\{1\\}\\)\\|\\(?1:[[:xdigit:]
4620 5d 5c 5c 7b 32 5c 5c 7d 5c 5c 29 5c 5c 28 3f 32 3a 5b 5b 3a 78 64 69 67 69 74 3a 5d 5d 5c 5c 7b ]\\{2\\}\\)\\(?2:[[:xdigit:]]\\{
4640 32 5c 5c 7d 5c 5c 29 5c 5c 28 3f 33 3a 5b 5b 3a 78 64 69 67 69 74 3a 5d 5d 5c 5c 7b 32 5c 5c 7d 2\\}\\)\\(?3:[[:xdigit:]]\\{2\\}
4660 5c 5c 29 5c 5c 7c 5c 5c 28 3f 31 3a 5b 5b 3a 78 64 69 67 69 74 3a 5d 5d 5c 5c 7b 33 5c 5c 7d 5c \\)\\|\\(?1:[[:xdigit:]]\\{3\\}\
4680 5c 29 5c 5c 28 3f 32 3a 5b 5b 3a 78 64 69 67 69 74 3a 5d 5d 5c 5c 7b 33 5c 5c 7d 5c 5c 29 5c 5c \)\\(?2:[[:xdigit:]]\\{3\\}\\)\\
46a0 28 3f 33 3a 5b 5b 3a 78 64 69 67 69 74 3a 5d 5d 5c 5c 7b 33 5c 5c 7d 5c 5c 29 5c 5c 7c 5c 5c 28 (?3:[[:xdigit:]]\\{3\\}\\)\\|\\(
46c0 3f 31 3a 5b 5b 3a 78 64 69 67 69 74 3a 5d 5d 5c 5c 7b 34 5c 5c 7d 5c 5c 29 5c 5c 28 3f 32 3a 5b ?1:[[:xdigit:]]\\{4\\}\\)\\(?2:[
46e0 5b 3a 78 64 69 67 69 74 3a 5d 5d 5c 5c 7b 34 5c 5c 7d 5c 5c 29 5c 5c 28 3f 33 3a 5b 5b 3a 78 64 [:xdigit:]]\\{4\\}\\)\\(?3:[[:xd
4700 69 67 69 74 3a 5d 5d 5c 5c 7b 34 5c 5c 7d 5c 5c 29 5c 5c 29 5c 5c 27 22 0a 20 20 20 20 20 20 20 igit:]]\\{4\\}\\)\\)\\'"........
4720 20 20 73 70 65 63 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6d 61 78 20 28 31 2d 20 28 ..spec).........(let.((max.(1-.(
4740 61 73 68 20 31 20 28 2a 20 28 2d 20 28 6d 61 74 63 68 2d 65 6e 64 20 31 29 20 28 6d 61 74 63 68 ash.1.(*.(-.(match-end.1).(match
4760 2d 62 65 67 69 6e 6e 69 6e 67 20 31 29 29 20 34 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 -beginning.1)).4)))))...........
4780 28 6c 69 73 74 20 28 2f 20 28 2a 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 20 28 6d (list.(/.(*.(string-to-number.(m
47a0 61 74 63 68 2d 73 74 72 69 6e 67 20 31 20 73 70 65 63 29 20 31 36 29 20 36 35 35 33 35 29 20 6d atch-string.1.spec).16).65535).m
47c0 61 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2f 20 28 2a 20 28 73 74 72 69 6e ax).................(/.(*.(strin
47e0 67 2d 74 6f 2d 6e 75 6d 62 65 72 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 32 20 73 70 65 63 g-to-number.(match-string.2.spec
4800 29 20 31 36 29 20 36 35 35 33 35 29 20 6d 61 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).16).65535).max)...............
4820 20 20 28 2f 20 28 2a 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 20 28 6d 61 74 63 68 ..(/.(*.(string-to-number.(match
4840 2d 73 74 72 69 6e 67 20 33 20 73 70 65 63 29 20 31 36 29 20 36 35 35 33 35 29 20 6d 61 78 29 29 -string.3.spec).16).65535).max))
4860 29 29 0a 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 0a 20 20 20 20 20 20 20 ))........((string-match........
4880 20 20 3b 3b 20 28 72 78 20 62 6f 73 20 22 72 67 62 3a 22 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 ..;;.(rx.bos."rgb:"..........;;.
48a0 20 20 20 20 28 67 72 6f 75 70 20 28 2a 2a 20 31 20 34 20 68 65 78 29 29 20 22 2f 22 0a 20 20 20 ....(group.(**.1.4.hex))."/"....
48c0 20 20 20 20 20 20 3b 3b 20 20 20 20 20 28 67 72 6f 75 70 20 28 2a 2a 20 31 20 34 20 68 65 78 29 ......;;.....(group.(**.1.4.hex)
48e0 29 20 22 2f 22 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 20 20 20 20 28 67 72 6f 75 70 20 28 2a 2a )."/"..........;;.....(group.(**
4900 20 31 20 34 20 68 65 78 29 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 20 20 20 20 65 6f 73 29 0a .1.4.hex))..........;;.....eos).
4920 20 20 20 20 20 20 20 20 20 22 5c 5c 60 72 67 62 3a 5c 5c 28 5b 5b 3a 78 64 69 67 69 74 3a 5d 5d ........."\\`rgb:\\([[:xdigit:]]
4940 5c 5c 7b 31 2c 34 5c 5c 7d 5c 5c 29 2f 5c 5c 28 5b 5b 3a 78 64 69 67 69 74 3a 5d 5d 5c 5c 7b 31 \\{1,4\\}\\)/\\([[:xdigit:]]\\{1
4960 2c 34 5c 5c 7d 5c 5c 29 2f 5c 5c 28 5b 5b 3a 78 64 69 67 69 74 3a 5d 5d 5c 5c 7b 31 2c 34 5c 5c ,4\\}\\)/\\([[:xdigit:]]\\{1,4\\
4980 7d 5c 5c 29 5c 5c 27 22 0a 20 20 20 20 20 20 20 20 20 73 70 65 63 29 0a 20 20 20 20 20 20 20 20 }\\)\\'"..........spec).........
49a0 28 6c 69 73 74 20 28 2f 20 28 2a 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 20 28 6d (list.(/.(*.(string-to-number.(m
49c0 61 74 63 68 2d 73 74 72 69 6e 67 20 31 20 73 70 65 63 29 20 31 36 29 20 36 35 35 33 35 29 0a 20 atch-string.1.spec).16).65535)..
49e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 31 2d 20 28 61 73 68 20 31 20 28 2a 20 28 2d ................(1-.(ash.1.(*.(-
4a00 20 28 6d 61 74 63 68 2d 65 6e 64 20 31 29 20 28 6d 61 74 63 68 2d 62 65 67 69 6e 6e 69 6e 67 20 .(match-end.1).(match-beginning.
4a20 31 29 29 20 34 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2f 20 28 2a 20 28 73 1)).4))))...............(/.(*.(s
4a40 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 32 20 tring-to-number.(match-string.2.
4a60 73 70 65 63 29 20 31 36 29 20 36 35 35 33 35 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 spec).16).65535)................
4a80 20 20 28 31 2d 20 28 61 73 68 20 31 20 28 2a 20 28 2d 20 28 6d 61 74 63 68 2d 65 6e 64 20 32 29 ..(1-.(ash.1.(*.(-.(match-end.2)
4aa0 20 28 6d 61 74 63 68 2d 62 65 67 69 6e 6e 69 6e 67 20 32 29 29 20 34 29 29 29 29 0a 20 20 20 20 .(match-beginning.2)).4)))).....
4ac0 20 20 20 20 20 20 20 20 20 20 28 2f 20 28 2a 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 ..........(/.(*.(string-to-numbe
4ae0 72 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 33 20 73 70 65 63 29 20 31 36 29 20 36 35 35 33 r.(match-string.3.spec).16).6553
4b00 35 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 31 2d 20 28 61 73 68 20 31 20 28 5)..................(1-.(ash.1.(
4b20 2a 20 28 2d 20 28 6d 61 74 63 68 2d 65 6e 64 20 33 29 20 28 6d 61 74 63 68 2d 62 65 67 69 6e 6e *.(-.(match-end.3).(match-beginn
4b40 69 6e 67 20 33 29 29 20 34 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 3b 3b 20 54 68 65 20 22 52 ing.3)).4))))))........;;.The."R
4b60 47 42 69 22 20 28 52 47 42 20 49 6e 74 65 6e 73 69 74 79 29 20 73 70 65 63 69 66 69 63 61 74 69 GBi".(RGB.Intensity).specificati
4b80 6f 6e 20 69 73 20 64 65 66 69 6e 65 64 20 62 79 0a 20 20 20 20 20 20 20 3b 3b 20 58 43 4d 53 5b on.is.defined.by........;;.XCMS[
4ba0 30 5d 2c 20 73 65 65 20 5b 31 5d 20 66 6f 72 20 74 68 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 0],.see.[1].for.the.implementati
4bc0 6f 6e 20 69 6e 20 58 6c 69 62 2e 0a 20 20 20 20 20 20 20 3b 3b 0a 20 20 20 20 20 20 20 3b 3b 20 on.in.Xlib.........;;........;;.
4be0 5b 30 5d 20 68 74 74 70 73 3a 2f 2f 77 77 77 2e 6e 69 63 2e 66 75 6e 65 74 2e 66 69 2f 70 75 62 [0].https://www.nic.funet.fi/pub
4c00 2f 58 31 31 2f 58 31 31 52 34 2f 44 4f 43 53 2f 63 6f 6c 6f 72 2f 58 63 6d 73 2e 74 65 78 74 0a /X11/X11R4/DOCS/color/Xcms.text.
4c20 20 20 20 20 20 20 20 3b 3b 20 5b 31 5d 20 68 74 74 70 73 3a 2f 2f 67 69 74 6c 61 62 2e 66 72 65 .......;;.[1].https://gitlab.fre
4c40 65 64 65 73 6b 74 6f 70 2e 6f 72 67 2f 78 6f 72 67 2f 6c 69 62 2f 6c 69 62 78 31 31 2f 2d 2f 62 edesktop.org/xorg/lib/libx11/-/b
4c60 6c 6f 62 2f 6d 61 73 74 65 72 2f 73 72 63 2f 78 63 6d 73 2f 4c 52 47 42 2e 63 23 4c 31 33 39 32 lob/master/src/xcms/LRGB.c#L1392
4c80 0a 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 ........((string-match..........
4ca0 3b 3b 20 28 72 78 20 62 6f 73 20 22 72 67 62 69 3a 22 20 28 2a 20 73 70 61 63 65 29 0a 20 20 20 ;;.(rx.bos."rgbi:".(*.space)....
4cc0 20 20 20 20 20 20 3b 3b 20 20 20 20 20 28 67 72 6f 75 70 20 28 3f 20 28 6f 72 20 22 2d 22 20 22 ......;;.....(group.(?.(or."-"."
4ce0 2b 22 29 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 +"))..........;;............(or.
4d00 28 3a 20 28 2b 20 64 69 67 69 74 29 20 28 3f 20 22 2e 22 20 28 2a 20 64 69 67 69 74 29 29 29 0a (:.(+.digit).(?.".".(*.digit))).
4d20 20 20 20 20 20 20 20 20 20 3b 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 20 22 2e .........;;................(:.".
4d40 22 20 28 2b 20 64 69 67 69 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 20 20 20 20 20 20 ".(+.digit)))..........;;.......
4d60 20 20 20 20 20 28 3f 20 22 65 22 20 28 3f 20 28 6f 72 20 22 2d 22 20 22 2b 22 29 29 20 28 2b 20 .....(?."e".(?.(or."-"."+")).(+.
4d80 64 69 67 69 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 20 20 20 20 22 2f 22 20 28 2a 20 digit)))..........;;....."/".(*.
4da0 73 70 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 20 20 20 20 28 67 72 6f 75 70 20 28 3f space)..........;;.....(group.(?
4dc0 20 28 6f 72 20 22 2d 22 20 22 2b 22 29 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 20 20 20 20 20 .(or."-"."+"))..........;;......
4de0 20 20 20 20 20 20 28 6f 72 20 28 3a 20 28 2b 20 64 69 67 69 74 29 20 28 3f 20 22 2e 22 20 28 2a ......(or.(:.(+.digit).(?.".".(*
4e00 20 64 69 67 69 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 20 20 20 20 20 20 20 20 20 20 .digit)))..........;;...........
4e20 20 20 20 20 20 28 3a 20 22 2e 22 20 28 2b 20 64 69 67 69 74 29 29 29 0a 20 20 20 20 20 20 20 20 .....(:.".".(+.digit))).........
4e40 20 3b 3b 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 20 22 65 22 20 28 3f 20 28 6f 72 20 22 2d 22 .;;............(?."e".(?.(or."-"
4e60 20 22 2b 22 29 29 20 28 2b 20 64 69 67 69 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 20 ."+")).(+.digit)))..........;;..
4e80 20 20 20 22 2f 22 20 28 2a 20 73 70 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 20 20 20 ..."/".(*.space)..........;;....
4ea0 20 28 67 72 6f 75 70 20 28 3f 20 28 6f 72 20 22 2d 22 20 22 2b 22 29 29 0a 20 20 20 20 20 20 20 .(group.(?.(or."-"."+"))........
4ec0 20 20 3b 3b 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 3a 20 28 2b 20 64 69 67 69 74 29 ..;;............(or.(:.(+.digit)
4ee0 20 28 3f 20 22 2e 22 20 28 2a 20 64 69 67 69 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 .(?.".".(*.digit)))..........;;.
4f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 20 22 2e 22 20 28 2b 20 64 69 67 69 74 29 29 ...............(:.".".(+.digit))
4f20 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 20 22 65 22 20 )..........;;............(?."e".
4f40 28 3f 20 28 6f 72 20 22 2d 22 20 22 2b 22 29 29 20 28 2b 20 64 69 67 69 74 29 29 29 0a 20 20 20 (?.(or."-"."+")).(+.digit)))....
4f60 20 20 20 20 20 20 3b 3b 20 20 20 20 20 65 6f 73 29 0a 20 20 20 20 20 20 20 20 20 22 5c 5c 60 72 ......;;.....eos).........."\\`r
4f80 67 62 69 3a 5b 5b 3a 73 70 61 63 65 3a 5d 5d 2a 5c 5c 28 5b 2b 2d 5d 3f 5c 5c 28 3f 3a 5b 5b 3a gbi:[[:space:]]*\\([+-]?\\(?:[[:
4fa0 64 69 67 69 74 3a 5d 5d 2b 5c 5c 28 3f 3a 5c 5c 2e 5b 5b 3a 64 69 67 69 74 3a 5d 5d 2a 5c 5c 29 digit:]]+\\(?:\\.[[:digit:]]*\\)
4fc0 3f 5c 5c 7c 5c 5c 2e 5b 5b 3a 64 69 67 69 74 3a 5d 5d 2b 5c 5c 29 5c 5c 28 3f 3a 65 5b 2b 2d 5d ?\\|\\.[[:digit:]]+\\)\\(?:e[+-]
4fe0 3f 5b 5b 3a 64 69 67 69 74 3a 5d 5d 2b 5c 5c 29 3f 5c 5c 29 2f 5b 5b 3a 73 70 61 63 65 3a 5d 5d ?[[:digit:]]+\\)?\\)/[[:space:]]
5000 2a 5c 5c 28 5b 2b 2d 5d 3f 5c 5c 28 3f 3a 5b 5b 3a 64 69 67 69 74 3a 5d 5d 2b 5c 5c 28 3f 3a 5c *\\([+-]?\\(?:[[:digit:]]+\\(?:\
5020 5c 2e 5b 5b 3a 64 69 67 69 74 3a 5d 5d 2a 5c 5c 29 3f 5c 5c 7c 5c 5c 2e 5b 5b 3a 64 69 67 69 74 \.[[:digit:]]*\\)?\\|\\.[[:digit
5040 3a 5d 5d 2b 5c 5c 29 5c 5c 28 3f 3a 65 5b 2b 2d 5d 3f 5b 5b 3a 64 69 67 69 74 3a 5d 5d 2b 5c 5c :]]+\\)\\(?:e[+-]?[[:digit:]]+\\
5060 29 3f 5c 5c 29 2f 5b 5b 3a 73 70 61 63 65 3a 5d 5d 2a 5c 5c 28 5b 2b 2d 5d 3f 5c 5c 28 3f 3a 5b )?\\)/[[:space:]]*\\([+-]?\\(?:[
5080 5b 3a 64 69 67 69 74 3a 5d 5d 2b 5c 5c 28 3f 3a 5c 5c 2e 5b 5b 3a 64 69 67 69 74 3a 5d 5d 2a 5c [:digit:]]+\\(?:\\.[[:digit:]]*\
50a0 5c 29 3f 5c 5c 7c 5c 5c 2e 5b 5b 3a 64 69 67 69 74 3a 5d 5d 2b 5c 5c 29 5c 5c 28 3f 3a 65 5b 2b \)?\\|\\.[[:digit:]]+\\)\\(?:e[+
50c0 2d 5d 3f 5b 5b 3a 64 69 67 69 74 3a 5d 5d 2b 5c 5c 29 3f 5c 5c 29 5c 5c 27 22 0a 20 20 20 20 20 -]?[[:digit:]]+\\)?\\)\\'"......
50e0 20 20 20 20 73 70 65 63 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 72 20 28 72 6f 75 6e ....spec).........(let.((r.(roun
5100 64 20 28 2a 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 20 28 6d 61 74 63 68 2d 73 74 d.(*.(string-to-number.(match-st
5120 72 69 6e 67 20 31 20 73 70 65 63 29 29 20 36 35 35 33 35 29 29 29 0a 20 20 20 20 20 20 20 20 20 ring.1.spec)).65535)))..........
5140 20 20 20 20 20 28 67 20 28 72 6f 75 6e 64 20 28 2a 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d .....(g.(round.(*.(string-to-num
5160 62 65 72 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 32 20 73 70 65 63 29 29 20 36 35 35 33 35 ber.(match-string.2.spec)).65535
5180 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 20 28 72 6f 75 6e 64 20 28 2a 20 28 )))...............(b.(round.(*.(
51a0 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 33 string-to-number.(match-string.3
51c0 20 73 70 65 63 29 29 20 36 35 35 33 35 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 65 .spec)).65535))))...........(whe
51e0 6e 20 28 61 6e 64 20 28 3c 3d 20 30 20 72 29 20 28 3c 3d 20 72 20 36 35 35 33 35 29 0a 20 20 20 n.(and.(<=.0.r).(<=.r.65535)....
5200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3c 3d 20 30 20 67 29 20 28 3c 3d 20 67 ..................(<=.0.g).(<=.g
5220 20 36 35 35 33 35 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3c 3d .65535)......................(<=
5240 20 30 20 62 29 20 28 3c 3d 20 62 20 36 35 35 33 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .0.b).(<=.b.65535)).............
5260 28 6c 69 73 74 20 72 20 67 20 62 29 29 29 29 29 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 (list.r.g.b))))))))..;;;;.Define
5280 64 20 69 6e 20 73 69 6d 70 6c 65 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 6d 61 d.in.simple.el..(compat-defun.ma
52a0 6b 65 2d 73 65 70 61 72 61 74 6f 72 2d 6c 69 6e 65 20 28 26 6f 70 74 69 6f 6e 61 6c 20 6c 65 6e ke-separator-line.(&optional.len
52c0 67 74 68 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 6d 61 6b 65 2d 73 65 70 61 72 gth).;;.<compat-tests:make-separ
52e0 61 74 6f 72 2d 6c 69 6e 65 3e 0a 20 20 22 4d 61 6b 65 20 61 20 73 74 72 69 6e 67 20 61 70 70 72 ator-line>..."Make.a.string.appr
5300 6f 70 72 69 61 74 65 20 66 6f 72 20 75 73 61 67 65 20 61 73 20 61 20 76 69 73 75 61 6c 20 73 65 opriate.for.usage.as.a.visual.se
5320 70 61 72 61 74 6f 72 20 6c 69 6e 65 2e 0a 49 66 20 4c 45 4e 47 54 48 20 69 73 20 6e 69 6c 2c 20 parator.line..If.LENGTH.is.nil,.
5340 75 73 65 20 74 68 65 20 77 69 6e 64 6f 77 20 77 69 64 74 68 2e 22 0a 20 20 28 69 66 20 28 64 69 use.the.window.width."...(if.(di
5360 73 70 6c 61 79 2d 67 72 61 70 68 69 63 2d 70 29 0a 20 20 20 20 20 20 28 69 66 20 6c 65 6e 67 74 splay-graphic-p).......(if.lengt
5380 68 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 28 70 72 6f 70 65 72 74 69 7a 65 20 h...........(concat.(propertize.
53a0 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 6c 65 6e 67 74 68 20 3f 5c 73 29 20 27 66 61 63 65 20 27 (make-string.length.?\s).'face.'
53c0 28 3a 75 6e 64 65 72 6c 69 6e 65 20 74 29 29 20 22 5c 6e 22 29 0a 20 20 20 20 20 20 20 20 28 70 (:underline.t))."\n").........(p
53e0 72 6f 70 65 72 74 69 7a 65 20 22 5c 6e 22 20 27 66 61 63 65 20 27 28 3a 65 78 74 65 6e 64 20 74 ropertize."\n".'face.'(:extend.t
5400 20 3a 68 65 69 67 68 74 20 30 2e 31 20 3a 69 6e 76 65 72 73 65 2d 76 69 64 65 6f 20 74 29 29 29 .:height.0.1.:inverse-video.t)))
5420 0a 20 20 20 20 28 63 6f 6e 63 61 74 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 28 6f 72 20 6c 65 .....(concat.(make-string.(or.le
5440 6e 67 74 68 20 28 31 2d 20 28 77 69 6e 64 6f 77 2d 77 69 64 74 68 29 29 29 20 3f 2d 29 20 22 5c ngth.(1-.(window-width))).?-)."\
5460 6e 22 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 73 75 62 72 2e 65 6c 0a 0a n")))..;;;;.Defined.in.subr.el..
5480 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 70 72 6f 63 65 73 73 2d 6c 69 6e 65 73 2d 68 61 6e 64 (compat-defun.process-lines-hand
54a0 6c 69 6e 67 2d 73 74 61 74 75 73 20 28 70 72 6f 67 72 61 6d 20 73 74 61 74 75 73 2d 68 61 6e 64 ling-status.(program.status-hand
54c0 6c 65 72 20 26 72 65 73 74 20 61 72 67 73 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 ler.&rest.args).;;.<compat-tests
54e0 3a 70 72 6f 63 65 73 73 2d 6c 69 6e 65 73 2d 68 61 6e 64 6c 69 6e 67 2d 73 74 61 74 75 73 3e 0a :process-lines-handling-status>.
5500 20 20 22 45 78 65 63 75 74 65 20 50 52 4f 47 52 41 4d 20 77 69 74 68 20 41 52 47 53 2c 20 72 65 .."Execute.PROGRAM.with.ARGS,.re
5520 74 75 72 6e 69 6e 67 20 69 74 73 20 6f 75 74 70 75 74 20 61 73 20 61 20 6c 69 73 74 20 6f 66 20 turning.its.output.as.a.list.of.
5540 6c 69 6e 65 73 2e 0a 49 66 20 53 54 41 54 55 53 2d 48 41 4e 44 4c 45 52 20 69 73 20 6e 6f 6e 2d lines..If.STATUS-HANDLER.is.non-
5560 6e 69 6c 2c 20 69 74 20 6d 75 73 74 20 62 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 nil,.it.must.be.a.function.with.
5580 6f 6e 65 0a 61 72 67 75 6d 65 6e 74 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 62 65 20 63 61 6c 6c one.argument,.which.will.be.call
55a0 65 64 20 77 69 74 68 20 74 68 65 20 65 78 69 74 20 73 74 61 74 75 73 20 6f 66 20 74 68 65 0a 70 ed.with.the.exit.status.of.the.p
55c0 72 6f 67 72 61 6d 20 62 65 66 6f 72 65 20 74 68 65 20 6f 75 74 70 75 74 20 69 73 20 63 6f 6c 6c rogram.before.the.output.is.coll
55e0 65 63 74 65 64 2e 20 20 49 66 20 53 54 41 54 55 53 2d 48 41 4e 44 4c 45 52 20 69 73 0a 6e 69 6c ected...If.STATUS-HANDLER.is.nil
5600 2c 20 61 6e 20 65 72 72 6f 72 20 69 73 20 73 69 67 6e 61 6c 65 64 20 69 66 20 74 68 65 20 70 72 ,.an.error.is.signaled.if.the.pr
5620 6f 67 72 61 6d 20 72 65 74 75 72 6e 73 20 77 69 74 68 20 61 20 6e 6f 6e 2d 7a 65 72 6f 0a 65 78 ogram.returns.with.a.non-zero.ex
5640 69 74 20 73 74 61 74 75 73 2e 22 0a 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a it.status."...(with-temp-buffer.
5660 20 20 20 20 28 6c 65 74 20 28 28 73 74 61 74 75 73 20 28 61 70 70 6c 79 20 23 27 63 61 6c 6c 2d ....(let.((status.(apply.#'call-
5680 70 72 6f 63 65 73 73 20 70 72 6f 67 72 61 6d 20 6e 69 6c 20 28 63 75 72 72 65 6e 74 2d 62 75 66 process.program.nil.(current-buf
56a0 66 65 72 29 20 6e 69 6c 20 61 72 67 73 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 73 74 61 74 75 fer).nil.args))).......(if.statu
56c0 73 2d 68 61 6e 64 6c 65 72 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 73 74 61 s-handler...........(funcall.sta
56e0 74 75 73 2d 68 61 6e 64 6c 65 72 20 73 74 61 74 75 73 29 0a 20 20 20 20 20 20 20 20 28 75 6e 6c tus-handler.status).........(unl
5700 65 73 73 20 28 65 71 20 73 74 61 74 75 73 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 65 72 72 ess.(eq.status.0)...........(err
5720 6f 72 20 22 25 73 20 65 78 69 74 65 64 20 77 69 74 68 20 73 74 61 74 75 73 20 25 73 22 20 70 72 or."%s.exited.with.status.%s".pr
5740 6f 67 72 61 6d 20 73 74 61 74 75 73 29 29 29 0a 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 ogram.status))).......(goto-char
5760 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 6c 69 6e 65 73 29 .(point-min)).......(let.(lines)
5780 0a 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 28 65 6f 62 70 29 29 0a 20 20 20 .........(while.(not.(eobp))....
57a0 20 20 20 20 20 20 20 28 73 65 74 71 20 6c 69 6e 65 73 20 28 63 6f 6e 73 20 28 62 75 66 66 65 72 .......(setq.lines.(cons.(buffer
57c0 2d 73 75 62 73 74 72 69 6e 67 2d 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 0a 20 20 20 20 20 20 20 -substring-no-properties........
57e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 2d 62 65 67 69 ......................(line-begi
5800 6e 6e 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nning-position).................
5820 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 2d 65 6e 64 2d 70 6f 73 69 74 69 6f 6e 29 .............(line-end-position)
5840 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 ).............................li
5860 6e 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 31 29 nes))...........(forward-line.1)
5880 29 0a 20 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 6c 69 6e 65 73 29 29 29 29 29 0a 0a ).........(nreverse.lines)))))..
58a0 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 70 72 6f 63 65 73 73 2d 6c 69 6e 65 73 2d 69 67 6e 6f (compat-defun.process-lines-igno
58c0 72 65 2d 73 74 61 74 75 73 20 28 70 72 6f 67 72 61 6d 20 26 72 65 73 74 20 61 72 67 73 29 20 3b re-status.(program.&rest.args).;
58e0 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 70 72 6f 63 65 73 73 2d 6c 69 6e 65 73 2d 69 67 ;.<compat-tests:process-lines-ig
5900 6e 6f 72 65 2d 73 74 61 74 75 73 3e 0a 20 20 22 45 78 65 63 75 74 65 20 50 52 4f 47 52 41 4d 20 nore-status>..."Execute.PROGRAM.
5920 77 69 74 68 20 41 52 47 53 2c 20 72 65 74 75 72 6e 69 6e 67 20 69 74 73 20 6f 75 74 70 75 74 20 with.ARGS,.returning.its.output.
5940 61 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 6e 65 73 2e 0a 54 68 65 20 65 78 69 74 20 73 74 61 as.a.list.of.lines..The.exit.sta
5960 74 75 73 20 6f 66 20 74 68 65 20 70 72 6f 67 72 61 6d 20 69 73 20 69 67 6e 6f 72 65 64 2e 0a 41 tus.of.the.program.is.ignored..A
5980 6c 73 6f 20 73 65 65 20 60 70 72 6f 63 65 73 73 2d 6c 69 6e 65 73 27 2e 22 0a 20 20 28 61 70 70 lso.see.`process-lines'."...(app
59a0 6c 79 20 27 70 72 6f 63 65 73 73 2d 6c 69 6e 65 73 2d 68 61 6e 64 6c 69 6e 67 2d 73 74 61 74 75 ly.'process-lines-handling-statu
59c0 73 20 70 72 6f 67 72 61 6d 20 23 27 69 67 6e 6f 72 65 20 61 72 67 73 29 29 0a 0a 3b 3b 20 46 49 s.program.#'ignore.args))..;;.FI
59e0 58 4d 45 20 53 68 6f 75 6c 64 20 68 61 6e 64 6c 65 20 6d 75 6c 74 69 62 79 74 65 20 72 65 67 75 XME.Should.handle.multibyte.regu
5a00 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 73 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 73 74 lar.expressions.(compat-defun.st
5a20 72 69 6e 67 2d 72 65 70 6c 61 63 65 20 28 66 72 6f 6d 73 74 72 69 6e 67 20 74 6f 73 74 72 69 6e ring-replace.(fromstring.tostrin
5a40 67 20 69 6e 73 74 72 69 6e 67 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 73 74 72 g.instring).;;.<compat-tests:str
5a60 69 6e 67 2d 72 65 70 6c 61 63 65 3e 0a 20 20 22 52 65 70 6c 61 63 65 20 46 52 4f 4d 53 54 52 49 ing-replace>..."Replace.FROMSTRI
5a80 4e 47 20 77 69 74 68 20 54 4f 53 54 52 49 4e 47 20 69 6e 20 49 4e 53 54 52 49 4e 47 20 65 61 63 NG.with.TOSTRING.in.INSTRING.eac
5aa0 68 20 74 69 6d 65 20 69 74 20 6f 63 63 75 72 73 2e 22 0a 20 20 28 77 68 65 6e 20 28 65 71 75 61 h.time.it.occurs."...(when.(equa
5ac0 6c 20 66 72 6f 6d 73 74 72 69 6e 67 20 22 22 29 0a 20 20 20 20 28 73 69 67 6e 61 6c 20 27 77 72 l.fromstring."").....(signal.'wr
5ae0 6f 6e 67 2d 6c 65 6e 67 74 68 2d 61 72 67 75 6d 65 6e 74 20 27 28 30 29 29 29 0a 20 20 28 6c 65 ong-length-argument.'(0)))...(le
5b00 74 20 28 28 63 61 73 65 2d 66 6f 6c 64 2d 73 65 61 72 63 68 20 6e 69 6c 29 29 0a 20 20 20 20 28 t.((case-fold-search.nil)).....(
5b20 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 28 72 replace-regexp-in-string......(r
5b40 65 67 65 78 70 2d 71 75 6f 74 65 20 66 72 6f 6d 73 74 72 69 6e 67 29 0a 20 20 20 20 20 74 6f 73 egexp-quote.fromstring)......tos
5b60 74 72 69 6e 67 20 69 6e 73 74 72 69 6e 67 0a 20 20 20 20 20 74 20 74 29 29 29 0a 0a 28 63 6f 6d tring.instring......t.t)))..(com
5b80 70 61 74 2d 64 65 66 75 6e 20 61 6c 77 61 79 73 20 28 26 72 65 73 74 20 5f 61 72 67 75 6d 65 6e pat-defun.always.(&rest._argumen
5ba0 74 73 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 61 6c 77 61 79 73 3e 0a 20 20 22 ts).;;.<compat-tests:always>..."
5bc0 44 6f 20 6e 6f 74 68 69 6e 67 20 61 6e 64 20 72 65 74 75 72 6e 20 74 2e 0a 54 68 69 73 20 66 75 Do.nothing.and.return.t..This.fu
5be0 6e 63 74 69 6f 6e 20 61 63 63 65 70 74 73 20 61 6e 79 20 6e 75 6d 62 65 72 20 6f 66 20 41 52 47 nction.accepts.any.number.of.ARG
5c00 55 4d 45 4e 54 53 2c 20 62 75 74 20 69 67 6e 6f 72 65 73 20 74 68 65 6d 2e 0a 41 6c 73 6f 20 73 UMENTS,.but.ignores.them..Also.s
5c20 65 65 20 60 69 67 6e 6f 72 65 27 2e 22 0a 20 20 74 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 ee.`ignore'."...t)..(compat-defu
5c40 6e 20 69 6e 73 65 72 74 2d 69 6e 74 6f 2d 62 75 66 66 65 72 20 28 62 75 66 66 65 72 20 26 6f 70 n.insert-into-buffer.(buffer.&op
5c60 74 69 6f 6e 61 6c 20 73 74 61 72 74 20 65 6e 64 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 tional.start.end).;;.<compat-tes
5c80 74 73 3a 69 6e 73 65 72 74 2d 69 6e 74 6f 2d 62 75 66 66 65 72 3e 0a 20 20 22 49 6e 73 65 72 74 ts:insert-into-buffer>..."Insert
5ca0 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 .the.contents.of.the.current.buf
5cc0 66 65 72 20 69 6e 74 6f 20 42 55 46 46 45 52 2e 0a 49 66 20 53 54 41 52 54 2f 45 4e 44 2c 20 6f fer.into.BUFFER..If.START/END,.o
5ce0 6e 6c 79 20 69 6e 73 65 72 74 20 74 68 61 74 20 72 65 67 69 6f 6e 20 66 72 6f 6d 20 74 68 65 20 nly.insert.that.region.from.the.
5d00 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2e 0a 50 6f 69 6e 74 20 69 6e 20 42 55 46 46 45 52 20 current.buffer..Point.in.BUFFER.
5d20 77 69 6c 6c 20 62 65 20 70 6c 61 63 65 64 20 61 66 74 65 72 20 74 68 65 20 69 6e 73 65 72 74 65 will.be.placed.after.the.inserte
5d40 64 20 74 65 78 74 2e 22 0a 20 20 28 6c 65 74 20 28 28 63 75 72 72 65 6e 74 20 28 63 75 72 72 65 d.text."...(let.((current.(curre
5d60 6e 74 2d 62 75 66 66 65 72 29 29 29 0a 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 nt-buffer))).....(with-current-b
5d80 75 66 66 65 72 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 28 69 6e 73 65 72 74 2d 62 75 66 66 65 uffer.buffer.......(insert-buffe
5da0 72 2d 73 75 62 73 74 72 69 6e 67 20 63 75 72 72 65 6e 74 20 73 74 61 72 74 20 65 6e 64 29 29 29 r-substring.current.start.end)))
5dc0 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 72 65 70 6c 61 63 65 2d 73 74 72 69 6e 67 2d )..(compat-defun.replace-string-
5de0 69 6e 2d 72 65 67 69 6f 6e 20 28 73 74 72 69 6e 67 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 26 6f in-region.(string.replacement.&o
5e00 70 74 69 6f 6e 61 6c 20 73 74 61 72 74 20 65 6e 64 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 ptional.start.end).;;.<compat-te
5e20 73 74 73 3a 72 65 70 6c 61 63 65 2d 73 74 72 69 6e 67 2d 69 6e 2d 72 65 67 69 6f 6e 3e 0a 20 20 sts:replace-string-in-region>...
5e40 22 52 65 70 6c 61 63 65 20 53 54 52 49 4e 47 20 77 69 74 68 20 52 45 50 4c 41 43 45 4d 45 4e 54 "Replace.STRING.with.REPLACEMENT
5e60 20 69 6e 20 74 68 65 20 72 65 67 69 6f 6e 20 66 72 6f 6d 20 53 54 41 52 54 20 74 6f 20 45 4e 44 .in.the.region.from.START.to.END
5e80 2e 0a 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 72 65 70 6c 61 63 65 64 20 6f 63 63 75 72 72 65 ..The.number.of.replaced.occurre
5ea0 6e 63 65 73 20 61 72 65 20 72 65 74 75 72 6e 65 64 2c 20 6f 72 20 6e 69 6c 20 69 66 20 53 54 52 nces.are.returned,.or.nil.if.STR
5ec0 49 4e 47 0a 64 6f 65 73 6e 27 74 20 65 78 69 73 74 20 69 6e 20 74 68 65 20 72 65 67 69 6f 6e 2e ING.doesn't.exist.in.the.region.
5ee0 0a 0a 49 66 20 53 54 41 52 54 20 69 73 20 6e 69 6c 2c 20 75 73 65 20 74 68 65 20 63 75 72 72 65 ..If.START.is.nil,.use.the.curre
5f00 6e 74 20 70 6f 69 6e 74 2e 20 20 49 66 20 45 4e 44 20 69 73 20 6e 69 6c 2c 20 75 73 65 20 60 70 nt.point...If.END.is.nil,.use.`p
5f20 6f 69 6e 74 2d 6d 61 78 27 2e 0a 0a 43 6f 6d 70 61 72 69 73 6f 6e 73 20 61 6e 64 20 72 65 70 6c oint-max'...Comparisons.and.repl
5f40 61 63 65 6d 65 6e 74 73 20 61 72 65 20 64 6f 6e 65 20 77 69 74 68 20 66 69 78 65 64 20 63 61 73 acements.are.done.with.fixed.cas
5f60 65 2e 22 0a 20 20 28 69 66 20 73 74 61 72 74 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 3c 20 73 e."...(if.start.......(when.(<.s
5f80 74 61 72 74 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 tart.(point-min)).........(error
5fa0 20 22 53 74 61 72 74 20 62 65 66 6f 72 65 20 73 74 61 72 74 20 6f 66 20 62 75 66 66 65 72 22 29 ."Start.before.start.of.buffer")
5fc0 29 0a 20 20 20 20 28 73 65 74 71 20 73 74 61 72 74 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 28 69 ).....(setq.start.(point)))...(i
5fe0 66 20 65 6e 64 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 3e 20 65 6e 64 20 28 70 6f 69 6e 74 2d f.end.......(when.(>.end.(point-
6000 6d 61 78 29 29 0a 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 45 6e 64 20 61 66 74 65 72 20 max)).........(error."End.after.
6020 65 6e 64 20 6f 66 20 62 75 66 66 65 72 22 29 29 0a 20 20 20 20 28 73 65 74 71 20 65 6e 64 20 28 end.of.buffer")).....(setq.end.(
6040 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 point-max)))...(save-excursion..
6060 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 73 74 61 72 74 29 0a 20 20 20 20 28 73 61 76 65 2d 72 ...(goto-char.start).....(save-r
6080 65 73 74 72 69 63 74 69 6f 6e 0a 20 20 20 20 20 20 28 6e 61 72 72 6f 77 2d 74 6f 2d 72 65 67 69 estriction.......(narrow-to-regi
60a0 6f 6e 20 73 74 61 72 74 20 65 6e 64 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 6d 61 74 63 68 on.start.end).......(let.((match
60c0 65 73 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 73 65 2d 66 6f 6c 64 2d 73 65 61 es.0).............(case-fold-sea
60e0 72 63 68 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 73 65 61 72 63 68 rch.nil)).........(while.(search
6100 2d 66 6f 72 77 61 72 64 20 73 74 72 69 6e 67 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 20 20 20 -forward.string.nil.t)..........
6120 20 28 64 65 6c 65 74 65 2d 72 65 67 69 6f 6e 20 28 6d 61 74 63 68 2d 62 65 67 69 6e 6e 69 6e 67 .(delete-region.(match-beginning
6140 20 30 29 20 28 6d 61 74 63 68 2d 65 6e 64 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e .0).(match-end.0))...........(in
6160 73 65 72 74 20 72 65 70 6c 61 63 65 6d 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 sert.replacement)...........(set
6180 71 20 6d 61 74 63 68 65 73 20 28 31 2b 20 6d 61 74 63 68 65 73 29 29 29 0a 20 20 20 20 20 20 20 q.matches.(1+.matches)))........
61a0 20 28 61 6e 64 20 28 6e 6f 74 20 28 7a 65 72 6f 70 20 6d 61 74 63 68 65 73 29 29 0a 20 20 20 20 .(and.(not.(zerop.matches)).....
61c0 20 20 20 20 20 20 20 20 20 6d 61 74 63 68 65 73 29 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 .........matches)))))..(compat-d
61e0 65 66 75 6e 20 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 72 65 67 69 6f 6e 20 28 72 efun.replace-regexp-in-region.(r
6200 65 67 65 78 70 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 26 6f 70 74 69 6f 6e 61 6c 20 73 74 61 72 egexp.replacement.&optional.star
6220 74 20 65 6e 64 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 72 65 70 6c 61 63 65 2d t.end).;;.<compat-tests:replace-
6240 72 65 67 65 78 70 2d 69 6e 2d 72 65 67 69 6f 6e 3e 0a 20 20 22 52 65 70 6c 61 63 65 20 52 45 47 regexp-in-region>..."Replace.REG
6260 45 58 50 20 77 69 74 68 20 52 45 50 4c 41 43 45 4d 45 4e 54 20 69 6e 20 74 68 65 20 72 65 67 69 EXP.with.REPLACEMENT.in.the.regi
6280 6f 6e 20 66 72 6f 6d 20 53 54 41 52 54 20 74 6f 20 45 4e 44 2e 0a 54 68 65 20 6e 75 6d 62 65 72 on.from.START.to.END..The.number
62a0 20 6f 66 20 72 65 70 6c 61 63 65 64 20 6f 63 63 75 72 72 65 6e 63 65 73 20 61 72 65 20 72 65 74 .of.replaced.occurrences.are.ret
62c0 75 72 6e 65 64 2c 20 6f 72 20 6e 69 6c 20 69 66 20 52 45 47 45 58 50 0a 64 6f 65 73 6e 27 74 20 urned,.or.nil.if.REGEXP.doesn't.
62e0 65 78 69 73 74 20 69 6e 20 74 68 65 20 72 65 67 69 6f 6e 2e 0a 0a 49 66 20 53 54 41 52 54 20 69 exist.in.the.region...If.START.i
6300 73 20 6e 69 6c 2c 20 75 73 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 6f 69 6e 74 2e 20 20 49 s.nil,.use.the.current.point...I
6320 66 20 45 4e 44 20 69 73 20 6e 69 6c 2c 20 75 73 65 20 60 70 6f 69 6e 74 2d 6d 61 78 27 2e 0a 0a f.END.is.nil,.use.`point-max'...
6340 43 6f 6d 70 61 72 69 73 6f 6e 73 20 61 6e 64 20 72 65 70 6c 61 63 65 6d 65 6e 74 73 20 61 72 65 Comparisons.and.replacements.are
6360 20 64 6f 6e 65 20 77 69 74 68 20 66 69 78 65 64 20 63 61 73 65 2e 0a 0a 52 45 50 4c 41 43 45 4d .done.with.fixed.case...REPLACEM
6380 45 4e 54 20 63 61 6e 20 75 73 65 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 73 70 65 63 69 61 ENT.can.use.the.following.specia
63a0 6c 20 65 6c 65 6d 65 6e 74 73 3a 0a 0a 20 20 60 5c 5c 26 27 20 69 6e 20 4e 45 57 54 45 58 54 20 l.elements:....`\\&'.in.NEWTEXT.
63c0 6d 65 61 6e 73 20 73 75 62 73 74 69 74 75 74 65 20 6f 72 69 67 69 6e 61 6c 20 6d 61 74 63 68 65 means.substitute.original.matche
63e0 64 20 74 65 78 74 2e 0a 20 20 60 5c 5c 4e 27 20 6d 65 61 6e 73 20 73 75 62 73 74 69 74 75 74 65 d.text....`\\N'.means.substitute
6400 20 77 68 61 74 20 6d 61 74 63 68 65 64 20 74 68 65 20 4e 74 68 20 60 5c 5c 28 2e 2e 2e 5c 5c 29 .what.matched.the.Nth.`\\(...\\)
6420 27 2e 0a 20 20 20 20 20 20 20 49 66 20 4e 74 68 20 70 61 72 65 6e 73 20 64 69 64 6e 27 74 20 6d '.........If.Nth.parens.didn't.m
6440 61 74 63 68 2c 20 73 75 62 73 74 69 74 75 74 65 20 6e 6f 74 68 69 6e 67 2e 0a 20 20 60 5c 5c 5c atch,.substitute.nothing....`\\\
6460 5c 27 20 6d 65 61 6e 73 20 69 6e 73 65 72 74 20 6f 6e 65 20 60 5c 5c 27 2e 0a 20 20 60 5c 5c 3f \'.means.insert.one.`\\'....`\\?
6480 27 20 69 73 20 74 72 65 61 74 65 64 20 6c 69 74 65 72 61 6c 6c 79 2e 22 0a 20 20 28 69 66 20 73 '.is.treated.literally."...(if.s
64a0 74 61 72 74 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 3c 20 73 74 61 72 74 20 28 70 6f 69 6e 74 tart.......(when.(<.start.(point
64c0 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 53 74 61 72 74 20 62 65 66 -min)).........(error."Start.bef
64e0 6f 72 65 20 73 74 61 72 74 20 6f 66 20 62 75 66 66 65 72 22 29 29 0a 20 20 20 20 28 73 65 74 71 ore.start.of.buffer")).....(setq
6500 20 73 74 61 72 74 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 28 69 66 20 65 6e 64 0a 20 20 20 20 20 .start.(point)))...(if.end......
6520 20 28 77 68 65 6e 20 28 3e 20 65 6e 64 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 0a 20 20 20 20 20 .(when.(>.end.(point-max))......
6540 20 20 20 28 65 72 72 6f 72 20 22 45 6e 64 20 61 66 74 65 72 20 65 6e 64 20 6f 66 20 62 75 66 66 ...(error."End.after.end.of.buff
6560 65 72 22 29 29 0a 20 20 20 20 28 73 65 74 71 20 65 6e 64 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 er")).....(setq.end.(point-max))
6580 29 0a 20 20 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 )...(save-excursion.....(goto-ch
65a0 61 72 20 73 74 61 72 74 29 0a 20 20 20 20 28 73 61 76 65 2d 72 65 73 74 72 69 63 74 69 6f 6e 0a ar.start).....(save-restriction.
65c0 20 20 20 20 20 20 28 6e 61 72 72 6f 77 2d 74 6f 2d 72 65 67 69 6f 6e 20 73 74 61 72 74 20 65 6e ......(narrow-to-region.start.en
65e0 64 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 6d 61 74 63 68 65 73 20 30 29 0a 20 20 20 20 20 d).......(let.((matches.0)......
6600 20 20 20 20 20 20 20 28 63 61 73 65 2d 66 6f 6c 64 2d 73 65 61 72 63 68 20 6e 69 6c 29 29 0a 20 .......(case-fold-search.nil))..
6620 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 .........(while.(re-search-forwa
6640 72 64 20 72 65 67 65 78 70 20 6e 69 6c 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 72 65 70 6c rd.regexp.nil.t)...........(repl
6660 61 63 65 2d 6d 61 74 63 68 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 74 29 0a 20 20 20 20 20 20 20 ace-match.replacement.t)........
6680 20 20 20 28 73 65 74 71 20 6d 61 74 63 68 65 73 20 28 31 2b 20 6d 61 74 63 68 65 73 29 29 29 0a ...(setq.matches.(1+.matches))).
66a0 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 6e 6f 74 20 28 7a 65 72 6f 70 20 6d 61 74 63 68 65 73 ........(and.(not.(zerop.matches
66c0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 74 63 68 65 73 29 29 29 29 29 0a 0a 28 63 ))..............matches)))))..(c
66e0 6f 6d 70 61 74 2d 64 65 66 75 6e 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 2d 62 6f 75 6e 64 70 20 ompat-defun.buffer-local-boundp.
6700 28 73 79 6d 62 6f 6c 20 62 75 66 66 65 72 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 (symbol.buffer).;;.<compat-tests
6720 3a 62 75 66 66 65 72 2d 6c 6f 63 61 6c 2d 62 6f 75 6e 64 70 3e 0a 20 20 22 52 65 74 75 72 6e 20 :buffer-local-boundp>..."Return.
6740 6e 6f 6e 2d 6e 69 6c 20 69 66 20 53 59 4d 42 4f 4c 20 69 73 20 62 6f 75 6e 64 20 69 6e 20 42 55 non-nil.if.SYMBOL.is.bound.in.BU
6760 46 46 45 52 2e 0a 41 6c 73 6f 20 73 65 65 20 60 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 2d 70 FFER..Also.see.`local-variable-p
6780 27 2e 22 0a 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 6e 69 6c 0a 20 20 20 20 20 20 '."...(condition-case.nil.......
67a0 28 70 72 6f 67 6e 20 28 62 75 66 66 65 72 2d 6c 6f 63 61 6c 2d 76 61 6c 75 65 20 73 79 6d 62 6f (progn.(buffer-local-value.symbo
67c0 6c 20 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 74 29 0a 20 20 20 20 28 76 l.buffer)..............t).....(v
67e0 6f 69 64 2d 76 61 72 69 61 62 6c 65 20 6e 69 6c 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 oid-variable.nil)))..(compat-def
6800 6d 61 63 72 6f 20 77 69 74 68 2d 65 78 69 73 74 69 6e 67 2d 64 69 72 65 63 74 6f 72 79 20 28 26 macro.with-existing-directory.(&
6820 72 65 73 74 20 62 6f 64 79 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 77 69 74 68 rest.body).;;.<compat-tests:with
6840 2d 65 78 69 73 74 69 6e 67 2d 64 69 72 65 63 74 6f 72 79 3e 0a 20 20 22 45 78 65 63 75 74 65 20 -existing-directory>..."Execute.
6860 42 4f 44 59 20 77 69 74 68 20 60 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 27 20 62 6f BODY.with.`default-directory'.bo
6880 75 6e 64 20 74 6f 20 61 6e 20 65 78 69 73 74 69 6e 67 20 64 69 72 65 63 74 6f 72 79 2e 0a 49 66 und.to.an.existing.directory..If
68a0 20 60 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 27 20 69 73 20 61 6c 72 65 61 64 79 20 .`default-directory'.is.already.
68c0 61 6e 20 65 78 69 73 74 69 6e 67 20 64 69 72 65 63 74 6f 72 79 2c 20 69 74 27 73 20 6e 6f 74 20 an.existing.directory,.it's.not.
68e0 63 68 61 6e 67 65 64 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 30 29 20 changed."...(declare.(indent.0).
6900 28 64 65 62 75 67 20 74 29 29 0a 20 20 60 28 6c 65 74 20 28 28 64 65 66 61 75 6c 74 2d 64 69 72 (debug.t))...`(let.((default-dir
6920 65 63 74 6f 72 79 0a 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 63 61 74 63 68 20 27 71 75 69 ectory...........(or.(catch.'qui
6940 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 64 69 72 20 28 t.................(dolist.(dir.(
6960 6c 69 73 74 20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 20 20 20 20 list.default-directory..........
6980 20 20 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 78 70 61 6e ..........................(expan
69a0 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 22 7e 2f 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d-file-name."~/")...............
69c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 65 6d 70 6f 72 61 72 79 2d 66 .....................temporary-f
69e0 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ile-directory...................
6a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 65 6e 76 20 22 54 4d 50 44 49 52 .................(getenv."TMPDIR
6a20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ")..............................
6a40 20 20 20 20 20 20 22 2f 74 6d 70 2f 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......"/tmp/")).................
6a60 20 20 28 77 68 65 6e 20 28 61 6e 64 20 64 69 72 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 ..(when.(and.dir.(file-exists-p.
6a80 64 69 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 68 72 6f 77 dir)).....................(throw
6aa0 20 27 71 75 69 74 20 64 69 72 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2f 22 .'quit.dir))))..............."/"
6ac0 29 29 29 0a 20 20 20 20 20 2c 40 62 6f 64 79 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 6d 61 )))......,@body))..(compat-defma
6ae0 63 72 6f 20 64 6c 65 74 20 28 62 69 6e 64 65 72 73 20 26 72 65 73 74 20 62 6f 64 79 29 20 3b 3b cro.dlet.(binders.&rest.body).;;
6b00 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 64 6c 65 74 3e 0a 20 20 22 4c 69 6b 65 20 60 6c 65 .<compat-tests:dlet>..."Like.`le
6b20 74 27 20 62 75 74 20 75 73 69 6e 67 20 64 79 6e 61 6d 69 63 20 73 63 6f 70 69 6e 67 2e 22 0a 20 t'.but.using.dynamic.scoping."..
6b40 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 20 28 64 65 62 75 67 20 6c 65 74 29 .(declare.(indent.1).(debug.let)
6b60 29 0a 20 20 60 28 6c 65 74 20 28 5f 29 0a 20 20 20 20 20 2c 40 28 6d 61 70 63 61 72 20 28 6c 61 )...`(let.(_)......,@(mapcar.(la
6b80 6d 62 64 61 20 28 62 69 6e 64 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 mbda.(binder)..................`
6ba0 28 64 65 66 76 61 72 20 2c 28 69 66 20 28 63 6f 6e 73 70 20 62 69 6e 64 65 72 29 20 28 63 61 72 (defvar.,(if.(consp.binder).(car
6bc0 20 62 69 6e 64 65 72 29 20 62 69 6e 64 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .binder).binder)))..............
6be0 20 20 62 69 6e 64 65 72 73 29 0a 20 20 20 20 20 28 6c 65 74 20 2c 62 69 6e 64 65 72 73 20 2c 40 ..binders)......(let.,binders.,@
6c00 62 6f 64 79 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 65 6e 73 75 72 65 2d 6c 69 body)))..(compat-defun.ensure-li
6c20 73 74 20 28 6f 62 6a 65 63 74 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 65 6e 73 st.(object).;;.<compat-tests:ens
6c40 75 72 65 2d 6c 69 73 74 3e 0a 20 20 22 52 65 74 75 72 6e 20 4f 42 4a 45 43 54 20 61 73 20 61 20 ure-list>..."Return.OBJECT.as.a.
6c60 6c 69 73 74 2e 0a 49 66 20 4f 42 4a 45 43 54 20 69 73 20 61 6c 72 65 61 64 79 20 61 20 6c 69 73 list..If.OBJECT.is.already.a.lis
6c80 74 2c 20 72 65 74 75 72 6e 20 4f 42 4a 45 43 54 20 69 74 73 65 6c 66 2e 20 20 49 66 20 69 74 27 t,.return.OBJECT.itself...If.it'
6ca0 73 0a 6e 6f 74 20 61 20 6c 69 73 74 2c 20 72 65 74 75 72 6e 20 61 20 6f 6e 65 2d 65 6c 65 6d 65 s.not.a.list,.return.a.one-eleme
6cc0 6e 74 20 6c 69 73 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 4f 42 4a 45 43 54 2e 22 0a 20 20 28 69 nt.list.containing.OBJECT."...(i
6ce0 66 20 28 6c 69 73 74 70 20 6f 62 6a 65 63 74 29 0a 20 20 20 20 20 20 6f 62 6a 65 63 74 0a 20 20 f.(listp.object).......object...
6d00 20 20 28 6c 69 73 74 20 6f 62 6a 65 63 74 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 61 6c ..(list.object)))..(compat-defal
6d20 69 61 73 20 73 75 62 72 2d 70 72 69 6d 69 74 69 76 65 2d 70 20 73 75 62 72 70 29 20 3b 3b 20 3c ias.subr-primitive-p.subrp).;;.<
6d40 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 73 75 62 72 2d 70 72 69 6d 69 74 69 76 65 2d 70 3e 0a 0a compat-tests:subr-primitive-p>..
6d60 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 64 61 74 61 2e 63 0a 0a 3b 3b 20 52 65 6e 61 6d ;;;;.Defined.in.data.c..;;.Renam
6d80 65 64 20 69 6e 20 45 6d 61 63 73 20 33 30 20 74 6f 20 60 6e 61 74 69 76 65 2d 63 6f 6d 70 2d 66 ed.in.Emacs.30.to.`native-comp-f
6da0 75 6e 63 74 69 6f 6e 2d 70 27 2e 0a 28 63 6f 6d 70 61 74 2d 64 65 66 61 6c 69 61 73 20 73 75 62 unction-p'..(compat-defalias.sub
6dc0 72 2d 6e 61 74 69 76 65 2d 65 6c 69 73 70 2d 70 20 69 67 6e 6f 72 65 20 3a 6f 62 73 6f 6c 65 74 r-native-elisp-p.ignore.:obsolet
6de0 65 20 74 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 6f 62 73 6f 6c 65 74 65 2d 73 e.t).;;.<compat-tests:obsolete-s
6e00 75 62 72 2d 6e 61 74 69 76 65 2d 65 6c 69 73 70 2d 70 3e 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 ubr-native-elisp-p>..;;;;.Define
6e20 64 20 69 6e 20 73 75 62 72 2d 78 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 73 74 d.in.subr-x.el..(compat-defun.st
6e40 72 69 6e 67 2d 63 6c 65 61 6e 2d 77 68 69 74 65 73 70 61 63 65 20 28 73 74 72 69 6e 67 29 20 3b ring-clean-whitespace.(string).;
6e60 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 73 74 72 69 6e 67 2d 63 6c 65 61 6e 2d 77 68 69 ;.<compat-tests:string-clean-whi
6e80 74 65 73 70 61 63 65 3e 0a 20 20 22 43 6c 65 61 6e 20 75 70 20 77 68 69 74 65 73 70 61 63 65 20 tespace>..."Clean.up.whitespace.
6ea0 69 6e 20 53 54 52 49 4e 47 2e 0a 41 6c 6c 20 73 65 71 75 65 6e 63 65 73 20 6f 66 20 77 68 69 74 in.STRING..All.sequences.of.whit
6ec0 65 73 70 61 63 65 73 20 69 6e 20 53 54 52 49 4e 47 20 61 72 65 20 63 6f 6c 6c 61 70 73 65 64 20 espaces.in.STRING.are.collapsed.
6ee0 69 6e 74 6f 20 61 0a 73 69 6e 67 6c 65 20 73 70 61 63 65 20 63 68 61 72 61 63 74 65 72 2c 20 61 into.a.single.space.character,.a
6f00 6e 64 20 6c 65 61 64 69 6e 67 2f 74 72 61 69 6c 69 6e 67 20 77 68 69 74 65 73 70 61 63 65 20 69 nd.leading/trailing.whitespace.i
6f20 73 0a 72 65 6d 6f 76 65 64 2e 22 0a 20 20 28 6c 65 74 20 28 28 62 6c 61 6e 6b 20 22 5b 5b 3a 62 s.removed."...(let.((blank."[[:b
6f40 6c 61 6e 6b 3a 5d 5c 72 5c 6e 5d 2b 22 29 29 0a 20 20 20 20 28 72 65 70 6c 61 63 65 2d 72 65 67 lank:]\r\n]+")).....(replace-reg
6f60 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 22 5e 5b 5b 3a 62 6c 61 6e 6b 3a 5d 5c exp-in-string......"^[[:blank:]\
6f80 72 5c 6e 5d 2b 5c 5c 7c 5b 5b 3a 62 6c 61 6e 6b 3a 5d 5c 72 5c 6e 5d 2b 24 22 0a 20 20 20 20 20 r\n]+\\|[[:blank:]\r\n]+$"......
6fa0 22 22 0a 20 20 20 20 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e ""......(replace-regexp-in-strin
6fc0 67 0a 20 20 20 20 20 20 62 6c 61 6e 6b 20 22 20 22 20 73 74 72 69 6e 67 29 29 29 29 0a 0a 28 63 g.......blank.".".string))))..(c
6fe0 6f 6d 70 61 74 2d 64 65 66 75 6e 20 73 74 72 69 6e 67 2d 66 69 6c 6c 20 28 73 74 72 69 6e 67 20 ompat-defun.string-fill.(string.
7000 6c 65 6e 67 74 68 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 73 74 72 69 6e 67 2d length).;;.<compat-tests:string-
7020 66 69 6c 6c 3e 0a 20 20 22 43 6c 65 61 6e 20 75 70 20 77 68 69 74 65 73 70 61 63 65 20 69 6e 20 fill>..."Clean.up.whitespace.in.
7040 53 54 52 49 4e 47 2e 0a 41 6c 6c 20 73 65 71 75 65 6e 63 65 73 20 6f 66 20 77 68 69 74 65 73 70 STRING..All.sequences.of.whitesp
7060 61 63 65 73 20 69 6e 20 53 54 52 49 4e 47 20 61 72 65 20 63 6f 6c 6c 61 70 73 65 64 20 69 6e 74 aces.in.STRING.are.collapsed.int
7080 6f 20 61 0a 73 69 6e 67 6c 65 20 73 70 61 63 65 20 63 68 61 72 61 63 74 65 72 2c 20 61 6e 64 20 o.a.single.space.character,.and.
70a0 6c 65 61 64 69 6e 67 2f 74 72 61 69 6c 69 6e 67 20 77 68 69 74 65 73 70 61 63 65 20 69 73 0a 72 leading/trailing.whitespace.is.r
70c0 65 6d 6f 76 65 64 2e 22 0a 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 emoved."...(with-temp-buffer....
70e0 20 28 69 6e 73 65 72 74 20 73 74 72 69 6e 67 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 .(insert.string).....(goto-char.
7100 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 66 69 6c 6c 2d 63 6f 6c (point-min)).....(let.((fill-col
7120 75 6d 6e 20 6c 65 6e 67 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 28 61 64 61 70 74 69 76 65 2d umn.length)...........(adaptive-
7140 66 69 6c 6c 2d 6d 6f 64 65 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 28 66 69 6c 6c 2d 72 65 67 69 fill-mode.nil)).......(fill-regi
7160 6f 6e 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a 20 20 20 on.(point-min).(point-max)))....
7180 20 28 62 75 66 66 65 72 2d 73 74 72 69 6e 67 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 .(buffer-string)))..(compat-defu
71a0 6e 20 73 74 72 69 6e 67 2d 70 61 64 20 28 73 74 72 69 6e 67 20 6c 65 6e 67 74 68 20 26 6f 70 74 n.string-pad.(string.length.&opt
71c0 69 6f 6e 61 6c 20 70 61 64 64 69 6e 67 20 73 74 61 72 74 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d ional.padding.start).;;.<compat-
71e0 74 65 73 74 73 3a 73 74 72 69 6e 67 2d 70 61 64 3e 0a 20 20 22 50 61 64 20 53 54 52 49 4e 47 20 tests:string-pad>..."Pad.STRING.
7200 74 6f 20 4c 45 4e 47 54 48 20 75 73 69 6e 67 20 50 41 44 44 49 4e 47 2e 0a 49 66 20 50 41 44 44 to.LENGTH.using.PADDING..If.PADD
7220 49 4e 47 20 69 73 20 6e 69 6c 2c 20 74 68 65 20 73 70 61 63 65 20 63 68 61 72 61 63 74 65 72 20 ING.is.nil,.the.space.character.
7240 69 73 20 75 73 65 64 2e 20 20 49 66 20 6e 6f 74 20 6e 69 6c 2c 20 69 74 0a 73 68 6f 75 6c 64 20 is.used...If.not.nil,.it.should.
7260 62 65 20 61 20 63 68 61 72 61 63 74 65 72 2e 0a 0a 49 66 20 53 54 52 49 4e 47 20 69 73 20 6c 6f be.a.character...If.STRING.is.lo
7280 6e 67 65 72 20 74 68 61 6e 20 74 68 65 20 61 62 73 6f 6c 75 74 65 20 76 61 6c 75 65 20 6f 66 20 nger.than.the.absolute.value.of.
72a0 4c 45 4e 47 54 48 2c 20 6e 6f 20 70 61 64 64 69 6e 67 0a 69 73 20 64 6f 6e 65 2e 0a 0a 49 66 20 LENGTH,.no.padding.is.done...If.
72c0 53 54 41 52 54 20 69 73 20 6e 69 6c 20 28 6f 72 20 6e 6f 74 20 70 72 65 73 65 6e 74 29 2c 20 74 START.is.nil.(or.not.present),.t
72e0 68 65 20 70 61 64 64 69 6e 67 20 69 73 20 64 6f 6e 65 20 74 6f 20 74 68 65 20 65 6e 64 0a 6f 66 he.padding.is.done.to.the.end.of
7300 20 74 68 65 20 73 74 72 69 6e 67 2c 20 61 6e 64 20 69 66 20 6e 6f 6e 2d 6e 69 6c 2c 20 70 61 64 .the.string,.and.if.non-nil,.pad
7320 64 69 6e 67 20 69 73 20 64 6f 6e 65 20 74 6f 20 74 68 65 20 73 74 61 72 74 20 6f 66 0a 74 68 65 ding.is.done.to.the.start.of.the
7340 20 73 74 72 69 6e 67 2e 22 0a 20 20 28 75 6e 6c 65 73 73 20 28 6e 61 74 6e 75 6d 70 20 6c 65 6e .string."...(unless.(natnump.len
7360 67 74 68 29 0a 20 20 20 20 28 73 69 67 6e 61 6c 20 27 77 72 6f 6e 67 2d 74 79 70 65 2d 61 72 67 gth).....(signal.'wrong-type-arg
7380 75 6d 65 6e 74 20 28 6c 69 73 74 20 27 6e 61 74 6e 75 6d 70 20 6c 65 6e 67 74 68 29 29 29 0a 20 ument.(list.'natnump.length)))..
73a0 20 28 6c 65 74 20 28 28 70 61 64 2d 6c 65 6e 67 74 68 20 28 2d 20 6c 65 6e 67 74 68 20 28 6c 65 .(let.((pad-length.(-.length.(le
73c0 6e 67 74 68 20 73 74 72 69 6e 67 29 29 29 29 0a 20 20 20 20 28 69 66 20 28 3c 20 70 61 64 2d 6c ngth.string)))).....(if.(<.pad-l
73e0 65 6e 67 74 68 20 30 29 0a 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 28 63 ength.0).........string.......(c
7400 6f 6e 63 61 74 20 28 61 6e 64 20 73 74 61 72 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 oncat.(and.start................
7420 20 20 20 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 70 61 64 2d 6c 65 6e 67 74 68 20 28 6f 72 20 ....(make-string.pad-length.(or.
7440 70 61 64 64 69 6e 67 20 3f 5c 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 padding.?\s)))...............str
7460 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 6e 6f 74 20 73 74 61 72 ing...............(and.(not.star
7480 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 73 74 72 69 t)....................(make-stri
74a0 6e 67 20 70 61 64 2d 6c 65 6e 67 74 68 20 28 6f 72 20 70 61 64 64 69 6e 67 20 3f 5c 73 29 29 29 ng.pad-length.(or.padding.?\s)))
74c0 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 73 74 72 69 6e 67 2d 63 68 6f 70 2d ))))..(compat-defun.string-chop-
74e0 6e 65 77 6c 69 6e 65 20 28 73 74 72 69 6e 67 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 newline.(string).;;.<compat-test
7500 73 3a 73 74 72 69 6e 67 2d 63 68 6f 70 2d 6e 65 77 6c 69 6e 65 3e 0a 20 20 22 52 65 6d 6f 76 65 s:string-chop-newline>..."Remove
7520 20 74 68 65 20 66 69 6e 61 6c 20 6e 65 77 6c 69 6e 65 20 28 69 66 20 61 6e 79 29 20 66 72 6f 6d .the.final.newline.(if.any).from
7540 20 53 54 52 49 4e 47 2e 22 0a 20 20 28 69 66 20 28 61 6e 64 20 28 3e 3d 20 28 6c 65 6e 67 74 68 .STRING."...(if.(and.(>=.(length
7560 20 73 74 72 69 6e 67 29 20 31 29 20 28 3d 20 28 61 72 65 66 20 73 74 72 69 6e 67 20 28 31 2d 20 .string).1).(=.(aref.string.(1-.
7580 28 6c 65 6e 67 74 68 20 73 74 72 69 6e 67 29 29 29 20 3f 5c 6e 29 29 0a 20 20 20 20 20 20 28 73 (length.string))).?\n)).......(s
75a0 75 62 73 74 72 69 6e 67 20 73 74 72 69 6e 67 20 30 20 2d 31 29 0a 20 20 20 20 73 74 72 69 6e 67 ubstring.string.0.-1).....string
75c0 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 6d 61 63 72 6f 20 6e 61 6d 65 64 2d 6c 65 74 20 28 ))..(compat-defmacro.named-let.(
75e0 6e 61 6d 65 20 62 69 6e 64 69 6e 67 73 20 26 72 65 73 74 20 62 6f 64 79 29 20 3b 3b 20 3c 63 6f name.bindings.&rest.body).;;.<co
7600 6d 70 61 74 2d 74 65 73 74 73 3a 6e 61 6d 65 64 2d 6c 65 74 3e 0a 20 20 22 4c 6f 6f 70 69 6e 67 mpat-tests:named-let>..."Looping
7620 20 63 6f 6e 73 74 72 75 63 74 20 74 61 6b 65 6e 20 66 72 6f 6d 20 53 63 68 65 6d 65 2e 0a 4c 69 .construct.taken.from.Scheme..Li
7640 6b 65 20 60 6c 65 74 27 2c 20 62 69 6e 64 20 76 61 72 69 61 62 6c 65 73 20 69 6e 20 42 49 4e 44 ke.`let',.bind.variables.in.BIND
7660 49 4e 47 53 20 61 6e 64 20 74 68 65 6e 20 65 76 61 6c 75 61 74 65 20 42 4f 44 59 2c 0a 62 75 74 INGS.and.then.evaluate.BODY,.but
7680 20 77 69 74 68 20 74 68 65 20 74 77 69 73 74 20 74 68 61 74 20 42 4f 44 59 20 63 61 6e 20 65 76 .with.the.twist.that.BODY.can.ev
76a0 61 6c 75 61 74 65 20 69 74 73 65 6c 66 20 72 65 63 75 72 73 69 76 65 6c 79 20 62 79 0a 63 61 6c aluate.itself.recursively.by.cal
76c0 6c 69 6e 67 20 4e 41 4d 45 2c 20 77 68 65 72 65 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 70 ling.NAME,.where.the.arguments.p
76e0 61 73 73 65 64 20 74 6f 20 4e 41 4d 45 20 61 72 65 20 75 73 65 64 0a 61 73 20 74 68 65 20 6e 65 assed.to.NAME.are.used.as.the.ne
7700 77 20 76 61 6c 75 65 73 20 6f 66 20 74 68 65 20 62 6f 75 6e 64 20 76 61 72 69 61 62 6c 65 73 20 w.values.of.the.bound.variables.
7720 69 6e 20 74 68 65 20 72 65 63 75 72 73 69 76 65 20 69 6e 76 6f 63 61 74 69 6f 6e 2e 22 0a 20 20 in.the.recursive.invocation."...
7740 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 32 29 20 28 64 65 62 75 67 20 28 73 79 6d 62 (declare.(indent.2).(debug.(symb
7760 6f 6c 70 20 28 26 72 65 73 74 20 28 73 79 6d 62 6f 6c 70 20 66 6f 72 6d 29 29 20 62 6f 64 79 29 olp.(&rest.(symbolp.form)).body)
7780 29 29 0a 20 20 28 6c 65 74 20 28 28 66 61 72 67 73 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 ))...(let.((fargs.(mapcar.(lambd
77a0 61 20 28 62 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 28 a.(b)..........................(
77c0 6c 65 74 20 28 28 76 61 72 20 28 69 66 20 28 63 6f 6e 73 70 20 62 29 20 28 63 61 72 20 62 29 20 let.((var.(if.(consp.b).(car.b).
77e0 62 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 b)))............................
7800 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 76 61 72 29 29 29 (make-symbol.(symbol-name.var)))
7820 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 62 69 6e 64 69 6e 67 )........................binding
7840 73 29 29 0a 20 20 20 20 20 20 20 20 28 61 61 72 67 73 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 s)).........(aargs.(mapcar.(lamb
7860 64 61 20 28 62 29 20 28 69 66 20 28 63 6f 6e 73 70 20 62 29 20 28 63 61 64 72 20 62 29 29 29 20 da.(b).(if.(consp.b).(cadr.b))).
7880 62 69 6e 64 69 6e 67 73 29 29 0a 20 20 20 20 20 20 20 20 72 61 72 67 73 29 0a 20 20 20 20 28 64 bindings)).........rargs).....(d
78a0 6f 74 69 6d 65 73 20 28 69 20 28 6c 65 6e 67 74 68 20 62 69 6e 64 69 6e 67 73 29 29 0a 20 20 20 otimes.(i.(length.bindings))....
78c0 20 20 20 28 6c 65 74 20 28 28 62 20 28 6e 74 68 20 69 20 62 69 6e 64 69 6e 67 73 29 29 29 0a 20 ...(let.((b.(nth.i.bindings)))..
78e0 20 20 20 20 20 20 20 28 70 75 73 68 20 28 6c 69 73 74 20 28 69 66 20 28 63 6f 6e 73 70 20 62 29 .......(push.(list.(if.(consp.b)
7900 20 28 63 61 72 20 62 29 20 62 29 20 28 6e 74 68 20 69 20 66 61 72 67 73 29 29 0a 20 20 20 20 20 .(car.b).b).(nth.i.fargs))......
7920 20 20 20 20 20 20 20 20 20 72 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 66 20 28 69 .........rargs).........(setf.(i
7940 66 20 28 63 6f 6e 73 70 20 62 29 20 28 63 61 72 20 62 29 20 62 29 0a 20 20 20 20 20 20 20 20 20 f.(consp.b).(car.b).b)..........
7960 20 20 20 20 20 28 6e 74 68 20 69 20 66 61 72 67 73 29 29 29 29 0a 20 20 20 20 28 6c 65 74 72 65 .....(nth.i.fargs)))).....(letre
7980 63 0a 20 20 20 20 20 20 20 20 28 28 71 75 69 74 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 71 c.........((quit.(make-symbol."q
79a0 75 69 74 22 29 29 20 28 73 65 6c 66 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 73 65 6c 66 22 uit")).(self.(make-symbol."self"
79c0 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 6f 74 61 6c 2d 74 63 6f 20 74 29 0a 20 20 20 20 20 20 ))..........(total-tco.t).......
79e0 20 20 20 28 6d 61 63 72 6f 20 28 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 61 72 67 73 29 0a 20 ...(macro.(lambda.(&rest.args)..
7a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 74 6f 74 61 6c 2d 74 63 6f .................(setq.total-tco
7a20 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 66 75 6e 63 61 6c .nil)...................`(funcal
7a40 6c 20 2c 73 65 6c 66 20 2e 20 2c 61 72 67 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 42 l.,self...,args)))..........;;.B
7a60 61 73 65 64 20 6f 6e 20 60 63 6c 2d 2d 73 65 6c 66 2d 74 63 6f 27 3a 0a 20 20 20 20 20 20 20 20 ased.on.`cl--self-tco':.........
7a80 20 28 74 63 6f 2d 70 72 6f 67 6e 20 28 6c 61 6d 62 64 61 20 28 65 78 70 72 73 29 0a 20 20 20 20 .(tco-progn.(lambda.(exprs).....
7aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 65 6e 64 0a 20 20 20 20 20 20 ..................(append.......
7ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 74 6c 61 73 74 20 65 78 70 72 73 29 .................(butlast.exprs)
7ae0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 66 ........................(list.(f
7b00 75 6e 63 61 6c 6c 20 74 63 6f 20 28 63 61 72 20 28 6c 61 73 74 20 65 78 70 72 73 29 29 29 29 29 uncall.tco.(car.(last.exprs)))))
7b20 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 63 6f 20 28 6c 61 6d 62 64 61 20 28 65 78 70 72 29 0a ))..........(tco.(lambda.(expr).
7b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 ................(cond...........
7b60 20 20 20 20 20 20 20 28 28 65 71 20 28 63 61 72 2d 73 61 66 65 20 65 78 70 72 29 20 27 69 66 29 .......((eq.(car-safe.expr).'if)
7b80 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 65 6e 64 20 28 6c 69 73 74 ...................(append.(list
7ba0 20 27 69 66 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 .'if............................
7bc0 20 20 20 20 20 28 63 61 64 72 20 65 78 70 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....(cadr.expr)................
7be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 74 63 6f 20 28 6e .................(funcall.tco.(n
7c00 74 68 20 32 20 65 78 70 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 th.2.expr)))....................
7c20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 74 63 6f 2d 70 72 6f 67 6e 20 28 6e 74 68 63 64 .......(funcall.tco-progn.(nthcd
7c40 72 20 33 20 65 78 70 72 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 r.3.expr))))..................((
7c60 65 71 20 28 63 61 72 2d 73 61 66 65 20 65 78 70 72 29 20 27 63 6f 6e 64 29 0a 20 20 20 20 20 20 eq.(car-safe.expr).'cond).......
7c80 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 6f 6e 64 73 20 28 63 64 72 20 65 78 ............(let.((conds.(cdr.ex
7ca0 70 72 29 29 20 62 6f 64 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 pr)).body).....................(
7cc0 77 68 69 6c 65 20 63 6f 6e 64 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 while.conds.....................
7ce0 20 20 28 6c 65 74 20 28 28 62 72 61 6e 63 68 20 28 70 6f 70 20 63 6f 6e 64 73 29 29 29 0a 20 20 ..(let.((branch.(pop.conds)))...
7d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 63 6f 6e ......................(push.(con
7d20 64 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 20 d...............................
7d40 20 28 28 63 64 72 20 62 72 61 6e 63 68 29 20 3b 68 61 73 20 74 61 69 6c 0a 20 20 20 20 20 20 20 .((cdr.branch).;has.tail........
7d60 20 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 75 6e 63 61 6c .........................(funcal
7d80 6c 20 74 63 6f 2d 70 72 6f 67 6e 20 62 72 61 6e 63 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 l.tco-progn.branch))............
7da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6e 75 6c 6c 20 63 6f 6e 64 73 ....................((null.conds
7dc0 29 20 3b 6c 61 73 74 20 65 6c 65 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).;last.element.................
7de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 74 20 28 66 75 6e 63 61 6c 6c ................(list.t.(funcall
7e00 20 74 63 6f 20 28 63 61 72 20 62 72 61 6e 63 68 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 .tco.(car.branch))))............
7e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 70 72 6f 67 6e 0a 20 20 20 20 ....................((progn.....
7e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 ..............................br
7e60 61 6e 63 68 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 anch))).........................
7e80 20 20 20 20 20 20 62 6f 64 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......body)))...................
7ea0 20 20 28 63 6f 6e 73 20 27 63 6f 6e 64 20 28 6e 72 65 76 65 72 73 65 20 62 6f 64 79 29 29 29 29 ..(cons.'cond.(nreverse.body))))
7ec0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 28 63 61 72 2d 73 61 66 65 ..................((eq.(car-safe
7ee0 20 65 78 70 72 29 20 27 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 .expr).'or)...................(i
7f00 66 20 28 63 64 64 72 20 65 78 70 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 f.(cddr.expr)...................
7f20 20 20 20 20 28 6c 65 74 20 28 28 76 61 72 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 76 61 72 ....(let.((var.(make-symbol."var
7f40 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 6c "))).........................`(l
7f60 65 74 20 28 28 2c 76 61 72 20 2c 28 63 61 64 72 20 65 78 70 72 29 29 29 0a 20 20 20 20 20 20 20 et.((,var.,(cadr.expr)))........
7f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 2c 76 61 72 20 2c 28 66 ....................(if.,var.,(f
7fa0 75 6e 63 61 6c 6c 20 74 63 6f 20 76 61 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 uncall.tco.var).................
7fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 66 75 6e 63 61 6c 6c 20 74 63 6f 20 28 63 6f 6e 73 .............,(funcall.tco.(cons
7fe0 20 27 6f 72 20 28 63 64 64 72 20 65 78 70 72 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 .'or.(cddr.expr))))))...........
8000 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 74 63 6f 20 28 63 61 64 72 20 65 78 70 ..........(funcall.tco.(cadr.exp
8020 72 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 28 63 61 72 r))))..................((eq.(car
8040 2d 73 61 66 65 20 65 78 70 72 29 20 27 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 29 0a 20 20 20 -safe.expr).'condition-case)....
8060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 65 6e 64 20 28 6c 69 73 74 20 27 63 6f ...............(append.(list.'co
8080 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 28 63 61 64 72 20 65 78 70 72 29 20 28 6e 74 68 20 32 20 ndition-case.(cadr.expr).(nth.2.
80a0 65 78 70 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 expr))..........................
80c0 20 28 6d 61 70 63 61 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(mapcar........................
80e0 20 20 20 20 28 6c 61 6d 62 64 61 20 28 68 61 6e 64 6c 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 ....(lambda.(handler)...........
8100 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 28 63 61 72 20 68 61 ...................(cons.(car.ha
8120 6e 64 6c 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 20 20 20 ndler)..........................
8140 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 74 63 6f 2d 70 72 6f 67 6e 20 28 63 64 ..........(funcall.tco-progn.(cd
8160 72 20 68 61 6e 64 6c 65 72 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r.handler))))...................
8180 20 20 20 20 20 20 20 20 20 28 6e 74 68 63 64 72 20 33 20 65 78 70 72 29 29 29 29 0a 20 20 20 20 .........(nthcdr.3.expr)))).....
81a0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6d 65 6d 71 20 28 63 61 72 2d 73 61 66 65 20 65 78 .............((memq.(car-safe.ex
81c0 70 72 29 20 27 28 61 6e 64 20 70 72 6f 67 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pr).'(and.progn))...............
81e0 20 20 20 20 28 63 6f 6e 73 20 28 63 61 72 20 65 78 70 72 29 20 28 66 75 6e 63 61 6c 6c 20 74 63 ....(cons.(car.expr).(funcall.tc
8200 6f 2d 70 72 6f 67 6e 20 28 63 64 72 20 65 78 70 72 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 o-progn.(cdr.expr))))...........
8220 20 20 20 20 20 20 20 28 28 6d 65 6d 71 20 28 63 61 72 2d 73 61 66 65 20 65 78 70 72 29 20 27 28 .......((memq.(car-safe.expr).'(
8240 6c 65 74 20 6c 65 74 2a 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 70 let.let*))...................(ap
8260 70 65 6e 64 20 28 6c 69 73 74 20 28 63 61 72 20 65 78 70 72 29 20 28 63 61 64 72 20 65 78 70 72 pend.(list.(car.expr).(cadr.expr
8280 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 28 66 75 ))...........................(fu
82a0 6e 63 61 6c 6c 20 74 63 6f 2d 70 72 6f 67 6e 20 28 63 64 64 72 20 65 78 70 72 29 29 29 29 0a 20 ncall.tco-progn.(cddr.expr))))..
82c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 28 63 61 72 2d 73 61 66 65 20 65 ................((eq.(car-safe.e
82e0 78 70 72 29 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 xpr).name)...................(le
8300 74 20 28 73 65 74 73 20 28 61 72 67 73 20 28 63 64 72 20 65 78 70 72 29 29 29 0a 20 20 20 20 20 t.(sets.(args.(cdr.expr)))......
8320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 66 61 72 67 20 66 61 72 ...............(dolist.(farg.far
8340 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 gs).......................(push.
8360 28 6c 69 73 74 20 66 61 72 67 20 28 70 6f 70 20 61 72 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 (list.farg.(pop.args))..........
8380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 74 73 29 29 0a 20 20 20 20 20 20 ...................sets)).......
83a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 27 73 65 74 71 20 28 61 70 70 6c 79 ..............(cons.'setq.(apply
83c0 20 23 27 6e 63 6f 6e 63 20 28 6e 72 65 76 65 72 73 65 20 73 65 74 73 29 29 29 29 29 0a 20 20 20 .#'nconc.(nreverse.sets)))))....
83e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 60 28 74 68 72 6f 77 20 27 2c 71 75 69 74 20 2c 65 ..............(`(throw.',quit.,e
8400 78 70 72 29 29 29 29 29 29 0a 20 20 20 20 20 20 28 77 68 65 6e 2d 6c 65 74 20 28 28 74 63 6f 2d xpr)))))).......(when-let.((tco-
8420 62 6f 64 79 20 28 66 75 6e 63 61 6c 6c 20 74 63 6f 20 28 6d 61 63 72 6f 65 78 70 61 6e 64 2d 61 body.(funcall.tco.(macroexpand-a
8440 6c 6c 20 28 6d 61 63 72 6f 65 78 70 2d 70 72 6f 67 6e 20 62 6f 64 79 29 29 29 29 29 0a 20 20 20 ll.(macroexp-progn.body)))))....
8460 20 20 20 20 20 28 73 65 74 71 20 62 6f 64 79 20 60 28 28 63 61 74 63 68 20 27 2c 71 75 69 74 0a .....(setq.body.`((catch.',quit.
8480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 74 20 .......................(while.t.
84a0 28 6c 65 74 20 2c 72 61 72 67 73 20 2c 40 28 6d 61 63 72 6f 65 78 70 2d 75 6e 70 72 6f 67 6e 20 (let.,rargs.,@(macroexp-unprogn.
84c0 74 63 6f 2d 62 6f 64 79 29 29 29 29 29 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 65 78 70 tco-body))))))).......(let.((exp
84e0 61 6e 64 20 28 6d 61 63 72 6f 65 78 70 61 6e 64 2d 61 6c 6c 20 28 6d 61 63 72 6f 65 78 70 2d 70 and.(macroexpand-all.(macroexp-p
8500 72 6f 67 6e 20 62 6f 64 79 29 20 28 6c 69 73 74 20 28 63 6f 6e 73 20 6e 61 6d 65 20 6d 61 63 72 rogn.body).(list.(cons.name.macr
8520 6f 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 74 6f 74 61 6c 2d 74 63 6f 0a 20 20 20 o))))).........(if.total-tco....
8540 20 20 20 20 20 20 20 20 20 60 28 6c 65 74 20 2c 62 69 6e 64 69 6e 67 73 20 2c 65 78 70 61 6e 64 .........`(let.,bindings.,expand
8560 29 0a 20 20 20 20 20 20 20 20 20 20 60 28 66 75 6e 63 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 20 )...........`(funcall...........
8580 20 20 28 6c 65 74 72 65 63 20 28 28 2c 73 65 6c 66 20 28 6c 61 6d 62 64 61 20 2c 66 61 72 67 73 ..(letrec.((,self.(lambda.,fargs
85a0 20 2c 65 78 70 61 6e 64 29 29 29 20 2c 73 65 6c 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 2c .,expand))).,self).............,
85c0 40 61 61 72 67 73 29 29 29 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 66 69 @aargs))))))..;;;;.Defined.in.fi
85e0 6c 65 73 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 66 69 6c 65 2d 6e 61 6d 65 2d les.el..(compat-defun.file-name-
8600 77 69 74 68 2d 65 78 74 65 6e 73 69 6f 6e 20 28 66 69 6c 65 6e 61 6d 65 20 65 78 74 65 6e 73 69 with-extension.(filename.extensi
8620 6f 6e 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 66 69 6c 65 2d 6e 61 6d 65 2d 77 on).;;.<compat-tests:file-name-w
8640 69 74 68 2d 65 78 74 65 6e 73 69 6f 6e 3e 0a 20 20 22 53 65 74 20 74 68 65 20 45 58 54 45 4e 53 ith-extension>..."Set.the.EXTENS
8660 49 4f 4e 20 6f 66 20 61 20 46 49 4c 45 4e 41 4d 45 2e 0a 54 68 65 20 65 78 74 65 6e 73 69 6f 6e ION.of.a.FILENAME..The.extension
8680 20 28 69 6e 20 61 20 66 69 6c 65 20 6e 61 6d 65 29 20 69 73 20 74 68 65 20 70 61 72 74 20 74 68 .(in.a.file.name).is.the.part.th
86a0 61 74 20 62 65 67 69 6e 73 20 77 69 74 68 20 74 68 65 20 6c 61 73 74 20 5c 22 2e 5c 22 2e 0a 0a at.begins.with.the.last.\".\"...
86c0 54 72 69 6d 73 20 61 20 6c 65 61 64 69 6e 67 20 64 6f 74 20 66 72 6f 6d 20 74 68 65 20 45 58 54 Trims.a.leading.dot.from.the.EXT
86e0 45 4e 53 49 4f 4e 20 73 6f 20 74 68 61 74 20 65 69 74 68 65 72 20 5c 22 66 6f 6f 5c 22 20 6f 72 ENSION.so.that.either.\"foo\".or
8700 0a 5c 22 2e 66 6f 6f 5c 22 20 63 61 6e 20 62 65 20 67 69 76 65 6e 2e 0a 0a 45 72 72 6f 72 73 20 .\".foo\".can.be.given...Errors.
8720 69 66 20 74 68 65 20 46 49 4c 45 4e 41 4d 45 20 6f 72 20 45 58 54 45 4e 53 49 4f 4e 20 61 72 65 if.the.FILENAME.or.EXTENSION.are
8740 20 65 6d 70 74 79 2c 20 6f 72 20 69 66 20 74 68 65 20 67 69 76 65 6e 0a 46 49 4c 45 4e 41 4d 45 .empty,.or.if.the.given.FILENAME
8760 20 68 61 73 20 74 68 65 20 66 6f 72 6d 61 74 20 6f 66 20 61 20 64 69 72 65 63 74 6f 72 79 2e 0a .has.the.format.of.a.directory..
8780 0a 53 65 65 20 61 6c 73 6f 20 60 66 69 6c 65 2d 6e 61 6d 65 2d 73 61 6e 73 2d 65 78 74 65 6e 73 .See.also.`file-name-sans-extens
87a0 69 6f 6e 27 2e 22 0a 20 20 28 6c 65 74 20 28 28 65 78 74 6e 20 28 73 74 72 69 6e 67 2d 72 65 6d ion'."...(let.((extn.(string-rem
87c0 6f 76 65 2d 70 72 65 66 69 78 20 22 2e 22 20 65 78 74 65 6e 73 69 6f 6e 29 29 29 0a 20 20 20 20 ove-prefix.".".extension))).....
87e0 28 63 6f 6e 64 0a 20 20 20 20 20 28 28 73 74 72 69 6e 67 3d 20 66 69 6c 65 6e 61 6d 65 20 22 22 (cond......((string=.filename.""
8800 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 45 6d 70 74 79 20 66 69 6c 65 6e 61 6d 65 22 29 ).......(error."Empty.filename")
8820 29 0a 20 20 20 20 20 28 28 73 74 72 69 6e 67 3d 20 65 78 74 6e 20 22 22 29 0a 20 20 20 20 20 20 )......((string=.extn."").......
8840 28 65 72 72 6f 72 20 22 4d 61 6c 66 6f 72 6d 65 64 20 65 78 74 65 6e 73 69 6f 6e 3a 20 25 73 22 (error."Malformed.extension:.%s"
8860 20 65 78 74 65 6e 73 69 6f 6e 29 29 0a 20 20 20 20 20 28 28 64 69 72 65 63 74 6f 72 79 2d 6e 61 .extension))......((directory-na
8880 6d 65 2d 70 20 66 69 6c 65 6e 61 6d 65 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 46 69 6c me-p.filename).......(error."Fil
88a0 65 6e 61 6d 65 20 69 73 20 61 20 64 69 72 65 63 74 6f 72 79 3a 20 25 73 22 20 66 69 6c 65 6e 61 ename.is.a.directory:.%s".filena
88c0 6d 65 29 29 0a 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 28 66 69 6c 65 me))......(t.......(concat.(file
88e0 2d 6e 61 6d 65 2d 73 61 6e 73 2d 65 78 74 65 6e 73 69 6f 6e 20 66 69 6c 65 6e 61 6d 65 29 20 22 -name-sans-extension.filename)."
8900 2e 22 20 65 78 74 6e 29 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 64 69 72 65 .".extn)))))..(compat-defun.dire
8920 63 74 6f 72 79 2d 65 6d 70 74 79 2d 70 20 28 64 69 72 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 ctory-empty-p.(dir).;;.<compat-t
8940 65 73 74 73 3a 64 69 72 65 63 74 6f 72 79 2d 65 6d 70 74 79 2d 70 3e 0a 20 20 22 52 65 74 75 72 ests:directory-empty-p>..."Retur
8960 6e 20 74 20 69 66 20 44 49 52 20 6e 61 6d 65 73 20 61 6e 20 65 78 69 73 74 69 6e 67 20 64 69 72 n.t.if.DIR.names.an.existing.dir
8980 65 63 74 6f 72 79 20 63 6f 6e 74 61 69 6e 69 6e 67 20 6e 6f 20 6f 74 68 65 72 20 66 69 6c 65 73 ectory.containing.no.other.files
89a0 2e 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 44 49 52 20 64 6f 65 73 20 6e 6f 74 20 6e 61 6d ..Return.nil.if.DIR.does.not.nam
89c0 65 20 61 20 64 69 72 65 63 74 6f 72 79 2c 20 6f 72 20 69 66 20 74 68 65 72 65 20 77 61 73 0a 74 e.a.directory,.or.if.there.was.t
89e0 72 6f 75 62 6c 65 20 64 65 74 65 72 6d 69 6e 69 6e 67 20 77 68 65 74 68 65 72 20 44 49 52 20 69 rouble.determining.whether.DIR.i
8a00 73 20 61 20 64 69 72 65 63 74 6f 72 79 20 6f 72 20 65 6d 70 74 79 2e 0a 0a 53 79 6d 62 6f 6c 69 s.a.directory.or.empty...Symboli
8a20 63 20 6c 69 6e 6b 73 20 74 6f 20 64 69 72 65 63 74 6f 72 69 65 73 20 63 6f 75 6e 74 20 61 73 20 c.links.to.directories.count.as.
8a40 64 69 72 65 63 74 6f 72 69 65 73 2e 0a 53 65 65 20 60 66 69 6c 65 2d 73 79 6d 6c 69 6e 6b 2d 70 directories..See.`file-symlink-p
8a60 27 20 74 6f 20 64 69 73 74 69 6e 67 75 69 73 68 20 73 79 6d 6c 69 6e 6b 73 2e 22 0a 20 20 28 61 '.to.distinguish.symlinks."...(a
8a80 6e 64 20 28 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 2d 70 20 64 69 72 29 0a 20 20 20 20 20 20 nd.(file-directory-p.dir).......
8aa0 20 28 6e 75 6c 6c 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 20 64 69 72 20 6e 69 6c 20 .(null.(directory-files.dir.nil.
8ac0 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 2d 6e 6f 2d 64 6f 74 2d 66 69 6c 65 73 2d 72 65 67 directory-files-no-dot-files-reg
8ae0 65 78 70 20 74 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 66 69 6c 65 2d 6d 6f exp.t))))..(compat-defun.file-mo
8b00 64 65 73 2d 6e 75 6d 62 65 72 2d 74 6f 2d 73 79 6d 62 6f 6c 69 63 20 28 6d 6f 64 65 20 26 6f 70 des-number-to-symbolic.(mode.&op
8b20 74 69 6f 6e 61 6c 20 66 69 6c 65 74 79 70 65 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 tional.filetype).;;.<compat-test
8b40 73 3a 66 69 6c 65 2d 6d 6f 64 65 73 2d 6e 75 6d 62 65 72 2d 74 6f 2d 73 79 6d 62 6f 6c 69 63 3e s:file-modes-number-to-symbolic>
8b60 0a 20 20 22 52 65 74 75 72 6e 20 61 20 73 74 72 69 6e 67 20 64 65 73 63 72 69 62 69 6e 67 20 61 ..."Return.a.string.describing.a
8b80 20 66 69 6c 65 27 73 20 4d 4f 44 45 2e 0a 46 6f 72 20 69 6e 73 74 61 6e 63 65 2c 20 69 66 20 4d .file's.MODE..For.instance,.if.M
8ba0 4f 44 45 20 69 73 20 23 6f 37 30 30 2c 20 74 68 65 6e 20 69 74 20 70 72 6f 64 75 63 65 73 20 60 ODE.is.#o700,.then.it.produces.`
8bc0 2d 72 77 78 2d 2d 2d 2d 2d 2d 27 2e 0a 46 49 4c 45 54 59 50 45 20 69 66 20 70 72 6f 76 69 64 65 -rwx------'..FILETYPE.if.provide
8be0 64 20 73 68 6f 75 6c 64 20 62 65 20 61 20 63 68 61 72 61 63 74 65 72 20 64 65 6e 6f 74 69 6e 67 d.should.be.a.character.denoting
8c00 20 74 68 65 20 74 79 70 65 20 6f 66 20 66 69 6c 65 2c 0a 73 75 63 68 20 61 73 20 60 3f 64 27 20 .the.type.of.file,.such.as.`?d'.
8c20 66 6f 72 20 61 20 64 69 72 65 63 74 6f 72 79 2c 20 6f 72 20 60 3f 6c 27 20 66 6f 72 20 61 20 73 for.a.directory,.or.`?l'.for.a.s
8c40 79 6d 62 6f 6c 69 63 20 6c 69 6e 6b 20 61 6e 64 20 77 69 6c 6c 20 6f 76 65 72 72 69 64 65 0a 74 ymbolic.link.and.will.override.t
8c60 68 65 20 6c 65 61 64 69 6e 67 20 60 2d 27 20 63 68 61 72 2e 22 0a 20 20 28 73 74 72 69 6e 67 0a he.leading.`-'.char."...(string.
8c80 20 20 20 28 6f 72 20 66 69 6c 65 74 79 70 65 0a 20 20 20 20 20 20 20 28 70 63 61 73 65 20 28 61 ...(or.filetype........(pcase.(a
8ca0 73 68 20 6d 6f 64 65 20 2d 31 32 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 50 4f 53 49 58 20 73 sh.mode.-12)..........;;.POSIX.s
8cc0 70 65 63 69 66 69 65 73 20 74 68 61 74 20 74 68 65 20 66 69 6c 65 20 74 79 70 65 20 69 73 20 69 pecifies.that.the.file.type.is.i
8ce0 6e 63 6c 75 64 65 64 20 69 6e 20 73 74 5f 6d 6f 64 65 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 61 ncluded.in.st_mode..........;;.a
8d00 6e 64 20 70 72 6f 76 69 64 65 73 20 6e 61 6d 65 73 20 66 6f 72 20 74 68 65 20 66 69 6c 65 20 74 nd.provides.names.for.the.file.t
8d20 79 70 65 73 20 62 75 74 20 76 61 6c 75 65 73 20 6f 6e 6c 79 20 66 6f 72 0a 20 20 20 20 20 20 20 ypes.but.values.only.for........
8d40 20 20 3b 3b 20 74 68 65 20 70 65 72 6d 69 73 73 69 6f 6e 73 20 28 65 2e 67 2e 2c 20 53 5f 49 57 ..;;.the.permissions.(e.g.,.S_IW
8d60 4f 54 48 3d 32 29 2e 0a 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 28 23 6f 30 31 37 20 3f 3f 29 20 OTH=2)............;;.(#o017.??).
8d80 3b 3b 20 23 64 65 66 69 6e 65 20 53 5f 49 46 4d 54 20 20 30 30 31 37 30 30 30 30 0a 20 20 20 20 ;;.#define.S_IFMT..00170000.....
8da0 20 20 20 20 20 28 23 6f 30 31 34 20 3f 73 29 20 20 20 20 3b 3b 20 23 64 65 66 69 6e 65 20 53 5f .....(#o014.?s)....;;.#define.S_
8dc0 49 46 53 4f 43 4b 20 30 31 34 30 30 30 30 0a 20 20 20 20 20 20 20 20 20 28 23 6f 30 31 32 20 3f IFSOCK.0140000..........(#o012.?
8de0 6c 29 20 20 20 20 3b 3b 20 23 64 65 66 69 6e 65 20 53 5f 49 46 4c 4e 4b 20 20 30 31 32 30 30 30 l)....;;.#define.S_IFLNK..012000
8e00 30 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 28 38 20 20 3f 3f 29 20 20 20 20 3b 3b 20 23 64 65 66 0..........;;.(8..??)....;;.#def
8e20 69 6e 65 20 53 5f 49 46 52 45 47 20 20 30 31 30 30 30 30 30 0a 20 20 20 20 20 20 20 20 20 28 23 ine.S_IFREG..0100000..........(#
8e40 6f 30 30 36 20 20 3f 62 29 20 20 20 3b 3b 20 23 64 65 66 69 6e 65 20 53 5f 49 46 42 4c 4b 20 20 o006..?b)...;;.#define.S_IFBLK..
8e60 30 30 36 30 30 30 30 0a 20 20 20 20 20 20 20 20 20 28 23 6f 30 30 34 20 20 3f 64 29 20 20 20 3b 0060000..........(#o004..?d)...;
8e80 3b 20 23 64 65 66 69 6e 65 20 53 5f 49 46 44 49 52 20 20 30 30 34 30 30 30 30 0a 20 20 20 20 20 ;.#define.S_IFDIR..0040000......
8ea0 20 20 20 20 28 23 6f 30 30 32 20 20 3f 63 29 20 20 20 3b 3b 20 23 64 65 66 69 6e 65 20 53 5f 49 ....(#o002..?c)...;;.#define.S_I
8ec0 46 43 48 52 20 20 30 30 32 30 30 30 30 0a 20 20 20 20 20 20 20 20 20 28 23 6f 30 30 31 20 20 3f FCHR..0020000..........(#o001..?
8ee0 70 29 20 20 20 3b 3b 20 23 64 65 66 69 6e 65 20 53 5f 49 46 49 46 4f 20 20 30 30 31 30 30 30 30 p)...;;.#define.S_IFIFO..0010000
8f00 0a 20 20 20 20 20 20 20 20 20 28 5f 20 3f 2d 29 29 29 0a 20 20 20 28 69 66 20 28 7a 65 72 6f 70 ..........(_.?-)))....(if.(zerop
8f20 20 28 6c 6f 67 61 6e 64 20 20 20 32 35 36 20 6d 6f 64 65 29 29 20 3f 2d 20 3f 72 29 0a 20 20 20 .(logand...256.mode)).?-.?r)....
8f40 28 69 66 20 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 20 20 31 32 38 20 6d 6f 64 65 29 29 20 (if.(zerop.(logand...128.mode)).
8f60 3f 2d 20 3f 77 29 0a 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 20 20 20 ?-.?w)....(if.(zerop.(logand....
8f80 36 34 20 6d 6f 64 65 29 29 0a 20 20 20 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 28 6c 6f 67 64.mode))........(if.(zerop.(log
8fa0 61 6e 64 20 20 32 30 34 38 20 6d 6f 64 65 29 29 20 3f 2d 20 3f 53 29 0a 20 20 20 20 20 28 69 66 and..2048.mode)).?-.?S)......(if
8fc0 20 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 20 32 30 34 38 20 6d 6f 64 65 29 29 20 3f 78 20 .(zerop.(logand..2048.mode)).?x.
8fe0 3f 73 29 29 0a 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 20 20 20 33 32 ?s))....(if.(zerop.(logand....32
9000 20 6d 6f 64 65 29 29 20 3f 2d 20 3f 72 29 0a 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 28 6c 6f .mode)).?-.?r)....(if.(zerop.(lo
9020 67 61 6e 64 20 20 20 20 31 36 20 6d 6f 64 65 29 29 20 3f 2d 20 3f 77 29 0a 20 20 20 28 69 66 20 gand....16.mode)).?-.?w)....(if.
9040 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 20 20 20 20 38 20 6d 6f 64 65 29 29 0a 20 20 20 20 (zerop.(logand.....8.mode)).....
9060 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 20 31 30 32 34 20 6d 6f 64 65 ...(if.(zerop.(logand..1024.mode
9080 29 29 20 3f 2d 20 3f 53 29 0a 20 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e )).?-.?S)......(if.(zerop.(logan
90a0 64 20 20 31 30 32 34 20 6d 6f 64 65 29 29 20 3f 78 20 3f 73 29 29 0a 20 20 20 28 69 66 20 28 7a d..1024.mode)).?x.?s))....(if.(z
90c0 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 20 20 20 20 34 20 6d 6f 64 65 29 29 20 3f 2d 20 3f 72 29 erop.(logand.....4.mode)).?-.?r)
90e0 0a 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 20 20 20 20 32 20 6d 6f 64 ....(if.(zerop.(logand.....2.mod
9100 65 29 29 20 3f 2d 20 3f 77 29 0a 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e 64 e)).?-.?w)....(if.(zerop.(logand
9120 20 35 31 32 20 6d 6f 64 65 29 29 0a 20 20 20 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 28 6c .512.mode))........(if.(zerop.(l
9140 6f 67 61 6e 64 20 20 20 31 20 6d 6f 64 65 29 29 20 3f 2d 20 3f 78 29 0a 20 20 20 20 20 28 69 66 ogand...1.mode)).?-.?x)......(if
9160 20 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 20 20 31 20 6d 6f 64 65 29 29 20 3f 54 20 3f 74 .(zerop.(logand...1.mode)).?T.?t
9180 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 66 69 6c 65 2d 62 61 63 6b 75 70 2d ))))..(compat-defun.file-backup-
91a0 66 69 6c 65 2d 6e 61 6d 65 73 20 28 66 69 6c 65 6e 61 6d 65 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 file-names.(filename).;;.<compat
91c0 2d 74 65 73 74 73 3a 66 69 6c 65 2d 62 61 63 6b 75 70 2d 66 69 6c 65 2d 6e 61 6d 65 73 3e 0a 20 -tests:file-backup-file-names>..
91e0 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 62 61 63 6b 75 70 20 66 69 6c 65 73 20 ."Return.a.list.of.backup.files.
9200 66 6f 72 20 46 49 4c 45 4e 41 4d 45 2e 0a 54 68 65 20 6c 69 73 74 20 77 69 6c 6c 20 62 65 20 73 for.FILENAME..The.list.will.be.s
9220 6f 72 74 65 64 20 62 79 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 74 69 6d 65 20 73 6f 20 74 68 orted.by.modification.time.so.th
9240 61 74 20 74 68 65 20 6d 6f 73 74 0a 72 65 63 65 6e 74 20 66 69 6c 65 73 20 61 72 65 20 66 69 72 at.the.most.recent.files.are.fir
9260 73 74 2e 22 0a 20 20 3b 3b 20 60 6d 61 6b 65 2d 62 61 63 6b 75 70 2d 66 69 6c 65 2d 6e 61 6d 65 st."...;;.`make-backup-file-name
9280 27 20 77 69 6c 6c 20 67 65 74 20 75 73 20 74 68 65 20 72 69 67 68 74 20 64 69 72 65 63 74 6f 72 '.will.get.us.the.right.director
92a0 79 20 66 6f 72 0a 20 20 3b 3b 20 6f 72 64 69 6e 61 72 79 20 6f 72 20 6e 75 6d 65 72 69 63 20 62 y.for...;;.ordinary.or.numeric.b
92c0 61 63 6b 75 70 73 2e 20 20 49 74 20 6d 69 67 68 74 20 63 72 65 61 74 65 20 61 20 64 69 72 65 63 ackups...It.might.create.a.direc
92e0 74 6f 72 79 20 66 6f 72 0a 20 20 3b 3b 20 62 61 63 6b 75 70 73 20 61 73 20 61 20 73 69 64 65 2d tory.for...;;.backups.as.a.side-
9300 65 66 66 65 63 74 2c 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 60 62 61 63 6b 75 70 2d 64 69 72 effect,.according.to.`backup-dir
9320 65 63 74 6f 72 79 2d 61 6c 69 73 74 27 2e 0a 20 20 28 6c 65 74 2a 20 28 28 66 69 6c 65 6e 61 6d ectory-alist'....(let*.((filenam
9340 65 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 73 61 6e 73 2d 76 65 72 73 69 6f 6e 73 0a 20 20 20 20 20 e.(file-name-sans-versions......
9360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 62 61 63 6b 75 70 2d 66 69 6c 65 ...............(make-backup-file
9380 2d 6e 61 6d 65 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 6e 61 6d 65 -name.(expand-file-name.filename
93a0 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 64 69 72 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 ))))..........(dir.(file-name-di
93c0 72 65 63 74 6f 72 79 20 66 69 6c 65 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 rectory.filename))..........file
93e0 73 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 66 69 6c 65 20 28 66 69 6c 65 2d 6e 61 6d 65 2d s).....(dolist.(file.(file-name-
9400 61 6c 6c 2d 63 6f 6d 70 6c 65 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 all-completions.................
9420 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 6e ...(file-name-nondirectory.filen
9440 61 6d 65 29 20 64 69 72 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 61 6e 64 69 64 61 74 ame).dir)).......(let.((candidat
9460 65 20 28 63 6f 6e 63 61 74 20 64 69 72 20 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 e.(concat.dir.file))).........(w
9480 68 65 6e 20 28 61 6e 64 20 28 62 61 63 6b 75 70 2d 66 69 6c 65 2d 6e 61 6d 65 2d 70 20 63 61 6e hen.(and.(backup-file-name-p.can
94a0 64 69 64 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 didate)....................(stri
94c0 6e 67 3d 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 73 61 6e 73 2d 76 65 72 73 69 6f 6e 73 20 63 61 6e ng=.(file-name-sans-versions.can
94e0 64 69 64 61 74 65 29 20 66 69 6c 65 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 didate).filename))...........(pu
9500 73 68 20 63 61 6e 64 69 64 61 74 65 20 66 69 6c 65 73 29 29 29 29 0a 20 20 20 20 28 73 6f 72 74 sh.candidate.files)))).....(sort
9520 20 66 69 6c 65 73 20 23 27 66 69 6c 65 2d 6e 65 77 65 72 2d 74 68 61 6e 2d 66 69 6c 65 2d 70 29 .files.#'file-newer-than-file-p)
9540 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 6d 61 6b 65 2d 6c 6f 63 6b 2d 66 69 6c 65 ))..(compat-defun.make-lock-file
9560 2d 6e 61 6d 65 20 28 66 69 6c 65 6e 61 6d 65 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 -name.(filename).;;.<compat-test
9580 73 3a 6d 61 6b 65 2d 6c 6f 63 6b 2d 66 69 6c 65 2d 6e 61 6d 65 3e 0a 20 20 22 4d 61 6b 65 20 61 s:make-lock-file-name>..."Make.a
95a0 20 6c 6f 63 6b 20 66 69 6c 65 20 6e 61 6d 65 20 66 6f 72 20 46 49 4c 45 4e 41 4d 45 2e 0a 54 68 .lock.file.name.for.FILENAME..Th
95c0 69 73 20 70 72 65 70 65 6e 64 73 20 5c 22 2e 23 5c 22 20 74 6f 20 74 68 65 20 6e 6f 6e 2d 64 69 is.prepends.\".#\".to.the.non-di
95e0 72 65 63 74 6f 72 79 20 70 61 72 74 20 6f 66 20 46 49 4c 45 4e 41 4d 45 2c 20 61 6e 64 0a 64 6f rectory.part.of.FILENAME,.and.do
9600 65 73 6e 27 74 20 72 65 73 70 65 63 74 20 60 6c 6f 63 6b 2d 66 69 6c 65 2d 6e 61 6d 65 2d 74 72 esn't.respect.`lock-file-name-tr
9620 61 6e 73 66 6f 72 6d 73 27 2c 20 61 73 20 45 6d 61 63 73 20 32 38 2e 31 20 61 6e 64 0a 6f 6e 77 ansforms',.as.Emacs.28.1.and.onw
9640 61 72 64 73 20 64 6f 65 73 2e 22 0a 20 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 0a ards.does."...(expand-file-name.
9660 20 20 20 28 63 6f 6e 63 61 74 0a 20 20 20 20 22 2e 23 22 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e ...(concat.....".#".(file-name-n
9680 6f 6e 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 6e 61 6d 65 29 29 0a 20 20 20 28 66 69 6c 65 2d ondirectory.filename))....(file-
96a0 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 6e 61 6d 65 29 29 29 0a 0a 3b 3b 3b 3b name-directory.filename)))..;;;;
96c0 20 44 65 66 69 6e 65 64 20 69 6e 20 6d 69 6e 69 62 75 66 66 65 72 2e 65 6c 0a 0a 28 63 6f 6d 70 .Defined.in.minibuffer.el..(comp
96e0 61 74 2d 64 65 66 75 6e 20 66 6f 72 6d 61 74 2d 70 72 6f 6d 70 74 20 28 70 72 6f 6d 70 74 20 64 at-defun.format-prompt.(prompt.d
9700 65 66 61 75 6c 74 20 26 72 65 73 74 20 66 6f 72 6d 61 74 2d 61 72 67 73 29 20 3b 3b 20 3c 63 6f efault.&rest.format-args).;;.<co
9720 6d 70 61 74 2d 74 65 73 74 73 3a 66 6f 72 6d 61 74 2d 70 72 6f 6d 70 74 3e 0a 20 20 22 46 6f 72 mpat-tests:format-prompt>..."For
9740 6d 61 74 20 50 52 4f 4d 50 54 20 77 69 74 68 20 44 45 46 41 55 4c 54 2e 0a 49 66 20 46 4f 52 4d mat.PROMPT.with.DEFAULT..If.FORM
9760 41 54 2d 41 52 47 53 20 69 73 20 6e 69 6c 2c 20 50 52 4f 4d 50 54 20 69 73 20 75 73 65 64 20 61 AT-ARGS.is.nil,.PROMPT.is.used.a
9780 73 20 61 20 70 6c 61 69 6e 20 73 74 72 69 6e 67 2e 20 20 49 66 0a 46 4f 52 4d 41 54 2d 41 52 47 s.a.plain.string...If.FORMAT-ARG
97a0 53 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 50 52 4f 4d 50 54 20 69 73 20 75 73 65 64 20 61 73 20 S.is.non-nil,.PROMPT.is.used.as.
97c0 61 20 66 6f 72 6d 61 74 20 63 6f 6e 74 72 6f 6c 0a 73 74 72 69 6e 67 2c 20 61 6e 64 20 46 4f 52 a.format.control.string,.and.FOR
97e0 4d 41 54 2d 41 52 47 53 20 61 72 65 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 62 65 MAT-ARGS.are.the.arguments.to.be
9800 20 73 75 62 73 74 69 74 75 74 65 64 20 69 6e 74 6f 0a 69 74 2e 20 20 53 65 65 20 60 66 6f 72 6d .substituted.into.it...See.`form
9820 61 74 27 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 0a 0a 49 66 20 44 45 46 41 55 4c 54 20 69 73 20 at'.for.details...If.DEFAULT.is.
9840 61 20 6c 69 73 74 2c 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 69 73 20 75 73 65 a.list,.the.first.element.is.use
9860 64 20 61 73 20 74 68 65 20 64 65 66 61 75 6c 74 2e 0a 49 66 20 6e 6f 74 2c 20 74 68 65 20 65 6c d.as.the.default..If.not,.the.el
9880 65 6d 65 6e 74 20 69 73 20 75 73 65 64 20 61 73 20 69 73 2e 0a 0a 49 66 20 44 45 46 41 55 4c 54 ement.is.used.as.is...If.DEFAULT
98a0 20 69 73 20 6e 69 6c 20 6f 72 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 2c 20 6e 6f 20 5c .is.nil.or.an.empty.string,.no.\
98c0 22 64 65 66 61 75 6c 74 20 76 61 6c 75 65 5c 22 20 73 74 72 69 6e 67 0a 69 73 20 69 6e 63 6c 75 "default.value\".string.is.inclu
98e0 64 65 64 20 69 6e 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 2e 22 0a 20 20 28 63 6f 6e ded.in.the.return.value."...(con
9900 63 61 74 0a 20 20 20 28 69 66 20 28 6e 75 6c 6c 20 66 6f 72 6d 61 74 2d 61 72 67 73 29 0a 20 20 cat....(if.(null.format-args)...
9920 20 20 20 20 20 70 72 6f 6d 70 74 0a 20 20 20 20 20 28 61 70 70 6c 79 20 23 27 66 6f 72 6d 61 74 .....prompt......(apply.#'format
9940 20 70 72 6f 6d 70 74 20 66 6f 72 6d 61 74 2d 61 72 67 73 29 29 0a 20 20 20 28 61 6e 64 20 64 65 .prompt.format-args))....(and.de
9960 66 61 75 6c 74 0a 20 20 20 20 20 20 20 20 28 6f 72 20 28 6e 6f 74 20 28 73 74 72 69 6e 67 70 20 fault.........(or.(not.(stringp.
9980 64 65 66 61 75 6c 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 3e 20 28 6c 65 6e 67 74 68 default)).............(>.(length
99a0 20 64 65 66 61 75 6c 74 29 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 20 .default).0)).........(format.".
99c0 28 64 65 66 61 75 6c 74 20 25 73 29 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 (default.%s)".................(i
99e0 66 20 28 63 6f 6e 73 70 20 64 65 66 61 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 f.(consp.default)...............
9a00 20 20 20 20 20 20 28 63 61 72 20 64 65 66 61 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ......(car.default).............
9a20 20 20 20 20 20 20 64 65 66 61 75 6c 74 29 29 29 0a 20 20 20 22 3a 20 22 29 29 0a 0a 3b 3b 3b 3b ......default)))....":."))..;;;;
9a40 20 44 65 66 69 6e 65 64 20 69 6e 20 66 61 63 65 73 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 .Defined.in.faces.el..(compat-de
9a60 66 76 61 72 20 63 6f 6c 6f 72 2d 6c 75 6d 69 6e 61 6e 63 65 2d 64 61 72 6b 2d 6c 69 6d 69 74 20 fvar.color-luminance-dark-limit.
9a80 30 2e 33 32 35 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 63 6f 6c 6f 72 2d 64 61 72 0.325.;;.<compat-tests:color-dar
9aa0 6b 2d 70 3e 0a 20 20 22 54 68 65 20 72 65 6c 61 74 69 76 65 20 6c 75 6d 69 6e 61 6e 63 65 20 62 k-p>..."The.relative.luminance.b
9ac0 65 6c 6f 77 20 77 68 69 63 68 20 61 20 63 6f 6c 6f 72 20 69 73 20 63 6f 6e 73 69 64 65 72 65 64 elow.which.a.color.is.considered
9ae0 20 5c 22 64 61 72 6b 5c 22 2e 0a 41 20 5c 22 64 61 72 6b 5c 22 20 63 6f 6c 6f 72 20 69 6e 20 74 .\"dark\"..A.\"dark\".color.in.t
9b00 68 69 73 20 73 65 6e 73 65 20 70 72 6f 76 69 64 65 73 20 62 65 74 74 65 72 20 63 6f 6e 74 72 61 his.sense.provides.better.contra
9b20 73 74 20 77 69 74 68 20 77 68 69 74 65 0a 74 68 61 6e 20 77 69 74 68 20 62 6c 61 63 6b 3b 20 73 st.with.white.than.with.black;.s
9b40 65 65 20 60 63 6f 6c 6f 72 2d 64 61 72 6b 2d 70 27 2e 0a 54 68 69 73 20 76 61 6c 75 65 20 77 61 ee.`color-dark-p'..This.value.wa
9b60 73 20 64 65 74 65 72 6d 69 6e 65 64 20 65 78 70 65 72 69 6d 65 6e 74 61 6c 6c 79 2e 22 0a 20 20 s.determined.experimentally."...
9b80 3a 63 6f 6e 73 74 61 6e 74 20 74 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 63 6f 6c 6f :constant.t)..(compat-defun.colo
9ba0 72 2d 64 61 72 6b 2d 70 20 28 72 67 62 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a r-dark-p.(rgb).;;.<compat-tests:
9bc0 63 6f 6c 6f 72 2d 64 61 72 6b 2d 70 3e 0a 20 20 22 57 68 65 74 68 65 72 20 52 47 42 20 69 73 20 color-dark-p>..."Whether.RGB.is.
9be0 6d 6f 72 65 20 72 65 61 64 61 62 6c 65 20 61 67 61 69 6e 73 74 20 77 68 69 74 65 20 74 68 61 6e more.readable.against.white.than
9c00 20 62 6c 61 63 6b 2e 0a 52 47 42 20 69 73 20 61 20 33 2d 65 6c 65 6d 65 6e 74 20 6c 69 73 74 20 .black..RGB.is.a.3-element.list.
9c20 28 52 20 47 20 42 29 2c 20 65 61 63 68 20 63 6f 6d 70 6f 6e 65 6e 74 20 69 6e 20 74 68 65 20 72 (R.G.B),.each.component.in.the.r
9c40 61 6e 67 65 20 5b 30 2c 31 5d 2e 0a 54 68 69 73 20 70 72 65 64 69 63 61 74 65 20 63 61 6e 20 62 ange.[0,1]..This.predicate.can.b
9c60 65 20 75 73 65 64 20 62 6f 74 68 20 66 6f 72 20 64 65 74 65 72 6d 69 6e 69 6e 67 20 61 20 73 75 e.used.both.for.determining.a.su
9c80 69 74 61 62 6c 65 20 28 62 6c 61 63 6b 20 6f 72 20 77 68 69 74 65 29 0a 63 6f 6e 74 72 61 73 74 itable.(black.or.white).contrast
9ca0 20 63 6f 6c 6f 72 20 77 69 74 68 20 52 47 42 20 61 73 20 62 61 63 6b 67 72 6f 75 6e 64 20 61 6e .color.with.RGB.as.background.an
9cc0 64 20 61 73 20 66 6f 72 65 67 72 6f 75 6e 64 2e 22 0a 20 20 28 75 6e 6c 65 73 73 20 28 3c 3d 20 d.as.foreground."...(unless.(<=.
9ce0 30 20 28 61 70 70 6c 79 20 23 27 6d 69 6e 20 72 67 62 29 20 28 61 70 70 6c 79 20 23 27 6d 61 78 0.(apply.#'min.rgb).(apply.#'max
9d00 20 72 67 62 29 20 31 29 0a 20 20 20 20 28 65 72 72 6f 72 20 22 52 47 42 20 63 6f 6d 70 6f 6e 65 .rgb).1).....(error."RGB.compone
9d20 6e 74 73 20 25 53 20 6e 6f 74 20 69 6e 20 5b 30 2c 31 5d 22 20 72 67 62 29 29 0a 20 20 3b 3b 20 nts.%S.not.in.[0,1]".rgb))...;;.
9d40 43 6f 6d 70 75 74 65 20 74 68 65 20 72 65 6c 61 74 69 76 65 20 6c 75 6d 69 6e 61 6e 63 65 20 61 Compute.the.relative.luminance.a
9d60 66 74 65 72 20 67 61 6d 6d 61 2d 63 6f 72 72 65 63 74 69 6e 67 20 28 61 73 73 75 6d 69 6e 67 20 fter.gamma-correcting.(assuming.
9d80 73 52 47 42 29 2c 0a 20 20 3b 3b 20 61 6e 64 20 63 6f 6d 70 61 72 65 20 74 6f 20 61 20 63 75 74 sRGB),...;;.and.compare.to.a.cut
9da0 2d 6f 66 66 20 76 61 6c 75 65 20 64 65 74 65 72 6d 69 6e 65 64 20 65 78 70 65 72 69 6d 65 6e 74 -off.value.determined.experiment
9dc0 61 6c 6c 79 2e 0a 20 20 3b 3b 20 53 65 65 20 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 ally....;;.See.https://en.wikipe
9de0 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 52 65 6c 61 74 69 76 65 5f 6c 75 6d 69 6e 61 6e 63 65 20 dia.org/wiki/Relative_luminance.
9e00 66 6f 72 20 64 65 74 61 69 6c 73 2e 0a 20 20 28 6c 65 74 2a 20 28 28 73 72 20 28 6e 74 68 20 30 for.details....(let*.((sr.(nth.0
9e20 20 72 67 62 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 67 20 28 6e 74 68 20 31 20 72 67 62 29 29 .rgb))..........(sg.(nth.1.rgb))
9e40 0a 20 20 20 20 20 20 20 20 20 28 73 62 20 28 6e 74 68 20 32 20 72 67 62 29 29 0a 20 20 20 20 20 ..........(sb.(nth.2.rgb))......
9e60 20 20 20 20 3b 3b 20 47 61 6d 6d 61 2d 63 6f 72 72 65 63 74 20 74 68 65 20 52 47 42 20 63 6f 6d ....;;.Gamma-correct.the.RGB.com
9e80 70 6f 6e 65 6e 74 73 20 74 6f 20 6c 69 6e 65 61 72 20 76 61 6c 75 65 73 2e 0a 20 20 20 20 20 20 ponents.to.linear.values........
9ea0 20 20 20 3b 3b 20 55 73 65 20 74 68 65 20 70 6f 77 65 72 20 32 2e 32 20 61 73 20 61 6e 20 61 70 ...;;.Use.the.power.2.2.as.an.ap
9ec0 70 72 6f 78 69 6d 61 74 69 6f 6e 20 74 6f 20 73 52 47 42 20 67 61 6d 6d 61 3b 0a 20 20 20 20 20 proximation.to.sRGB.gamma;......
9ee0 20 20 20 20 3b 3b 20 69 74 20 73 68 6f 75 6c 64 20 62 65 20 67 6f 6f 64 20 65 6e 6f 75 67 68 20 ....;;.it.should.be.good.enough.
9f00 66 6f 72 20 74 68 65 20 70 75 72 70 6f 73 65 20 6f 66 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e for.the.purpose.of.this.function
9f20 2e 0a 20 20 20 20 20 20 20 20 20 28 72 20 28 65 78 70 74 20 73 72 20 32 2e 32 29 29 0a 20 20 20 ...........(r.(expt.sr.2.2))....
9f40 20 20 20 20 20 20 28 67 20 28 65 78 70 74 20 73 67 20 32 2e 32 29 29 0a 20 20 20 20 20 20 20 20 ......(g.(expt.sg.2.2)).........
9f60 20 28 62 20 28 65 78 70 74 20 73 62 20 32 2e 32 29 29 0a 20 20 20 20 20 20 20 20 20 28 79 20 28 .(b.(expt.sb.2.2))..........(y.(
9f80 2b 20 28 2a 20 72 20 30 2e 32 31 32 36 29 20 28 2a 20 67 20 30 2e 37 31 35 32 29 20 28 2a 20 62 +.(*.r.0.2126).(*.g.0.7152).(*.b
9fa0 20 30 2e 30 37 32 32 29 29 29 29 0a 20 20 20 20 28 3c 20 79 20 63 6f 6c 6f 72 2d 6c 75 6d 69 6e .0.0722)))).....(<.y.color-lumin
9fc0 61 6e 63 65 2d 64 61 72 6b 2d 6c 69 6d 69 74 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 ance-dark-limit)))..;;;;.Defined
9fe0 20 69 6e 20 77 69 6e 64 6f 77 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 6d 61 63 72 6f 20 .in.window.el..(compat-defmacro.
a000 77 69 74 68 2d 77 69 6e 64 6f 77 2d 6e 6f 6e 2d 64 65 64 69 63 61 74 65 64 20 28 77 69 6e 64 6f with-window-non-dedicated.(windo
a020 77 20 26 72 65 73 74 20 62 6f 64 79 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 77 w.&rest.body).;;.<compat-tests:w
a040 69 74 68 2d 77 69 6e 64 6f 77 2d 6e 6f 6e 2d 64 65 64 69 63 61 74 65 64 3e 0a 20 20 22 45 76 61 ith-window-non-dedicated>..."Eva
a060 6c 75 61 74 65 20 42 4f 44 59 20 77 69 74 68 20 57 49 4e 44 4f 57 20 74 65 6d 70 6f 72 61 72 69 luate.BODY.with.WINDOW.temporari
a080 6c 79 20 6d 61 64 65 20 6e 6f 6e 2d 64 65 64 69 63 61 74 65 64 2e 0a 49 66 20 57 49 4e 44 4f 57 ly.made.non-dedicated..If.WINDOW
a0a0 20 69 73 20 6e 69 6c 2c 20 75 73 65 20 74 68 65 20 73 65 6c 65 63 74 65 64 20 77 69 6e 64 6f 77 .is.nil,.use.the.selected.window
a0c0 2e 20 20 52 65 74 75 72 6e 20 74 68 65 20 76 61 6c 75 65 20 6f 66 0a 74 68 65 20 6c 61 73 74 20 ...Return.the.value.of.the.last.
a0e0 66 6f 72 6d 20 69 6e 20 42 4f 44 59 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e form.in.BODY."...(declare.(inden
a100 74 20 31 29 20 28 64 65 62 75 67 20 74 29 29 0a 20 20 28 6c 65 74 20 28 28 77 69 6e 64 6f 77 2d t.1).(debug.t))...(let.((window-
a120 64 65 64 69 63 61 74 65 64 2d 73 79 6d 20 28 67 65 6e 73 79 6d 29 29 0a 20 20 20 20 20 20 20 20 dedicated-sym.(gensym)).........
a140 28 77 69 6e 64 6f 77 2d 73 79 6d 20 28 67 65 6e 73 79 6d 29 29 29 0a 20 20 20 20 60 28 6c 65 74 (window-sym.(gensym))).....`(let
a160 2a 20 28 28 2c 77 69 6e 64 6f 77 2d 73 79 6d 20 28 77 69 6e 64 6f 77 2d 6e 6f 72 6d 61 6c 69 7a *.((,window-sym.(window-normaliz
a180 65 2d 77 69 6e 64 6f 77 20 2c 77 69 6e 64 6f 77 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 e-window.,window.t))............
a1a0 20 28 2c 77 69 6e 64 6f 77 2d 64 65 64 69 63 61 74 65 64 2d 73 79 6d 20 28 77 69 6e 64 6f 77 2d .(,window-dedicated-sym.(window-
a1c0 64 65 64 69 63 61 74 65 64 2d 70 20 2c 77 69 6e 64 6f 77 2d 73 79 6d 29 29 29 0a 20 20 20 20 20 dedicated-p.,window-sym)))......
a1e0 20 20 28 73 65 74 2d 77 69 6e 64 6f 77 2d 64 65 64 69 63 61 74 65 64 2d 70 20 2c 77 69 6e 64 6f ..(set-window-dedicated-p.,windo
a200 77 2d 73 79 6d 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 28 75 6e 77 69 6e 64 2d 70 72 6f 74 65 63 w-sym.nil)........(unwind-protec
a220 74 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 20 2c 40 62 6f 64 79 29 0a 20 20 20 20 t............(progn.,@body).....
a240 20 20 20 20 20 28 73 65 74 2d 77 69 6e 64 6f 77 2d 64 65 64 69 63 61 74 65 64 2d 70 20 2c 77 69 .....(set-window-dedicated-p.,wi
a260 6e 64 6f 77 2d 73 79 6d 20 2c 77 69 6e 64 6f 77 2d 64 65 64 69 63 61 74 65 64 2d 73 79 6d 29 29 ndow-sym.,window-dedicated-sym))
a280 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 63 6f 75 6e 74 2d 77 69 6e 64 6f 77 73 )))..(compat-defun.count-windows
a2a0 20 28 26 6f 70 74 69 6f 6e 61 6c 20 6d 69 6e 69 62 75 66 20 61 6c 6c 2d 66 72 61 6d 65 73 29 20 .(&optional.minibuf.all-frames).
a2c0 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 63 6f 75 6e 74 2d 77 69 6e 64 6f 77 73 3e 0a ;;.<compat-tests:count-windows>.
a2e0 20 20 22 48 61 6e 64 6c 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 41 4c 4c 2d .."Handle.optional.argument.ALL-
a300 46 52 41 4d 45 53 2e 22 0a 20 20 3a 65 78 74 65 6e 64 65 64 20 74 0a 20 20 28 69 66 20 61 6c 6c FRAMES."...:extended.t...(if.all
a320 2d 66 72 61 6d 65 73 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 75 6d 20 30 29 29 0a 20 20 20 -frames.......(let.((sum.0))....
a340 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 66 72 61 6d 65 20 28 66 72 61 6d 65 2d 6c 69 73 74 29 .....(dolist.(frame.(frame-list)
a360 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 73 65 6c 65 63 74 65 64 2d 66 72 61 6d 65 )...........(with-selected-frame
a380 20 66 72 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 75 6d 20 28 2b 20 .frame.............(setq.sum.(+.
a3a0 28 63 6f 75 6e 74 2d 77 69 6e 64 6f 77 73 20 6d 69 6e 69 62 75 66 29 20 73 75 6d 29 29 29 29 0a (count-windows.minibuf).sum)))).
a3c0 20 20 20 20 20 20 20 20 73 75 6d 29 0a 20 20 20 20 28 63 6f 75 6e 74 2d 77 69 6e 64 6f 77 73 20 ........sum).....(count-windows.
a3e0 6d 69 6e 69 62 75 66 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 74 68 69 6e minibuf)))..;;;;.Defined.in.thin
a400 67 61 74 70 74 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 74 68 69 6e 67 2d 61 74 gatpt.el..(compat-defun.thing-at
a420 2d 6d 6f 75 73 65 20 28 65 76 65 6e 74 20 74 68 69 6e 67 20 26 6f 70 74 69 6f 6e 61 6c 20 6e 6f -mouse.(event.thing.&optional.no
a440 2d 70 72 6f 70 65 72 74 69 65 73 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 74 68 -properties).;;.<compat-tests:th
a460 69 6e 67 2d 61 74 2d 6d 6f 75 73 65 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 54 48 49 4e ing-at-mouse>..."Return.the.THIN
a480 47 20 61 74 20 6d 6f 75 73 65 20 63 6c 69 63 6b 2e 0a 4c 69 6b 65 20 60 74 68 69 6e 67 2d 61 74 G.at.mouse.click..Like.`thing-at
a4a0 2d 70 6f 69 6e 74 27 2c 20 62 75 74 20 74 72 69 65 73 20 74 6f 20 75 73 65 20 74 68 65 20 65 76 -point',.but.tries.to.use.the.ev
a4c0 65 6e 74 0a 77 68 65 72 65 20 74 68 65 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 69 73 20 63 6c ent.where.the.mouse.button.is.cl
a4e0 69 63 6b 65 64 20 74 6f 20 66 69 6e 64 20 61 20 74 68 69 6e 67 20 6e 65 61 72 62 79 2e 22 0a 20 icked.to.find.a.thing.nearby."..
a500 20 3b 3b 20 4e 6f 20 3a 66 65 61 74 75 72 65 20 73 70 65 63 69 66 69 65 64 2c 20 73 69 6e 63 65 .;;.No.:feature.specified,.since
a520 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 75 74 6f 6c 6f 61 64 65 64 2e 0a 20 20 28 .the.function.is.autoloaded....(
a540 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 28 6d 6f 75 73 65 2d 73 65 74 2d 70 6f save-excursion.....(mouse-set-po
a560 69 6e 74 20 65 76 65 6e 74 29 0a 20 20 20 20 28 74 68 69 6e 67 2d 61 74 2d 70 6f 69 6e 74 20 74 int.event).....(thing-at-point.t
a580 68 69 6e 67 20 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 hing.no-properties)))..(compat-d
a5a0 65 66 75 6e 20 62 6f 75 6e 64 73 2d 6f 66 2d 74 68 69 6e 67 2d 61 74 2d 6d 6f 75 73 65 20 28 65 efun.bounds-of-thing-at-mouse.(e
a5c0 76 65 6e 74 20 74 68 69 6e 67 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 74 68 69 vent.thing).;;.<compat-tests:thi
a5e0 6e 67 2d 61 74 2d 6d 6f 75 73 65 3e 0a 20 20 22 44 65 74 65 72 6d 69 6e 65 20 73 74 61 72 74 20 ng-at-mouse>..."Determine.start.
a600 61 6e 64 20 65 6e 64 20 6c 6f 63 61 74 69 6f 6e 73 20 66 6f 72 20 54 48 49 4e 47 20 61 74 20 6d and.end.locations.for.THING.at.m
a620 6f 75 73 65 20 63 6c 69 63 6b 20 67 69 76 65 6e 20 62 79 20 45 56 45 4e 54 2e 0a 4c 69 6b 65 20 ouse.click.given.by.EVENT..Like.
a640 60 62 6f 75 6e 64 73 2d 6f 66 2d 74 68 69 6e 67 2d 61 74 2d 70 6f 69 6e 74 27 2c 20 62 75 74 20 `bounds-of-thing-at-point',.but.
a660 74 72 69 65 73 20 74 6f 20 75 73 65 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 45 56 45 tries.to.use.the.position.in.EVE
a680 4e 54 0a 77 68 65 72 65 20 74 68 65 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 69 73 20 63 6c 69 NT.where.the.mouse.button.is.cli
a6a0 63 6b 65 64 20 74 6f 20 66 69 6e 64 20 74 68 65 20 74 68 69 6e 67 20 6e 65 61 72 62 79 2e 22 0a cked.to.find.the.thing.nearby.".
a6c0 20 20 3b 3b 20 4e 6f 20 3a 66 65 61 74 75 72 65 20 73 70 65 63 69 66 69 65 64 2c 20 73 69 6e 63 ..;;.No.:feature.specified,.sinc
a6e0 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 75 74 6f 6c 6f 61 64 65 64 2e 0a 20 20 e.the.function.is.autoloaded....
a700 28 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e 0a 20 20 20 20 28 6d 6f 75 73 65 2d 73 65 74 2d 70 (save-excursion.....(mouse-set-p
a720 6f 69 6e 74 20 65 76 65 6e 74 29 0a 20 20 20 20 28 62 6f 75 6e 64 73 2d 6f 66 2d 74 68 69 6e 67 oint.event).....(bounds-of-thing
a740 2d 61 74 2d 70 6f 69 6e 74 20 74 68 69 6e 67 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 -at-point.thing)))..;;;;.Defined
a760 20 69 6e 20 6d 6f 75 73 65 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 6d 61 72 6b .in.mouse.el..(compat-defun.mark
a780 2d 74 68 69 6e 67 2d 61 74 2d 6d 6f 75 73 65 20 28 63 6c 69 63 6b 20 74 68 69 6e 67 29 20 3b 3b -thing-at-mouse.(click.thing).;;
a7a0 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 74 68 69 6e 67 2d 61 74 2d 6d 6f 75 73 65 3e 0a 20 .<compat-tests:thing-at-mouse>..
a7c0 20 22 41 63 74 69 76 61 74 65 20 74 68 65 20 72 65 67 69 6f 6e 20 61 72 6f 75 6e 64 20 54 48 49 ."Activate.the.region.around.THI
a7e0 4e 47 20 66 6f 75 6e 64 20 6e 65 61 72 20 74 68 65 20 6d 6f 75 73 65 20 43 4c 49 43 4b 2e 22 0a NG.found.near.the.mouse.CLICK.".
a800 20 20 28 77 68 65 6e 2d 6c 65 74 20 28 28 62 6f 75 6e 64 73 20 28 62 6f 75 6e 64 73 2d 6f 66 2d ..(when-let.((bounds.(bounds-of-
a820 74 68 69 6e 67 2d 61 74 2d 6d 6f 75 73 65 20 63 6c 69 63 6b 20 74 68 69 6e 67 29 29 29 0a 20 20 thing-at-mouse.click.thing)))...
a840 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 69 66 20 6d 6f 75 73 65 2d 73 65 6c 65 63 74 2d 72 65 ..(goto-char.(if.mouse-select-re
a860 67 69 6f 6e 2d 6d 6f 76 65 2d 74 6f 2d 62 65 67 69 6e 6e 69 6e 67 0a 20 20 20 20 20 20 20 20 20 gion-move-to-beginning..........
a880 20 20 20 20 20 20 20 20 20 20 28 63 61 72 20 62 6f 75 6e 64 73 29 20 28 63 64 72 20 62 6f 75 6e ..........(car.bounds).(cdr.boun
a8a0 64 73 29 29 29 0a 20 20 20 20 28 70 75 73 68 2d 6d 61 72 6b 20 28 69 66 20 6d 6f 75 73 65 2d 73 ds))).....(push-mark.(if.mouse-s
a8c0 65 6c 65 63 74 2d 72 65 67 69 6f 6e 2d 6d 6f 76 65 2d 74 6f 2d 62 65 67 69 6e 6e 69 6e 67 0a 20 elect-region-move-to-beginning..
a8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 64 72 20 62 6f 75 6e 64 73 29 20 28 ..................(cdr.bounds).(
a900 63 61 72 20 62 6f 75 6e 64 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 20 27 61 car.bounds))................t.'a
a920 63 74 69 76 61 74 65 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 6d 61 63 72 ctivate)))..;;;;.Defined.in.macr
a940 6f 65 78 70 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 6d 61 63 72 6f 65 78 70 2d oexp.el..(compat-defun.macroexp-
a960 77 61 72 6e 2d 61 6e 64 2d 72 65 74 75 72 6e 20 28 6d 73 67 20 66 6f 72 6d 20 26 6f 70 74 69 6f warn-and-return.(msg.form.&optio
a980 6e 61 6c 20 5f 63 61 74 65 67 6f 72 79 20 5f 63 6f 6d 70 69 6c 65 2d 6f 6e 6c 79 20 5f 61 72 67 nal._category._compile-only._arg
a9a0 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 6d 61 63 72 6f 65 78 70 2d 77 61 72 6e ).;;.<compat-tests:macroexp-warn
a9c0 2d 61 6e 64 2d 72 65 74 75 72 6e 3e 0a 20 20 22 52 65 74 75 72 6e 20 63 6f 64 65 20 65 71 75 69 -and-return>..."Return.code.equi
a9e0 76 61 6c 65 6e 74 20 74 6f 20 46 4f 52 4d 20 6c 61 62 65 6c 65 64 20 77 69 74 68 20 77 61 72 6e valent.to.FORM.labeled.with.warn
aa00 69 6e 67 20 4d 53 47 2e 0a 43 41 54 45 47 4f 52 59 20 69 73 20 74 68 65 20 63 61 74 65 67 6f 72 ing.MSG..CATEGORY.is.the.categor
aa20 79 20 6f 66 20 74 68 65 20 77 61 72 6e 69 6e 67 2c 20 6c 69 6b 65 20 74 68 65 20 63 61 74 65 67 y.of.the.warning,.like.the.categ
aa40 6f 72 69 65 73 20 74 68 61 74 0a 63 61 6e 20 61 70 70 65 61 72 20 69 6e 20 60 62 79 74 65 2d 63 ories.that.can.appear.in.`byte-c
aa60 6f 6d 70 69 6c 65 2d 77 61 72 6e 69 6e 67 73 27 2e 0a 43 4f 4d 50 49 4c 45 2d 4f 4e 4c 59 20 6e ompile-warnings'..COMPILE-ONLY.n
aa80 6f 6e 2d 6e 69 6c 20 6d 65 61 6e 73 20 6e 6f 20 77 61 72 6e 69 6e 67 20 73 68 6f 75 6c 64 20 62 on-nil.means.no.warning.should.b
aaa0 65 20 65 6d 69 74 74 65 64 20 69 66 20 74 68 65 20 63 6f 64 65 0a 69 73 20 65 78 65 63 75 74 65 e.emitted.if.the.code.is.execute
aac0 64 20 77 69 74 68 6f 75 74 20 62 65 69 6e 67 20 63 6f 6d 70 69 6c 65 64 20 66 69 72 73 74 2e 0a d.without.being.compiled.first..
aae0 41 52 47 20 69 73 20 61 20 73 79 6d 62 6f 6c 20 28 6f 72 20 61 20 66 6f 72 6d 29 20 67 69 76 69 ARG.is.a.symbol.(or.a.form).givi
ab00 6e 67 20 74 68 65 20 73 6f 75 72 63 65 20 63 6f 64 65 20 70 6f 73 69 74 69 6f 6e 20 66 6f 72 20 ng.the.source.code.position.for.
ab20 74 68 65 20 6d 65 73 73 61 67 65 2e 0a 49 74 20 73 68 6f 75 6c 64 20 6e 6f 72 6d 61 6c 6c 79 20 the.message..It.should.normally.
ab40 62 65 20 61 20 73 79 6d 62 6f 6c 20 77 69 74 68 20 70 6f 73 69 74 69 6f 6e 20 61 6e 64 20 69 74 be.a.symbol.with.position.and.it
ab60 20 64 65 66 61 75 6c 74 73 20 74 6f 20 46 4f 52 4d 2e 22 0a 20 20 28 6d 61 63 72 6f 65 78 70 2d .defaults.to.FORM."...(macroexp-
ab80 2d 77 61 72 6e 2d 61 6e 64 2d 72 65 74 75 72 6e 20 6d 73 67 20 66 6f 72 6d 29 29 0a 0a 28 63 6f -warn-and-return.msg.form))..(co
aba0 6d 70 61 74 2d 64 65 66 75 6e 20 6d 61 63 72 6f 65 78 70 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 29 mpat-defun.macroexp-file-name.()
abc0 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 6d 61 63 72 6f 65 78 70 2d 66 69 6c 65 2d .;;.<compat-tests:macroexp-file-
abe0 6e 61 6d 65 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 name>..."Return.the.name.of.the.
ac00 66 69 6c 65 20 66 72 6f 6d 20 77 68 69 63 68 20 74 68 65 20 63 6f 64 65 20 63 6f 6d 65 73 2e 0a file.from.which.the.code.comes..
ac20 52 65 74 75 72 6e 73 20 6e 69 6c 20 77 68 65 6e 20 77 65 20 64 6f 20 6e 6f 74 20 6b 6e 6f 77 2e Returns.nil.when.we.do.not.know.
ac40 0a 41 20 6e 6f 6e 2d 6e 69 6c 20 72 65 73 75 6c 74 20 69 73 20 65 78 70 65 63 74 65 64 20 74 6f .A.non-nil.result.is.expected.to
ac60 20 62 65 20 72 65 6c 69 61 62 6c 65 20 77 68 65 6e 20 63 61 6c 6c 65 64 20 66 72 6f 6d 20 61 20 .be.reliable.when.called.from.a.
ac80 6d 61 63 72 6f 20 69 6e 20 6f 72 64 65 72 0a 74 6f 20 66 69 6e 64 20 74 68 65 20 66 69 6c 65 20 macro.in.order.to.find.the.file.
aca0 69 6e 20 77 68 69 63 68 20 74 68 65 20 6d 61 63 72 6f 27 73 20 63 61 6c 6c 20 77 61 73 20 66 6f in.which.the.macro's.call.was.fo
acc0 75 6e 64 2c 20 61 6e 64 20 69 74 20 73 68 6f 75 6c 64 20 62 65 0a 72 65 6c 69 61 62 6c 65 20 61 und,.and.it.should.be.reliable.a
ace0 73 20 77 65 6c 6c 20 77 68 65 6e 20 75 73 65 64 20 61 74 20 74 68 65 20 74 6f 70 2d 6c 65 76 65 s.well.when.used.at.the.top-leve
ad00 6c 20 6f 66 20 61 20 66 69 6c 65 2e 0a 4f 74 68 65 72 20 75 73 65 73 20 72 69 73 6b 20 72 65 74 l.of.a.file..Other.uses.risk.ret
ad20 75 72 6e 69 6e 67 20 6e 6f 6e 2d 6e 69 6c 20 76 61 6c 75 65 20 74 68 61 74 20 70 6f 69 6e 74 20 urning.non-nil.value.that.point.
ad40 74 6f 20 74 68 65 20 77 72 6f 6e 67 20 66 69 6c 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 66 69 6c to.the.wrong.file."...(let.((fil
ad60 65 20 28 63 61 72 20 28 6c 61 73 74 20 63 75 72 72 65 6e 74 2d 6c 6f 61 64 2d 6c 69 73 74 29 29 e.(car.(last.current-load-list))
ad80 29 29 0a 20 20 20 20 28 6f 72 20 28 69 66 20 28 73 74 72 69 6e 67 70 20 66 69 6c 65 29 20 66 69 )).....(or.(if.(stringp.file).fi
ada0 6c 65 29 0a 20 20 20 20 20 20 20 20 28 62 6f 75 6e 64 2d 61 6e 64 2d 74 72 75 65 2d 70 20 62 79 le).........(bound-and-true-p.by
adc0 74 65 2d 63 6f 6d 70 69 6c 65 2d 63 75 72 72 65 6e 74 2d 66 69 6c 65 29 29 29 29 0a 0a 3b 3b 3b te-compile-current-file))))..;;;
ade0 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 65 6e 76 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 ;.Defined.in.env.el..(compat-def
ae00 6d 61 63 72 6f 20 77 69 74 68 2d 65 6e 76 69 72 6f 6e 6d 65 6e 74 2d 76 61 72 69 61 62 6c 65 73 macro.with-environment-variables
ae20 20 28 76 61 72 69 61 62 6c 65 73 20 26 72 65 73 74 20 62 6f 64 79 29 20 3b 3b 20 3c 63 6f 6d 70 .(variables.&rest.body).;;.<comp
ae40 61 74 2d 74 65 73 74 73 3a 77 69 74 68 2d 65 6e 76 69 72 6f 6e 6d 65 6e 74 2d 76 61 72 69 61 62 at-tests:with-environment-variab
ae60 6c 65 73 3e 0a 20 20 22 53 65 74 20 56 41 52 49 41 42 4c 45 53 20 69 6e 20 74 68 65 20 65 6e 76 les>..."Set.VARIABLES.in.the.env
ae80 69 72 6f 6e 6d 65 6e 74 20 61 6e 64 20 65 78 65 63 75 74 65 20 42 4f 44 59 2e 0a 56 41 52 49 41 ironment.and.execute.BODY..VARIA
aea0 42 4c 45 53 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 76 61 72 69 61 62 6c 65 20 73 65 74 74 69 BLES.is.a.list.of.variable.setti
aec0 6e 67 73 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 28 56 41 52 20 56 41 4c 55 45 29 2c 0a 77 68 65 ngs.of.the.form.(VAR.VALUE),.whe
aee0 72 65 20 56 41 52 20 69 73 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 76 61 72 69 61 62 re.VAR.is.the.name.of.the.variab
af00 6c 65 20 28 61 20 73 74 72 69 6e 67 29 20 61 6e 64 20 56 41 4c 55 45 0a 69 73 20 69 74 73 20 76 le.(a.string).and.VALUE.is.its.v
af20 61 6c 75 65 20 28 61 6c 73 6f 20 61 20 73 74 72 69 6e 67 29 2e 0a 0a 54 68 65 20 70 72 65 76 69 alue.(also.a.string)...The.previ
af40 6f 75 73 20 76 61 6c 75 65 73 20 77 69 6c 6c 20 62 65 20 62 65 20 72 65 73 74 6f 72 65 64 20 75 ous.values.will.be.be.restored.u
af60 70 6f 6e 20 65 78 69 74 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 pon.exit."...(declare.(indent.1)
af80 20 28 64 65 62 75 67 20 28 73 65 78 70 20 62 6f 64 79 29 29 29 0a 20 20 28 75 6e 6c 65 73 73 20 .(debug.(sexp.body)))...(unless.
afa0 28 63 6f 6e 73 70 20 76 61 72 69 61 62 6c 65 73 29 0a 20 20 20 20 28 65 72 72 6f 72 20 22 49 6e (consp.variables).....(error."In
afc0 76 61 6c 69 64 20 56 41 52 49 41 42 4c 45 53 3a 20 25 73 22 20 76 61 72 69 61 62 6c 65 73 29 29 valid.VARIABLES:.%s".variables))
afe0 0a 20 20 60 28 6c 65 74 20 28 28 70 72 6f 63 65 73 73 2d 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 28 ...`(let.((process-environment.(
b000 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 70 72 6f 63 65 73 73 2d 65 6e 76 69 72 6f 6e 6d 65 6e copy-sequence.process-environmen
b020 74 29 29 29 0a 20 20 20 20 20 2c 40 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 65 6c 65 t)))......,@(mapcar.(lambda.(ele
b040 6d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 73 65 74 65 6e 76 20 2c 28 63 m)..................`(setenv.,(c
b060 61 72 20 65 6c 65 6d 29 20 2c 28 63 61 64 72 20 65 6c 65 6d 29 29 29 0a 20 20 20 20 20 20 20 20 ar.elem).,(cadr.elem))).........
b080 20 20 20 20 20 20 20 76 61 72 69 61 62 6c 65 73 29 0a 20 20 20 20 20 2c 40 62 6f 64 79 29 29 0a .......variables)......,@body)).
b0a0 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 74 69 6d 65 2d 64 61 74 61 2e 65 6c 0a 0a 28 .;;;;.Defined.in.time-data.el..(
b0c0 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 70 65 72 69 6f 64 compat-defun.decoded-time-period
b0e0 20 28 74 69 6d 65 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 64 65 63 6f 64 65 64 .(time).;;.<compat-tests:decoded
b100 2d 74 69 6d 65 2d 70 65 72 69 6f 64 3e 0a 20 20 22 49 6e 74 65 72 70 72 65 74 20 44 45 43 4f 44 -time-period>..."Interpret.DECOD
b120 45 44 20 61 73 20 61 20 70 65 72 69 6f 64 20 61 6e 64 20 72 65 74 75 72 6e 20 69 74 73 20 6c 65 ED.as.a.period.and.return.its.le
b140 6e 67 74 68 20 69 6e 20 73 65 63 6f 6e 64 73 2e 0a 46 6f 72 20 63 6f 6d 70 75 74 61 74 69 6f 6e ngth.in.seconds..For.computation
b160 61 6c 20 70 75 72 70 6f 73 65 73 2c 20 79 65 61 72 73 20 61 72 65 20 33 36 35 20 64 61 79 73 20 al.purposes,.years.are.365.days.
b180 6c 6f 6e 67 20 61 6e 64 20 6d 6f 6e 74 68 73 0a 61 72 65 20 33 30 20 64 61 79 73 20 6c 6f 6e 67 long.and.months.are.30.days.long
b1a0 2e 22 0a 20 20 3a 66 65 61 74 75 72 65 20 74 69 6d 65 2d 64 61 74 65 0a 20 20 28 2b 20 28 69 66 ."...:feature.time-date...(+.(if
b1c0 20 28 63 6f 6e 73 70 20 28 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 73 65 63 6f 6e 64 20 74 69 6d .(consp.(decoded-time-second.tim
b1e0 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 2f 20 28 66 6c 6f 61 74 20 28 63 61 72 20 28 64 65 63 e))..........(/.(float.(car.(dec
b200 6f 64 65 64 2d 74 69 6d 65 2d 73 65 63 6f 6e 64 20 74 69 6d 65 29 29 29 0a 20 20 20 20 20 20 20 oded-time-second.time)))........
b220 20 20 20 20 20 28 63 64 72 20 28 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 73 65 63 6f 6e 64 20 74 .....(cdr.(decoded-time-second.t
b240 69 6d 65 29 29 29 0a 20 20 20 20 20 20 20 28 6f 72 20 28 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d ime)))........(or.(decoded-time-
b260 73 65 63 6f 6e 64 20 74 69 6d 65 29 20 30 29 29 0a 20 20 20 20 20 28 2a 20 28 6f 72 20 28 64 65 second.time).0))......(*.(or.(de
b280 63 6f 64 65 64 2d 74 69 6d 65 2d 6d 69 6e 75 74 65 20 74 69 6d 65 29 20 30 29 20 36 30 29 0a 20 coded-time-minute.time).0).60)..
b2a0 20 20 20 20 28 2a 20 28 6f 72 20 28 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 68 6f 75 72 20 74 69 ....(*.(or.(decoded-time-hour.ti
b2c0 6d 65 29 20 30 29 20 36 30 20 36 30 29 0a 20 20 20 20 20 28 2a 20 28 6f 72 20 28 64 65 63 6f 64 me).0).60.60)......(*.(or.(decod
b2e0 65 64 2d 74 69 6d 65 2d 64 61 79 20 74 69 6d 65 29 20 30 29 20 36 30 20 36 30 20 32 34 29 0a 20 ed-time-day.time).0).60.60.24)..
b300 20 20 20 20 28 2a 20 28 6f 72 20 28 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 6d 6f 6e 74 68 20 74 ....(*.(or.(decoded-time-month.t
b320 69 6d 65 29 20 30 29 20 36 30 20 36 30 20 32 34 20 33 30 29 0a 20 20 20 20 20 28 2a 20 28 6f 72 ime).0).60.60.24.30)......(*.(or
b340 20 28 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 79 65 61 72 20 74 69 6d 65 29 20 30 29 20 36 30 20 .(decoded-time-year.time).0).60.
b360 36 30 20 32 34 20 33 36 35 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 64 6f 60.24.365)))..;;;;.Defined.in.do
b380 63 2e 63 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 74 65 78 74 2d 71 75 6f 74 69 6e 67 2d c.c..(compat-defun.text-quoting-
b3a0 73 74 79 6c 65 20 28 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 74 65 78 74 2d 71 style.().;;.<compat-tests:text-q
b3c0 75 6f 74 69 6e 67 2d 73 74 79 6c 65 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 63 75 72 72 uoting-style>..."Return.the.curr
b3e0 65 6e 74 20 65 66 66 65 63 74 69 76 65 20 74 65 78 74 20 71 75 6f 74 69 6e 67 20 73 74 79 6c 65 ent.effective.text.quoting.style
b400 2e 0a 49 66 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 74 65 78 74 2d 71 75 6f 74 69 6e 67 2d ..If.the.variable.`text-quoting-
b420 73 74 79 6c 65 27 20 69 73 20 60 67 72 61 76 65 27 2c 20 60 73 74 72 61 69 67 68 74 27 20 6f 72 style'.is.`grave',.`straight'.or
b440 0a 60 63 75 72 76 65 27 2c 20 6a 75 73 74 20 72 65 74 75 72 6e 20 74 68 61 74 20 76 61 6c 75 65 .`curve',.just.return.that.value
b460 2e 20 20 49 66 20 69 74 20 69 73 20 6e 69 6c 20 28 74 68 65 20 64 65 66 61 75 6c 74 29 2c 20 72 ...If.it.is.nil.(the.default),.r
b480 65 74 75 72 6e 0a 60 67 72 61 76 65 27 20 69 66 20 63 75 72 76 65 64 20 71 75 6f 74 65 73 20 63 eturn.`grave'.if.curved.quotes.c
b4a0 61 6e 6e 6f 74 20 62 65 20 64 69 73 70 6c 61 79 65 64 20 28 66 6f 72 20 69 6e 73 74 61 6e 63 65 annot.be.displayed.(for.instance
b4c0 2c 20 6f 6e 20 61 0a 74 65 72 6d 69 6e 61 6c 20 77 69 74 68 20 6e 6f 20 73 75 70 70 6f 72 74 20 ,.on.a.terminal.with.no.support.
b4e0 66 6f 72 20 74 68 65 73 65 20 63 68 61 72 61 63 74 65 72 73 29 2c 20 6f 74 68 65 72 77 69 73 65 for.these.characters),.otherwise
b500 20 72 65 74 75 72 6e 0a 60 71 75 6f 74 65 27 2e 20 20 41 6e 79 20 6f 74 68 65 72 20 76 61 6c 75 .return.`quote'...Any.other.valu
b520 65 20 69 73 20 74 72 65 61 74 65 64 20 61 73 20 60 67 72 61 76 65 27 2e 0a 0a 4e 6f 74 65 20 74 e.is.treated.as.`grave'...Note.t
b540 68 61 74 20 69 6e 20 63 6f 6e 74 72 61 73 74 20 74 6f 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 hat.in.contrast.to.the.variable.
b560 60 74 65 78 74 2d 71 75 6f 74 69 6e 67 2d 73 74 79 6c 65 27 2c 20 74 68 69 73 0a 66 75 6e 63 74 `text-quoting-style',.this.funct
b580 69 6f 6e 20 77 69 6c 6c 20 6e 65 76 65 72 20 72 65 74 75 72 6e 20 6e 69 6c 2e 22 0a 20 20 28 63 ion.will.never.return.nil."...(c
b5a0 6f 6e 64 0a 20 20 20 28 28 6d 65 6d 71 20 74 65 78 74 2d 71 75 6f 74 69 6e 67 2d 73 74 79 6c 65 ond....((memq.text-quoting-style
b5c0 20 27 28 67 72 61 76 65 20 73 74 72 61 69 67 68 74 20 63 75 72 76 65 29 29 0a 20 20 20 20 74 65 .'(grave.straight.curve)).....te
b5e0 78 74 2d 71 75 6f 74 69 6e 67 2d 73 74 79 6c 65 29 0a 20 20 20 28 28 6e 6f 74 20 74 65 78 74 2d xt-quoting-style)....((not.text-
b600 71 75 6f 74 69 6e 67 2d 73 74 79 6c 65 29 20 27 67 72 61 76 65 29 0a 20 20 20 28 74 20 27 63 75 quoting-style).'grave)....(t.'cu
b620 72 76 65 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 62 75 74 74 6f 6e 2e 65 rve)))..;;;;.Defined.in.button.e
b640 6c 0a 0a 3b 3b 20 4f 62 73 6f 6c 65 74 65 20 41 6c 69 61 73 20 73 69 6e 63 65 20 32 39 0a 28 63 l..;;.Obsolete.Alias.since.29.(c
b660 6f 6d 70 61 74 2d 64 65 66 61 6c 69 61 73 20 62 75 74 74 6f 6e 2d 62 75 74 74 6f 6e 69 7a 65 20 ompat-defalias.button-buttonize.
b680 62 75 74 74 6f 6e 69 7a 65 20 3a 6f 62 73 6f 6c 65 74 65 20 74 29 20 3b 3b 20 3c 63 6f 6d 70 61 buttonize.:obsolete.t).;;.<compa
b6a0 74 2d 74 65 73 74 73 3a 6f 62 73 6f 6c 65 74 65 2d 62 75 74 74 6f 6e 2d 62 75 74 74 6f 6e 69 7a t-tests:obsolete-button-buttoniz
b6c0 65 3e 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 77 69 64 2d 65 64 69 74 2e 65 6c 0a e>..;;;;.Defined.in.wid-edit.el.
b6e0 0a 28 63 6f 6d 70 61 74 2d 67 75 61 72 64 20 74 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 .(compat-guard.t.;;.<compat-test
b700 73 3a 77 69 64 67 65 74 2d 6e 61 74 6e 75 6d 3e 0a 20 20 3a 66 65 61 74 75 72 65 20 77 69 64 2d s:widget-natnum>...:feature.wid-
b720 65 64 69 74 0a 20 20 28 64 65 66 69 6e 65 2d 77 69 64 67 65 74 20 27 6e 61 74 6e 75 6d 20 27 72 edit...(define-widget.'natnum.'r
b740 65 73 74 72 69 63 74 65 64 2d 73 65 78 70 0a 20 20 20 20 22 41 20 6e 6f 6e 6e 65 67 61 74 69 76 estricted-sexp....."A.nonnegativ
b760 65 20 69 6e 74 65 67 65 72 2e 22 0a 20 20 20 20 3a 74 61 67 20 22 49 6e 74 65 67 65 72 20 28 70 e.integer.".....:tag."Integer.(p
b780 6f 73 69 74 69 76 65 29 22 0a 20 20 20 20 3a 76 61 6c 75 65 20 30 0a 20 20 20 20 3a 74 79 70 65 ositive)".....:value.0.....:type
b7a0 2d 65 72 72 6f 72 20 22 54 68 69 73 20 66 69 65 6c 64 20 73 68 6f 75 6c 64 20 63 6f 6e 74 61 69 -error."This.field.should.contai
b7c0 6e 20 61 20 6e 6f 6e 6e 65 67 61 74 69 76 65 20 69 6e 74 65 67 65 72 22 0a 20 20 20 20 3a 6d 61 n.a.nonnegative.integer".....:ma
b7e0 74 63 68 2d 61 6c 74 65 72 6e 61 74 69 76 65 73 20 27 28 6e 61 74 6e 75 6d 70 29 29 29 0a 0a 28 tch-alternatives.'(natnump)))..(
b800 70 72 6f 76 69 64 65 20 27 63 6f 6d 70 61 74 2d 32 38 29 0a 3b 3b 3b 20 63 6f 6d 70 61 74 2d 32 provide.'compat-28).;;;.compat-2
b820 38 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 8.el.ends.here..................
b840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
b9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ba00 63 6f 6d 70 61 74 2d 33 30 2e 30 2e 30 2e 30 2f 63 6f 6d 70 61 74 2d 6d 61 63 73 2e 65 6c 00 00 compat-30.0.0.0/compat-macs.el..
ba20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ba40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ba60 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
ba80 30 30 32 37 30 30 33 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 34 30 32 00 20 30 00 00 00 0027003.00000000000.014402..0...
baa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bb00 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...................
bb20 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...................
bb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bc00 3b 3b 3b 20 63 6f 6d 70 61 74 2d 6d 61 63 73 2e 65 6c 20 2d 2d 2d 20 43 6f 6d 70 61 74 69 62 69 ;;;.compat-macs.el.---.Compatibi
bc20 6c 69 74 79 20 4d 61 63 72 6f 73 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a lity.Macros.-*-.lexical-binding:
bc40 20 74 3b 20 6e 6f 2d 62 79 74 65 2d 63 6f 6d 70 69 6c 65 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 .t;.no-byte-compile:.t;.-*-..;;.
bc60 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 32 31 2d 32 30 32 34 20 46 72 65 65 20 53 6f 66 Copyright.(C).2021-2024.Free.Sof
bc80 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 54 68 69 73 20 tware.Foundation,.Inc...;;.This.
bca0 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 program.is.free.software;.you.ca
bcc0 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a n.redistribute.it.and/or.modify.
bce0 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 ;;.it.under.the.terms.of.the.GNU
bd00 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 .General.Public.License.as.publi
bd20 73 68 65 64 20 62 79 0a 3b 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 shed.by.;;.the.Free.Software.Fou
bd40 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 ndation,.either.version.3.of.the
bd60 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 .License,.or.;;.(at.your.option)
bd80 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f .any.later.version...;;.This.pro
bda0 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 gram.is.distributed.in.the.hope.
bdc0 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 that.it.will.be.useful,.;;.but.W
bde0 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 ITHOUT.ANY.WARRANTY;.without.eve
be00 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 n.the.implied.warranty.of.;;.MER
be20 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 CHANTABILITY.or.FITNESS.FOR.A.PA
be40 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e RTICULAR.PURPOSE...See.the.;;.GN
be60 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 66 6f 72 20 6d 6f 72 U.General.Public.License.for.mor
be80 65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 e.details...;;.You.should.have.r
bea0 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 eceived.a.copy.of.the.GNU.Genera
bec0 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 l.Public.License.;;.along.with.t
bee0 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 his.program...If.not,.see.<https
bf00 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 2e 0a 0a 3b 3b 3b 20 ://www.gnu.org/licenses/>...;;;.
bf20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 57 41 52 4e 49 4e 47 3a 20 54 68 69 73 20 66 69 Commentary:..;;.WARNING:.This.fi
bf40 6c 65 20 70 72 6f 76 69 64 65 73 20 2a 69 6e 74 65 72 6e 61 6c 2a 20 6d 61 63 72 6f 73 2e 20 20 le.provides.*internal*.macros...
bf60 54 68 65 20 6d 61 63 72 6f 73 20 61 72 65 20 75 73 65 64 0a 3b 3b 20 62 79 20 43 6f 6d 70 61 74 The.macros.are.used.;;.by.Compat
bf80 20 74 6f 20 66 61 63 69 6c 69 74 61 74 65 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 .to.facilitate.the.definition.of
bfa0 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 73 2c 0a 3b 3b 20 63 6f 6d .compatibility.functions,.;;.com
bfc0 70 61 74 69 62 69 6c 69 74 79 20 6d 61 63 72 6f 73 20 61 6e 64 20 63 6f 6d 70 61 74 69 62 69 6c patibility.macros.and.compatibil
bfe0 69 74 79 20 76 61 72 69 61 62 6c 65 73 2e 20 20 54 68 65 0a 3b 3b 20 60 63 6f 6d 70 61 74 2d 6d ity.variables...The.;;.`compat-m
c000 61 63 73 27 20 66 65 61 74 75 72 65 20 73 68 6f 75 6c 64 20 6e 65 76 65 72 20 62 65 20 6c 6f 61 acs'.feature.should.never.be.loa
c020 64 65 64 20 61 74 20 72 75 6e 74 69 6d 65 20 69 6e 20 79 6f 75 72 0a 3b 3b 20 45 6d 61 63 73 20 ded.at.runtime.in.your.;;.Emacs.
c040 61 6e 64 20 77 69 6c 6c 20 6f 6e 6c 79 20 62 65 20 75 73 65 64 20 64 75 72 69 6e 67 20 62 79 74 and.will.only.be.used.during.byt
c060 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2e 20 20 45 76 65 72 79 0a 3b 3b 20 64 65 66 69 6e 69 74 e.compilation...Every.;;.definit
c080 69 6f 6e 20 70 72 6f 76 69 64 65 64 20 68 65 72 65 20 69 73 20 69 6e 74 65 72 6e 61 6c 2c 20 6d ion.provided.here.is.internal,.m
c0a0 61 79 20 63 68 61 6e 67 65 20 61 6e 79 20 74 69 6d 65 20 62 65 74 77 65 65 6e 0a 3b 3b 20 43 6f ay.change.any.time.between.;;.Co
c0c0 6d 70 61 74 20 72 65 6c 65 61 73 65 73 20 61 6e 64 20 6d 75 73 74 20 6e 6f 74 20 62 65 20 75 73 mpat.releases.and.must.not.be.us
c0e0 65 64 20 62 79 20 6f 74 68 65 72 20 70 61 63 6b 61 67 65 73 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a ed.by.other.packages...;;;.Code:
c100 0a 0a 3b 3b 20 57 65 20 61 6c 77 61 79 73 20 72 65 71 75 69 72 65 20 73 75 62 72 2d 78 20 61 74 ..;;.We.always.require.subr-x.at
c120 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 20 66 6f 72 20 74 68 65 20 66 62 6f 75 6e 64 70 20 63 68 .compile.time.for.the.fboundp.ch
c140 65 63 6b 0a 3b 3b 20 73 69 6e 63 65 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 68 61 76 65 20 62 65 eck.;;.since.definitions.have.be
c160 65 6e 20 6d 6f 76 65 64 20 61 72 6f 75 6e 64 2e 20 54 68 65 20 63 6c 2d 6c 69 62 20 6d 61 63 72 en.moved.around..The.cl-lib.macr
c180 6f 73 20 61 72 65 0a 3b 3b 20 6e 65 65 64 65 64 20 62 79 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 os.are.;;.needed.by.compatibilit
c1a0 79 20 64 65 66 69 6e 69 74 69 6f 6e 73 2e 0a 28 72 65 71 75 69 72 65 20 27 73 75 62 72 2d 78 29 y.definitions..(require.'subr-x)
c1c0 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6c 69 62 29 0a 0a 28 64 65 66 76 61 72 20 63 6f 6d 70 .(require.'cl-lib)..(defvar.comp
c1e0 61 74 2d 6d 61 63 73 2d 2d 76 65 72 73 69 6f 6e 20 6e 69 6c 0a 20 20 22 56 65 72 73 69 6f 6e 20 at-macs--version.nil..."Version.
c200 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 6c 79 20 64 65 66 69 6e 65 64 20 63 6f 6d 70 61 74 69 of.the.currently.defined.compati
c220 62 69 6c 69 74 79 20 64 65 66 69 6e 69 74 69 6f 6e 73 2e 22 29 0a 0a 28 64 65 66 75 6e 20 63 6f bility.definitions.")..(defun.co
c240 6d 70 61 74 2d 6d 61 63 73 2d 2d 73 74 72 69 63 74 20 28 63 6f 6e 64 20 26 72 65 73 74 20 65 72 mpat-macs--strict.(cond.&rest.er
c260 72 6f 72 29 0a 20 20 22 41 73 73 65 72 74 20 73 74 72 69 63 74 20 43 4f 4e 44 2c 20 6f 74 68 65 ror)..."Assert.strict.COND,.othe
c280 72 77 69 73 65 20 66 61 69 6c 20 77 69 74 68 20 45 52 52 4f 52 2e 22 0a 20 20 28 77 68 65 6e 20 rwise.fail.with.ERROR."...(when.
c2a0 28 62 6f 75 6e 64 2d 61 6e 64 2d 74 72 75 65 2d 70 20 63 6f 6d 70 61 74 2d 73 74 72 69 63 74 29 (bound-and-true-p.compat-strict)
c2c0 0a 20 20 20 20 28 61 70 70 6c 79 20 23 27 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d 61 73 73 65 72 .....(apply.#'compat-macs--asser
c2e0 74 20 63 6f 6e 64 20 65 72 72 6f 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 6f 6d 70 61 74 2d 6d t.cond.error)))..(defun.compat-m
c300 61 63 73 2d 2d 61 73 73 65 72 74 20 28 63 6f 6e 64 20 26 72 65 73 74 20 65 72 72 6f 72 29 0a 20 acs--assert.(cond.&rest.error)..
c320 20 22 41 73 73 65 72 74 20 43 4f 4e 44 2c 20 6f 74 68 65 72 77 69 73 65 20 66 61 69 6c 20 77 69 ."Assert.COND,.otherwise.fail.wi
c340 74 68 20 45 52 52 4f 52 2e 22 0a 20 20 28 75 6e 6c 65 73 73 20 63 6f 6e 64 20 28 61 70 70 6c 79 th.ERROR."...(unless.cond.(apply
c360 20 23 27 65 72 72 6f 72 20 65 72 72 6f 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 6f 6d 70 61 74 .#'error.error)))..(defun.compat
c380 2d 6d 61 63 73 2d 2d 64 6f 63 73 74 72 69 6e 67 20 28 74 79 70 65 20 6e 61 6d 65 20 64 6f 63 73 -macs--docstring.(type.name.docs
c3a0 74 72 69 6e 67 29 0a 20 20 22 46 6f 72 6d 61 74 20 44 4f 43 53 54 52 49 4e 47 20 66 6f 72 20 4e tring)..."Format.DOCSTRING.for.N
c3c0 41 4d 45 20 6f 66 20 54 59 50 45 2e 0a 50 72 65 70 65 6e 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 AME.of.TYPE..Prepend.compatibili
c3e0 74 79 20 6e 6f 74 69 63 65 20 74 6f 20 74 68 65 20 61 63 74 75 61 6c 20 64 6f 63 75 6d 65 6e 74 ty.notice.to.the.actual.document
c400 61 74 69 6f 6e 20 73 74 72 69 6e 67 2e 22 0a 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 ation.string."...(with-temp-buff
c420 65 72 0a 20 20 20 20 28 69 6e 73 65 72 74 0a 20 20 20 20 20 28 66 6f 72 6d 61 74 0a 20 20 20 20 er.....(insert......(format.....
c440 20 20 22 5b 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 25 73 20 66 6f 72 20 60 25 73 27 2c 20 64 .."[Compatibility.%s.for.`%s',.d
c460 65 66 69 6e 65 64 20 69 6e 20 45 6d 61 63 73 20 25 73 2e 20 5c 0a 53 65 65 20 28 63 6f 6d 70 61 efined.in.Emacs.%s..\.See.(compa
c480 74 29 20 45 6d 61 63 73 20 25 73 27 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 5d 5c t).Emacs.%s'.for.more.details.]\
c4a0 6e 5c 6e 25 73 22 0a 20 20 20 20 20 20 74 79 70 65 20 6e 61 6d 65 20 63 6f 6d 70 61 74 2d 6d 61 n\n%s".......type.name.compat-ma
c4c0 63 73 2d 2d 76 65 72 73 69 6f 6e 20 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d 76 65 72 73 69 6f 6e cs--version.compat-macs--version
c4e0 20 64 6f 63 73 74 72 69 6e 67 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 66 69 6c 6c 2d 63 6f 6c .docstring)).....(let.((fill-col
c500 75 6d 6e 20 38 30 29 29 0a 20 20 20 20 20 20 28 66 69 6c 6c 2d 72 65 67 69 6f 6e 20 28 70 6f 69 umn.80)).......(fill-region.(poi
c520 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a 20 20 20 20 28 62 75 66 66 65 nt-min).(point-max))).....(buffe
c540 72 2d 73 74 72 69 6e 67 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 6f 6d 70 61 74 2d 6d 61 63 73 2d r-string)))..(defun.compat-macs-
c560 2d 63 68 65 63 6b 2d 61 74 74 72 69 62 75 74 65 73 20 28 61 74 74 72 73 20 70 72 65 64 73 29 0a -check-attributes.(attrs.preds).
c580 20 20 22 43 68 65 63 6b 20 41 54 54 52 53 20 67 69 76 65 6e 20 50 52 45 44 53 20 70 72 65 64 69 .."Check.ATTRS.given.PREDS.predi
c5a0 63 61 74 65 20 70 6c 69 73 74 20 61 6e 64 20 72 65 74 75 72 6e 20 72 65 73 74 2e 22 0a 20 20 28 cate.plist.and.return.rest."...(
c5c0 77 68 69 6c 65 20 28 6b 65 79 77 6f 72 64 70 20 28 63 61 72 20 61 74 74 72 73 29 29 0a 20 20 20 while.(keywordp.(car.attrs))....
c5e0 20 28 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d 61 73 73 65 72 74 20 28 63 64 72 20 61 74 74 72 73 .(compat-macs--assert.(cdr.attrs
c600 29 20 22 41 74 74 72 69 62 75 74 65 20 6c 69 73 74 20 6c 65 6e 67 74 68 20 69 73 20 6f 64 64 22 )."Attribute.list.length.is.odd"
c620 29 0a 20 20 20 20 28 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d 61 73 73 65 72 74 20 28 6c 65 74 20 ).....(compat-macs--assert.(let.
c640 28 28 70 20 28 70 6c 69 73 74 2d 67 65 74 20 70 72 65 64 73 20 28 63 61 72 20 61 74 74 72 73 29 ((p.(plist-get.preds.(car.attrs)
c660 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 )))............................(
c680 61 6e 64 20 70 20 28 6f 72 20 28 65 71 20 70 20 74 29 20 28 66 75 6e 63 61 6c 6c 20 70 20 28 63 and.p.(or.(eq.p.t).(funcall.p.(c
c6a0 61 64 72 20 61 74 74 72 73 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 adr.attrs)))))..................
c6c0 20 20 20 20 20 20 20 20 22 49 6e 76 61 6c 69 64 20 61 74 74 72 69 62 75 74 65 20 25 73 22 20 28 ........"Invalid.attribute.%s".(
c6e0 63 61 72 20 61 74 74 72 73 29 29 0a 20 20 20 20 28 73 65 74 71 20 61 74 74 72 73 20 28 63 64 64 car.attrs)).....(setq.attrs.(cdd
c700 72 20 61 74 74 72 73 29 29 29 0a 20 20 61 74 74 72 73 29 0a 0a 28 64 65 66 75 6e 20 63 6f 6d 70 r.attrs)))...attrs)..(defun.comp
c720 61 74 2d 6d 61 63 73 2d 2d 67 75 61 72 64 20 28 61 74 74 72 73 20 70 72 65 64 73 20 66 75 6e 29 at-macs--guard.(attrs.preds.fun)
c740 0a 20 20 22 47 75 61 72 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 64 65 66 69 6e 69 74 69 ..."Guard.compatibility.definiti
c760 6f 6e 20 67 65 6e 65 72 61 74 69 6f 6e 2e 0a 54 68 65 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 on.generation..The.version.const
c780 72 61 69 6e 74 73 20 73 70 65 63 69 66 69 65 64 20 62 79 20 41 54 54 52 53 20 61 72 65 20 63 68 raints.specified.by.ATTRS.are.ch
c7a0 65 63 6b 65 64 2e 20 20 50 52 45 44 53 20 69 73 0a 61 20 70 6c 69 73 74 20 6f 66 20 70 72 65 64 ecked...PREDS.is.a.plist.of.pred
c7c0 69 63 61 74 65 73 20 66 6f 72 20 61 72 67 75 6d 65 6e 74 73 20 77 68 69 63 68 20 61 72 65 20 70 icates.for.arguments.which.are.p
c7e0 61 73 73 65 64 20 74 6f 20 46 55 4e 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e assed.to.FUN."...(declare.(inden
c800 74 20 32 29 29 0a 20 20 28 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d 61 73 73 65 72 74 20 63 6f 6d t.2))...(compat-macs--assert.com
c820 70 61 74 2d 6d 61 63 73 2d 2d 76 65 72 73 69 6f 6e 20 22 4e 6f 20 60 63 6f 6d 70 61 74 2d 76 65 pat-macs--version."No.`compat-ve
c840 72 73 69 6f 6e 27 20 77 61 73 20 64 65 63 6c 61 72 65 64 22 29 0a 20 20 28 6c 65 74 2a 20 28 28 rsion'.was.declared")...(let*.((
c860 62 6f 64 79 20 28 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d 63 68 65 63 6b 2d 61 74 74 72 69 62 75 body.(compat-macs--check-attribu
c880 74 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 74 74 72 73 20 60 28 2c 40 70 72 tes.................attrs.`(,@pr
c8a0 65 64 73 20 3a 66 65 61 74 75 72 65 20 73 79 6d 62 6f 6c 70 29 29 29 0a 20 20 20 20 20 20 20 20 eds.:feature.symbolp))).........
c8c0 20 28 66 65 61 74 75 72 65 20 28 70 6c 69 73 74 2d 67 65 74 20 61 74 74 72 73 20 3a 66 65 61 74 .(feature.(plist-get.attrs.:feat
c8e0 75 72 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 61 74 74 72 73 20 60 28 3a 62 6f 64 79 20 2c 62 ure))..........(attrs.`(:body.,b
c900 6f 64 79 20 2c 40 61 74 74 72 73 29 29 0a 20 20 20 20 20 20 20 20 20 61 72 67 73 29 0a 20 20 20 ody.,@attrs))..........args)....
c920 20 3b 3b 20 52 65 71 75 69 72 65 20 66 65 61 74 75 72 65 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 .;;.Require.feature.at.compile.t
c940 69 6d 65 0a 20 20 20 20 28 77 68 65 6e 20 66 65 61 74 75 72 65 0a 20 20 20 20 20 20 28 63 6f 6d ime.....(when.feature.......(com
c960 70 61 74 2d 6d 61 63 73 2d 2d 61 73 73 65 72 74 20 28 6e 6f 74 20 28 65 71 20 66 65 61 74 75 72 pat-macs--assert.(not.(eq.featur
c980 65 20 27 73 75 62 72 2d 78 29 29 20 22 49 6e 76 61 6c 69 64 20 66 65 61 74 75 72 65 20 73 75 62 e.'subr-x))."Invalid.feature.sub
c9a0 72 2d 78 22 29 0a 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 66 65 61 74 75 72 65 29 29 0a 20 r-x").......(require.feature))..
c9c0 20 20 20 3b 3b 20 54 68 65 20 63 75 72 72 65 6e 74 20 45 6d 61 63 73 20 6d 75 73 74 20 62 65 20 ...;;.The.current.Emacs.must.be.
c9e0 6f 6c 64 65 72 20 74 68 61 6e 20 74 68 65 20 63 75 72 72 65 6e 74 6c 79 20 64 65 63 6c 61 72 65 older.than.the.currently.declare
ca00 64 20 76 65 72 73 69 6f 6e 2e 0a 20 20 20 20 28 77 68 65 6e 20 28 76 65 72 73 69 6f 6e 3c 20 65 d.version......(when.(version<.e
ca20 6d 61 63 73 2d 76 65 72 73 69 6f 6e 20 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d 76 65 72 73 69 6f macs-version.compat-macs--versio
ca40 6e 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 70 72 65 64 73 0a 20 20 20 20 20 20 20 20 28 70 n).......(while.preds.........(p
ca60 75 73 68 20 28 70 6c 69 73 74 2d 67 65 74 20 61 74 74 72 73 20 28 63 61 72 20 70 72 65 64 73 29 ush.(plist-get.attrs.(car.preds)
ca80 29 20 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 72 65 64 73 20 28 63 64 64 ).args).........(setq.preds.(cdd
caa0 72 20 70 72 65 64 73 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 62 6f 64 79 20 28 61 70 70 r.preds))).......(setq.body.(app
cac0 6c 79 20 66 75 6e 20 28 6e 72 65 76 65 72 73 65 20 61 72 67 73 29 29 29 0a 20 20 20 20 20 20 28 ly.fun.(nreverse.args))).......(
cae0 69 66 20 28 61 6e 64 20 66 65 61 74 75 72 65 20 62 6f 64 79 29 0a 20 20 20 20 20 20 20 20 20 20 if.(and.feature.body)...........
cb00 60 28 77 69 74 68 2d 65 76 61 6c 2d 61 66 74 65 72 2d 6c 6f 61 64 20 27 2c 66 65 61 74 75 72 65 `(with-eval-after-load.',feature
cb20 20 2c 40 62 6f 64 79 29 0a 20 20 20 20 20 20 20 20 28 6d 61 63 72 6f 65 78 70 2d 70 72 6f 67 6e .,@body).........(macroexp-progn
cb40 20 62 6f 64 79 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d .body)))))..(defun.compat-macs--
cb60 64 65 66 75 6e 20 28 74 79 70 65 20 6e 61 6d 65 20 61 72 67 6c 69 73 74 20 64 6f 63 73 74 72 69 defun.(type.name.arglist.docstri
cb80 6e 67 20 72 65 73 74 29 0a 20 20 22 44 65 66 69 6e 65 20 66 75 6e 63 74 69 6f 6e 20 4e 41 4d 45 ng.rest)..."Define.function.NAME
cba0 20 6f 66 20 54 59 50 45 20 77 69 74 68 20 41 52 47 4c 49 53 54 20 61 6e 64 20 44 4f 43 53 54 52 .of.TYPE.with.ARGLIST.and.DOCSTR
cbc0 49 4e 47 2e 0a 52 45 53 54 20 61 72 65 20 61 74 74 72 69 62 75 74 65 73 20 61 6e 64 20 74 68 65 ING..REST.are.attributes.and.the
cbe0 20 66 75 6e 63 74 69 6f 6e 20 42 4f 44 59 2e 22 0a 20 20 28 63 6f 6d 70 61 74 2d 6d 61 63 73 2d .function.BODY."...(compat-macs-
cc00 2d 67 75 61 72 64 0a 20 20 20 20 20 72 65 73 74 20 28 6c 69 73 74 20 3a 65 78 74 65 6e 64 65 64 -guard......rest.(list.:extended
cc20 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 6f 72 20 28 62 6f 6f 6c 65 61 6e 70 20 78 29 20 28 76 .(lambda.(x).(or.(booleanp.x).(v
cc40 65 72 73 69 6f 6e 2d 74 6f 2d 6c 69 73 74 20 78 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ersion-to-list.x))).............
cc60 20 20 20 20 3a 6f 62 73 6f 6c 65 74 65 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 6f 72 20 28 62 ....:obsolete.(lambda.(x).(or.(b
cc80 6f 6f 6c 65 61 6e 70 20 78 29 20 28 73 74 72 69 6e 67 70 20 78 29 29 29 0a 20 20 20 20 20 20 20 ooleanp.x).(stringp.x)))........
cca0 20 20 20 20 20 20 20 20 20 3a 62 6f 64 79 20 74 29 0a 20 20 20 20 28 6c 61 6d 62 64 61 20 28 65 .........:body.t).....(lambda.(e
ccc0 78 74 65 6e 64 65 64 20 6f 62 73 6f 6c 65 74 65 20 62 6f 64 79 29 0a 20 20 20 20 20 20 28 77 68 xtended.obsolete.body).......(wh
cce0 65 6e 20 28 73 74 72 69 6e 67 70 20 65 78 74 65 6e 64 65 64 29 0a 20 20 20 20 20 20 20 20 28 63 en.(stringp.extended).........(c
cd00 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d 61 73 73 65 72 74 0a 20 20 20 20 20 20 20 20 20 28 61 6e 64 ompat-macs--assert..........(and
cd20 20 28 76 65 72 73 69 6f 6e 3c 20 65 78 74 65 6e 64 65 64 20 63 6f 6d 70 61 74 2d 6d 61 63 73 2d .(version<.extended.compat-macs-
cd40 2d 76 65 72 73 69 6f 6e 29 20 28 76 65 72 73 69 6f 6e 3c 20 22 32 34 2e 34 22 20 65 78 74 65 6e -version).(version<."24.4".exten
cd60 64 65 64 29 29 0a 20 20 20 20 20 20 20 20 20 22 49 6e 76 61 6c 69 64 20 3a 65 78 74 65 6e 64 65 ded)).........."Invalid.:extende
cd80 64 20 76 65 72 73 69 6f 6e 20 25 73 20 66 6f 72 20 25 73 20 25 73 22 20 65 78 74 65 6e 64 65 64 d.version.%s.for.%s.%s".extended
cda0 20 74 79 70 65 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 65 78 74 65 6e 64 .type.name).........(setq.extend
cdc0 65 64 20 28 76 65 72 73 69 6f 6e 3c 3d 20 65 78 74 65 6e 64 65 64 20 65 6d 61 63 73 2d 76 65 72 ed.(version<=.extended.emacs-ver
cde0 73 69 6f 6e 29 29 29 0a 20 20 20 20 20 20 28 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d 73 74 72 69 sion))).......(compat-macs--stri
ce00 63 74 20 28 65 71 20 65 78 74 65 6e 64 65 64 20 28 66 62 6f 75 6e 64 70 20 6e 61 6d 65 29 29 0a ct.(eq.extended.(fboundp.name)).
ce20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 57 72 6f 6e ..........................."Wron
ce40 67 20 3a 65 78 74 65 6e 64 65 64 20 66 6c 61 67 20 66 6f 72 20 25 73 20 25 73 22 20 74 79 70 65 g.:extended.flag.for.%s.%s".type
ce60 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 3b 3b 20 52 65 6d 6f 76 65 20 75 6e 73 75 70 70 6f 72 74 .name).......;;.Remove.unsupport
ce80 65 64 20 64 65 63 6c 61 72 65 73 2e 20 20 49 74 20 6d 69 67 68 74 20 62 65 20 70 6f 73 73 69 62 ed.declares...It.might.be.possib
cea0 6c 65 20 74 6f 20 73 65 74 20 74 68 65 73 65 0a 20 20 20 20 20 20 3b 3b 20 70 72 6f 70 65 72 74 le.to.set.these.......;;.propert
cec0 69 65 73 20 6f 74 68 65 72 77 69 73 65 2e 20 20 54 68 61 74 20 73 68 6f 75 6c 64 20 62 65 20 6c ies.otherwise...That.should.be.l
cee0 6f 6f 6b 65 64 20 69 6e 74 6f 20 61 6e 64 20 69 6d 70 6c 65 6d 65 6e 74 65 64 0a 20 20 20 20 20 ooked.into.and.implemented......
cf00 20 3b 3b 20 69 66 20 69 74 20 69 73 20 74 68 65 20 63 61 73 65 2e 0a 20 20 20 20 20 20 28 77 68 .;;.if.it.is.the.case........(wh
cf20 65 6e 20 28 61 6e 64 20 28 6c 69 73 74 70 20 28 63 61 72 2d 73 61 66 65 20 62 6f 64 79 29 29 20 en.(and.(listp.(car-safe.body)).
cf40 28 65 71 20 28 63 61 61 72 20 62 6f 64 79 29 20 27 64 65 63 6c 61 72 65 29 20 28 3c 3d 20 65 6d (eq.(caar.body).'declare).(<=.em
cf60 61 63 73 2d 6d 61 6a 6f 72 2d 76 65 72 73 69 6f 6e 20 32 35 29 29 0a 20 20 20 20 20 20 20 20 28 acs-major-version.25)).........(
cf80 73 65 74 63 61 72 20 62 6f 64 79 20 28 61 73 73 71 2d 64 65 6c 65 74 65 2d 61 6c 6c 20 27 70 75 setcar.body.(assq-delete-all.'pu
cfa0 72 65 20 28 61 73 73 71 2d 64 65 6c 65 74 65 2d 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 re.(assq-delete-all.............
cfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
cfe0 20 27 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 28 63 61 72 20 62 6f 64 79 29 29 29 29 .'side-effect-free.(car.body))))
d000 29 0a 20 20 20 20 20 20 3b 3b 20 55 73 65 20 60 3a 65 78 74 65 6e 64 65 64 27 20 6e 61 6d 65 20 ).......;;.Use.`:extended'.name.
d020 69 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 6c 72 65 61 64 79 20 64 65 66 69 6e if.the.function.is.already.defin
d040 65 64 2e 0a 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 64 65 66 6e 61 6d 65 20 28 69 66 20 28 61 ed........(let*.((defname.(if.(a
d060 6e 64 20 65 78 74 65 6e 64 65 64 20 28 66 62 6f 75 6e 64 70 20 6e 61 6d 65 29 29 0a 20 20 20 20 nd.extended.(fboundp.name)).....
d080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 74 65 72 6e 20 28 66 ......................(intern.(f
d0a0 6f 72 6d 61 74 20 22 63 6f 6d 70 61 74 2d 2d 25 73 22 20 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 ormat."compat--%s".name)).......
d0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 ..................name))........
d0e0 20 20 20 20 20 20 28 64 65 66 20 60 28 2c 28 69 66 20 28 6d 65 6d 71 20 27 26 6b 65 79 20 61 72 ......(def.`(,(if.(memq.'&key.ar
d100 67 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 glist)..........................
d120 28 69 66 20 28 65 71 20 74 79 70 65 20 27 6d 61 63 72 6f 29 20 27 63 6c 2d 64 65 66 6d 61 63 72 (if.(eq.type.'macro).'cl-defmacr
d140 6f 20 27 63 6c 2d 64 65 66 75 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 o.'cl-defun)....................
d160 20 20 20 20 28 69 66 20 28 65 71 20 74 79 70 65 20 27 6d 61 63 72 6f 29 20 27 64 65 66 6d 61 63 ....(if.(eq.type.'macro).'defmac
d180 72 6f 20 27 64 65 66 75 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ro.'defun)).....................
d1a0 2c 64 65 66 6e 61 6d 65 20 2c 61 72 67 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ,defname.,arglist...............
d1c0 20 20 20 20 20 20 2c 28 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d 64 6f 63 73 74 72 69 6e 67 20 74 ......,(compat-macs--docstring.t
d1e0 79 70 65 20 6e 61 6d 65 20 64 6f 63 73 74 72 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ype.name.docstring).............
d200 20 20 20 20 20 20 20 20 2c 40 62 6f 64 79 29 29 29 0a 20 20 20 20 20 20 20 20 60 28 2c 40 28 69 ........,@body))).........`(,@(i
d220 66 20 28 65 71 20 64 65 66 6e 61 6d 65 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 f.(eq.defname.name).............
d240 20 20 20 20 3b 3b 20 41 6e 20 61 64 64 69 74 69 6f 6e 61 6c 20 66 62 6f 75 6e 64 70 20 63 68 65 ....;;.An.additional.fboundp.che
d260 63 6b 20 69 73 20 70 65 72 66 6f 72 6d 65 64 20 61 74 20 72 75 6e 74 69 6d 65 20 74 6f 20 6d 61 ck.is.performed.at.runtime.to.ma
d280 6b 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 75 72 65 20 74 68 61 74 20 ke.................;;.sure.that.
d2a0 77 65 20 6e 65 76 65 72 20 72 65 64 65 66 69 6e 65 20 61 6e 20 65 78 69 73 74 69 6e 67 20 64 65 we.never.redefine.an.existing.de
d2c0 66 69 6e 69 74 69 6f 6e 20 69 66 20 43 6f 6d 70 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 finition.if.Compat..............
d2e0 20 20 20 3b 3b 20 69 73 20 6c 6f 61 64 65 64 20 6f 6e 20 61 20 6e 65 77 65 72 20 45 6d 61 63 73 ...;;.is.loaded.on.a.newer.Emacs
d300 20 76 65 72 73 69 6f 6e 2e 20 20 44 65 63 6c 61 72 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 2c .version...Declare.the.function,
d320 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 75 63 68 20 74 68 61 74 20 74 68 .................;;.such.that.th
d340 65 20 62 79 74 65 20 63 6f 6d 70 69 6c 65 72 20 64 6f 65 73 20 6e 6f 74 20 63 6f 6d 70 6c 61 69 e.byte.compiler.does.not.complai
d360 6e 20 61 62 6f 75 74 20 70 6f 73 73 69 62 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n.about.possibly................
d380 20 3b 3b 20 6d 69 73 73 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 20 61 74 20 72 75 6e 74 69 6d 65 .;;.missing.functions.at.runtime
d3a0 2e 20 54 68 65 20 77 61 72 6e 69 6e 67 73 20 61 72 65 20 67 65 6e 65 72 61 74 65 64 20 64 75 65 ..The.warnings.are.generated.due
d3c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 6f 20 74 68 65 20 66 62 6f 75 6e .................;;.to.the.fboun
d3e0 64 70 20 63 68 65 63 6b 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 28 64 65 63 dp.check..................`((dec
d400 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 2c 6e 61 6d 65 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 lare-function.,name.nil)........
d420 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 66 62 6f 75 6e 64 70 20 27 2c 6e 61 ...........(unless.(fboundp.',na
d440 6d 65 29 20 2c 64 65 66 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 64 me).,def))...............(list.d
d460 65 66 29 29 0a 20 20 20 20 20 20 20 20 20 20 2c 40 28 77 68 65 6e 20 6f 62 73 6f 6c 65 74 65 0a ef))...........,@(when.obsolete.
d480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 28 6d 61 6b 65 2d 6f 62 73 6f 6c 65 74 65 0a 20 ..............`((make-obsolete..
d4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 2c 64 65 66 6e 61 6d 65 20 2c 28 69 66 20 28 ................',defname.,(if.(
d4c0 73 74 72 69 6e 67 70 20 6f 62 73 6f 6c 65 74 65 29 20 6f 62 73 6f 6c 65 74 65 20 22 4e 6f 20 73 stringp.obsolete).obsolete."No.s
d4e0 75 62 73 74 69 74 75 74 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 63 6f ubstitute")..................,co
d500 6d 70 61 74 2d 6d 61 63 73 2d 2d 76 65 72 73 69 6f 6e 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 mpat-macs--version))))))))..(def
d520 6d 61 63 72 6f 20 63 6f 6d 70 61 74 2d 67 75 61 72 64 20 28 63 6f 6e 64 20 26 72 65 73 74 20 72 macro.compat-guard.(cond.&rest.r
d540 65 73 74 29 0a 20 20 22 47 75 61 72 64 20 64 65 66 69 6e 69 74 69 6f 6e 20 77 69 74 68 20 61 20 est)..."Guard.definition.with.a.
d560 72 75 6e 74 69 6d 65 20 43 4f 4e 44 20 61 6e 64 20 61 20 76 65 72 73 69 6f 6e 20 63 68 65 63 6b runtime.COND.and.a.version.check
d580 2e 0a 54 68 65 20 72 75 6e 74 69 6d 65 20 63 6f 6e 64 69 74 69 6f 6e 20 6d 75 73 74 20 6d 61 6b ..The.runtime.condition.must.mak
d5a0 65 20 73 75 72 65 20 74 68 61 74 20 6e 6f 20 64 65 66 69 6e 69 74 69 6f 6e 20 69 73 0a 6f 76 65 e.sure.that.no.definition.is.ove
d5c0 72 72 69 64 64 65 6e 2e 20 20 52 45 53 54 20 69 73 20 61 6e 20 61 74 74 72 69 62 75 74 65 20 70 rridden...REST.is.an.attribute.p
d5e0 6c 69 73 74 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 0a list.followed.by.the.definition.
d600 62 6f 64 79 2e 20 20 54 68 65 20 61 74 74 72 69 62 75 74 65 73 20 73 70 65 63 69 66 79 20 74 68 body...The.attributes.specify.th
d620 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 75 6e 64 65 72 20 77 68 69 63 68 20 74 68 65 0a 64 65 66 e.conditions.under.which.the.def
d640 69 6e 69 74 69 6f 6e 20 69 73 20 67 65 6e 65 72 61 74 65 64 2e 0a 0a 2d 20 3a 66 65 61 74 75 72 inition.is.generated...-.:featur
d660 65 20 3a 3a 20 57 72 61 70 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 77 69 74 68 20 60 77 e.::.Wrap.the.definition.with.`w
d680 69 74 68 2d 65 76 61 6c 2d 61 66 74 65 72 2d 6c 6f 61 64 27 20 66 6f 72 0a 20 20 74 68 65 20 67 ith-eval-after-load'.for...the.g
d6a0 69 76 65 6e 20 66 65 61 74 75 72 65 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 iven.feature."...(declare.(debug
d6c0 20 28 5b 26 72 65 73 74 20 6b 65 79 77 6f 72 64 70 20 73 65 78 70 5d 20 64 65 66 2d 62 6f 64 79 .([&rest.keywordp.sexp].def-body
d6e0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 63 6f 6d ))............(indent.1))...(com
d700 70 61 74 2d 6d 61 63 73 2d 2d 67 75 61 72 64 20 72 65 73 74 20 27 28 3a 62 6f 64 79 20 74 29 0a pat-macs--guard.rest.'(:body.t).
d720 20 20 20 20 28 6c 61 6d 62 64 61 20 28 62 6f 64 79 29 0a 20 20 20 20 20 20 28 63 6f 6d 70 61 74 ....(lambda.(body).......(compat
d740 2d 6d 61 63 73 2d 2d 61 73 73 65 72 74 20 62 6f 64 79 20 22 54 68 65 20 67 75 61 72 64 65 64 20 -macs--assert.body."The.guarded.
d760 62 6f 64 79 20 69 73 20 65 6d 70 74 79 22 29 0a 20 20 20 20 20 20 28 69 66 20 28 65 71 20 63 6f body.is.empty").......(if.(eq.co
d780 6e 64 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 62 6f 64 79 0a 20 20 20 20 20 20 20 20 28 63 6f nd.t)...........body.........(co
d7a0 6d 70 61 74 2d 6d 61 63 73 2d 2d 73 74 72 69 63 74 20 28 65 76 61 6c 20 63 6f 6e 64 20 74 29 20 mpat-macs--strict.(eval.cond.t).
d7c0 22 47 75 61 72 64 20 25 53 20 66 61 69 6c 65 64 22 20 63 6f 6e 64 29 0a 20 20 20 20 20 20 20 20 "Guard.%S.failed".cond).........
d7e0 60 28 28 77 68 65 6e 20 2c 63 6f 6e 64 20 2c 40 62 6f 64 79 29 29 29 29 29 29 0a 0a 28 64 65 66 `((when.,cond.,@body))))))..(def
d800 6d 61 63 72 6f 20 63 6f 6d 70 61 74 2d 64 65 66 61 6c 69 61 73 20 28 6e 61 6d 65 20 64 65 66 20 macro.compat-defalias.(name.def.
d820 26 72 65 73 74 20 61 74 74 72 73 29 0a 20 20 22 44 65 66 69 6e 65 20 63 6f 6d 70 61 74 69 62 69 &rest.attrs)..."Define.compatibi
d840 6c 69 74 79 20 61 6c 69 61 73 20 4e 41 4d 45 20 61 73 20 44 45 46 2e 0a 41 54 54 52 53 20 69 73 lity.alias.NAME.as.DEF..ATTRS.is
d860 20 61 20 70 6c 69 73 74 20 6f 66 20 61 74 74 72 69 62 75 74 65 73 2c 20 77 68 69 63 68 20 73 70 .a.plist.of.attributes,.which.sp
d880 65 63 69 66 79 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 0a 75 6e 64 65 72 20 77 68 69 63 68 ecify.the.conditions.under.which
d8a0 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 69 73 20 67 65 6e 65 72 61 74 65 64 2e 0a 0a 2d .the.definition.is.generated...-
d8c0 20 3a 6f 62 73 6f 6c 65 74 65 20 3a 3a 20 4d 61 72 6b 20 74 68 65 20 61 6c 69 61 73 20 61 73 20 .:obsolete.::.Mark.the.alias.as.
d8e0 6f 62 73 6f 6c 65 74 65 20 69 66 20 74 2e 0a 0a 2d 20 3a 66 65 61 74 75 72 65 20 3a 3a 20 53 65 obsolete.if.t...-.:feature.::.Se
d900 65 20 60 63 6f 6d 70 61 74 2d 67 75 61 72 64 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 e.`compat-guard'."...(declare.(d
d920 65 62 75 67 20 28 6e 61 6d 65 20 73 79 6d 62 6f 6c 70 20 5b 26 72 65 73 74 20 6b 65 79 77 6f 72 ebug.(name.symbolp.[&rest.keywor
d940 64 70 20 73 65 78 70 5d 29 29 29 0a 20 20 28 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d 67 75 61 72 dp.sexp])))...(compat-macs--guar
d960 64 20 61 74 74 72 73 20 27 28 3a 6f 62 73 6f 6c 65 74 65 20 62 6f 6f 6c 65 61 6e 70 29 0a 20 20 d.attrs.'(:obsolete.booleanp)...
d980 20 20 28 6c 61 6d 62 64 61 20 28 6f 62 73 6f 6c 65 74 65 29 0a 20 20 20 20 20 20 28 63 6f 6d 70 ..(lambda.(obsolete).......(comp
d9a0 61 74 2d 6d 61 63 73 2d 2d 73 74 72 69 63 74 20 28 6e 6f 74 20 28 66 62 6f 75 6e 64 70 20 6e 61 at-macs--strict.(not.(fboundp.na
d9c0 6d 65 29 29 20 22 25 73 20 61 6c 72 65 61 64 79 20 64 65 66 69 6e 65 64 22 20 6e 61 6d 65 29 0a me))."%s.already.defined".name).
d9e0 20 20 20 20 20 20 3b 3b 20 54 68 65 20 66 62 6f 75 6e 64 70 20 63 68 65 63 6b 20 69 73 20 70 65 ......;;.The.fboundp.check.is.pe
da00 72 66 6f 72 6d 65 64 20 61 74 20 72 75 6e 74 69 6d 65 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 rformed.at.runtime.to.make.sure.
da20 74 68 61 74 20 77 65 20 6e 65 76 65 72 0a 20 20 20 20 20 20 3b 3b 20 72 65 64 65 66 69 6e 65 20 that.we.never.......;;.redefine.
da40 61 6e 20 65 78 69 73 74 69 6e 67 20 64 65 66 69 6e 69 74 69 6f 6e 20 69 66 20 43 6f 6d 70 61 74 an.existing.definition.if.Compat
da60 20 69 73 20 6c 6f 61 64 65 64 20 6f 6e 20 61 20 6e 65 77 65 72 20 45 6d 61 63 73 0a 20 20 20 20 .is.loaded.on.a.newer.Emacs.....
da80 20 20 3b 3b 20 76 65 72 73 69 6f 6e 2e 0a 20 20 20 20 20 20 60 28 28 75 6e 6c 65 73 73 20 28 66 ..;;.version........`((unless.(f
daa0 62 6f 75 6e 64 70 20 27 2c 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 65 66 61 6c 69 boundp.',name)...........(defali
dac0 61 73 20 27 2c 6e 61 6d 65 20 27 2c 64 65 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 63 6f as.',name.',def.............,(co
dae0 6d 70 61 74 2d 6d 61 63 73 2d 2d 64 6f 63 73 74 72 69 6e 67 20 27 66 75 6e 63 74 69 6f 6e 20 6e mpat-macs--docstring.'function.n
db00 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ame.............................
db20 20 20 20 20 28 67 65 74 20 6e 61 6d 65 20 27 66 75 6e 63 74 69 6f 6e 2d 64 6f 63 75 6d 65 6e 74 ....(get.name.'function-document
db40 61 74 69 6f 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 2c 40 28 77 68 65 6e 20 6f 62 73 6f 6c ation)))...........,@(when.obsol
db60 65 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 28 6d 61 6b 65 2d 6f 62 73 6f 6c 65 ete...............`((make-obsole
db80 74 65 20 27 2c 6e 61 6d 65 20 27 2c 64 65 66 20 2c 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d 76 65 te.',name.',def.,compat-macs--ve
dba0 72 73 69 6f 6e 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 63 6f 6d 70 61 74 2d rsion))))))))..(defmacro.compat-
dbc0 64 65 66 75 6e 20 28 6e 61 6d 65 20 61 72 67 6c 69 73 74 20 64 6f 63 73 74 72 69 6e 67 20 26 72 defun.(name.arglist.docstring.&r
dbe0 65 73 74 20 72 65 73 74 29 0a 20 20 22 44 65 66 69 6e 65 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 est.rest)..."Define.compatibilit
dc00 79 20 66 75 6e 63 74 69 6f 6e 20 4e 41 4d 45 20 77 69 74 68 20 61 72 67 75 6d 65 6e 74 73 20 41 y.function.NAME.with.arguments.A
dc20 52 47 4c 49 53 54 2e 0a 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 6d 75 73 74 20 62 65 20 64 6f 63 RGLIST..The.function.must.be.doc
dc40 75 6d 65 6e 74 65 64 20 69 6e 20 44 4f 43 53 54 52 49 4e 47 2e 20 20 52 45 53 54 20 69 73 20 61 umented.in.DOCSTRING...REST.is.a
dc60 6e 0a 61 74 74 72 69 62 75 74 65 20 70 6c 69 73 74 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 74 68 n.attribute.plist.followed.by.th
dc80 65 20 66 75 6e 63 74 69 6f 6e 20 62 6f 64 79 2e 20 20 54 68 65 20 61 74 74 72 69 62 75 74 65 73 e.function.body...The.attributes
dca0 0a 73 70 65 63 69 66 79 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 75 6e 64 65 72 20 77 68 .specify.the.conditions.under.wh
dcc0 69 63 68 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 69 73 20 67 65 6e 65 72 61 74 65 64 2e ich.the.definition.is.generated.
dce0 0a 0a 2d 20 3a 65 78 74 65 6e 64 65 64 20 3a 3a 20 4d 61 72 6b 20 74 68 65 20 66 75 6e 63 74 69 ..-.:extended.::.Mark.the.functi
dd00 6f 6e 20 61 73 20 65 78 74 65 6e 64 65 64 20 69 66 20 74 2e 20 20 54 68 65 20 66 75 6e 63 74 69 on.as.extended.if.t...The.functi
dd20 6f 6e 0a 20 20 6d 75 73 74 20 62 65 20 63 61 6c 6c 65 64 20 65 78 70 6c 69 63 69 74 6c 79 20 76 on...must.be.called.explicitly.v
dd40 69 61 20 60 63 6f 6d 70 61 74 2d 63 61 6c 6c 27 2e 20 20 54 68 69 73 20 61 74 74 72 69 62 75 74 ia.`compat-call'...This.attribut
dd60 65 0a 20 20 73 68 6f 75 6c 64 20 62 65 20 75 73 65 64 20 66 6f 72 20 66 75 6e 63 74 69 6f 6e 73 e...should.be.used.for.functions
dd80 20 77 68 69 63 68 20 65 78 74 65 6e 64 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 69 6e 67 0a 20 .which.extend.already.existing..
dda0 20 66 75 6e 63 74 69 6f 6e 73 2c 20 65 2e 67 2e 2c 20 66 75 6e 63 74 69 6f 6e 73 20 77 68 69 63 .functions,.e.g.,.functions.whic
ddc0 68 20 63 68 61 6e 67 65 64 20 74 68 65 69 72 20 63 61 6c 6c 69 6e 67 0a 20 20 63 6f 6e 76 65 6e h.changed.their.calling...conven
dde0 74 69 6f 6e 20 6f 72 20 74 68 65 69 72 20 62 65 68 61 76 69 6f 72 2e 20 20 54 68 65 20 76 61 6c tion.or.their.behavior...The.val
de00 75 65 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 61 20 76 65 72 73 69 6f 6e 0a 20 20 73 74 72 69 6e ue.can.also.be.a.version...strin
de20 67 2c 20 77 68 69 63 68 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20 45 6d 61 63 73 20 76 65 72 g,.which.specifies.the.Emacs.ver
de40 73 69 6f 6e 20 77 68 65 6e 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 0a 20 20 76 65 72 73 69 6f 6e sion.when.the.original...version
de60 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 69 6e 74 72 6f 64 75 63 65 64 2e .of.the.function.was.introduced.
de80 0a 0a 2d 20 3a 6f 62 73 6f 6c 65 74 65 20 3a 3a 20 4d 61 72 6b 20 74 68 65 20 66 75 6e 63 74 69 ..-.:obsolete.::.Mark.the.functi
dea0 6f 6e 20 61 73 20 6f 62 73 6f 6c 65 74 65 20 69 66 20 74 2c 20 63 61 6e 20 62 65 20 61 0a 20 20 on.as.obsolete.if.t,.can.be.a...
dec0 73 74 72 69 6e 67 20 64 65 73 63 72 69 62 69 6e 67 20 74 68 65 20 6f 62 73 6f 6c 65 74 69 6f 6e string.describing.the.obsoletion
dee0 2e 0a 0a 2d 20 3a 66 65 61 74 75 72 65 20 3a 3a 20 53 65 65 20 60 63 6f 6d 70 61 74 2d 67 75 61 ...-.:feature.::.See.`compat-gua
df00 72 64 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 26 64 65 66 69 6e 65 rd'."...(declare.(debug.(&define
df20 20 6e 61 6d 65 20 28 26 72 65 73 74 20 73 79 6d 62 6f 6c 70 29 0a 20 20 20 20 20 20 20 20 20 20 .name.(&rest.symbolp)...........
df40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 70 0a 20 20 20 20 20 20 20 .................stringp........
df60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 26 72 65 73 74 20 6b 65 79 77 6f ....................[&rest.keywo
df80 72 64 70 20 73 65 78 70 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rdp.sexp].......................
dfa0 20 20 20 20 20 64 65 66 2d 62 6f 64 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 63 2d .....def-body))............(doc-
dfc0 73 74 72 69 6e 67 20 33 29 20 28 69 6e 64 65 6e 74 20 32 29 29 0a 20 20 28 63 6f 6d 70 61 74 2d string.3).(indent.2))...(compat-
dfe0 6d 61 63 73 2d 2d 64 65 66 75 6e 20 27 66 75 6e 63 74 69 6f 6e 20 6e 61 6d 65 20 61 72 67 6c 69 macs--defun.'function.name.argli
e000 73 74 20 64 6f 63 73 74 72 69 6e 67 20 72 65 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 63 st.docstring.rest))..(defmacro.c
e020 6f 6d 70 61 74 2d 64 65 66 6d 61 63 72 6f 20 28 6e 61 6d 65 20 61 72 67 6c 69 73 74 20 64 6f 63 ompat-defmacro.(name.arglist.doc
e040 73 74 72 69 6e 67 20 26 72 65 73 74 20 72 65 73 74 29 0a 20 20 22 44 65 66 69 6e 65 20 63 6f 6d string.&rest.rest)..."Define.com
e060 70 61 74 69 62 69 6c 69 74 79 20 6d 61 63 72 6f 20 4e 41 4d 45 20 77 69 74 68 20 61 72 67 75 6d patibility.macro.NAME.with.argum
e080 65 6e 74 73 20 41 52 47 4c 49 53 54 2e 0a 54 68 65 20 6d 61 63 72 6f 20 6d 75 73 74 20 62 65 20 ents.ARGLIST..The.macro.must.be.
e0a0 64 6f 63 75 6d 65 6e 74 65 64 20 69 6e 20 44 4f 43 53 54 52 49 4e 47 2e 20 20 52 45 53 54 20 69 documented.in.DOCSTRING...REST.i
e0c0 73 20 61 6e 20 61 74 74 72 69 62 75 74 65 0a 70 6c 69 73 74 20 66 6f 6c 6c 6f 77 65 64 20 62 79 s.an.attribute.plist.followed.by
e0e0 20 74 68 65 20 6d 61 63 72 6f 20 62 6f 64 79 2e 20 20 53 65 65 20 60 63 6f 6d 70 61 74 2d 64 65 .the.macro.body...See.`compat-de
e100 66 75 6e 27 20 66 6f 72 0a 64 65 74 61 69 6c 73 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 fun'.for.details."...(declare.(d
e120 65 62 75 67 20 63 6f 6d 70 61 74 2d 64 65 66 75 6e 29 20 28 64 6f 63 2d 73 74 72 69 6e 67 20 33 ebug.compat-defun).(doc-string.3
e140 29 20 28 69 6e 64 65 6e 74 20 32 29 29 0a 20 20 28 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d 64 65 ).(indent.2))...(compat-macs--de
e160 66 75 6e 20 27 6d 61 63 72 6f 20 6e 61 6d 65 20 61 72 67 6c 69 73 74 20 64 6f 63 73 74 72 69 6e fun.'macro.name.arglist.docstrin
e180 67 20 72 65 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 63 6f 6d 70 61 74 2d 64 65 66 76 61 g.rest))..(defmacro.compat-defva
e1a0 72 20 28 6e 61 6d 65 20 69 6e 69 74 76 61 6c 20 64 6f 63 73 74 72 69 6e 67 20 26 72 65 73 74 20 r.(name.initval.docstring.&rest.
e1c0 61 74 74 72 73 29 0a 20 20 22 44 65 66 69 6e 65 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 76 attrs)..."Define.compatibility.v
e1e0 61 72 69 61 62 6c 65 20 4e 41 4d 45 20 77 69 74 68 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 20 ariable.NAME.with.initial.value.
e200 49 4e 49 54 56 41 4c 2e 0a 54 68 65 20 76 61 72 69 61 62 6c 65 20 6d 75 73 74 20 62 65 20 64 6f INITVAL..The.variable.must.be.do
e220 63 75 6d 65 6e 74 65 64 20 69 6e 20 44 4f 43 53 54 52 49 4e 47 2e 20 20 41 54 54 52 53 20 69 73 cumented.in.DOCSTRING...ATTRS.is
e240 20 61 20 70 6c 69 73 74 0a 6f 66 20 61 74 74 72 69 62 75 74 65 73 2c 20 77 68 69 63 68 20 73 70 .a.plist.of.attributes,.which.sp
e260 65 63 69 66 79 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 75 6e 64 65 72 20 77 68 69 63 68 ecify.the.conditions.under.which
e280 20 74 68 65 0a 64 65 66 69 6e 69 74 69 6f 6e 20 69 73 20 67 65 6e 65 72 61 74 65 64 2e 0a 0a 2d .the.definition.is.generated...-
e2a0 20 3a 63 6f 6e 73 74 61 6e 74 20 3a 3a 20 4d 61 72 6b 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 .:constant.::.Mark.the.variable.
e2c0 61 73 20 63 6f 6e 73 74 61 6e 74 20 69 66 20 74 2e 0a 0a 2d 20 3a 6c 6f 63 61 6c 20 3a 3a 20 4d as.constant.if.t...-.:local.::.M
e2e0 61 6b 65 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 69 66 ake.the.variable.buffer-local.if
e300 20 74 2e 20 20 49 66 20 74 68 65 20 76 61 6c 75 65 20 69 73 0a 20 20 60 70 65 72 6d 61 6e 65 6e .t...If.the.value.is...`permanen
e320 74 27 20 6d 61 6b 65 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 61 64 64 69 74 69 6f 6e 61 6c 6c t'.make.the.variable.additionall
e340 79 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 6c 6f 63 61 6c 2e 0a 0a 2d 20 3a 6f 62 73 6f 6c 65 74 y.permanently.local...-.:obsolet
e360 65 20 3a 3a 20 4d 61 72 6b 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 61 73 20 6f 62 73 6f 6c 65 e.::.Mark.the.variable.as.obsole
e380 74 65 20 69 66 20 74 2c 20 63 61 6e 20 62 65 20 61 0a 20 20 73 74 72 69 6e 67 20 64 65 73 63 72 te.if.t,.can.be.a...string.descr
e3a0 69 62 69 6e 67 20 74 68 65 20 6f 62 73 6f 6c 65 74 69 6f 6e 2e 0a 0a 2d 20 3a 66 65 61 74 75 72 ibing.the.obsoletion...-.:featur
e3c0 65 20 3a 3a 20 53 65 65 20 60 63 6f 6d 70 61 74 2d 67 75 61 72 64 27 2e 22 0a 20 20 28 64 65 63 e.::.See.`compat-guard'."...(dec
e3e0 6c 61 72 65 20 28 64 65 62 75 67 20 28 6e 61 6d 65 20 66 6f 72 6d 20 73 74 72 69 6e 67 70 20 5b lare.(debug.(name.form.stringp.[
e400 26 72 65 73 74 20 6b 65 79 77 6f 72 64 70 20 73 65 78 70 5d 29 29 0a 20 20 20 20 20 20 20 20 20 &rest.keywordp.sexp]))..........
e420 20 20 28 64 6f 63 2d 73 74 72 69 6e 67 20 33 29 20 28 69 6e 64 65 6e 74 20 32 29 29 0a 20 20 28 ..(doc-string.3).(indent.2))...(
e440 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d 67 75 61 72 64 0a 20 20 20 20 20 20 61 74 74 72 73 20 28 compat-macs--guard.......attrs.(
e460 6c 69 73 74 20 3a 63 6f 6e 73 74 61 6e 74 20 23 27 62 6f 6f 6c 65 61 6e 70 0a 20 20 20 20 20 20 list.:constant.#'booleanp.......
e480 20 20 20 20 20 20 20 20 20 20 20 20 3a 6c 6f 63 61 6c 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 ............:local.(lambda.(x).(
e4a0 6d 65 6d 71 20 78 20 27 28 6e 69 6c 20 74 20 70 65 72 6d 61 6e 65 6e 74 29 29 29 0a 20 20 20 20 memq.x.'(nil.t.permanent))).....
e4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6f 62 73 6f 6c 65 74 65 20 28 6c 61 6d 62 64 61 20 ..............:obsolete.(lambda.
e4e0 28 78 29 20 28 6f 72 20 28 62 6f 6f 6c 65 61 6e 70 20 78 29 20 28 73 74 72 69 6e 67 70 20 78 29 (x).(or.(booleanp.x).(stringp.x)
e500 29 29 29 0a 20 20 20 20 28 6c 61 6d 62 64 61 20 28 63 6f 6e 73 74 61 6e 74 20 6c 6f 63 61 6c 20 ))).....(lambda.(constant.local.
e520 6f 62 73 6f 6c 65 74 65 29 0a 20 20 20 20 20 20 28 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d 73 74 obsolete).......(compat-macs--st
e540 72 69 63 74 20 28 6e 6f 74 20 28 62 6f 75 6e 64 70 20 6e 61 6d 65 29 29 20 22 25 73 20 61 6c 72 rict.(not.(boundp.name))."%s.alr
e560 65 61 64 79 20 64 65 66 69 6e 65 64 22 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 28 63 6f 6d 70 61 eady.defined".name).......(compa
e580 74 2d 6d 61 63 73 2d 2d 61 73 73 65 72 74 20 28 6e 6f 74 20 28 61 6e 64 20 63 6f 6e 73 74 61 6e t-macs--assert.(not.(and.constan
e5a0 74 20 6c 6f 63 61 6c 29 29 20 22 42 6f 74 68 20 3a 63 6f 6e 73 74 61 6e 74 20 61 6e 64 20 3a 6c t.local))."Both.:constant.and.:l
e5c0 6f 63 61 6c 22 29 0a 20 20 20 20 20 20 3b 3b 20 54 68 65 20 62 6f 75 6e 64 70 20 63 68 65 63 6b ocal").......;;.The.boundp.check
e5e0 20 69 73 20 70 65 72 66 6f 72 6d 65 64 20 61 74 20 72 75 6e 74 69 6d 65 20 74 6f 20 6d 61 6b 65 .is.performed.at.runtime.to.make
e600 20 73 75 72 65 20 74 68 61 74 20 77 65 20 6e 65 76 65 72 0a 20 20 20 20 20 20 3b 3b 20 72 65 64 .sure.that.we.never.......;;.red
e620 65 66 69 6e 65 20 61 6e 20 65 78 69 73 74 69 6e 67 20 64 65 66 69 6e 69 74 69 6f 6e 20 69 66 20 efine.an.existing.definition.if.
e640 43 6f 6d 70 61 74 20 69 73 20 6c 6f 61 64 65 64 20 6f 6e 20 61 20 6e 65 77 65 72 20 45 6d 61 63 Compat.is.loaded.on.a.newer.Emac
e660 73 0a 20 20 20 20 20 20 3b 3b 20 76 65 72 73 69 6f 6e 2e 0a 20 20 20 20 20 20 60 28 28 64 65 66 s.......;;.version........`((def
e680 76 61 72 20 2c 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 62 6f 75 6e var.,name).........(unless.(boun
e6a0 64 70 20 27 2c 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 2c 28 69 66 20 63 6f 6e 73 74 dp.',name)...........(,(if.const
e6c0 61 6e 74 20 27 64 65 66 63 6f 6e 73 74 20 27 64 65 66 76 61 72 29 0a 20 20 20 20 20 20 20 20 20 ant.'defconst.'defvar)..........
e6e0 20 20 2c 6e 61 6d 65 20 2c 69 6e 69 74 76 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 2c 28 63 6f ..,name.,initval............,(co
e700 6d 70 61 74 2d 6d 61 63 73 2d 2d 64 6f 63 73 74 72 69 6e 67 20 27 76 61 72 69 61 62 6c 65 20 6e mpat-macs--docstring.'variable.n
e720 61 6d 65 20 64 6f 63 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 2c 40 28 77 68 65 ame.docstring))...........,@(whe
e740 6e 20 6f 62 73 6f 6c 65 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 28 6d 61 6b 65 n.obsolete...............`((make
e760 2d 6f 62 73 6f 6c 65 74 65 2d 76 61 72 69 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 -obsolete-variable..............
e780 20 20 20 20 27 2c 6e 61 6d 65 20 2c 28 69 66 20 28 73 74 72 69 6e 67 70 20 6f 62 73 6f 6c 65 74 ....',name.,(if.(stringp.obsolet
e7a0 65 29 20 6f 62 73 6f 6c 65 74 65 20 22 4e 6f 20 73 75 62 73 74 69 74 75 74 65 22 29 0a 20 20 20 e).obsolete."No.substitute")....
e7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d 76 65 72 73 ..............,compat-macs--vers
e7e0 69 6f 6e 29 29 29 29 0a 20 20 20 20 20 20 20 20 2c 40 28 61 6e 64 20 6c 6f 63 61 6c 20 60 28 28 ion)))).........,@(and.local.`((
e800 6d 61 6b 65 2d 76 61 72 69 61 62 6c 65 2d 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 27 2c 6e 61 6d make-variable-buffer-local.',nam
e820 65 29 29 29 0a 20 20 20 20 20 20 20 20 2c 40 28 61 6e 64 20 28 65 71 20 6c 6f 63 61 6c 20 27 70 e))).........,@(and.(eq.local.'p
e840 65 72 6d 61 6e 65 6e 74 29 20 60 28 28 70 75 74 20 27 2c 6e 61 6d 65 20 27 70 65 72 6d 61 6e 65 ermanent).`((put.',name.'permane
e860 6e 74 2d 6c 6f 63 61 6c 20 74 29 29 29 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 63 6f 6d nt-local.t)))))))..(defmacro.com
e880 70 61 74 2d 76 65 72 73 69 6f 6e 20 28 76 65 72 73 69 6f 6e 29 0a 20 20 22 53 65 74 20 74 68 65 pat-version.(version)..."Set.the
e8a0 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 20 74 68 61 74 20 69 73 20 63 75 72 72 65 6e 74 6c 79 .Emacs.version.that.is.currently
e8c0 20 62 65 69 6e 67 20 68 61 6e 64 6c 65 64 20 74 6f 20 56 45 52 53 49 4f 4e 2e 22 0a 20 20 28 73 .being.handled.to.VERSION."...(s
e8e0 65 74 71 20 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d 76 65 72 73 69 6f 6e 20 76 65 72 73 69 6f 6e etq.compat-macs--version.version
e900 29 0a 20 20 6e 69 6c 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 63 6f 6d 70 61 74 2d 72 65 71 75 69 )...nil)..(defmacro.compat-requi
e920 72 65 20 28 66 65 61 74 75 72 65 20 76 65 72 73 69 6f 6e 29 0a 20 20 22 52 65 71 75 69 72 65 20 re.(feature.version)..."Require.
e940 46 45 41 54 55 52 45 20 69 66 20 74 68 65 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 20 69 73 20 FEATURE.if.the.Emacs.version.is.
e960 6c 65 73 73 20 74 68 61 6e 20 56 45 52 53 49 4f 4e 2e 22 0a 20 20 28 77 68 65 6e 20 28 76 65 72 less.than.VERSION."...(when.(ver
e980 73 69 6f 6e 3c 20 65 6d 61 63 73 2d 76 65 72 73 69 6f 6e 20 76 65 72 73 69 6f 6e 29 0a 20 20 20 sion<.emacs-version.version)....
e9a0 20 28 72 65 71 75 69 72 65 20 66 65 61 74 75 72 65 29 0a 20 20 20 20 60 28 72 65 71 75 69 72 65 .(require.feature).....`(require
e9c0 20 27 2c 66 65 61 74 75 72 65 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 63 6f 6d 70 61 74 2d .',feature)))..(provide.'compat-
e9e0 6d 61 63 73 29 0a 3b 3b 3b 20 63 6f 6d 70 61 74 2d 6d 61 63 73 2e 65 6c 20 65 6e 64 73 20 68 65 macs).;;;.compat-macs.el.ends.he
ea00 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 re..............................
ea20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ea40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ea60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ea80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eaa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ebc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ebe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ec00 63 6f 6d 70 61 74 2d 33 30 2e 30 2e 30 2e 30 2f 63 6f 6d 70 61 74 2d 33 30 2e 65 6c 00 00 00 00 compat-30.0.0.0/compat-30.el....
ec20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ec40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ec60 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
ec80 30 30 33 35 35 37 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 37 31 31 00 20 30 00 00 00 0035570.00000000000.013711..0...
eca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ecc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ece0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ed00 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...................
ed20 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...................
ed40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ed60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ed80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
edc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ede0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ee00 3b 3b 3b 20 63 6f 6d 70 61 74 2d 33 30 2e 65 6c 20 2d 2d 2d 20 46 75 6e 63 74 69 6f 6e 61 6c 69 ;;;.compat-30.el.---.Functionali
ee20 74 79 20 61 64 64 65 64 20 69 6e 20 45 6d 61 63 73 20 33 30 20 2d 2a 2d 20 6c 65 78 69 63 61 6c ty.added.in.Emacs.30.-*-.lexical
ee40 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 -binding:.t;.-*-..;;.Copyright.(
ee60 43 29 20 32 30 32 33 2d 32 30 32 34 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 C).2023-2024.Free.Software.Found
ee80 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 ation,.Inc...;;.This.program.is.
eea0 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 free.software;.you.can.redistrib
eec0 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 65 72 ute.it.and/or.modify.;;.it.under
eee0 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 .the.terms.of.the.GNU.General.Pu
ef00 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 3b 3b 20 blic.License.as.published.by.;;.
ef20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 the.Free.Software.Foundation,.ei
ef40 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f ther.version.3.of.the.License,.o
ef60 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 r.;;.(at.your.option).any.later.
ef80 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 69 73 version...;;.This.program.is.dis
efa0 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c tributed.in.the.hope.that.it.wil
efc0 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 l.be.useful,.;;.but.WITHOUT.ANY.
efe0 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 WARRANTY;.without.even.the.impli
f000 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 ed.warranty.of.;;.MERCHANTABILIT
f020 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 Y.or.FITNESS.FOR.A.PARTICULAR.PU
f040 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 RPOSE...See.the.;;.GNU.General.P
f060 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a ublic.License.for.more.details..
f080 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 .;;.You.should.have.received.a.c
f0a0 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 opy.of.the.GNU.General.Public.Li
f0c0 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 61 6d cense.;;.along.with.this.program
f0e0 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e ...If.not,.see.<https://www.gnu.
f100 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a org/licenses/>...;;;.Commentary:
f120 0a 0a 3b 3b 20 46 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 61 64 64 65 64 20 69 6e 20 45 6d 61 63 ..;;.Functionality.added.in.Emac
f140 73 20 33 30 2c 20 6e 65 65 64 65 64 20 62 79 20 6f 6c 64 65 72 20 45 6d 61 63 73 20 76 65 72 73 s.30,.needed.by.older.Emacs.vers
f160 69 6f 6e 73 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 65 76 61 6c 2d 77 68 65 6e 2d 63 6f 6d ions...;;;.Code:..(eval-when-com
f180 70 69 6c 65 20 28 6c 6f 61 64 20 22 63 6f 6d 70 61 74 2d 6d 61 63 73 2e 65 6c 22 20 6e 69 6c 20 pile.(load."compat-macs.el".nil.
f1a0 74 20 74 29 29 0a 28 63 6f 6d 70 61 74 2d 72 65 71 75 69 72 65 20 63 6f 6d 70 61 74 2d 32 39 20 t.t)).(compat-require.compat-29.
f1c0 22 32 39 2e 31 22 29 0a 0a 3b 3b 20 54 4f 44 4f 20 55 70 64 61 74 65 20 74 6f 20 33 30 2e 31 20 "29.1")..;;.TODO.Update.to.30.1.
f1e0 61 73 20 73 6f 6f 6e 20 61 73 20 74 68 65 20 45 6d 61 63 73 20 65 6d 61 63 73 2d 33 30 20 62 72 as.soon.as.the.Emacs.emacs-30.br
f200 61 6e 63 68 20 76 65 72 73 69 6f 6e 20 62 75 6d 70 65 64 0a 28 63 6f 6d 70 61 74 2d 76 65 72 73 anch.version.bumped.(compat-vers
f220 69 6f 6e 20 22 33 30 2e 30 2e 35 30 22 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 ion."30.0.50")..;;;;.Defined.in.
f240 6c 72 65 61 64 2e 63 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 6f 62 61 72 72 61 79 2d 63 lread.c..(compat-defun.obarray-c
f260 6c 65 61 72 20 28 6f 62 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 6f 62 61 72 72 lear.(ob).;;.<compat-tests:obarr
f280 61 79 3e 0a 20 20 22 52 65 6d 6f 76 65 20 61 6c 6c 20 73 79 6d 62 6f 6c 73 20 66 72 6f 6d 20 6f ay>..."Remove.all.symbols.from.o
f2a0 62 61 72 72 61 79 20 4f 42 2e 22 0a 20 20 28 66 69 6c 6c 61 72 72 61 79 20 6f 62 20 30 29 29 0a barray.OB."...(fillarray.ob.0)).
f2c0 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 62 75 66 66 65 72 2e 63 0a 0a 28 63 6f 6d 70 .;;;;.Defined.in.buffer.c..(comp
f2e0 61 74 2d 64 65 66 75 6e 20 66 69 6e 64 2d 62 75 66 66 65 72 20 28 76 61 72 69 61 62 6c 65 20 76 at-defun.find-buffer.(variable.v
f300 61 6c 75 65 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 66 69 6e 64 2d 62 75 66 66 alue).;;.<compat-tests:find-buff
f320 65 72 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 62 75 66 66 65 72 20 77 69 74 68 20 62 75 er>..."Return.the.buffer.with.bu
f340 66 66 65 72 2d 6c 6f 63 61 6c 20 56 41 52 49 41 42 4c 45 20 65 71 75 61 6c 20 74 6f 20 56 41 4c ffer-local.VARIABLE.equal.to.VAL
f360 55 45 2e 0a 49 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 73 75 63 68 20 6c 69 76 65 20 62 75 66 UE..If.there.is.no.such.live.buf
f380 66 65 72 2c 20 72 65 74 75 72 6e 20 6e 69 6c 2e 22 0a 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 fer,.return.nil."...(cl-loop.for
f3a0 20 62 75 66 66 65 72 20 74 68 65 20 62 75 66 66 65 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 69 .buffer.the.buffers............i
f3c0 66 20 28 65 71 75 61 6c 20 28 62 75 66 66 65 72 2d 6c 6f 63 61 6c 2d 76 61 6c 75 65 20 76 61 72 f.(equal.(buffer-local-value.var
f3e0 69 61 62 6c 65 20 62 75 66 66 65 72 29 20 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 iable.buffer).value)............
f400 72 65 74 75 72 6e 20 62 75 66 66 65 72 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 67 return.buffer))..(compat-defun.g
f420 65 74 2d 74 72 75 65 6e 61 6d 65 2d 62 75 66 66 65 72 20 28 66 69 6c 65 6e 61 6d 65 29 20 3b 3b et-truename-buffer.(filename).;;
f440 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 67 65 74 2d 74 72 75 65 6e 61 6d 65 2d 62 75 66 66 .<compat-tests:get-truename-buff
f460 65 72 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 62 75 66 66 65 72 20 77 69 74 68 20 60 66 er>..."Return.the.buffer.with.`f
f480 69 6c 65 2d 74 72 75 65 6e 61 6d 65 27 20 65 71 75 61 6c 20 74 6f 20 46 49 4c 45 4e 41 4d 45 20 ile-truename'.equal.to.FILENAME.
f4a0 28 61 20 73 74 72 69 6e 67 29 2e 0a 49 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 73 75 63 68 20 (a.string)..If.there.is.no.such.
f4c0 6c 69 76 65 20 62 75 66 66 65 72 2c 20 72 65 74 75 72 6e 20 6e 69 6c 2e 0a 53 65 65 20 61 6c 73 live.buffer,.return.nil..See.als
f4e0 6f 20 60 66 69 6e 64 2d 62 75 66 66 65 72 2d 76 69 73 69 74 69 6e 67 27 2e 22 0a 20 20 28 66 69 o.`find-buffer-visiting'."...(fi
f500 6e 64 2d 62 75 66 66 65 72 20 27 62 75 66 66 65 72 2d 66 69 6c 65 2d 74 72 75 65 6e 61 6d 65 20 nd-buffer.'buffer-file-truename.
f520 66 69 6c 65 6e 61 6d 65 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 66 69 6c 65 filename))..;;;;.Defined.in.file
f540 73 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 72 65 71 75 69 72 65 2d 77 69 74 68 s.el..(compat-defun.require-with
f560 2d 63 68 65 63 6b 20 28 66 65 61 74 75 72 65 20 26 6f 70 74 69 6f 6e 61 6c 20 66 69 6c 65 6e 61 -check.(feature.&optional.filena
f580 6d 65 20 6e 6f 65 72 72 6f 72 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 72 65 71 me.noerror).;;.<compat-tests:req
f5a0 75 69 72 65 2d 77 69 74 68 2d 63 68 65 63 6b 3e 0a 20 20 22 49 66 20 46 45 41 54 55 52 45 20 69 uire-with-check>..."If.FEATURE.i
f5c0 73 20 6e 6f 74 20 61 6c 72 65 61 64 79 20 6c 6f 61 64 65 64 2c 20 6c 6f 61 64 20 69 74 20 66 72 s.not.already.loaded,.load.it.fr
f5e0 6f 6d 20 46 49 4c 45 4e 41 4d 45 2e 0a 54 68 69 73 20 69 73 20 6c 69 6b 65 20 60 72 65 71 75 69 om.FILENAME..This.is.like.`requi
f600 72 65 27 20 65 78 63 65 70 74 20 69 66 20 46 45 41 54 55 52 45 20 69 73 20 61 6c 72 65 61 64 79 re'.except.if.FEATURE.is.already
f620 20 61 20 6d 65 6d 62 65 72 20 6f 66 20 74 68 65 20 6c 69 73 74 0a 60 66 65 61 74 75 72 65 73 e2 .a.member.of.the.list.`features.
f640 80 99 2c 20 74 68 65 6e 20 77 65 20 63 68 65 63 6b 20 69 66 20 74 68 69 73 20 77 61 73 20 70 72 ..,.then.we.check.if.this.was.pr
f660 6f 76 69 64 65 64 20 62 79 20 61 20 64 69 66 66 65 72 65 6e 74 20 66 69 6c 65 20 74 68 61 6e 20 ovided.by.a.different.file.than.
f680 74 68 65 0a 6f 6e 65 20 74 68 61 74 20 77 65 20 77 6f 75 6c 64 20 6c 6f 61 64 20 6e 6f 77 20 28 the.one.that.we.would.load.now.(
f6a0 70 72 65 73 75 6d 61 62 6c 79 20 62 65 63 61 75 73 65 20 60 6c 6f 61 64 2d 70 61 74 68 27 20 68 presumably.because.`load-path'.h
f6c0 61 73 20 62 65 65 6e 0a 63 68 61 6e 67 65 64 20 73 69 6e 63 65 20 74 68 65 20 66 69 6c 65 20 77 as.been.changed.since.the.file.w
f6e0 61 73 20 6c 6f 61 64 65 64 29 2e 0a 49 66 20 69 74 27 73 20 74 68 65 20 63 61 73 65 2c 20 77 65 as.loaded)..If.it's.the.case,.we
f700 20 65 69 74 68 65 72 20 73 69 67 6e 61 6c 20 61 6e 20 65 72 72 6f 72 20 28 74 68 65 20 64 65 66 .either.signal.an.error.(the.def
f720 61 75 6c 74 29 2c 20 6f 72 20 66 6f 72 63 69 62 6c 79 20 72 65 6c 6f 61 64 0a 74 68 65 20 6e 65 ault),.or.forcibly.reload.the.ne
f740 77 20 66 69 6c 65 20 28 69 66 20 4e 4f 45 52 52 4f 52 20 69 73 20 65 71 75 61 6c 20 74 6f 20 60 w.file.(if.NOERROR.is.equal.to.`
f760 72 65 6c 6f 61 64 27 29 2c 20 6f 72 20 6f 74 68 65 72 77 69 73 65 20 65 6d 69 74 20 61 20 77 61 reload'),.or.otherwise.emit.a.wa
f780 72 6e 69 6e 67 2e 22 0a 20 20 28 6c 65 74 20 28 28 6c 68 20 6c 6f 61 64 2d 68 69 73 74 6f 72 79 rning."...(let.((lh.load-history
f7a0 29 0a 20 20 20 20 20 20 20 20 28 72 65 73 20 28 72 65 71 75 69 72 65 20 66 65 61 74 75 72 65 20 ).........(res.(require.feature.
f7c0 66 69 6c 65 6e 61 6d 65 20 28 69 66 20 28 65 71 20 6e 6f 65 72 72 6f 72 20 27 72 65 6c 6f 61 64 filename.(if.(eq.noerror.'reload
f7e0 29 20 6e 69 6c 20 6e 6f 65 72 72 6f 72 29 29 29 29 0a 20 20 20 20 3b 3b 20 49 66 20 74 68 65 20 ).nil.noerror)))).....;;.If.the.
f800 60 66 65 61 74 75 72 65 27 20 77 61 73 20 6e 6f 74 20 79 65 74 20 70 72 6f 76 69 64 65 64 2c 20 `feature'.was.not.yet.provided,.
f820 60 72 65 71 75 69 72 65 27 20 6a 75 73 74 20 6c 6f 61 64 65 64 20 74 68 65 20 72 69 67 68 74 0a `require'.just.loaded.the.right.
f840 20 20 20 20 3b 3b 20 66 69 6c 65 2c 20 73 6f 20 77 65 27 72 65 20 64 6f 6e 65 2e 0a 20 20 20 20 ....;;.file,.so.we're.done......
f860 28 77 68 65 6e 20 28 65 71 20 6c 68 20 6c 6f 61 64 2d 68 69 73 74 6f 72 79 29 0a 20 20 20 20 20 (when.(eq.lh.load-history)......
f880 20 3b 3b 20 49 66 20 60 72 65 71 75 69 72 65 27 20 64 69 64 20 6e 6f 74 68 69 6e 67 2c 20 77 65 .;;.If.`require'.did.nothing,.we
f8a0 20 6e 65 65 64 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 74 68 61 74 20 77 61 73 20 77 61 72 72 .need.to.make.sure.that.was.warr
f8c0 61 6e 74 65 64 2e 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 66 6e 20 28 6c 6f 63 61 74 65 2d 66 anted........(let.((fn.(locate-f
f8e0 69 6c 65 20 28 6f 72 20 66 69 6c 65 6e 61 6d 65 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 66 65 ile.(or.filename.(symbol-name.fe
f900 61 74 75 72 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ature)).........................
f920 20 20 20 20 20 6c 6f 61 64 2d 70 61 74 68 20 28 67 65 74 2d 6c 6f 61 64 2d 73 75 66 66 69 78 65 .....load-path.(get-load-suffixe
f940 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 28 28 61 s)))).........(cond..........((a
f960 73 73 6f 63 20 66 6e 20 6c 6f 61 64 2d 68 69 73 74 6f 72 79 29 20 6e 69 6c 29 20 20 3b 57 65 20 ssoc.fn.load-history).nil)..;We.
f980 6c 6f 61 64 65 64 20 74 68 65 20 72 69 67 68 74 20 66 69 6c 65 2e 0a 20 20 20 20 20 20 20 20 20 loaded.the.right.file...........
f9a0 28 28 65 71 20 6e 6f 65 72 72 6f 72 20 27 72 65 6c 6f 61 64 29 20 28 6c 6f 61 64 20 66 6e 20 6e ((eq.noerror.'reload).(load.fn.n
f9c0 69 6c 20 27 6e 6f 6d 65 73 73 61 67 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 20 28 66 75 6e il.'nomessage))..........(t.(fun
f9e0 63 61 6c 6c 20 28 69 66 20 6e 6f 65 72 72 6f 72 20 23 27 77 61 72 6e 20 23 27 65 72 72 6f 72 29 call.(if.noerror.#'warn.#'error)
fa00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 46 65 61 74 75 72 65 20 70 ......................"Feature.p
fa20 72 6f 76 69 64 65 64 20 62 79 20 6f 74 68 65 72 20 66 69 6c 65 3a 20 25 53 22 20 66 65 61 74 75 rovided.by.other.file:.%S".featu
fa40 72 65 29 29 29 29 29 0a 20 20 20 20 72 65 73 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 re))))).....res))..;;;;.Defined.
fa60 69 6e 20 6d 69 6e 69 62 75 66 66 65 72 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 in.minibuffer.el..(compat-defun.
fa80 63 6f 6d 70 6c 65 74 69 6f 6e 2d 2d 6d 65 74 61 64 61 74 61 2d 67 65 74 2d 31 20 28 6d 65 74 61 completion--metadata-get-1.(meta
faa0 64 61 74 61 20 70 72 6f 70 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 63 6f 6d 70 data.prop).;;.<compat-tests:comp
fac0 6c 65 74 69 6f 6e 2d 6d 65 74 61 64 61 74 61 2d 67 65 74 3e 0a 20 20 22 48 65 6c 70 65 72 20 66 letion-metadata-get>..."Helper.f
fae0 75 6e 63 74 69 6f 6e 2e 0a 53 65 65 20 66 6f 72 20 60 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6d 65 74 unction..See.for.`completion-met
fb00 61 64 61 74 61 2d 67 65 74 27 20 66 6f 72 20 4d 45 54 41 44 41 54 41 20 61 6e 64 20 50 52 4f 50 adata-get'.for.METADATA.and.PROP
fb20 20 61 72 67 75 6d 65 6e 74 73 2e 22 0a 20 20 28 6f 72 20 28 61 6c 69 73 74 2d 67 65 74 20 70 72 .arguments."...(or.(alist-get.pr
fb40 6f 70 20 6d 65 74 61 64 61 74 61 29 0a 20 20 20 20 20 20 28 70 6c 69 73 74 2d 67 65 74 20 63 6f op.metadata).......(plist-get.co
fb60 6d 70 6c 65 74 69 6f 6e 2d 65 78 74 72 61 2d 70 72 6f 70 65 72 74 69 65 73 0a 20 20 20 20 20 20 mpletion-extra-properties.......
fb80 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 67 65 74 20 70 72 6f 70 20 27 63 6f 6d 70 6c 65 ...........(or.(get.prop.'comple
fba0 74 69 6f 6e 2d 65 78 74 72 61 2d 70 72 6f 70 65 72 74 69 65 73 2d 2d 6b 65 79 77 6f 72 64 29 0a tion-extra-properties--keyword).
fbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 74 20 70 72 6f 70 20 27 .....................(put.prop.'
fbe0 63 6f 6d 70 6c 65 74 69 6f 6e 2d 65 78 74 72 61 2d 70 72 6f 70 65 72 74 69 65 73 2d 2d 6b 65 79 completion-extra-properties--key
fc00 77 6f 72 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 word...........................(
fc20 69 6e 74 65 72 6e 20 28 63 6f 6e 63 61 74 20 22 3a 22 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 intern.(concat.":".(symbol-name.
fc40 70 72 6f 70 29 29 29 29 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 63 6f 6d 70 prop))))))))..(compat-defun.comp
fc60 6c 65 74 69 6f 6e 2d 6d 65 74 61 64 61 74 61 2d 67 65 74 20 28 6d 65 74 61 64 61 74 61 20 70 72 letion-metadata-get.(metadata.pr
fc80 6f 70 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 63 6f 6d 70 6c 65 74 69 6f 6e 2d op).;;.<compat-tests:completion-
fca0 6d 65 74 61 64 61 74 61 2d 67 65 74 3e 0a 20 20 22 47 65 74 20 70 72 6f 70 65 72 74 79 20 50 52 metadata-get>..."Get.property.PR
fcc0 4f 50 20 66 72 6f 6d 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 4d 45 54 41 44 41 54 41 2e 0a 49 66 20 OP.from.completion.METADATA..If.
fce0 74 68 65 20 6d 65 74 61 64 61 74 61 20 73 70 65 63 69 66 69 65 73 20 61 20 63 6f 6d 70 6c 65 74 the.metadata.specifies.a.complet
fd00 69 6f 6e 20 63 61 74 65 67 6f 72 79 2c 20 74 68 65 20 76 61 72 69 61 62 6c 65 73 0a 60 63 6f 6d ion.category,.the.variables.`com
fd20 70 6c 65 74 69 6f 6e 2d 63 61 74 65 67 6f 72 79 2d 6f 76 65 72 72 69 64 65 73 27 20 61 6e 64 0a pletion-category-overrides'.and.
fd40 60 63 6f 6d 70 6c 65 74 69 6f 6e 2d 63 61 74 65 67 6f 72 79 2d 64 65 66 61 75 6c 74 73 27 20 74 `completion-category-defaults'.t
fd60 61 6b 65 20 70 72 65 63 65 64 65 6e 63 65 20 66 6f 72 0a 63 61 74 65 67 6f 72 79 2d 73 70 65 63 ake.precedence.for.category-spec
fd80 69 66 69 63 20 6f 76 65 72 72 69 64 65 73 2e 20 20 49 66 20 74 68 65 20 63 6f 6d 70 6c 65 74 69 ific.overrides...If.the.completi
fda0 6f 6e 20 6d 65 74 61 64 61 74 61 20 64 6f 65 73 20 6e 6f 74 0a 73 70 65 63 69 66 79 20 74 68 65 on.metadata.does.not.specify.the
fdc0 20 70 72 6f 70 65 72 74 79 2c 20 74 68 65 20 60 63 6f 6d 70 6c 65 74 69 6f 6e 2d 65 78 74 72 61 .property,.the.`completion-extra
fde0 2d 70 72 6f 70 65 72 74 69 65 73 27 20 70 6c 69 73 74 20 69 73 0a 63 6f 6e 73 75 6c 74 65 64 2e -properties'.plist.is.consulted.
fe00 20 20 4e 6f 74 65 20 74 68 61 74 20 74 68 65 20 6b 65 79 73 20 6f 66 20 74 68 65 0a 60 63 6f 6d ..Note.that.the.keys.of.the.`com
fe20 70 6c 65 74 69 6f 6e 2d 65 78 74 72 61 2d 70 72 6f 70 65 72 74 69 65 73 27 20 70 6c 69 73 74 20 pletion-extra-properties'.plist.
fe40 61 72 65 20 6b 65 79 77 6f 72 64 20 73 79 6d 62 6f 6c 73 2c 20 6e 6f 74 0a 70 6c 61 69 6e 20 73 are.keyword.symbols,.not.plain.s
fe60 79 6d 62 6f 6c 73 2e 22 0a 20 20 3a 65 78 74 65 6e 64 65 64 20 74 0a 20 20 28 69 66 2d 6c 65 74 ymbols."...:extended.t...(if-let
fe80 20 28 28 63 61 74 20 28 61 6e 64 20 28 6e 6f 74 20 28 65 71 20 70 72 6f 70 20 27 63 61 74 65 67 .((cat.(and.(not.(eq.prop.'categ
fea0 6f 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6d 70 ory))......................(comp
fec0 6c 65 74 69 6f 6e 2d 2d 6d 65 74 61 64 61 74 61 2d 67 65 74 2d 31 20 6d 65 74 61 64 61 74 61 20 letion--metadata-get-1.metadata.
fee0 27 63 61 74 65 67 6f 72 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6f 76 65 72 20 28 63 'category)))............(over.(c
ff00 6f 6d 70 6c 65 74 69 6f 6e 2d 2d 63 61 74 65 67 6f 72 79 2d 6f 76 65 72 72 69 64 65 20 63 61 74 ompletion--category-override.cat
ff20 20 70 72 6f 70 29 29 29 0a 20 20 20 20 20 20 28 63 64 72 20 6f 76 65 72 29 0a 20 20 20 20 28 63 .prop))).......(cdr.over).....(c
ff40 6f 6d 70 6c 65 74 69 6f 6e 2d 2d 6d 65 74 61 64 61 74 61 2d 67 65 74 2d 31 20 6d 65 74 61 64 61 ompletion--metadata-get-1.metada
ff60 74 61 20 70 72 6f 70 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 76 61 72 20 63 6f 6d 70 6c ta.prop)))..(compat-defvar.compl
ff80 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 20 6e 69 6c 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d etion-lazy-hilit.nil.;;.<compat-
ffa0 74 65 73 74 73 3a 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 3e 0a 20 20 22 tests:completion-lazy-hilit>..."
ffc0 49 66 20 6e 6f 6e 2d 6e 69 6c 2c 20 72 65 71 75 65 73 74 20 6c 61 7a 79 20 68 69 67 68 6c 69 67 If.non-nil,.request.lazy.highlig
ffe0 68 74 69 6e 67 20 6f 66 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 6e 64 69 64 61 74 65 73 2e 0a hting.of.completion.candidates..
10000 0a 4c 69 73 70 20 70 72 6f 67 72 61 6d 73 20 28 61 2e 6b 2e 61 2e 20 5c 22 66 72 6f 6e 74 20 65 .Lisp.programs.(a.k.a..\"front.e
10020 6e 64 73 5c 22 29 20 74 68 61 74 20 70 72 65 73 65 6e 74 20 63 6f 6d 70 6c 65 74 69 6f 6e 0a 63 nds\").that.present.completion.c
10040 61 6e 64 69 64 61 74 65 73 20 6d 61 79 20 6f 70 74 20 74 6f 20 62 69 6e 64 20 74 68 69 73 20 76 andidates.may.opt.to.bind.this.v
10060 61 72 69 61 62 6c 65 20 74 6f 20 61 20 6e 6f 6e 2d 6e 69 6c 20 76 61 6c 75 65 20 77 68 65 6e 0a ariable.to.a.non-nil.value.when.
10080 63 61 6c 6c 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 20 28 73 75 63 68 20 61 73 20 60 63 6f 6d 70 calling.functions.(such.as.`comp
100a0 6c 65 74 69 6f 6e 2d 61 6c 6c 2d 63 6f 6d 70 6c 65 74 69 6f 6e 73 27 29 20 77 68 69 63 68 0a 70 letion-all-completions').which.p
100c0 72 6f 64 75 63 65 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 6e 64 69 64 61 74 65 73 2e 20 20 54 roduce.completion.candidates...T
100e0 68 69 73 20 74 65 6c 6c 73 20 74 68 65 20 75 6e 64 65 72 6c 79 69 6e 67 0a 63 6f 6d 70 6c 65 74 his.tells.the.underlying.complet
10100 69 6f 6e 20 73 74 79 6c 65 73 20 74 68 61 74 20 74 68 65 79 20 64 6f 20 6e 6f 74 20 6e 65 65 64 ion.styles.that.they.do.not.need
10120 20 74 6f 20 66 6f 6e 74 69 66 79 20 28 69 2e 65 2e 2c 0a 70 72 6f 70 65 72 74 69 7a 65 20 77 69 .to.fontify.(i.e.,.propertize.wi
10140 74 68 20 74 68 65 20 60 66 61 63 65 27 20 70 72 6f 70 65 72 74 79 29 20 63 6f 6d 70 6c 65 74 69 th.the.`face'.property).completi
10160 6f 6e 20 63 61 6e 64 69 64 61 74 65 73 20 69 6e 20 61 0a 77 61 79 20 74 68 61 74 20 68 69 67 68 on.candidates.in.a.way.that.high
10180 6c 69 67 68 74 73 20 74 68 65 20 6d 61 74 63 68 69 6e 67 20 70 61 72 74 73 2e 20 20 54 68 65 6e lights.the.matching.parts...Then
101a0 20 69 74 20 69 73 20 74 68 65 20 66 72 6f 6e 74 20 65 6e 64 0a 77 68 69 63 68 20 70 72 65 73 65 .it.is.the.front.end.which.prese
101c0 6e 74 73 20 74 68 65 20 63 61 6e 64 69 64 61 74 65 73 20 74 68 61 74 20 62 65 63 6f 6d 65 73 20 nts.the.candidates.that.becomes.
101e0 72 65 73 70 6f 6e 73 69 62 6c 65 20 66 6f 72 20 74 68 69 73 0a 66 6f 6e 74 69 66 69 63 61 74 69 responsible.for.this.fontificati
10200 6f 6e 2e 20 20 54 68 65 20 66 72 6f 6e 74 20 65 6e 64 20 64 6f 65 73 20 74 68 61 74 20 62 79 20 on...The.front.end.does.that.by.
10220 63 61 6c 6c 69 6e 67 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0a 60 63 6f 6d 70 6c 65 74 69 6f 6e calling.the.function.`completion
10240 2d 6c 61 7a 79 2d 68 69 6c 69 74 27 20 6f 6e 20 65 61 63 68 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 -lazy-hilit'.on.each.completion.
10260 63 61 6e 64 69 64 61 74 65 20 74 68 61 74 20 69 73 20 74 6f 20 62 65 0a 64 69 73 70 6c 61 79 65 candidate.that.is.to.be.displaye
10280 64 20 74 6f 20 74 68 65 20 75 73 65 72 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 20 6f 6e 6c 79 20 73 d.to.the.user...Note.that.only.s
102a0 6f 6d 65 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 73 74 79 6c 65 73 20 74 61 6b 65 20 61 64 76 61 6e ome.completion.styles.take.advan
102c0 74 61 67 65 20 6f 66 20 74 68 69 73 0a 76 61 72 69 61 62 6c 65 20 66 6f 72 20 6f 70 74 69 6d 69 tage.of.this.variable.for.optimi
102e0 7a 61 74 69 6f 6e 20 70 75 72 70 6f 73 65 73 2e 20 20 4f 74 68 65 72 20 73 74 79 6c 65 73 20 77 zation.purposes...Other.styles.w
10300 69 6c 6c 20 69 67 6e 6f 72 65 20 74 68 65 0a 68 69 6e 74 20 61 6e 64 20 66 6f 6e 74 69 66 79 20 ill.ignore.the.hint.and.fontify.
10320 65 61 67 65 72 6c 79 20 61 73 20 75 73 75 61 6c 2e 20 20 49 74 20 69 73 20 73 74 69 6c 6c 20 73 eagerly.as.usual...It.is.still.s
10340 61 66 65 20 66 6f 72 20 61 0a 66 72 6f 6e 74 20 65 6e 64 20 74 6f 20 63 61 6c 6c 20 60 63 6f 6d afe.for.a.front.end.to.call.`com
10360 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 27 20 69 6e 20 74 68 65 73 65 20 73 69 74 pletion-lazy-hilit'.in.these.sit
10380 75 61 74 69 6f 6e 73 2e 0a 0a 54 6f 20 61 75 74 68 6f 72 20 61 20 63 6f 6d 70 6c 65 74 69 6f 6e uations...To.author.a.completion
103a0 20 73 74 79 6c 65 20 74 68 61 74 20 74 61 6b 65 73 20 61 64 76 61 6e 74 61 67 65 20 6f 66 20 74 .style.that.takes.advantage.of.t
103c0 68 69 73 20 76 61 72 69 61 62 6c 65 2c 0a 73 65 65 20 60 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 his.variable,.see.`completion-la
103e0 7a 79 2d 68 69 6c 69 74 2d 66 6e 27 20 61 6e 64 20 60 63 6f 6d 70 6c 65 74 69 6f 6e 2d 70 63 6d zy-hilit-fn'.and.`completion-pcm
10400 2d 2d 68 69 6c 69 74 2d 63 6f 6d 6d 6f 6e 61 6c 69 74 79 27 2e 22 29 0a 0a 28 63 6f 6d 70 61 74 --hilit-commonality'.")..(compat
10420 2d 64 65 66 76 61 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 2d 66 6e -defvar.completion-lazy-hilit-fn
10440 20 6e 69 6c 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 63 6f 6d 70 6c 65 74 69 6f 6e .nil.;;.<compat-tests:completion
10460 2d 6c 61 7a 79 2d 68 69 6c 69 74 3e 0a 20 20 22 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 66 75 -lazy-hilit>..."Fontification.fu
10480 6e 63 74 69 6f 6e 20 73 65 74 20 62 79 20 6c 61 7a 79 2d 68 69 67 68 6c 69 67 68 74 69 6e 67 20 nction.set.by.lazy-highlighting.
104a0 63 6f 6d 70 6c 65 74 69 6f 6e 73 20 73 74 79 6c 65 73 2e 0a 57 68 65 6e 20 61 20 67 69 76 65 6e completions.styles..When.a.given
104c0 20 73 74 79 6c 65 20 77 61 6e 74 73 20 74 6f 20 65 6e 61 62 6c 65 20 73 75 70 70 6f 72 74 20 66 .style.wants.to.enable.support.f
104e0 6f 72 20 60 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 27 0a 5c 28 77 68 69 or.`completion-lazy-hilit'.\(whi
10500 63 68 20 73 65 65 29 2c 20 74 68 61 74 20 73 74 79 6c 65 20 73 68 6f 75 6c 64 20 73 65 74 20 74 ch.see),.that.style.should.set.t
10520 68 69 73 20 76 61 72 69 61 62 6c 65 20 74 6f 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 6f 6e his.variable.to.a.function.of.on
10540 65 0a 61 72 67 75 6d 65 6e 74 2e 20 20 49 74 20 77 69 6c 6c 20 62 65 20 63 61 6c 6c 65 64 20 77 e.argument...It.will.be.called.w
10560 69 74 68 20 65 61 63 68 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 6e 64 69 64 61 74 65 2c 20 61 ith.each.completion.candidate,.a
10580 20 73 74 72 69 6e 67 2c 20 74 6f 0a 62 65 20 64 69 73 70 6c 61 79 65 64 20 74 6f 20 74 68 65 20 .string,.to.be.displayed.to.the.
105a0 75 73 65 72 2c 20 61 6e 64 20 73 68 6f 75 6c 64 20 64 65 73 74 72 75 63 74 69 76 65 6c 79 20 70 user,.and.should.destructively.p
105c0 72 6f 70 65 72 74 69 7a 65 20 74 68 65 73 65 0a 73 74 72 69 6e 67 73 20 77 69 74 68 20 74 68 65 ropertize.these.strings.with.the
105e0 20 60 66 61 63 65 27 20 70 72 6f 70 65 72 74 79 2e 22 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 .`face'.property.")..(compat-def
10600 75 6e 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 20 28 73 74 72 29 20 3b un.completion-lazy-hilit.(str).;
10620 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d ;.<compat-tests:completion-lazy-
10640 68 69 6c 69 74 3e 0a 20 20 22 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 63 6f 6d 70 6c hilit>..."Return.a.copy.of.compl
10660 65 74 69 6f 6e 20 63 61 6e 64 69 64 61 74 65 20 53 54 52 20 74 68 61 74 20 69 73 20 60 66 61 63 etion.candidate.STR.that.is.`fac
10680 65 27 2d 70 72 6f 70 65 72 74 69 7a 65 64 2e 0a 53 65 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f e'-propertized..See.documentatio
106a0 6e 20 6f 66 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 n.of.the.variable.`completion-la
106c0 7a 79 2d 68 69 6c 69 74 27 20 66 6f 72 20 6d 6f 72 65 0a 64 65 74 61 69 6c 73 2e 22 0a 20 20 28 zy-hilit'.for.more.details."...(
106e0 69 66 20 28 61 6e 64 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 20 63 6f if.(and.completion-lazy-hilit.co
10700 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 2d 66 6e 29 0a 20 20 20 20 20 20 28 66 mpletion-lazy-hilit-fn).......(f
10720 75 6e 63 61 6c 6c 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 2d 66 6e 20 uncall.completion-lazy-hilit-fn.
10740 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 73 74 72 29 29 0a 20 20 20 20 73 74 72 29 29 0a 0a (copy-sequence.str)).....str))..
10760 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 73 75 62 72 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 ;;;;.Defined.in.subr.el..(compat
10780 2d 64 65 66 6d 61 63 72 6f 20 73 74 61 74 69 63 2d 69 66 20 28 63 6f 6e 64 69 74 69 6f 6e 20 74 -defmacro.static-if.(condition.t
107a0 68 65 6e 2d 66 6f 72 6d 20 26 72 65 73 74 20 65 6c 73 65 2d 66 6f 72 6d 73 29 20 3b 3b 20 3c 63 hen-form.&rest.else-forms).;;.<c
107c0 6f 6d 70 61 74 2d 74 65 73 74 73 3a 73 74 61 74 69 63 2d 69 66 3e 0a 20 20 22 41 20 63 6f 6e 64 ompat-tests:static-if>..."A.cond
107e0 69 74 69 6f 6e 61 6c 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6d 61 63 72 6f 2e 0a 45 76 61 6c 75 itional.compilation.macro..Evalu
10800 61 74 65 20 43 4f 4e 44 49 54 49 4f 4e 20 61 74 20 6d 61 63 72 6f 2d 65 78 70 61 6e 73 69 6f 6e ate.CONDITION.at.macro-expansion
10820 20 74 69 6d 65 2e 20 20 49 66 20 69 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 0a 65 78 70 61 6e 64 .time...If.it.is.non-nil,.expand
10840 20 74 68 65 20 6d 61 63 72 6f 20 74 6f 20 54 48 45 4e 2d 46 4f 52 4d 2e 20 20 4f 74 68 65 72 77 .the.macro.to.THEN-FORM...Otherw
10860 69 73 65 20 65 78 70 61 6e 64 20 69 74 20 74 6f 20 45 4c 53 45 2d 46 4f 52 4d 53 0a 65 6e 63 6c ise.expand.it.to.ELSE-FORMS.encl
10880 6f 73 65 64 20 69 6e 20 61 20 60 70 72 6f 67 6e 27 20 66 6f 72 6d 2e 20 20 45 4c 53 45 2d 46 4f osed.in.a.`progn'.form...ELSE-FO
108a0 52 4d 53 20 6d 61 79 20 62 65 20 65 6d 70 74 79 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 RMS.may.be.empty."...(declare.(i
108c0 6e 64 65 6e 74 20 32 29 20 28 64 65 62 75 67 20 28 73 65 78 70 20 73 65 78 70 20 26 72 65 73 74 ndent.2).(debug.(sexp.sexp.&rest
108e0 20 73 65 78 70 29 29 29 0a 20 20 28 69 66 20 28 65 76 61 6c 20 63 6f 6e 64 69 74 69 6f 6e 20 6c .sexp)))...(if.(eval.condition.l
10900 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 29 0a 20 20 20 20 20 20 74 68 65 6e 2d 66 6f 72 6d 0a exical-binding).......then-form.
10920 20 20 20 20 28 63 6f 6e 73 20 27 70 72 6f 67 6e 20 65 6c 73 65 2d 66 6f 72 6d 73 29 29 29 0a 0a ....(cons.'progn.else-forms)))..
10940 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 63 6c 6f 73 75 72 65 70 20 28 6f 62 6a 65 63 74 29 20 (compat-defun.closurep.(object).
10960 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 63 6c 6f 73 75 72 65 70 3e 0a 20 20 22 52 65 ;;.<compat-tests:closurep>..."Re
10980 74 75 72 6e 20 74 20 69 66 20 4f 42 4a 45 43 54 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f turn.t.if.OBJECT.is.a.function.o
109a0 66 20 74 79 70 65 20 63 6c 6f 73 75 72 65 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 73 69 64 f.type.closure."...(declare.(sid
109c0 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 65 72 72 6f 72 2d 66 72 65 65 29 29 0a 20 20 28 65 71 e-effect-free.error-free))...(eq
109e0 20 28 63 61 72 2d 73 61 66 65 20 6f 62 6a 65 63 74 29 20 27 63 6c 6f 73 75 72 65 29 29 0a 0a 28 .(car-safe.object).'closure))..(
10a00 63 6f 6d 70 61 74 2d 64 65 66 61 6c 69 61 73 20 69 6e 74 65 72 70 72 65 74 65 64 2d 66 75 6e 63 compat-defalias.interpreted-func
10a20 74 69 6f 6e 2d 70 20 63 6c 6f 73 75 72 65 70 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 tion-p.closurep).;;.<compat-test
10a40 73 3a 63 6c 6f 73 75 72 65 70 3e 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 70 72 69 6d 69 s:closurep>..(compat-defun.primi
10a60 74 69 76 65 2d 66 75 6e 63 74 69 6f 6e 2d 70 20 28 6f 62 6a 65 63 74 29 20 3b 3b 20 3c 63 6f 6d tive-function-p.(object).;;.<com
10a80 70 61 74 2d 74 65 73 74 73 3a 70 72 69 6d 69 74 69 76 65 2d 66 75 6e 63 74 69 6f 6e 2d 70 3e 0a pat-tests:primitive-function-p>.
10aa0 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 20 4f 42 4a 45 43 54 20 69 73 20 61 20 62 75 69 6c 74 .."Return.t.if.OBJECT.is.a.built
10ac0 2d 69 6e 20 70 72 69 6d 69 74 69 76 65 20 66 75 6e 63 74 69 6f 6e 2e 0a 54 68 69 73 20 65 78 63 -in.primitive.function..This.exc
10ae0 6c 75 64 65 73 20 73 70 65 63 69 61 6c 20 66 6f 72 6d 73 2c 20 73 69 6e 63 65 20 74 68 65 79 20 ludes.special.forms,.since.they.
10b00 61 72 65 20 6e 6f 74 20 66 75 6e 63 74 69 6f 6e 73 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 are.not.functions."...(declare.(
10b20 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 65 72 72 6f 72 2d 66 72 65 65 29 29 0a 20 20 side-effect-free.error-free))...
10b40 28 61 6e 64 20 28 73 75 62 72 70 20 6f 62 6a 65 63 74 29 0a 20 20 20 20 20 20 20 28 6e 6f 74 20 (and.(subrp.object)........(not.
10b60 28 6f 72 20 28 77 69 74 68 2d 6e 6f 2d 77 61 72 6e 69 6e 67 73 20 28 73 75 62 72 2d 6e 61 74 69 (or.(with-no-warnings.(subr-nati
10b80 76 65 2d 65 6c 69 73 70 2d 70 20 6f 62 6a 65 63 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ve-elisp-p.object)).............
10ba0 20 20 20 20 28 73 70 65 63 69 61 6c 2d 66 6f 72 6d 2d 70 20 6f 62 6a 65 63 74 29 29 29 29 29 0a ....(special-form-p.object))))).
10bc0 0a 28 63 6f 6d 70 61 74 2d 64 65 66 61 6c 69 61 73 20 64 72 6f 70 20 6e 74 68 63 64 72 29 20 3b .(compat-defalias.drop.nthcdr).;
10be0 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 64 72 6f 70 3e 0a 0a 28 63 6f 6d 70 61 74 2d 64 ;.<compat-tests:drop>..(compat-d
10c00 65 66 75 6e 20 6d 65 72 67 65 2d 6f 72 64 65 72 65 64 2d 6c 69 73 74 73 20 28 6c 69 73 74 73 20 efun.merge-ordered-lists.(lists.
10c20 26 6f 70 74 69 6f 6e 61 6c 20 65 72 72 6f 72 2d 66 75 6e 63 74 69 6f 6e 29 20 3b 3b 20 3c 63 6f &optional.error-function).;;.<co
10c40 6d 70 61 74 2d 74 65 73 74 73 3a 6d 65 72 67 65 2d 6f 72 64 65 72 65 64 2d 6c 69 73 74 73 3e 0a mpat-tests:merge-ordered-lists>.
10c60 20 20 22 4d 65 72 67 65 20 4c 49 53 54 53 20 69 6e 20 61 20 63 6f 6e 73 69 73 74 65 6e 74 20 6f .."Merge.LISTS.in.a.consistent.o
10c80 72 64 65 72 2e 0a 4c 49 53 54 53 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 20 6f rder..LISTS.is.a.list.of.lists.o
10ca0 66 20 65 6c 65 6d 65 6e 74 73 2e 0a 4d 65 72 67 65 20 74 68 65 6d 20 69 6e 74 6f 20 61 20 73 69 f.elements..Merge.them.into.a.si
10cc0 6e 67 6c 65 20 6c 69 73 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 73 61 6d 65 20 65 6c ngle.list.containing.the.same.el
10ce0 65 6d 65 6e 74 73 20 28 72 65 6d 6f 76 69 6e 67 0a 64 75 70 6c 69 63 61 74 65 73 29 2c 20 6f 62 ements.(removing.duplicates),.ob
10d00 65 79 69 6e 67 20 74 68 65 69 72 20 72 65 6c 61 74 69 76 65 20 70 6f 73 69 74 69 6f 6e 73 20 69 eying.their.relative.positions.i
10d20 6e 20 65 61 63 68 20 6c 69 73 74 2e 0a 54 68 65 20 6f 72 64 65 72 20 6f 66 20 74 68 65 20 28 73 n.each.list..The.order.of.the.(s
10d40 75 62 29 6c 69 73 74 73 20 64 65 74 65 72 6d 69 6e 65 73 20 74 68 65 20 66 69 6e 61 6c 20 6f 72 ub)lists.determines.the.final.or
10d60 64 65 72 20 69 6e 20 74 68 6f 73 65 20 63 61 73 65 73 20 77 68 65 72 65 0a 74 68 65 20 6f 72 64 der.in.those.cases.where.the.ord
10d80 65 72 20 77 69 74 68 69 6e 20 74 68 65 20 73 75 62 6c 69 73 74 73 20 64 6f 65 73 20 6e 6f 74 20 er.within.the.sublists.does.not.
10da0 69 6d 70 6f 73 65 20 61 20 75 6e 69 71 75 65 20 63 68 6f 69 63 65 2e 0a 45 71 75 61 6c 69 74 79 impose.a.unique.choice..Equality
10dc0 20 6f 66 20 65 6c 65 6d 65 6e 74 73 20 69 73 20 74 65 73 74 65 64 20 77 69 74 68 20 60 65 71 6c .of.elements.is.tested.with.`eql
10de0 27 2e 0a 0a 49 66 20 61 20 63 6f 6e 73 69 73 74 65 6e 74 20 6f 72 64 65 72 20 64 6f 65 73 20 6e '...If.a.consistent.order.does.n
10e00 6f 74 20 65 78 69 73 74 2c 20 63 61 6c 6c 20 45 52 52 4f 52 2d 46 55 4e 43 54 49 4f 4e 20 77 69 ot.exist,.call.ERROR-FUNCTION.wi
10e20 74 68 0a 61 20 72 65 6d 61 69 6e 69 6e 67 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 20 74 68 61 th.a.remaining.list.of.lists.tha
10e40 74 20 77 65 20 64 6f 20 6e 6f 74 20 6b 6e 6f 77 20 68 6f 77 20 74 6f 20 6d 65 72 67 65 2e 0a 49 t.we.do.not.know.how.to.merge..I
10e60 74 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 74 68 65 20 63 61 6e 64 69 64 61 74 65 20 74 6f t.should.return.the.candidate.to
10e80 20 75 73 65 20 74 6f 20 63 6f 6e 74 69 6e 75 65 20 74 68 65 20 6d 65 72 67 65 2c 20 77 68 69 63 .use.to.continue.the.merge,.whic
10ea0 68 0a 68 61 73 20 74 6f 20 62 65 20 74 68 65 20 68 65 61 64 20 6f 66 20 6f 6e 65 20 6f 66 20 74 h.has.to.be.the.head.of.one.of.t
10ec0 68 65 20 6c 69 73 74 73 2e 0a 42 79 20 64 65 66 61 75 6c 74 20 77 65 20 63 68 6f 6f 73 65 20 74 he.lists..By.default.we.choose.t
10ee0 68 65 20 68 65 61 64 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 6c 69 73 74 2e 22 0a 20 20 28 6c he.head.of.the.first.list."...(l
10f00 65 74 20 28 28 72 65 73 75 6c 74 20 27 28 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 6c 69 73 74 et.((result.'())).....(setq.list
10f20 73 20 28 72 65 6d 71 20 6e 69 6c 20 6c 69 73 74 73 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 s.(remq.nil.lists)).....(while.(
10f40 63 64 72 20 28 73 65 74 71 20 6c 69 73 74 73 20 28 64 65 6c 71 20 6e 69 6c 20 6c 69 73 74 73 29 cdr.(setq.lists.(delq.nil.lists)
10f60 29 29 0a 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 6e 65 78 74 20 6e 69 6c 29 0a 20 20 20 20 20 )).......(let*.((next.nil)......
10f80 20 20 20 20 20 20 20 20 28 74 61 69 6c 20 6c 69 73 74 73 29 29 0a 20 20 20 20 20 20 20 20 28 77 ........(tail.lists)).........(w
10fa0 68 69 6c 65 20 74 61 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 61 6e 64 69 hile.tail...........(let.((candi
10fc0 64 61 74 65 20 28 63 61 61 72 20 74 61 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 date.(caar.tail))...............
10fe0 20 20 28 6f 74 68 65 72 2d 6c 69 73 74 73 20 6c 69 73 74 73 29 29 0a 20 20 20 20 20 20 20 20 20 ..(other-lists.lists))..........
11000 20 20 20 28 77 68 69 6c 65 20 6f 74 68 65 72 2d 6c 69 73 74 73 0a 20 20 20 20 20 20 20 20 20 20 ...(while.other-lists...........
11020 20 20 20 20 28 69 66 20 28 6e 6f 74 20 28 6d 65 6d 71 6c 20 63 61 6e 64 69 64 61 74 65 20 28 63 ....(if.(not.(memql.candidate.(c
11040 64 72 20 28 63 61 72 20 6f 74 68 65 72 2d 6c 69 73 74 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 dr.(car.other-lists)))).........
11060 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6f 74 68 65 72 2d 6c 69 73 74 73 20 28 63 64 72 ..........(setq.other-lists.(cdr
11080 20 6f 74 68 65 72 2d 6c 69 73 74 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 .other-lists)).................(
110a0 73 65 74 71 20 63 61 6e 64 69 64 61 74 65 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 setq.candidate.nil).............
110c0 20 20 20 20 28 73 65 74 71 20 6f 74 68 65 72 2d 6c 69 73 74 73 20 6e 69 6c 29 29 29 0a 20 20 20 ....(setq.other-lists.nil)))....
110e0 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6e 6f 74 20 63 61 6e 64 69 64 61 74 65 29 0a 20 20 20 .........(if.(not.candidate)....
11100 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 74 61 69 6c 20 28 63 64 72 20 74 61 69 .............(setq.tail.(cdr.tai
11120 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6e 65 78 74 20 63 61 6e l))...............(setq.next.can
11140 64 69 64 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 74 61 69 6c didate)...............(setq.tail
11160 20 6e 69 6c 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 6e 65 78 74 0a 20 20 .nil)))).........(unless.next...
11180 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6e 65 78 74 20 28 66 75 6e 63 61 6c 6c 20 28 6f 72 20 ........(setq.next.(funcall.(or.
111a0 65 72 72 6f 72 2d 66 75 6e 63 74 69 6f 6e 20 23 27 63 61 61 72 29 20 6c 69 73 74 73 29 29 0a 20 error-function.#'caar).lists))..
111c0 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 66 75 6e 63 61 6c 6c 0a 20 20 20 20 20 20 .........(unless.(funcall.......
111e0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 76 61 6c 2d 77 68 65 6e 2d 63 6f 6d 70 69 6c 65 20 .............(eval-when-compile.
11200 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 63 6f 6d 70 61 74 2d 2d 61 73 73 6f 63 29 20 27 63 6f (if.(fboundp.'compat--assoc).'co
11220 6d 70 61 74 2d 2d 61 73 73 6f 63 20 27 61 73 73 6f 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 mpat--assoc.'assoc))............
11240 20 20 20 20 20 20 20 20 6e 65 78 74 20 6c 69 73 74 73 20 23 27 65 71 6c 29 0a 20 20 20 20 20 20 ........next.lists.#'eql).......
11260 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 49 6e 76 61 6c 69 64 20 63 61 6e 64 69 64 61 74 65 20 ......(error."Invalid.candidate.
11280 72 65 74 75 72 6e 65 64 20 62 79 20 65 72 72 6f 72 2d 66 75 6e 63 74 69 6f 6e 3a 20 25 53 22 20 returned.by.error-function:.%S".
112a0 6e 65 78 74 29 29 29 0a 20 20 20 20 20 20 20 20 28 70 75 73 68 20 6e 65 78 74 20 72 65 73 75 6c next))).........(push.next.resul
112c0 74 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6c 69 73 74 73 0a 20 20 20 20 20 20 20 20 20 t).........(setq.lists..........
112e0 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 6c 29 20 28 69 66 20 28 65 71 .....(mapcar.(lambda.(l).(if.(eq
11300 6c 20 28 63 61 72 20 6c 29 20 6e 65 78 74 29 20 28 63 64 72 20 6c 29 20 6c 29 29 0a 20 20 20 20 l.(car.l).next).(cdr.l).l)).....
11320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 73 29 29 29 29 0a 20 20 20 20 ..................lists)))).....
11340 28 69 66 20 28 6e 75 6c 6c 20 72 65 73 75 6c 74 29 20 28 63 61 72 20 6c 69 73 74 73 29 0a 20 20 (if.(null.result).(car.lists)...
11360 20 20 20 20 28 61 70 70 65 6e 64 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 29 20 28 63 ....(append.(nreverse.result).(c
11380 61 72 20 6c 69 73 74 73 29 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 63 6f 70 ar.lists)))))..(compat-defun.cop
113a0 79 2d 74 72 65 65 20 28 74 72 65 65 20 26 6f 70 74 69 6f 6e 61 6c 20 76 65 63 74 6f 72 73 2d 61 y-tree.(tree.&optional.vectors-a
113c0 6e 64 2d 72 65 63 6f 72 64 73 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 63 6f 70 nd-records).;;.<compat-tests:cop
113e0 79 2d 74 72 65 65 3e 0a 20 20 22 48 61 6e 64 6c 65 20 63 6f 70 79 69 6e 67 20 72 65 63 6f 72 64 y-tree>..."Handle.copying.record
11400 73 20 77 68 65 6e 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 22 s.when.optional.arg.is.non-nil."
11420 0a 20 20 3a 65 78 74 65 6e 64 65 64 20 74 0a 20 20 28 64 65 63 6c 61 72 65 20 28 73 69 64 65 2d ...:extended.t...(declare.(side-
11440 65 66 66 65 63 74 2d 66 72 65 65 20 65 72 72 6f 72 2d 66 72 65 65 29 29 0a 20 20 28 69 66 20 28 effect-free.error-free))...(if.(
11460 66 62 6f 75 6e 64 70 20 27 72 65 63 6f 72 64 70 29 0a 20 20 20 20 20 20 28 69 66 20 28 63 6f 6e fboundp.'recordp).......(if.(con
11480 73 70 20 74 72 65 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 72 65 73 75 6c 74 29 sp.tree)...........(let.(result)
114a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 63 6f 6e 73 70 20 74 72 65 65 29 .............(while.(consp.tree)
114c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6e 65 77 63 61 72 20 28 63 61 ...............(let.((newcar.(ca
114e0 72 20 74 72 65 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6f r.tree))).................(if.(o
11500 72 20 28 63 6f 6e 73 70 20 28 63 61 72 20 74 72 65 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 r.(consp.(car.tree))............
11520 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 76 65 63 74 6f 72 73 2d 61 6e 64 2d 72 65 .............(and.vectors-and-re
11540 63 6f 72 64 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 cords...........................
11560 20 20 20 28 6f 72 20 28 76 65 63 74 6f 72 70 20 28 63 61 72 20 74 72 65 65 29 29 20 28 72 65 63 ...(or.(vectorp.(car.tree)).(rec
11580 6f 72 64 70 20 28 63 61 72 20 74 72 65 65 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ordp.(car.tree))))).............
115a0 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6e 65 77 63 61 72 20 28 63 6f 6d 70 61 74 2d 2d 63 6f ........(setq.newcar.(compat--co
115c0 70 79 2d 74 72 65 65 20 28 63 61 72 20 74 72 65 65 29 20 76 65 63 74 6f 72 73 2d 61 6e 64 2d 72 py-tree.(car.tree).vectors-and-r
115e0 65 63 6f 72 64 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 ecords))).................(push.
11600 6e 65 77 63 61 72 20 72 65 73 75 6c 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 newcar.result))...............(s
11620 65 74 71 20 74 72 65 65 20 28 63 64 72 20 74 72 65 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 etq.tree.(cdr.tree)))...........
11640 20 20 28 6e 63 6f 6e 63 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 75 6c 74 29 0a 20 20 20 20 20 ..(nconc.(nreverse.result)......
11660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 61 6e 64 20 76 65 63 74 6f 72 73 2d 61 ..............(if.(and.vectors-a
11680 6e 64 2d 72 65 63 6f 72 64 73 20 28 6f 72 20 28 76 65 63 74 6f 72 70 20 74 72 65 65 29 20 28 72 nd-records.(or.(vectorp.tree).(r
116a0 65 63 6f 72 64 70 20 74 72 65 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ecordp.tree)))..................
116c0 20 20 20 20 20 20 28 63 6f 6d 70 61 74 2d 2d 63 6f 70 79 2d 74 72 65 65 20 74 72 65 65 20 76 65 ......(compat--copy-tree.tree.ve
116e0 63 74 6f 72 73 2d 61 6e 64 2d 72 65 63 6f 72 64 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ctors-and-records)..............
11700 20 20 20 20 20 20 20 20 74 72 65 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 61 6e 64 ........tree))).........(if.(and
11720 20 76 65 63 74 6f 72 73 2d 61 6e 64 2d 72 65 63 6f 72 64 73 20 28 6f 72 20 28 76 65 63 74 6f 72 .vectors-and-records.(or.(vector
11740 70 20 74 72 65 65 29 20 28 72 65 63 6f 72 64 70 20 74 72 65 65 29 29 29 0a 20 20 20 20 20 20 20 p.tree).(recordp.tree)))........
11760 20 20 20 20 20 28 6c 65 74 20 28 28 69 20 28 6c 65 6e 67 74 68 20 28 73 65 74 71 20 74 72 65 65 .....(let.((i.(length.(setq.tree
11780 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 74 72 65 65 29 29 29 29 29 0a 20 20 20 20 20 20 .(copy-sequence.tree))))).......
117a0 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3e 3d 20 28 73 65 74 71 20 69 20 28 31 2d 20 69 ........(while.(>=.(setq.i.(1-.i
117c0 29 29 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 73 65 74 20 74 72 65 65 )).0).................(aset.tree
117e0 20 69 20 28 63 6f 6d 70 61 74 2d 2d 63 6f 70 79 2d 74 72 65 65 20 28 61 72 65 66 20 74 72 65 65 .i.(compat--copy-tree.(aref.tree
11800 20 69 29 20 76 65 63 74 6f 72 73 2d 61 6e 64 2d 72 65 63 6f 72 64 73 29 29 29 0a 20 20 20 20 20 .i).vectors-and-records)))......
11820 20 20 20 20 20 20 20 20 20 74 72 65 65 29 0a 20 20 20 20 20 20 20 20 20 20 74 72 65 65 29 29 0a .........tree)...........tree)).
11840 20 20 20 20 28 63 6f 70 79 2d 74 72 65 65 20 74 72 65 65 20 76 65 63 74 6f 72 73 2d 61 6e 64 2d ....(copy-tree.tree.vectors-and-
11860 72 65 63 6f 72 64 73 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 66 6e 73 2e records)))..;;;;.Defined.in.fns.
11880 63 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 76 61 6c 75 65 3c 20 28 61 20 62 29 20 3b 3b c..(compat-defun.value<.(a.b).;;
118a0 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 76 61 6c 75 65 3c 3e 0a 20 20 22 52 65 74 75 72 6e .<compat-tests:value<>..."Return
118c0 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 41 20 70 72 65 63 65 64 65 73 20 42 20 69 6e 20 73 74 61 6e .non-nil.if.A.precedes.B.in.stan
118e0 64 61 72 64 20 76 61 6c 75 65 20 6f 72 64 65 72 2e 0a 41 20 61 6e 64 20 42 20 6d 75 73 74 20 68 dard.value.order..A.and.B.must.h
11900 61 76 65 20 74 68 65 20 73 61 6d 65 20 62 61 73 69 63 20 74 79 70 65 2e 0a 4e 75 6d 62 65 72 73 ave.the.same.basic.type..Numbers
11920 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 77 69 74 68 20 3c 2e 0a 53 74 72 69 6e 67 73 20 61 6e .are.compared.with.<..Strings.an
11940 64 20 73 79 6d 62 6f 6c 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 77 69 74 68 20 73 74 72 69 d.symbols.are.compared.with.stri
11960 6e 67 2d 6c 65 73 73 70 2e 0a 4c 69 73 74 73 2c 20 76 65 63 74 6f 72 73 2c 20 62 6f 6f 6c 2d 76 ng-lessp..Lists,.vectors,.bool-v
11980 65 63 74 6f 72 73 20 61 6e 64 20 72 65 63 6f 72 64 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 ectors.and.records.are.compared.
119a0 6c 65 78 69 63 6f 67 72 61 70 68 69 63 61 6c 6c 79 2e 0a 4d 61 72 6b 65 72 73 20 61 72 65 20 63 lexicographically..Markers.are.c
119c0 6f 6d 70 61 72 65 64 20 6c 65 78 69 63 6f 67 72 61 70 68 69 63 61 6c 6c 79 20 62 79 20 62 75 66 ompared.lexicographically.by.buf
119e0 66 65 72 20 61 6e 64 20 70 6f 73 69 74 69 6f 6e 2e 0a 42 75 66 66 65 72 73 20 61 6e 64 20 70 72 fer.and.position..Buffers.and.pr
11a00 6f 63 65 73 73 65 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 62 79 20 6e 61 6d 65 2e 0a 4f 74 ocesses.are.compared.by.name..Ot
11a20 68 65 72 20 74 79 70 65 73 20 61 72 65 20 63 6f 6e 73 69 64 65 72 65 64 20 75 6e 6f 72 64 65 72 her.types.are.considered.unorder
11a40 65 64 20 61 6e 64 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 77 69 6c 6c 20 62 65 20 ed.and.the.return.value.will.be.
11a60 e2 80 98 6e 69 6c e2 80 99 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 6f 72 20 28 61 6e 64 ...nil...."...(cond....((or.(and
11a80 20 28 6e 75 6d 62 65 72 70 20 61 29 20 28 6e 75 6d 62 65 72 70 20 62 29 29 0a 20 20 20 20 20 20 .(numberp.a).(numberp.b)).......
11aa0 20 20 28 61 6e 64 20 28 6d 61 72 6b 65 72 70 20 61 29 20 28 6d 61 72 6b 65 72 70 20 62 29 29 29 ..(and.(markerp.a).(markerp.b)))
11ac0 0a 20 20 20 20 28 3c 20 61 20 62 29 29 0a 20 20 20 28 28 6f 72 20 28 61 6e 64 20 28 73 74 72 69 .....(<.a.b))....((or.(and.(stri
11ae0 6e 67 70 20 61 29 20 28 73 74 72 69 6e 67 70 20 62 29 29 0a 20 20 20 20 20 20 20 20 28 61 6e 64 ngp.a).(stringp.b)).........(and
11b00 20 28 73 79 6d 62 6f 6c 70 20 61 29 20 28 73 79 6d 62 6f 6c 70 20 62 29 29 29 0a 20 20 20 20 28 .(symbolp.a).(symbolp.b))).....(
11b20 73 74 72 69 6e 67 3c 20 61 20 62 29 29 0a 20 20 20 28 28 61 6e 64 20 28 6c 69 73 74 70 20 61 29 string<.a.b))....((and.(listp.a)
11b40 20 28 6c 69 73 74 70 20 62 29 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 28 63 6f 6e .(listp.b)).....(while.(and.(con
11b60 73 70 20 61 29 20 28 63 6f 6e 73 70 20 62 29 20 28 65 71 75 61 6c 20 28 63 61 72 20 61 29 20 28 sp.a).(consp.b).(equal.(car.a).(
11b80 63 61 72 20 62 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 61 20 28 63 64 72 20 61 29 20 62 car.b))).......(setq.a.(cdr.a).b
11ba0 20 28 63 64 72 20 62 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 28 28 6e 6f 74 20 .(cdr.b))).....(cond......((not.
11bc0 62 29 20 6e 69 6c 29 0a 20 20 20 20 20 28 28 6e 6f 74 20 61 29 20 74 29 0a 20 20 20 20 20 28 28 b).nil)......((not.a).t)......((
11be0 61 6e 64 20 28 63 6f 6e 73 70 20 61 29 20 28 63 6f 6e 73 70 20 62 29 29 20 28 76 61 6c 75 65 3c and.(consp.a).(consp.b)).(value<
11c00 20 28 63 61 72 20 61 29 20 28 63 61 72 20 62 29 29 29 0a 20 20 20 20 20 28 74 20 28 76 61 6c 75 .(car.a).(car.b)))......(t.(valu
11c20 65 3c 20 61 20 62 29 29 29 29 0a 20 20 20 28 28 61 6e 64 20 28 76 65 63 74 6f 72 70 20 61 29 20 e<.a.b))))....((and.(vectorp.a).
11c40 28 76 65 63 74 6f 72 70 20 62 29 29 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 6e 61 20 28 6c 65 6e (vectorp.b)).....(let*.((na.(len
11c60 67 74 68 20 61 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6e 62 20 28 6c 65 6e 67 74 68 20 62 gth.a))............(nb.(length.b
11c80 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6e 20 28 6d 69 6e 20 6e 61 20 6e 62 29 29 0a 20 20 ))............(n.(min.na.nb))...
11ca0 20 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 61 6e .........(i.0)).......(while.(an
11cc0 64 20 28 3c 20 69 20 6e 29 20 28 65 71 75 61 6c 20 28 61 72 65 66 20 61 20 69 29 20 28 61 72 65 d.(<.i.n).(equal.(aref.a.i).(are
11ce0 66 20 62 20 69 29 29 29 0a 20 20 20 20 20 20 20 20 28 63 6c 2d 69 6e 63 66 20 69 29 29 0a 20 20 f.b.i))).........(cl-incf.i))...
11d00 20 20 20 20 28 69 66 20 28 3c 20 69 20 6e 29 20 28 76 61 6c 75 65 3c 20 28 61 72 65 66 20 61 20 ....(if.(<.i.n).(value<.(aref.a.
11d20 69 29 20 28 61 72 65 66 20 62 20 69 29 29 20 28 3c 20 6e 20 6e 62 29 29 29 29 0a 20 20 20 28 28 i).(aref.b.i)).(<.n.nb))))....((
11d40 61 6e 64 20 28 62 75 66 66 65 72 70 20 61 29 20 28 62 75 66 66 65 72 70 20 62 29 29 0a 20 20 20 and.(bufferp.a).(bufferp.b))....
11d60 20 3b 3b 20 60 62 75 66 66 65 72 2d 6e 61 6d 65 27 20 69 73 20 6e 69 6c 20 66 6f 72 20 6b 69 6c .;;.`buffer-name'.is.nil.for.kil
11d80 6c 65 64 20 62 75 66 66 65 72 73 2e 0a 20 20 20 20 28 73 65 74 71 20 61 20 28 62 75 66 66 65 72 led.buffers......(setq.a.(buffer
11da0 2d 6e 61 6d 65 20 61 29 0a 20 20 20 20 20 20 20 20 20 20 62 20 28 62 75 66 66 65 72 2d 6e 61 6d -name.a)...........b.(buffer-nam
11dc0 65 20 62 29 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 28 28 61 6e 64 20 61 20 62 29 20 e.b)).....(cond......((and.a.b).
11de0 28 73 74 72 69 6e 67 3c 20 61 20 62 29 29 0a 20 20 20 20 20 28 62 20 74 29 29 29 0a 20 20 20 28 (string<.a.b))......(b.t)))....(
11e00 28 61 6e 64 20 28 70 72 6f 63 65 73 73 70 20 61 29 20 28 70 72 6f 63 65 73 73 70 20 62 29 29 0a (and.(processp.a).(processp.b)).
11e20 20 20 20 20 28 73 74 72 69 6e 67 3c 20 28 70 72 6f 63 65 73 73 2d 6e 61 6d 65 20 61 29 20 28 70 ....(string<.(process-name.a).(p
11e40 72 6f 63 65 73 73 2d 6e 61 6d 65 20 62 29 29 29 0a 20 20 20 3b 3b 20 54 4f 44 4f 20 41 64 64 20 rocess-name.b)))....;;.TODO.Add.
11e60 73 75 70 70 6f 72 74 20 66 6f 72 20 6d 6f 72 65 20 74 79 70 65 73 20 68 65 72 65 2e 0a 20 20 20 support.for.more.types.here.....
11e80 3b 3b 20 4f 74 68 65 72 20 76 61 6c 75 65 73 20 6f 66 20 65 71 75 61 6c 20 74 79 70 65 20 61 72 ;;.Other.values.of.equal.type.ar
11ea0 65 20 63 6f 6e 73 69 64 65 72 65 64 20 75 6e 6f 72 64 65 72 65 64 20 28 72 65 74 75 72 6e 20 76 e.considered.unordered.(return.v
11ec0 61 6c 75 65 20 6e 69 6c 29 2e 0a 20 20 20 28 28 65 71 20 28 74 79 70 65 2d 6f 66 20 61 29 20 28 alue.nil).....((eq.(type-of.a).(
11ee0 74 79 70 65 2d 6f 66 20 62 29 29 20 6e 69 6c 29 0a 20 20 20 3b 3b 20 44 69 66 66 65 72 65 6e 74 type-of.b)).nil)....;;.Different
11f00 20 74 79 70 65 73 2e 0a 20 20 20 28 74 20 28 65 72 72 6f 72 20 22 76 61 6c 75 65 3c 20 74 79 70 .types.....(t.(error."value<.typ
11f20 65 20 6d 69 73 6d 61 74 63 68 3a 20 25 53 20 25 53 22 20 61 20 62 29 29 29 29 0a 0a 28 63 6f 6d e.mismatch:.%S.%S".a.b))))..(com
11f40 70 61 74 2d 64 65 66 75 6e 20 73 6f 72 74 20 28 73 65 71 20 26 6f 70 74 69 6f 6e 61 6c 20 6c 65 pat-defun.sort.(seq.&optional.le
11f60 73 73 70 20 26 72 65 73 74 20 72 65 73 74 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 ssp.&rest.rest).;;.<compat-tests
11f80 3a 73 6f 72 74 3e 0a 20 20 22 53 6f 72 74 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 73 75 70 :sort>..."Sort.function.with.sup
11fa0 70 6f 72 74 20 66 6f 72 20 6b 65 79 77 6f 72 64 20 61 72 67 75 6d 65 6e 74 73 2e 0a 54 68 65 20 port.for.keyword.arguments..The.
11fc0 66 6f 6c 6c 6f 77 69 6e 67 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 64 65 66 69 6e 65 64 3a following.arguments.are.defined:
11fe0 0a 0a 3a 6b 65 79 20 46 55 4e 43 20 2d 2d 20 46 55 4e 43 20 69 73 20 61 20 66 75 6e 63 74 69 6f ..:key.FUNC.--.FUNC.is.a.functio
12000 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 20 73 69 6e 67 6c 65 20 65 6c 65 6d 65 6e 74 20 66 72 n.that.takes.a.single.element.fr
12020 6f 6d 20 53 45 51 20 61 6e 64 0a 20 20 72 65 74 75 72 6e 73 20 74 68 65 20 6b 65 79 20 76 61 6c om.SEQ.and...returns.the.key.val
12040 75 65 20 74 6f 20 62 65 20 75 73 65 64 20 69 6e 20 63 6f 6d 70 61 72 69 73 6f 6e 2e 20 20 49 66 ue.to.be.used.in.comparison...If
12060 20 61 62 73 65 6e 74 20 6f 72 20 6e 69 6c 2c 0a 20 20 60 69 64 65 6e 74 69 74 79 27 20 69 73 20 .absent.or.nil,...`identity'.is.
12080 75 73 65 64 2e 0a 0a 3a 6c 65 73 73 70 20 46 55 4e 43 20 2d 2d 20 46 55 4e 43 20 69 73 20 61 20 used...:lessp.FUNC.--.FUNC.is.a.
120a0 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 74 77 6f 20 61 72 67 75 6d 65 6e 74 function.that.takes.two.argument
120c0 73 20 61 6e 64 20 72 65 74 75 72 6e 73 0a 20 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 74 68 65 20 66 s.and.returns...non-nil.if.the.f
120e0 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 73 68 6f 75 6c 64 20 63 6f 6d 65 20 62 65 66 6f 72 65 20 irst.element.should.come.before.
12100 74 68 65 20 73 65 63 6f 6e 64 2e 0a 20 20 49 66 20 61 62 73 65 6e 74 20 6f 72 20 6e 69 6c 2c 20 the.second....If.absent.or.nil,.
12120 60 76 61 6c 75 65 3c 27 20 69 73 20 75 73 65 64 2e 0a 0a 3a 72 65 76 65 72 73 65 20 42 4f 4f 4c `value<'.is.used...:reverse.BOOL
12140 20 2d 2d 20 69 66 20 42 4f 4f 4c 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 65 20 73 6f 72 74 .--.if.BOOL.is.non-nil,.the.sort
12160 69 6e 67 20 6f 72 64 65 72 20 69 6d 70 6c 69 65 64 20 62 79 20 46 55 4e 43 20 69 73 0a 20 20 72 ing.order.implied.by.FUNC.is...r
12180 65 76 65 72 73 65 64 2e 20 20 54 68 69 73 20 64 6f 65 73 20 6e 6f 74 20 61 66 66 65 63 74 20 73 eversed...This.does.not.affect.s
121a0 74 61 62 69 6c 69 74 79 3a 20 65 71 75 61 6c 20 65 6c 65 6d 65 6e 74 73 20 73 74 69 6c 6c 20 72 tability:.equal.elements.still.r
121c0 65 74 61 69 6e 0a 20 20 74 68 65 69 72 20 6f 72 64 65 72 20 69 6e 20 74 68 65 20 69 6e 70 75 74 etain...their.order.in.the.input
121e0 20 73 65 71 75 65 6e 63 65 2e 0a 0a 3a 69 6e 2d 70 6c 61 63 65 20 42 4f 4f 4c 20 2d 2d 20 69 66 .sequence...:in-place.BOOL.--.if
12200 20 42 4f 4f 4c 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 53 45 51 20 69 73 20 73 6f 72 74 65 64 20 .BOOL.is.non-nil,.SEQ.is.sorted.
12220 69 6e 2d 70 6c 61 63 65 20 61 6e 64 20 72 65 74 75 72 6e 65 64 2e 0a 20 20 4f 74 68 65 72 77 69 in-place.and.returned....Otherwi
12240 73 65 2c 20 61 20 73 6f 72 74 65 64 20 63 6f 70 79 20 6f 66 20 53 45 51 20 69 73 20 72 65 74 75 se,.a.sorted.copy.of.SEQ.is.retu
12260 72 6e 65 64 20 61 6e 64 20 53 45 51 20 72 65 6d 61 69 6e 73 20 75 6e 6d 6f 64 69 66 69 65 64 3b rned.and.SEQ.remains.unmodified;
12280 0a 20 20 74 68 69 73 20 69 73 20 74 68 65 20 64 65 66 61 75 6c 74 2e 0a 0a 46 6f 72 20 63 6f 6d ...this.is.the.default...For.com
122a0 70 61 74 69 62 69 6c 69 74 79 2c 20 74 68 65 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 patibility,.the.calling.conventi
122c0 6f 6e 20 28 73 6f 72 74 20 53 45 51 20 4c 45 53 53 50 29 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 on.(sort.SEQ.LESSP).can.also.be.
122e0 75 73 65 64 3b 0a 69 6e 20 74 68 69 73 20 63 61 73 65 2c 20 73 6f 72 74 69 6e 67 20 69 73 20 61 used;.in.this.case,.sorting.is.a
12300 6c 77 61 79 73 20 64 6f 6e 65 20 69 6e 2d 70 6c 61 63 65 2e 22 0a 20 20 3a 65 78 74 65 6e 64 65 lways.done.in-place."...:extende
12320 64 20 74 0a 20 20 28 6c 65 74 20 28 28 69 6e 2d 70 6c 61 63 65 20 74 29 20 28 72 65 76 65 72 73 d.t...(let.((in-place.t).(revers
12340 65 20 6e 69 6c 29 20 28 6f 72 69 67 2d 73 65 71 20 73 65 71 29 29 0a 20 20 20 20 28 77 68 65 6e e.nil).(orig-seq.seq)).....(when
12360 20 28 6f 72 20 28 6e 6f 74 20 6c 65 73 73 70 29 20 72 65 73 74 29 0a 20 20 20 20 20 20 28 73 65 .(or.(not.lessp).rest).......(se
12380 74 71 0a 20 20 20 20 20 20 20 72 65 73 74 20 28 69 66 20 6c 65 73 73 70 20 28 63 6f 6e 73 20 6c tq........rest.(if.lessp.(cons.l
123a0 65 73 73 70 20 72 65 73 74 29 20 72 65 73 74 29 0a 20 20 20 20 20 20 20 69 6e 2d 70 6c 61 63 65 essp.rest).rest)........in-place
123c0 20 28 70 6c 69 73 74 2d 67 65 74 20 72 65 73 74 20 3a 69 6e 2d 70 6c 61 63 65 29 0a 20 20 20 20 .(plist-get.rest.:in-place).....
123e0 20 20 20 72 65 76 65 72 73 65 20 28 70 6c 69 73 74 2d 67 65 74 20 72 65 73 74 20 3a 72 65 76 65 ...reverse.(plist-get.rest.:reve
12400 72 73 65 29 0a 20 20 20 20 20 20 20 6c 65 73 73 70 20 28 6c 65 74 20 28 28 6b 65 79 20 28 70 6c rse)........lessp.(let.((key.(pl
12420 69 73 74 2d 67 65 74 20 72 65 73 74 20 3a 6b 65 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ist-get.rest.:key)).............
12440 20 20 20 20 20 20 20 28 3c 20 28 6f 72 20 28 70 6c 69 73 74 2d 67 65 74 20 72 65 73 74 20 3a 6c .......(<.(or.(plist-get.rest.:l
12460 65 73 73 70 29 20 23 27 76 61 6c 75 65 3c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 essp).#'value<)))...............
12480 20 28 69 66 20 6b 65 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 .(if.key..................(lambd
124a0 61 20 28 61 20 62 29 20 28 66 75 6e 63 61 6c 6c 20 3c 20 28 66 75 6e 63 61 6c 6c 20 6b 65 79 20 a.(a.b).(funcall.<.(funcall.key.
124c0 61 29 20 28 66 75 6e 63 61 6c 6c 20 6b 65 79 20 62 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 a).(funcall.key.b)))............
124e0 20 20 20 20 20 20 3c 29 29 0a 20 20 20 20 20 20 20 73 65 71 20 28 69 66 20 28 6f 72 20 28 61 6e ......<))........seq.(if.(or.(an
12500 64 20 28 65 76 61 6c 2d 77 68 65 6e 2d 63 6f 6d 70 69 6c 65 20 28 3c 20 65 6d 61 63 73 2d 6d 61 d.(eval-when-compile.(<.emacs-ma
12520 6a 6f 72 2d 76 65 72 73 69 6f 6e 20 32 35 29 29 20 28 76 65 63 74 6f 72 70 20 6f 72 69 67 2d 73 jor-version.25)).(vectorp.orig-s
12540 65 71 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 6e 2d 70 6c 61 63 65 eq))....................in-place
12560 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 65 71 0a 20 20 20 20 20 20 20 20 20 20 20 )................seq............
12580 20 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 73 65 71 29 29 29 29 0a 20 20 20 20 3b 3b 20 ..(copy-sequence.seq)))).....;;.
125a0 45 6d 61 63 73 20 32 34 20 64 6f 65 73 20 6e 6f 74 20 73 75 70 70 6f 72 74 20 76 65 63 74 6f 72 Emacs.24.does.not.support.vector
125c0 73 2e 20 43 6f 6e 76 65 72 74 20 74 6f 20 6c 69 73 74 2e 0a 20 20 20 20 28 77 68 65 6e 20 28 61 s..Convert.to.list......(when.(a
125e0 6e 64 20 28 65 76 61 6c 2d 77 68 65 6e 2d 63 6f 6d 70 69 6c 65 20 28 3c 20 65 6d 61 63 73 2d 6d nd.(eval-when-compile.(<.emacs-m
12600 61 6a 6f 72 2d 76 65 72 73 69 6f 6e 20 32 35 29 29 20 28 76 65 63 74 6f 72 70 20 6f 72 69 67 2d ajor-version.25)).(vectorp.orig-
12620 73 65 71 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 73 65 71 20 28 61 70 70 65 6e 64 20 73 65 seq)).......(setq.seq.(append.se
12640 71 20 6e 69 6c 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 73 65 71 20 28 69 66 20 72 65 76 65 72 q.nil))).....(setq.seq.(if.rever
12660 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 28 se...................(nreverse.(
12680 73 6f 72 74 20 28 6e 72 65 76 65 72 73 65 20 73 65 71 29 20 6c 65 73 73 70 29 29 0a 20 20 20 20 sort.(nreverse.seq).lessp)).....
126a0 20 20 20 20 20 20 20 20 20 20 20 20 28 73 6f 72 74 20 73 65 71 20 6c 65 73 73 70 29 29 29 0a 20 ............(sort.seq.lessp)))..
126c0 20 20 20 3b 3b 20 45 6d 61 63 73 20 32 34 3a 20 43 6f 6e 76 65 72 74 20 62 61 63 6b 20 74 6f 20 ...;;.Emacs.24:.Convert.back.to.
126e0 76 65 63 74 6f 72 2e 0a 20 20 20 20 28 69 66 20 28 61 6e 64 20 28 65 76 61 6c 2d 77 68 65 6e 2d vector......(if.(and.(eval-when-
12700 63 6f 6d 70 69 6c 65 20 28 3c 20 65 6d 61 63 73 2d 6d 61 6a 6f 72 2d 76 65 72 73 69 6f 6e 20 32 compile.(<.emacs-major-version.2
12720 35 29 29 20 28 76 65 63 74 6f 72 70 20 6f 72 69 67 2d 73 65 71 29 29 0a 20 20 20 20 20 20 20 20 5)).(vectorp.orig-seq)).........
12740 28 69 66 20 69 6e 2d 70 6c 61 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 6c 6f 6f (if.in-place.............(cl-loo
12760 70 20 66 6f 72 20 69 20 66 72 6f 6d 20 30 20 66 6f 72 20 78 20 69 6e 20 73 65 71 0a 20 20 20 20 p.for.i.from.0.for.x.in.seq.....
12780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 6f 20 28 61 73 65 74 20 6f 72 69 67 2d 73 .................do.(aset.orig-s
127a0 65 71 20 69 20 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6e eq.i.x)......................fin
127c0 61 6c 6c 79 20 72 65 74 75 72 6e 20 6f 72 69 67 2d 73 65 71 29 0a 20 20 20 20 20 20 20 20 20 20 ally.return.orig-seq)...........
127e0 28 61 70 70 6c 79 20 23 27 76 65 63 74 6f 72 20 73 65 71 29 29 0a 20 20 20 20 20 20 73 65 71 29 (apply.#'vector.seq)).......seq)
12800 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 6d 75 6c 65 2d 63 6d 64 73 2e 65 6c ))..;;;;.Defined.in.mule-cmds.el
12820 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 63 68 61 72 2d 74 6f 2d 6e 61 6d 65 20 28 63 68 ..(compat-defun.char-to-name.(ch
12840 61 72 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 63 68 61 72 2d 74 6f 2d 6e 61 6d ar).;;.<compat-tests:char-to-nam
12860 65 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 55 6e 69 63 6f 64 65 20 6e 61 6d 65 20 66 6f e>..."Return.the.Unicode.name.fo
12880 72 20 43 48 41 52 2c 20 69 66 20 69 74 20 68 61 73 20 6f 6e 65 2c 20 65 6c 73 65 20 6e 69 6c 2e r.CHAR,.if.it.has.one,.else.nil.
128a0 0a 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 43 48 41 52 20 69 73 20 6e 6f 74 20 61 20 63 68 61 .Return.nil.if.CHAR.is.not.a.cha
128c0 72 61 63 74 65 72 2e 22 0a 20 20 28 61 6e 64 20 28 63 68 61 72 61 63 74 65 72 70 20 63 68 61 72 racter."...(and.(characterp.char
128e0 29 0a 20 20 20 20 20 20 20 28 6f 72 20 28 67 65 74 2d 63 68 61 72 2d 63 6f 64 65 2d 70 72 6f 70 )........(or.(get-char-code-prop
12900 65 72 74 79 20 63 68 61 72 20 27 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 67 65 74 erty.char.'name)............(get
12920 2d 63 68 61 72 2d 63 6f 64 65 2d 70 72 6f 70 65 72 74 79 20 63 68 61 72 20 27 6f 6c 64 2d 6e 61 -char-code-property.char.'old-na
12940 6d 65 29 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 63 6f 6d 70 61 74 2d 33 30 29 0a 3b 3b 3b me))))..(provide.'compat-30).;;;
12960 20 63 6f 6d 70 61 74 2d 33 30 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 .compat-30.el.ends.here.........
12980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
129a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
129c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
129e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12a00 63 6f 6d 70 61 74 2d 33 30 2e 30 2e 30 2e 30 2f 4e 45 57 53 2e 6f 72 67 00 00 00 00 00 00 00 00 compat-30.0.0.0/NEWS.org........
12a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12a60 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
12a80 30 30 33 34 36 33 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 31 34 36 00 20 30 00 00 00 0034631.00000000000.013146..0...
12aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12b00 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...................
12b20 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...................
12b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12c00 23 2b 6c 69 6e 6b 3a 20 20 20 20 63 6f 6d 70 61 74 2d 73 72 68 74 20 68 74 74 70 73 3a 2f 2f 74 #+link:....compat-srht.https://t
12c20 6f 64 6f 2e 73 72 2e 68 74 2f 7e 70 6b 61 6c 2f 63 6f 6d 70 61 74 2f 0a 23 2b 6c 69 6e 6b 3a 20 odo.sr.ht/~pkal/compat/.#+link:.
12c40 20 20 20 63 6f 6d 70 61 74 2d 67 68 20 20 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f ...compat-gh...https://github.co
12c60 6d 2f 65 6d 61 63 73 2d 63 6f 6d 70 61 74 2f 63 6f 6d 70 61 74 2f 69 73 73 75 65 73 2f 0a 23 2b m/emacs-compat/compat/issues/.#+
12c80 6f 70 74 69 6f 6e 73 3a 20 74 6f 63 3a 6e 69 6c 20 6e 75 6d 3a 6e 69 6c 20 61 75 74 68 6f 72 3a options:.toc:nil.num:nil.author:
12ca0 6e 69 6c 0a 0a 2a 20 52 65 6c 65 61 73 65 20 6f 66 20 22 43 6f 6d 70 61 74 22 20 56 65 72 73 69 nil..*.Release.of."Compat".Versi
12cc0 6f 6e 20 33 30 2e 30 2e 30 2e 30 0a 0a 2d 20 63 6f 6d 70 61 74 2d 32 38 3a 20 4d 61 72 6b 20 3d on.30.0.0.0..-.compat-28:.Mark.=
12ce0 73 75 62 72 2d 6e 61 74 69 76 65 2d 65 6c 69 73 70 2d 70 3d 20 61 73 20 6f 62 73 6f 6c 65 74 65 subr-native-elisp-p=.as.obsolete
12d00 20 28 72 65 6e 61 6d 65 64 20 69 6e 20 45 6d 61 63 73 20 33 30 29 2e 0a 2d 20 63 6f 6d 70 61 74 .(renamed.in.Emacs.30)..-.compat
12d20 2d 33 30 3a 20 4e 65 77 20 66 75 6e 63 74 69 6f 6e 20 3d 63 68 61 72 2d 74 6f 2d 6e 61 6d 65 3d -30:.New.function.=char-to-name=
12d40 2e 0a 2d 20 63 6f 6d 70 61 74 2d 33 30 3a 20 4e 65 77 20 66 75 6e 63 74 69 6f 6e 20 3d 6f 62 61 ..-.compat-30:.New.function.=oba
12d60 72 72 61 79 2d 63 6c 65 61 72 3d 2e 0a 2d 20 63 6f 6d 70 61 74 2d 33 30 3a 20 4e 65 77 20 66 75 rray-clear=..-.compat-30:.New.fu
12d80 6e 63 74 69 6f 6e 20 3d 69 6e 74 65 72 70 72 65 74 65 64 2d 66 75 6e 63 74 69 6f 6e 2d 70 3d 2e nction.=interpreted-function-p=.
12da0 0a 2d 20 63 6f 6d 70 61 74 2d 33 30 3a 20 4e 65 77 20 66 75 6e 63 74 69 6f 6e 20 3d 70 72 69 6d .-.compat-30:.New.function.=prim
12dc0 69 74 69 76 65 2d 66 75 6e 63 74 69 6f 6e 2d 70 3d 2e 0a 2d 20 63 6f 6d 70 61 74 2d 33 30 3a 20 itive-function-p=..-.compat-30:.
12de0 4e 65 77 20 66 75 6e 63 74 69 6f 6e 20 3d 63 6c 6f 73 75 72 65 70 3d 2e 0a 2d 20 63 6f 6d 70 61 New.function.=closurep=..-.compa
12e00 74 2d 33 30 3a 20 41 64 64 20 65 78 74 65 6e 64 65 64 20 66 75 6e 63 74 69 6f 6e 20 3d 73 6f 72 t-30:.Add.extended.function.=sor
12e20 74 3d 20 77 69 74 68 20 6b 65 79 77 6f 72 64 20 61 72 67 75 6d 65 6e 74 73 2e 0a 2d 20 63 6f 6d t=.with.keyword.arguments..-.com
12e40 70 61 74 2d 33 30 3a 20 4e 65 77 20 66 75 6e 63 74 69 6f 6e 20 3d 76 61 6c 75 65 3c 3d 2e 0a 2d pat-30:.New.function.=value<=..-
12e60 20 63 6f 6d 70 61 74 2d 33 30 3a 20 41 64 64 20 65 78 74 65 6e 64 65 64 20 3d 63 6f 70 79 2d 74 .compat-30:.Add.extended.=copy-t
12e80 72 65 65 3d 20 77 69 74 68 20 73 75 70 70 6f 72 74 20 66 6f 72 20 63 6f 70 79 69 6e 67 20 72 65 ree=.with.support.for.copying.re
12ea0 63 6f 72 64 73 20 77 69 74 68 0a 20 20 6e 6f 6e 2d 6e 69 6c 20 6f 70 74 69 6f 6e 61 6c 20 73 65 cords.with...non-nil.optional.se
12ec0 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 2e 0a 2d 20 63 6f 6d 70 61 74 2d 33 30 3a 20 4e 65 77 20 cond.argument..-.compat-30:.New.
12ee0 6d 61 63 72 6f 20 3d 73 74 61 74 69 63 2d 69 66 3d 2e 0a 2d 20 63 6f 6d 70 61 74 2d 33 30 3a 20 macro.=static-if=..-.compat-30:.
12f00 4e 65 77 20 61 6c 69 61 73 20 3d 64 72 6f 70 3d 2e 0a 2d 20 63 6f 6d 70 61 74 2d 33 30 3a 20 4e New.alias.=drop=..-.compat-30:.N
12f20 65 77 20 66 75 6e 63 74 69 6f 6e 20 3d 6d 65 72 67 65 2d 6f 72 64 65 72 65 64 2d 6c 69 73 74 73 ew.function.=merge-ordered-lists
12f40 3d 2e 0a 2d 20 63 6f 6d 70 61 74 2d 33 30 3a 20 4e 65 77 20 76 61 72 69 61 62 6c 65 73 20 3d 63 =..-.compat-30:.New.variables.=c
12f60 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 3d 20 61 6e 64 20 3d 63 6f 6d 70 6c ompletion-lazy-hilit=.and.=compl
12f80 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 2d 66 6e 3d 0a 20 20 61 6e 64 20 6e 65 77 20 66 etion-lazy-hilit-fn=...and.new.f
12fa0 75 6e 63 74 69 6f 6e 20 3d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 3d 2e unction.=completion-lazy-hilit=.
12fc0 0a 2d 20 63 6f 6d 70 61 74 2d 33 30 3a 20 4e 65 77 20 66 75 6e 63 74 69 6f 6e 20 3d 72 65 71 75 .-.compat-30:.New.function.=requ
12fe0 69 72 65 2d 77 69 74 68 2d 63 68 65 63 6b 3d 2e 0a 2d 20 63 6f 6d 70 61 74 2d 33 30 3a 20 4e 65 ire-with-check=..-.compat-30:.Ne
13000 77 20 66 75 6e 63 74 69 6f 6e 73 20 3d 66 69 6e 64 2d 62 75 66 66 65 72 3d 20 61 6e 64 20 3d 67 w.functions.=find-buffer=.and.=g
13020 65 74 2d 74 72 75 65 6e 61 6d 65 2d 62 75 66 66 65 72 3d 2e 0a 2d 20 63 6f 6d 70 61 74 2d 33 30 et-truename-buffer=..-.compat-30
13040 3a 20 41 64 64 20 65 78 74 65 6e 64 65 64 20 3d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6d 65 74 61 64 :.Add.extended.=completion-metad
13060 61 74 61 2d 67 65 74 3d 20 77 69 74 68 20 73 75 70 70 6f 72 74 20 66 6f 72 0a 20 20 3d 63 6f 6d ata-get=.with.support.for...=com
13080 70 6c 65 74 69 6f 6e 2d 63 61 74 65 67 6f 72 79 2d 6f 76 65 72 72 69 64 65 73 3d 20 61 6e 64 20 pletion-category-overrides=.and.
130a0 3d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 65 78 74 72 61 2d 70 72 6f 70 65 72 74 69 65 73 3d 2e 0a 0a =completion-extra-properties=...
130c0 28 52 65 6c 65 61 73 65 20 3c 32 30 32 34 2d 30 37 2d 30 38 20 4d 6f 6e 3e 29 0a 0a 2a 20 52 65 (Release.<2024-07-08.Mon>)..*.Re
130e0 6c 65 61 73 65 20 6f 66 20 22 43 6f 6d 70 61 74 22 20 56 65 72 73 69 6f 6e 20 32 39 2e 31 2e 34 lease.of."Compat".Version.29.1.4
13100 2e 35 0a 0a 2d 20 4d 69 6e 6f 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 20 6f 66 20 7e 70 6c 69 .5..-.Minor.optimization.of.~pli
13120 73 74 2d 67 65 74 7e 20 61 6e 64 20 7e 70 6c 69 73 74 2d 70 75 74 7e 2e 0a 2d 20 4d 69 6e 6f 72 st-get~.and.~plist-put~..-.Minor
13140 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 61 64 6a 75 73 74 6d 65 6e 74 73 20 66 6f 72 20 74 .compatibility.adjustments.for.t
13160 68 65 20 45 6d 61 63 73 20 33 30 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 76 65 72 73 69 6f 6e 2e he.Emacs.30.development.version.
13180 0a 2d 20 41 20 6d 69 6e 69 6d 61 6c 20 76 65 72 73 69 6f 6e 20 6f 66 20 3d 63 6f 6d 70 61 74 2e .-.A.minimal.version.of.=compat.
131a0 65 6c 3d 20 77 69 6c 6c 20 62 65 20 70 61 72 74 20 6f 66 20 45 6d 61 63 73 20 33 30 2e 20 45 6d el=.will.be.part.of.Emacs.30..Em
131c0 61 63 73 20 3a 63 6f 72 65 20 70 61 63 6b 61 67 65 73 0a 20 20 63 61 6e 20 64 69 72 65 63 74 6c acs.:core.packages...can.directl
131e0 79 20 7e 28 72 65 71 75 69 72 65 20 27 63 6f 6d 70 61 74 29 7e 20 77 69 74 68 6f 75 74 20 74 68 y.~(require.'compat)~.without.th
13200 65 20 7e 4e 4f 45 52 52 4f 52 7e 20 66 6c 61 67 2e 20 46 75 72 74 68 65 72 6d 6f 72 65 20 43 6f e.~NOERROR~.flag..Furthermore.Co
13220 6d 70 61 74 0a 20 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 69 6e 73 74 61 6c 6c 65 64 20 75 6e 6e mpat...will.not.be.installed.unn
13240 65 63 65 73 73 61 72 69 6c 79 2e 20 49 66 20 61 20 70 61 63 6b 61 67 65 20 64 65 70 65 6e 64 69 ecessarily..If.a.package.dependi
13260 6e 67 20 6f 6e 20 45 6d 61 63 73 20 32 35 2e 31 20 61 6e 64 0a 20 20 43 6f 6d 70 61 74 20 32 39 ng.on.Emacs.25.1.and...Compat.29
13280 2e 31 20 69 73 20 69 6e 73 74 61 6c 6c 65 64 20 6f 6e 20 45 6d 61 63 73 20 33 30 2e 31 2c 20 43 .1.is.installed.on.Emacs.30.1,.C
132a0 6f 6d 70 61 74 20 32 39 2e 31 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 69 6e 73 74 61 6c 6c 65 64 ompat.29.1.will.not.be.installed
132c0 20 66 72 6f 6d 0a 20 20 45 4c 50 41 2c 20 73 69 6e 63 65 20 45 6d 61 63 73 20 33 30 2e 31 20 61 .from...ELPA,.since.Emacs.30.1.a
132e0 6c 72 65 61 64 79 20 70 72 6f 76 69 64 65 73 20 74 68 65 20 72 65 71 75 69 72 65 64 20 66 75 6e lready.provides.the.required.fun
13300 63 74 69 6f 6e 61 6c 69 74 79 2e 0a 0a 28 52 65 6c 65 61 73 65 20 3c 32 30 32 34 2d 30 33 2d 31 ctionality...(Release.<2024-03-1
13320 36 20 53 61 74 3e 29 0a 0a 2a 20 52 65 6c 65 61 73 65 20 6f 66 20 22 43 6f 6d 70 61 74 22 20 56 6.Sat>)..*.Release.of."Compat".V
13340 65 72 73 69 6f 6e 20 32 39 2e 31 2e 34 2e 34 0a 0a 2d 20 46 69 78 20 7e 50 61 63 6b 61 67 65 2d ersion.29.1.4.4..-.Fix.~Package-
13360 52 65 71 75 69 72 65 73 7e 20 68 65 61 64 65 72 20 69 6e 20 63 6f 6d 70 61 74 2e 65 6c 0a 2d 20 Requires~.header.in.compat.el.-.
13380 46 69 78 20 7e 4d 61 69 6e 74 61 69 6e 65 72 7e 20 68 65 61 64 65 72 20 69 6e 20 63 6f 6d 70 61 Fix.~Maintainer~.header.in.compa
133a0 74 2e 65 6c 0a 0a 28 52 65 6c 65 61 73 65 20 3c 32 30 32 33 2d 31 31 2d 31 33 20 4d 6f 6e 3e 29 t.el..(Release.<2023-11-13.Mon>)
133c0 0a 0a 2a 20 52 65 6c 65 61 73 65 20 6f 66 20 22 43 6f 6d 70 61 74 22 20 56 65 72 73 69 6f 6e 20 ..*.Release.of."Compat".Version.
133e0 32 39 2e 31 2e 34 2e 33 0a 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 66 75 6e 63 74 29.1.4.3..-.compat-29:.Add.funct
13400 69 6f 6e 20 3d 63 68 61 72 2d 75 70 70 65 72 63 61 73 65 2d 70 3d 2e 0a 2d 20 63 6f 6d 70 61 74 ion.=char-uppercase-p=..-.compat
13420 2d 32 39 3a 20 41 64 64 20 66 75 6e 63 74 69 6f 6e 20 3d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 -29:.Add.function.=window-config
13440 75 72 61 74 69 6f 6e 2d 65 71 75 61 6c 2d 70 3d 2e 0a 0a 28 52 65 6c 65 61 73 65 20 3c 32 30 32 uration-equal-p=...(Release.<202
13460 33 2d 31 31 2d 30 34 20 53 61 74 3e 29 0a 0a 2a 20 52 65 6c 65 61 73 65 20 6f 66 20 22 43 6f 6d 3-11-04.Sat>)..*.Release.of."Com
13480 70 61 74 22 20 56 65 72 73 69 6f 6e 20 32 39 2e 31 2e 34 2e 32 0a 0a 2d 20 63 6f 6d 70 61 74 2d pat".Version.29.1.4.2..-.compat-
134a0 32 38 3a 20 49 6d 70 72 6f 76 65 20 3d 6d 61 6b 65 2d 73 65 70 61 72 61 74 6f 72 2d 6c 69 6e 65 28:.Improve.=make-separator-line
134c0 3d 20 76 69 73 75 61 6c 73 20 6f 6e 20 67 72 61 70 68 69 63 20 64 69 73 70 6c 61 79 73 2e 0a 2d =.visuals.on.graphic.displays..-
134e0 20 63 6f 6d 70 61 74 2d 32 38 3a 20 41 64 64 20 3d 6e 61 74 69 76 65 2d 63 6f 6d 70 2d 61 76 61 .compat-28:.Add.=native-comp-ava
13500 69 6c 61 62 6c 65 2d 70 3d 2c 20 77 68 69 63 68 20 61 6c 77 61 79 73 20 72 65 74 75 72 6e 73 20 ilable-p=,.which.always.returns.
13520 6e 69 6c 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 76 61 72 69 61 62 6c 65 20 3d nil..-.compat-29:.Add.variable.=
13540 6c 69 73 70 2d 64 69 72 65 63 74 6f 72 79 3d 2e 0a 0a 28 52 65 6c 65 61 73 65 20 3c 32 30 32 33 lisp-directory=...(Release.<2023
13560 2d 30 37 2d 33 30 20 53 75 6e 3e 29 0a 0a 2a 20 52 65 6c 65 61 73 65 20 6f 66 20 22 43 6f 6d 70 -07-30.Sun>)..*.Release.of."Comp
13580 61 74 22 20 56 65 72 73 69 6f 6e 20 32 39 2e 31 2e 34 2e 31 0a 0a 2d 20 63 6f 6d 70 61 74 2d 32 at".Version.29.1.4.1..-.compat-2
135a0 39 3a 20 41 64 64 20 7e 64 69 72 65 63 74 6f 72 79 2d 61 62 62 72 65 76 2d 61 70 70 6c 79 7e 2e 9:.Add.~directory-abbrev-apply~.
135c0 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 7e 64 69 72 65 63 74 6f 72 79 2d 61 62 62 .-.compat-29:.Add.~directory-abb
135e0 72 65 76 2d 6d 61 6b 65 2d 72 65 67 65 78 70 7e 2e 0a 0a 28 52 65 6c 65 61 73 65 20 3c 32 30 32 rev-make-regexp~...(Release.<202
13600 33 2d 30 33 2d 32 36 20 53 75 6e 3e 29 0a 0a 2a 20 52 65 6c 65 61 73 65 20 6f 66 20 22 43 6f 6d 3-03-26.Sun>)..*.Release.of."Com
13620 70 61 74 22 20 56 65 72 73 69 6f 6e 20 32 39 2e 31 2e 34 2e 30 0a 0a 2d 20 63 6f 6d 70 61 74 2d pat".Version.29.1.4.0..-.compat-
13640 32 37 3a 20 44 72 6f 70 20 6f 62 73 6f 6c 65 74 65 20 7e 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 64 27:.Drop.obsolete.~compat-call.d
13660 69 72 65 64 2d 67 65 74 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 7e 2e 0a 2d 20 63 6f 6d 70 61 74 ired-get-marked-files~..-.compat
13680 2d 32 38 3a 20 41 64 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 7e 64 65 66 63 75 73 74 6f 6d 7e -28:.Add.support.for.~defcustom~
136a0 20 74 79 70 65 20 7e 6e 61 74 6e 75 6d 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 .type.~natnum~..-.compat-29:.Add
136c0 20 7e 77 69 74 68 2d 72 65 73 74 72 69 63 74 69 6f 6e 7e 20 61 6e 64 20 7e 77 69 74 68 6f 75 74 .~with-restriction~.and.~without
136e0 2d 72 65 73 74 72 69 63 74 69 6f 6e 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 -restriction~..-.compat-29:.Add.
13700 7e 63 6c 2d 63 6f 6e 73 74 61 6e 74 6c 79 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 44 72 ~cl-constantly~..-.compat-29:.Dr
13720 6f 70 20 7e 77 69 74 68 2d 6e 61 72 72 6f 77 69 6e 67 7e 20 77 68 69 63 68 20 77 61 73 20 72 65 op.~with-narrowing~.which.was.re
13740 6e 61 6d 65 64 20 74 6f 20 7e 77 69 74 68 2d 72 65 73 74 72 69 63 74 69 6f 6e 7e 2e 0a 2d 20 63 named.to.~with-restriction~..-.c
13760 6f 6d 70 61 74 2d 32 38 3a 20 41 64 64 20 73 75 70 70 6f 72 74 20 66 6f 72 20 7e 64 65 66 63 75 ompat-28:.Add.support.for.~defcu
13780 73 74 6f 6d 7e 20 74 79 70 65 20 7e 6b 65 79 7e 2e 0a 0a 28 52 65 6c 65 61 73 65 20 3c 32 30 32 stom~.type.~key~...(Release.<202
137a0 33 2d 30 33 2d 30 35 20 53 75 6e 3e 29 0a 0a 2a 20 52 65 6c 65 61 73 65 20 6f 66 20 22 43 6f 6d 3-03-05.Sun>)..*.Release.of."Com
137c0 70 61 74 22 20 56 65 72 73 69 6f 6e 20 32 39 2e 31 2e 33 2e 34 0a 0a 2d 20 45 6e 73 75 72 65 20 pat".Version.29.1.3.4..-.Ensure.
137e0 74 68 61 74 20 7e 73 65 71 7e 20 69 73 20 72 65 71 75 69 72 65 64 20 70 72 6f 70 65 72 6c 79 20 that.~seq~.is.required.properly.
13800 62 6f 74 68 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 20 61 6e 64 20 72 75 6e 74 69 6d 65 both.at.compile.time.and.runtime
13820 2c 20 73 75 63 68 0a 20 20 74 68 61 74 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 6f 66 20 64 6f 77 ,.such...that.compilation.of.dow
13840 6e 73 74 72 65 61 6d 20 70 61 63 6b 61 67 65 73 20 77 6f 72 6b 73 20 65 76 65 6e 20 69 66 20 43 nstream.packages.works.even.if.C
13860 6f 6d 70 61 74 20 69 74 73 65 6c 66 20 69 73 20 6e 6f 74 0a 20 20 63 6f 6d 70 69 6c 65 64 2e 20 ompat.itself.is.not...compiled..
13880 4d 61 67 69 74 20 75 73 65 73 20 61 20 63 6f 6d 70 6c 65 78 20 63 6f 6e 74 69 6e 75 6f 75 73 20 Magit.uses.a.complex.continuous.
138a0 69 6e 74 65 67 72 61 74 69 6f 6e 20 73 79 73 74 65 6d 2c 20 77 68 65 72 65 20 4d 61 67 69 74 20 integration.system,.where.Magit.
138c0 69 73 0a 20 20 63 6f 6d 70 69 6c 65 64 20 61 6e 64 20 74 65 73 74 65 64 2c 20 77 68 69 6c 65 20 is...compiled.and.tested,.while.
138e0 74 68 65 20 43 6f 6d 70 61 74 20 64 65 70 65 6e 64 65 6e 63 79 20 69 73 20 6e 6f 74 20 63 6f 6d the.Compat.dependency.is.not.com
13900 70 69 6c 65 64 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 38 3a 20 41 64 64 20 7e 70 72 6f 63 65 73 73 piled..-.compat-28:.Add.~process
13920 2d 6c 69 6e 65 73 2d 68 61 6e 64 6c 69 6e 67 2d 73 74 61 74 75 73 7e 20 61 6e 64 20 7e 70 72 6f -lines-handling-status~.and.~pro
13940 63 65 73 73 2d 6c 69 6e 65 73 2d 69 67 6e 6f 72 65 2d 73 74 61 74 75 73 7e 2e 0a 0a 28 52 65 6c cess-lines-ignore-status~...(Rel
13960 65 61 73 65 20 3c 32 30 32 33 2d 30 32 2d 31 31 20 53 61 74 3e 29 0a 0a 2a 20 52 65 6c 65 61 73 ease.<2023-02-11.Sat>)..*.Releas
13980 65 20 6f 66 20 22 43 6f 6d 70 61 74 22 20 56 65 72 73 69 6f 6e 20 32 39 2e 31 2e 33 2e 33 0a 0a e.of."Compat".Version.29.1.3.3..
139a0 2d 20 63 6f 6d 70 61 74 2d 32 37 3a 20 41 64 64 20 7e 77 69 74 68 2d 73 75 70 70 72 65 73 73 65 -.compat-27:.Add.~with-suppresse
139c0 64 2d 77 61 72 6e 69 6e 67 73 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 7e 63 d-warnings~..-.compat-29:.Add.~c
139e0 6c 2d 77 69 74 68 2d 67 65 6e 73 79 6d 73 7e 20 61 6e 64 20 7e 63 6c 2d 6f 6e 63 65 2d 6f 6e 6c l-with-gensyms~.and.~cl-once-onl
13a00 79 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 4c 6f 61 64 20 7e 73 65 71 7e 2c 20 77 68 69 y~..-.compat-29:.Load.~seq~,.whi
13a20 63 68 20 69 73 20 70 72 65 6c 6f 61 64 65 64 20 6f 6e 20 45 6d 61 63 73 20 32 39 2e 0a 0a 28 52 ch.is.preloaded.on.Emacs.29...(R
13a40 65 6c 65 61 73 65 20 3c 32 30 32 33 2d 30 32 2d 30 38 20 57 65 64 3e 29 0a 0a 2a 20 52 65 6c 65 elease.<2023-02-08.Wed>)..*.Rele
13a60 61 73 65 20 6f 66 20 22 43 6f 6d 70 61 74 22 20 56 65 72 73 69 6f 6e 20 32 39 2e 31 2e 33 2e 32 ase.of."Compat".Version.29.1.3.2
13a80 0a 0a 2d 20 63 6f 6d 70 61 74 2d 32 36 3a 20 41 64 64 20 7e 6d 61 6b 65 2d 74 65 6d 70 2d 66 69 ..-.compat-26:.Add.~make-temp-fi
13aa0 6c 65 7e 20 77 69 74 68 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 54 45 58 54 2e le~.with.optional.argument.TEXT.
13ac0 0a 2d 20 63 6f 6d 70 61 74 2d 32 37 3a 20 4d 61 72 6b 20 7e 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 .-.compat-27:.Mark.~compat-call.
13ae0 64 69 72 65 64 2d 67 65 74 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 7e 20 61 73 20 6f 62 73 6f 6c dired-get-marked-files~.as.obsol
13b00 65 74 65 2e 20 53 65 65 20 74 68 65 0a 20 20 73 65 63 74 69 6f 6e 20 6c 69 6d 69 74 61 74 69 6f ete..See.the...section.limitatio
13b20 6e 73 20 69 6e 20 74 68 65 20 43 6f 6d 70 61 74 20 6d 61 6e 75 61 6c 2e 0a 2d 20 63 6f 6d 70 61 ns.in.the.Compat.manual..-.compa
13b40 74 2d 32 39 3a 20 41 64 64 20 7e 66 75 6e 63 61 6c 6c 2d 77 69 74 68 2d 64 65 6c 61 79 65 64 2d t-29:.Add.~funcall-with-delayed-
13b60 6d 65 73 73 61 67 65 7e 20 61 6e 64 20 7e 77 69 74 68 2d 64 65 6c 61 79 65 64 2d 6d 65 73 73 61 message~.and.~with-delayed-messa
13b80 67 65 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 7e 65 72 74 2d 77 69 74 68 2d ge~..-.compat-29:.Add.~ert-with-
13ba0 74 65 6d 70 2d 66 69 6c 65 7e 20 61 6e 64 20 7e 65 72 74 2d 77 69 74 68 2d 74 65 6d 70 2d 64 69 temp-file~.and.~ert-with-temp-di
13bc0 72 65 63 74 6f 72 79 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 7e 73 65 74 2d rectory~..-.compat-29:.Add.~set-
13be0 74 72 61 6e 73 69 65 6e 74 2d 6d 61 70 7e 20 77 69 74 68 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 transient-map~.with.optional.arg
13c00 75 6d 65 6e 74 73 20 4d 45 53 53 41 47 45 20 61 6e 64 20 54 49 4d 45 4f 55 54 2e 0a 0a 28 52 65 uments.MESSAGE.and.TIMEOUT...(Re
13c20 6c 65 61 73 65 20 3c 32 30 32 33 2d 30 32 2d 30 31 20 57 65 64 3e 29 0a 0a 2a 20 52 65 6c 65 61 lease.<2023-02-01.Wed>)..*.Relea
13c40 73 65 20 6f 66 20 22 43 6f 6d 70 61 74 22 20 56 65 72 73 69 6f 6e 20 32 39 2e 31 2e 33 2e 31 0a se.of."Compat".Version.29.1.3.1.
13c60 0a 2d 20 46 69 78 20 72 65 67 72 65 73 73 69 6f 6e 2c 20 77 68 69 63 68 20 70 72 65 76 65 6e 74 .-.Fix.regression,.which.prevent
13c80 65 64 20 6c 6f 61 64 69 6e 67 20 43 6f 6d 70 61 74 20 69 6e 20 69 6e 74 65 72 70 72 65 74 65 64 ed.loading.Compat.in.interpreted
13ca0 20 6d 6f 64 65 2e 20 57 65 20 65 6e 73 75 72 65 0a 20 20 74 68 61 74 20 43 6f 6d 70 61 74 20 77 .mode..We.ensure...that.Compat.w
13cc0 6f 72 6b 73 20 69 6e 74 65 72 70 72 65 74 65 64 20 61 6e 64 20 62 79 74 65 20 63 6f 6d 70 69 6c orks.interpreted.and.byte.compil
13ce0 65 64 20 62 79 20 72 75 6e 6e 69 6e 67 20 74 68 65 20 65 6e 74 69 72 65 20 74 65 73 74 0a 20 20 ed.by.running.the.entire.test...
13d00 73 75 69 74 65 20 74 77 69 63 65 20 69 6e 20 74 68 65 20 43 49 2e 20 53 65 65 20 68 74 74 70 73 suite.twice.in.the.CI..See.https
13d20 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 69 74 2f 6d 61 67 69 74 2f 69 73 73 75 65 73 ://github.com/magit/magit/issues
13d40 2f 34 38 35 38 20 66 6f 72 20 74 68 65 0a 20 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 4d 61 /4858.for.the...corresponding.Ma
13d60 67 69 74 20 69 73 73 75 65 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 37 3a 20 41 64 64 20 7e 66 69 6c git.issue..-.compat-27:.Add.~fil
13d80 65 2d 6e 61 6d 65 2d 75 6e 71 75 6f 74 65 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 38 3a 20 41 64 e-name-unquote~..-.compat-28:.Ad
13da0 64 20 7e 6d 61 72 6b 2d 74 68 69 6e 67 2d 61 74 2d 6d 6f 75 73 65 7e 2e 0a 2d 20 63 6f 6d 70 61 d.~mark-thing-at-mouse~..-.compa
13dc0 74 2d 32 39 3a 20 52 65 70 6c 61 63 65 20 7e 73 74 72 69 6e 67 2d 6c 69 6e 65 73 7e 20 77 69 74 t-29:.Replace.~string-lines~.wit
13de0 68 20 76 65 72 73 69 6f 6e 20 66 72 6f 6d 20 45 6d 61 63 73 20 32 39 2c 20 73 75 70 70 6f 72 74 h.version.from.Emacs.29,.support
13e00 20 6f 70 74 69 6f 6e 61 6c 0a 20 20 4b 45 45 50 2d 4e 45 57 4c 49 4e 45 53 20 61 72 67 75 6d 65 .optional...KEEP-NEWLINES.argume
13e20 6e 74 2e 0a 0a 28 52 65 6c 65 61 73 65 20 3c 32 30 32 33 2d 30 31 2d 32 35 20 57 65 64 3e 29 0a nt...(Release.<2023-01-25.Wed>).
13e40 0a 2a 20 52 65 6c 65 61 73 65 20 6f 66 20 22 43 6f 6d 70 61 74 22 20 56 65 72 73 69 6f 6e 20 32 .*.Release.of."Compat".Version.2
13e60 39 2e 31 2e 33 2e 30 0a 0a 2d 20 63 6f 6d 70 61 74 2d 32 35 3a 20 41 64 64 20 7e 68 61 73 68 2d 9.1.3.0..-.compat-25:.Add.~hash-
13e80 74 61 62 6c 65 2d 65 6d 70 74 79 2d 70 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 35 3a 20 41 64 64 table-empty-p~..-.compat-25:.Add
13ea0 20 7e 6d 61 63 72 6f 65 78 70 2d 70 61 72 73 65 2d 62 6f 64 79 7e 20 61 6e 64 20 7e 6d 61 63 72 .~macroexp-parse-body~.and.~macr
13ec0 6f 65 78 70 2d 71 75 6f 74 65 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 35 3a 20 41 64 64 20 7e 72 oexp-quote~..-.compat-25:.Add.~r
13ee0 65 67 69 6f 6e 2d 6e 6f 6e 63 6f 6e 74 69 67 75 6f 75 73 2d 70 7e 2e 0a 2d 20 63 6f 6d 70 61 74 egion-noncontiguous-p~..-.compat
13f00 2d 32 35 3a 20 41 64 64 20 7e 73 61 76 65 2d 6d 61 72 6b 2d 61 6e 64 2d 65 78 63 75 72 73 69 6f -25:.Add.~save-mark-and-excursio
13f20 6e 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 36 3a 20 41 64 64 20 7e 72 65 61 64 2d 61 6e 73 77 65 n~..-.compat-26:.Add.~read-answe
13f40 72 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 36 3a 20 41 64 64 20 7e 72 65 67 69 6f 6e 2d 62 6f 75 r~..-.compat-26:.Add.~region-bou
13f60 6e 64 73 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 37 3a 20 41 64 64 20 7e 64 61 74 65 2d 6f 72 64 nds~..-.compat-27:.Add.~date-ord
13f80 69 6e 61 6c 2d 74 6f 2d 74 69 6d 65 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 37 3a 20 41 64 64 20 inal-to-time~..-.compat-27:.Add.
13fa0 7e 66 69 6c 65 2d 73 69 7a 65 2d 68 75 6d 61 6e 2d 72 65 61 64 61 62 6c 65 2d 69 65 63 7e 2e 0a ~file-size-human-readable-iec~..
13fc0 2d 20 63 6f 6d 70 61 74 2d 32 37 3a 20 41 64 64 20 7e 6d 61 6a 6f 72 2d 6d 6f 64 65 2d 73 75 73 -.compat-27:.Add.~major-mode-sus
13fe0 70 65 6e 64 7e 20 61 6e 64 20 7e 6d 61 6a 6f 72 2d 6d 6f 64 65 2d 72 65 73 74 6f 72 65 7e 2e 0a pend~.and.~major-mode-restore~..
14000 2d 20 63 6f 6d 70 61 74 2d 32 37 3a 20 41 64 64 20 7e 6d 61 6b 65 2d 64 65 63 6f 64 65 64 2d 74 -.compat-27:.Add.~make-decoded-t
14020 69 6d 65 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 37 3a 20 41 64 64 20 7e 6d 69 6e 69 62 75 66 66 ime~..-.compat-27:.Add.~minibuff
14040 65 72 2d 68 69 73 74 6f 72 79 2d 76 61 6c 75 65 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 37 3a 20 er-history-value~..-.compat-27:.
14060 41 64 64 20 7e 72 65 61 64 2d 63 68 61 72 2d 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 66 65 72 7e 2e Add.~read-char-from-minibuffer~.
14080 0a 2d 20 63 6f 6d 70 61 74 2d 32 37 3a 20 41 64 64 20 7e 72 69 6e 67 2d 72 65 73 69 7a 65 7e 2e .-.compat-27:.Add.~ring-resize~.
140a0 0a 2d 20 63 6f 6d 70 61 74 2d 32 38 3a 20 41 64 64 20 7e 63 6f 6c 6f 72 2d 64 61 72 6b 2d 70 7e .-.compat-28:.Add.~color-dark-p~
140c0 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 38 3a 20 41 64 64 20 7e 64 69 72 65 63 74 6f 72 79 2d 66 69 ..-.compat-28:.Add.~directory-fi
140e0 6c 65 73 2d 61 6e 64 2d 61 74 74 72 69 62 75 74 65 73 7e 20 77 69 74 68 20 43 4f 55 4e 54 20 61 les-and-attributes~.with.COUNT.a
14100 72 67 75 6d 65 6e 74 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 38 3a 20 41 64 64 20 7e 74 65 78 74 2d rgument..-.compat-28:.Add.~text-
14120 71 75 6f 74 69 6e 67 2d 73 74 79 6c 65 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 38 3a 20 41 64 64 quoting-style~..-.compat-28:.Add
14140 20 7e 77 69 74 68 2d 77 69 6e 64 6f 77 2d 6e 6f 6e 2d 64 65 64 69 63 61 74 65 64 7e 2e 0a 2d 20 .~with-window-non-dedicated~..-.
14160 63 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 7e 62 75 66 66 65 72 2d 6c 6f 63 61 6c 2d 73 65 74 compat-29:.Add.~buffer-local-set
14180 2d 73 74 61 74 65 7e 20 61 6e 64 20 7e 62 75 66 66 65 72 2d 6c 6f 63 61 6c 2d 72 65 73 74 6f 72 -state~.and.~buffer-local-restor
141a0 65 2d 73 74 61 74 65 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 7e 63 6f 6d 70 e-state~..-.compat-29:.Add.~comp
141c0 69 6c 65 64 2d 66 75 6e 63 74 69 6f 6e 2d 70 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 41 iled-function-p~..-.compat-29:.A
141e0 64 64 20 7e 63 6f 75 6e 74 2d 73 65 6e 74 65 6e 63 65 73 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 dd.~count-sentences~..-.compat-2
14200 39 3a 20 41 64 64 20 7e 64 65 6c 65 74 65 2d 6c 69 6e 65 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 9:.Add.~delete-line~..-.compat-2
14220 39 3a 20 41 64 64 20 7e 67 65 74 2d 73 63 72 61 74 63 68 2d 62 75 66 66 65 72 2d 63 72 65 61 74 9:.Add.~get-scratch-buffer-creat
14240 65 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 7e 6c 69 73 74 2d 6f 66 2d 73 74 e~..-.compat-29:.Add.~list-of-st
14260 72 69 6e 67 73 2d 70 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 7e 70 6c 69 73 rings-p~..-.compat-29:.Add.~plis
14280 74 2d 67 65 74 7e 20 67 65 6e 65 72 61 6c 69 7a 65 64 20 76 61 72 69 61 62 6c 65 2e 0a 2d 20 63 t-get~.generalized.variable..-.c
142a0 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 7e 70 6c 69 73 74 70 7e 2e 0a 2d 20 63 6f 6d 70 61 74 ompat-29:.Add.~plistp~..-.compat
142c0 2d 32 39 3a 20 41 64 64 20 7e 72 65 61 64 2d 6d 75 6c 74 69 70 6c 65 2d 63 68 6f 69 63 65 7e 20 -29:.Add.~read-multiple-choice~.
142e0 77 69 74 68 20 4c 4f 4e 47 2d 46 4f 52 4d 20 61 72 67 75 6d 65 6e 74 2e 0a 2d 20 63 6f 6d 70 61 with.LONG-FORM.argument..-.compa
14300 74 2d 32 39 3a 20 41 64 64 20 7e 72 65 61 64 61 62 6c 65 70 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d t-29:.Add.~readablep~..-.compat-
14320 32 39 3a 20 41 64 64 20 7e 73 75 62 73 74 69 74 75 74 65 2d 71 75 6f 74 65 73 7e 2e 0a 2d 20 63 29:.Add.~substitute-quotes~..-.c
14340 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 7e 75 73 65 2d 72 65 67 69 6f 6e 2d 62 65 67 69 6e 6e ompat-29:.Add.~use-region-beginn
14360 69 6e 67 7e 2c 20 7e 75 73 65 2d 72 65 67 69 6f 6e 2d 65 6e 64 7e 20 61 6e 64 20 7e 75 73 65 2d ing~,.~use-region-end~.and.~use-
14380 72 65 67 69 6f 6e 2d 6e 6f 6e 63 6f 6e 74 69 67 75 6f 75 73 2d 70 7e 2e 0a 2d 20 63 6f 6d 70 61 region-noncontiguous-p~..-.compa
143a0 74 2d 32 39 3a 20 41 64 64 20 7e 77 69 74 68 2d 6e 61 72 72 6f 77 69 6e 67 7e 2e 0a 0a 28 52 65 t-29:.Add.~with-narrowing~...(Re
143c0 6c 65 61 73 65 20 3c 32 30 32 33 2d 30 31 2d 32 32 20 53 75 6e 3e 29 0a 0a 2a 20 52 65 6c 65 61 lease.<2023-01-22.Sun>)..*.Relea
143e0 73 65 20 6f 66 20 22 43 6f 6d 70 61 74 22 20 56 65 72 73 69 6f 6e 20 32 39 2e 31 2e 32 2e 30 0a se.of."Compat".Version.29.1.2.0.
14400 0a 2d 20 41 6c 6c 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 73 20 61 .-.All.compatibility.functions.a
14420 72 65 20 63 6f 76 65 72 65 64 20 62 79 20 74 65 73 74 73 21 0a 2d 20 41 64 64 20 6c 69 6e 6b 73 re.covered.by.tests!.-.Add.links
14440 20 66 72 6f 6d 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 .from.compatibility.definitions.
14460 74 6f 20 74 65 73 74 73 2e 0a 2d 20 42 52 45 41 4b 49 4e 47 3a 20 44 72 6f 70 20 4a 53 4f 4e 20 to.tests..-.BREAKING:.Drop.JSON.
14480 70 61 72 73 69 6e 67 20 73 75 70 70 6f 72 74 20 28 6c 69 62 6a 61 6e 73 73 6f 6e 20 41 50 49 2c parsing.support.(libjansson.API,
144a0 20 75 6e 75 73 65 64 20 64 6f 77 6e 73 74 72 65 61 6d 29 2e 0a 2d 20 42 52 45 41 4b 49 4e 47 3a .unused.downstream)..-.BREAKING:
144c0 20 44 72 6f 70 20 7e 6e 75 6c 6c 2d 64 65 76 69 63 65 7e 20 28 75 6e 75 73 65 64 20 64 6f 77 6e .Drop.~null-device~.(unused.down
144e0 73 74 72 65 61 6d 29 2e 0a 2d 20 42 52 45 41 4b 49 4e 47 3a 20 44 72 6f 70 20 7e 75 6e 6c 6f 63 stream)..-.BREAKING:.Drop.~unloc
14500 6b 2d 62 75 66 66 65 72 7e 20 28 75 6e 75 73 65 64 20 64 6f 77 6e 73 74 72 65 61 6d 29 2e 0a 2d k-buffer~.(unused.downstream)..-
14520 20 63 6f 6d 70 61 74 2d 32 36 3a 20 41 64 64 20 7e 62 75 66 66 65 72 2d 68 61 73 68 7e 2e 0a 2d .compat-26:.Add.~buffer-hash~..-
14540 20 63 6f 6d 70 61 74 2d 32 37 3a 20 41 64 64 20 7e 66 69 78 6e 75 6d 70 7e 20 61 6e 64 20 7e 62 .compat-27:.Add.~fixnump~.and.~b
14560 69 67 6e 75 6d 70 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 37 3a 20 41 64 64 20 7e 77 69 74 68 2d ignump~..-.compat-27:.Add.~with-
14580 6d 69 6e 69 62 75 66 66 65 72 2d 73 65 6c 65 63 74 65 64 2d 77 69 6e 64 6f 77 7e 2e 0a 2d 20 63 minibuffer-selected-window~..-.c
145a0 6f 6d 70 61 74 2d 32 37 3a 20 41 64 64 20 67 65 6e 65 72 61 6c 69 7a 65 64 20 76 61 72 69 61 62 ompat-27:.Add.generalized.variab
145c0 6c 65 73 20 66 6f 72 20 7e 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 2a 7e 2e 0a 2d 20 63 6f 6d 70 les.for.~decoded-time-*~..-.comp
145e0 61 74 2d 32 38 3a 20 41 64 64 20 7e 6d 61 63 72 6f 65 78 70 2d 77 61 72 6e 2d 61 6e 64 2d 72 65 at-28:.Add.~macroexp-warn-and-re
14600 74 75 72 6e 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 38 3a 20 41 64 64 20 7e 73 75 62 72 2d 6e 61 turn~..-.compat-28:.Add.~subr-na
14620 74 69 76 65 2d 65 6c 69 73 70 2d 70 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 38 3a 20 41 64 64 20 tive-elisp-p~..-.compat-28:.Add.
14640 7e 62 6f 75 6e 64 73 2d 6f 66 2d 74 68 69 6e 67 2d 61 74 2d 6d 6f 75 73 65 7e 2e 0a 2d 20 63 6f ~bounds-of-thing-at-mouse~..-.co
14660 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 7e 77 69 74 68 2d 62 75 66 66 65 72 2d 75 6e 6d 6f 64 69 mpat-29:.Add.~with-buffer-unmodi
14680 66 69 65 64 2d 69 66 2d 75 6e 63 68 61 6e 67 65 64 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a fied-if-unchanged~..-.compat-29:
146a0 20 46 69 78 20 61 6e 64 20 74 65 73 74 20 7e 64 65 66 69 6e 65 2d 6b 65 79 7e 20 77 69 74 68 20 .Fix.and.test.~define-key~.with.
146c0 52 45 4d 4f 56 45 20 61 72 67 75 6d 65 6e 74 2e 0a 0a 28 52 65 6c 65 61 73 65 20 3c 32 30 32 33 REMOVE.argument...(Release.<2023
146e0 2d 30 31 2d 31 36 20 4d 6f 6e 3e 29 0a 0a 2a 20 52 65 6c 65 61 73 65 20 6f 66 20 22 43 6f 6d 70 -01-16.Mon>)..*.Release.of."Comp
14700 61 74 22 20 56 65 72 73 69 6f 6e 20 32 39 2e 31 2e 31 2e 31 0a 0a 2d 20 41 64 64 20 74 65 73 74 at".Version.29.1.1.1..-.Add.test
14720 73 2c 20 31 36 37 20 6f 75 74 20 6f 66 20 32 30 33 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 74 65 s,.167.out.of.203.definitions.te
14740 73 74 65 64 20 28 38 32 25 29 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 35 3a 20 49 6d 70 72 6f 76 65 sted.(82%)..-.compat-25:.Improve
14760 20 61 6c 67 6f 72 69 74 68 6d 69 63 20 63 6f 6d 70 6c 65 78 69 74 79 20 6f 66 20 7e 73 6f 72 74 .algorithmic.complexity.of.~sort
14780 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 38 3a 20 41 64 64 20 7e 6d 61 6b 65 2d 73 65 70 61 72 61 ~..-.compat-28:.Add.~make-separa
147a0 74 6f 72 2d 6c 69 6e 65 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 4d 69 6e 6f 72 20 66 69 tor-line~..-.compat-29:.Minor.fi
147c0 78 65 73 20 74 6f 20 7e 6b 65 79 6d 61 70 2d 2a 7e 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 2d 20 63 xes.to.~keymap-*~.functions..-.c
147e0 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 7e 77 69 74 68 2d 6d 65 6d 6f 69 7a 61 74 69 6f 6e 7e ompat-29:.Add.~with-memoization~
14800 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 7e 62 75 74 74 6f 6e 69 7a 65 7e 20 61 ..-.compat-29:.Add.~buttonize~.a
14820 6e 64 20 7e 62 75 74 74 6f 6e 69 7a 65 2d 72 65 67 69 6f 6e 7e 2e 0a 0a 28 52 65 6c 65 61 73 65 nd.~buttonize-region~...(Release
14840 20 3c 32 30 32 33 2d 30 31 2d 31 34 20 53 61 74 3e 29 0a 0a 2a 20 52 65 6c 65 61 73 65 20 6f 66 .<2023-01-14.Sat>)..*.Release.of
14860 20 22 43 6f 6d 70 61 74 22 20 56 65 72 73 69 6f 6e 20 32 39 2e 31 2e 31 2e 30 0a 0a 2d 20 54 68 ."Compat".Version.29.1.1.0..-.Th
14880 65 20 6d 61 63 72 6f 73 20 69 6e 20 7e 63 6f 6d 70 61 74 2d 6d 61 63 73 2e 65 6c 7e 20 68 61 76 e.macros.in.~compat-macs.el~.hav
148a0 65 20 62 65 65 6e 20 72 65 77 72 69 74 74 65 6e 20 61 6e 64 20 73 69 6d 70 6c 69 66 69 65 64 2e e.been.rewritten.and.simplified.
148c0 20 54 68 65 0a 20 20 72 65 66 61 63 74 6f 72 69 6e 67 20 61 6c 6c 6f 77 73 20 74 6f 20 66 75 72 .The...refactoring.allows.to.fur
148e0 74 68 65 72 20 72 65 66 69 6e 65 20 74 68 65 20 63 72 69 74 65 72 69 61 20 75 6e 64 65 72 20 77 ther.refine.the.criteria.under.w
14900 68 69 63 68 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 0a 20 20 61 6c 69 61 73 65 73 2c 20 66 75 hich.compatibility...aliases,.fu
14920 6e 63 74 69 6f 6e 73 2c 20 6d 61 63 72 6f 73 20 61 6e 64 20 76 61 72 69 61 62 6c 65 73 20 61 72 nctions,.macros.and.variables.ar
14940 65 20 69 6e 73 74 61 6c 6c 65 64 2e 0a 2d 20 52 65 6d 6f 76 65 20 64 65 70 72 65 63 61 74 65 64 e.installed..-.Remove.deprecated
14960 2c 20 70 72 65 66 69 78 65 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 66 75 6e 63 74 69 6f ,.prefixed.compatibility.functio
14980 6e 73 2e 0a 2d 20 52 65 6d 6f 76 65 20 64 65 70 72 65 63 61 74 65 64 20 66 65 61 74 75 72 65 73 ns..-.Remove.deprecated.features
149a0 20 7e 63 6f 6d 70 61 74 2d 68 65 6c 70 7e 2c 20 7e 63 6f 6d 70 61 74 2d 66 6f 6e 74 2d 6c 6f 63 .~compat-help~,.~compat-font-loc
149c0 6b 7e 20 61 6e 64 20 7e 63 6f 6d 70 61 74 2d 32 34 7e 2e 0a 2d 20 43 6f 6d 70 61 74 20 75 73 65 k~.and.~compat-24~..-.Compat.use
149e0 73 20 72 75 6e 74 69 6d 65 20 63 68 65 63 6b 73 20 28 7e 62 6f 75 6e 64 70 7e 2c 20 7e 66 62 6f s.runtime.checks.(~boundp~,.~fbo
14a00 75 6e 64 70 7e 29 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 74 20 65 78 69 73 74 69 6e 67 0a 20 undp~).to.ensure.that.existing..
14a20 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 61 72 65 20 6e 65 76 65 72 20 6f 76 65 72 72 69 64 64 65 .definitions.are.never.overridde
14a40 6e 2c 20 77 68 65 6e 20 43 6f 6d 70 61 74 20 69 73 20 6c 6f 61 64 65 64 20 6f 6e 20 61 20 6e 65 n,.when.Compat.is.loaded.on.a.ne
14a60 77 65 72 20 45 6d 61 63 73 20 74 68 61 6e 0a 20 20 69 74 20 77 61 73 20 63 6f 6d 70 69 6c 65 64 wer.Emacs.than...it.was.compiled
14a80 20 6f 6e 2e 0a 2d 20 43 6f 6d 70 61 74 20 63 6f 6d 70 69 6c 65 73 20 77 69 74 68 6f 75 74 20 62 .on..-.Compat.compiles.without.b
14aa0 79 74 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 77 61 72 6e 69 6e 67 73 20 6f 6e 20 61 6c 6c 20 yte.compilation.warnings.on.all.
14ac0 73 75 70 70 6f 72 74 65 64 20 45 6d 61 63 73 0a 20 20 76 65 72 73 69 6f 6e 73 2e 20 57 61 72 6e supported.Emacs...versions..Warn
14ae0 69 6e 67 73 20 61 72 65 20 74 72 65 61 74 65 64 20 61 73 20 65 72 72 6f 72 73 20 69 6e 20 74 68 ings.are.treated.as.errors.in.th
14b00 65 20 74 65 73 74 20 73 75 69 74 65 2e 0a 2d 20 43 6f 6d 70 61 74 20 74 61 6b 65 73 20 67 72 65 e.test.suite..-.Compat.takes.gre
14b20 61 74 20 63 61 72 65 20 74 6f 20 72 65 6d 6f 76 65 20 75 6e 6e 65 65 64 65 64 20 64 65 66 69 6e at.care.to.remove.unneeded.defin
14b40 69 74 69 6f 6e 73 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2e 20 4f 6e 0a 20 20 72 65 63 itions.at.compile.time..On...rec
14b60 65 6e 74 20 45 6d 61 63 73 20 32 39 20 74 68 65 20 62 79 74 65 20 63 6f 6d 70 69 6c 65 64 20 66 ent.Emacs.29.the.byte.compiled.f
14b80 69 6c 65 73 20 61 72 65 20 65 6d 70 74 79 20 61 6e 64 20 6e 6f 74 20 6c 6f 61 64 65 64 2c 20 73 iles.are.empty.and.not.loaded,.s
14ba0 75 63 68 20 74 68 61 74 0a 20 20 43 6f 6d 70 61 74 20 64 6f 65 73 20 6e 6f 74 20 61 6e 79 20 63 uch.that...Compat.does.not.any.c
14bc0 6f 73 74 20 74 6f 20 74 68 65 20 45 6d 61 63 73 20 70 72 6f 63 65 73 73 2e 0a 2d 20 63 6f 6d 70 ost.to.the.Emacs.process..-.comp
14be0 61 74 2d 32 36 3a 20 46 69 78 20 61 6e 64 20 74 65 73 74 20 7e 69 6d 61 67 65 2d 70 72 6f 70 65 at-26:.Fix.and.test.~image-prope
14c00 72 74 79 7e 20 73 65 74 74 65 72 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 36 3a 20 46 69 78 20 61 6e rty~.setter..-.compat-26:.Fix.an
14c20 64 20 74 65 73 74 20 7e 72 65 61 64 2d 6d 75 6c 74 69 70 6c 65 2d 63 68 6f 69 63 65 7e 2e 0a 2d d.test.~read-multiple-choice~..-
14c40 20 63 6f 6d 70 61 74 2d 32 38 3a 20 46 69 78 20 61 6e 64 20 74 65 73 74 20 7e 77 69 74 68 2d 65 .compat-28:.Fix.and.test.~with-e
14c60 78 69 73 74 69 6e 67 2d 64 69 72 65 63 74 6f 72 79 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 38 3a xisting-directory~..-.compat-28:
14c80 20 44 72 6f 70 20 6f 62 73 6f 6c 65 74 65 20 66 75 6e 63 74 69 6f 6e 20 7e 6d 61 6b 65 2d 64 69 .Drop.obsolete.function.~make-di
14ca0 72 65 63 74 6f 72 79 2d 61 75 74 6f 6c 6f 61 64 73 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a rectory-autoloads~..-.compat-29:
14cc0 20 44 72 6f 70 20 62 72 6f 6b 65 6e 20 66 75 6e 63 74 69 6f 6e 73 20 7e 73 74 72 69 6e 67 2d 70 .Drop.broken.functions.~string-p
14ce0 69 78 65 6c 2d 77 69 64 74 68 7e 20 61 6e 64 0a 20 20 7e 62 75 66 66 65 72 2d 74 65 78 74 2d 70 ixel-width~.and...~buffer-text-p
14d00 69 78 65 6c 2d 73 69 7a 65 7e 2e 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 68 61 64 20 ixel-size~..These.functions.had.
14d20 70 6f 6f 72 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 77 68 69 63 68 20 6c 65 61 64 20 74 6f 20 61 poor.performance.which.lead.to.a
14d40 0a 20 20 64 6f 77 6e 73 74 72 65 61 6d 20 69 73 73 75 65 20 69 6e 20 74 68 65 20 64 6f 6f 6d 2d ...downstream.issue.in.the.doom-
14d60 6d 6f 64 65 6c 69 6e 65 20 70 61 63 6b 61 67 65 2e 20 49 66 20 61 20 6d 6f 72 65 20 65 66 66 69 modeline.package..If.a.more.effi
14d80 63 69 65 6e 74 20 73 6f 6c 75 74 69 6f 6e 20 69 73 0a 20 20 70 6f 73 73 69 62 6c 65 2c 20 74 68 cient.solution.is...possible,.th
14da0 65 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 62 65 20 61 64 64 65 64 20 62 61 63 6b 2e 20 53 e.function.will.be.added.back..S
14dc0 65 65 20 5b 5b 63 6f 6d 70 61 74 2d 67 68 3a 38 5d 5d 20 66 6f 72 20 74 68 65 20 62 75 67 20 72 ee.[[compat-gh:8]].for.the.bug.r
14de0 65 70 6f 72 74 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 44 72 6f 70 20 62 72 6f 6b 65 6e 20 eport..-.compat-29:.Drop.broken.
14e00 66 75 6e 63 74 69 6f 6e 20 7e 73 74 72 69 6e 67 2d 6c 69 6d 69 74 7e 2e 0a 2d 20 63 6f 6d 70 61 function.~string-limit~..-.compa
14e20 74 2d 32 39 3a 20 44 72 6f 70 20 62 72 6f 6b 65 6e 20 6d 61 63 72 6f 20 7e 77 69 74 68 2d 62 75 t-29:.Drop.broken.macro.~with-bu
14e40 66 66 65 72 2d 75 6e 6d 6f 64 69 66 69 65 64 2d 69 66 2d 75 6e 63 68 61 6e 67 65 64 7e 2c 20 77 ffer-unmodified-if-unchanged~,.w
14e60 68 69 63 68 20 72 65 6c 69 65 64 0a 20 20 6f 6e 20 7e 62 75 66 66 65 72 2d 68 61 73 68 7e 20 77 hich.relied...on.~buffer-hash~.w
14e80 68 69 63 68 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 20 6f 6e 20 61 6c 6c 20 73 75 70 70 6f hich.does.not.exist.on.all.suppo
14ea0 72 74 65 64 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 73 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 rted.Emacs.versions..-.compat-29
14ec0 3a 20 41 64 64 20 7e 70 6f 73 2d 62 6f 6c 7e 20 61 6e 64 20 7e 70 6f 73 2d 65 6f 6c 7e 2e 0a 0a :.Add.~pos-bol~.and.~pos-eol~...
14ee0 28 52 65 6c 65 61 73 65 20 3c 32 30 32 33 2d 30 31 2d 30 37 20 53 61 74 3e 29 0a 0a 2a 20 52 65 (Release.<2023-01-07.Sat>)..*.Re
14f00 6c 65 61 73 65 20 6f 66 20 22 43 6f 6d 70 61 74 22 20 56 65 72 73 69 6f 6e 20 32 39 2e 31 2e 30 lease.of."Compat".Version.29.1.0
14f20 2e 31 0a 0a 2d 20 41 64 64 20 6d 75 6c 74 69 70 6c 65 20 6e 65 77 20 74 65 73 74 73 20 66 6f 72 .1..-.Add.multiple.new.tests.for
14f40 20 65 78 69 73 74 69 6e 67 20 41 50 49 73 2e 0a 2d 20 46 69 78 20 62 75 67 73 20 69 6e 20 63 6f .existing.APIs..-.Fix.bugs.in.co
14f60 6d 70 61 74 69 62 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 73 3a 20 7e 73 65 74 71 2d 6c 6f 63 mpatibility.functions:.~setq-loc
14f80 61 6c 7e 2c 20 7e 70 72 6f 70 65 72 2d 6c 69 73 74 2d 70 2c 20 70 72 6f 70 2d 6d 61 74 63 68 2d al~,.~proper-list-p,.prop-match-
14fa0 70 7e 2c 0a 20 20 7e 66 69 6c 65 2d 6e 61 6d 65 2d 63 6f 6e 63 61 74 7e 2c 20 7e 72 65 70 6c 61 p~,...~file-name-concat~,.~repla
14fc0 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 72 65 67 69 6f 6e 7e 2c 20 7e 72 65 70 6c 61 63 65 2d 73 ce-regexp-in-region~,.~replace-s
14fe0 74 72 69 6e 67 2d 69 6e 2d 72 65 67 69 6f 6e 7e 2e 0a 2d 20 41 64 64 20 6e 65 77 20 45 6d 61 63 tring-in-region~..-.Add.new.Emac
15000 73 20 32 39 20 41 50 49 73 2e 20 53 6f 6d 65 20 6f 66 20 74 68 65 6d 20 61 72 65 20 73 74 69 6c s.29.APIs..Some.of.them.are.stil
15020 6c 20 75 6e 74 65 73 74 65 64 20 61 6e 64 20 6d 61 79 20 63 68 61 6e 67 65 2e 20 49 66 20 79 6f l.untested.and.may.change..If.yo
15040 75 0a 20 20 69 6e 74 65 6e 64 20 74 6f 20 75 73 65 20 61 6e 20 45 6d 61 63 73 20 32 39 20 41 50 u...intend.to.use.an.Emacs.29.AP
15060 49 20 70 6c 65 61 73 65 20 62 65 20 63 61 72 65 66 75 6c 20 61 6e 64 20 69 66 20 70 6f 73 73 69 I.please.be.careful.and.if.possi
15080 62 6c 65 20 63 6f 6e 74 72 69 62 75 74 65 0a 20 20 74 65 73 74 20 63 61 73 65 73 2e 20 41 6c 6c ble.contribute...test.cases..All
150a0 20 75 6e 74 65 73 74 65 64 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 6d 61 72 6b 65 64 20 69 .untested.functions.are.marked.i
150c0 6e 20 74 68 65 20 43 6f 6d 70 61 74 20 63 6f 64 65 2e 20 4f 76 65 72 20 74 69 6d 65 0a 20 20 74 n.the.Compat.code..Over.time...t
150e0 65 73 74 73 20 66 6f 72 20 61 6c 6c 20 66 75 6e 63 74 69 6f 6e 73 20 77 69 6c 6c 20 62 65 20 61 ests.for.all.functions.will.be.a
15100 64 64 65 64 20 67 72 61 64 75 61 6c 6c 79 2e 0a 2d 20 41 64 64 20 74 68 65 20 6d 61 63 72 6f 73 dded.gradually..-.Add.the.macros
15120 20 7e 63 6f 6d 70 61 74 2d 63 61 6c 6c 7e 20 61 6e 64 20 7e 63 6f 6d 70 61 74 2d 66 75 6e 63 74 .~compat-call~.and.~compat-funct
15140 69 6f 6e 7e 20 74 6f 20 63 61 6c 6c 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 0a 20 20 66 75 6e ion~.to.call.compatibility...fun
15160 63 74 69 6f 6e 73 2e 20 53 69 6e 63 65 20 43 6f 6d 70 61 74 20 61 76 6f 69 64 73 20 6f 76 65 72 ctions..Since.Compat.avoids.over
15180 77 72 69 74 69 6e 67 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 69 6e 67 20 66 75 6e 63 74 69 6f writing.already.existing.functio
151a0 6e 73 2c 20 77 65 20 6d 75 73 74 0a 20 20 64 65 66 69 6e 65 20 73 65 70 61 72 61 74 65 20 63 6f ns,.we.must...define.separate.co
151c0 6d 70 61 74 69 62 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 20 64 65 66 69 6e 69 74 69 6f 6e 73 mpatibility.function.definitions
151e0 20 66 6f 72 20 66 75 6e 63 74 69 6f 6e 73 20 77 68 69 63 68 20 63 68 61 6e 67 65 64 0a 20 20 74 .for.functions.which.changed...t
15200 68 65 69 72 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 6f 72 20 62 65 68 61 76 heir.calling.convention.or.behav
15220 69 6f 72 2e 20 54 68 65 73 65 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 64 65 66 69 6e 69 74 ior..These.compatibility.definit
15240 69 6f 6e 73 20 63 61 6e 20 62 65 0a 20 20 6c 6f 6f 6b 65 64 20 75 70 20 75 73 69 6e 67 20 7e 63 ions.can.be...looked.up.using.~c
15260 6f 6d 70 61 74 2d 66 75 6e 63 74 69 6f 6e 7e 20 61 6e 64 20 63 61 6c 6c 65 64 20 77 69 74 68 20 ompat-function~.and.called.with.
15280 7e 63 6f 6d 70 61 74 2d 63 61 6c 6c 7e 2e 20 46 6f 72 20 65 78 61 6d 70 6c 65 20 7e 61 73 73 6f ~compat-call~..For.example.~asso
152a0 63 7e 0a 20 20 63 61 6e 20 62 65 20 63 61 6c 6c 65 64 20 77 69 74 68 20 61 20 7e 54 45 53 54 46 c~...can.be.called.with.a.~TESTF
152c0 4e 7e 20 73 69 6e 63 65 20 45 6d 61 63 73 20 32 36 2e 20 49 6e 20 45 6d 61 63 73 20 32 35 20 61 N~.since.Emacs.26..In.Emacs.25.a
152e0 6e 64 20 6f 6c 64 65 72 20 74 68 65 20 63 61 6c 6c 69 6e 67 0a 20 20 63 6f 6e 76 65 6e 74 69 6f nd.older.the.calling...conventio
15300 6e 20 77 61 73 20 7e 28 61 73 73 6f 63 20 4b 45 59 20 41 4c 49 53 54 29 7e 2e 20 49 6e 20 6f 72 n.was.~(assoc.KEY.ALIST)~..In.or
15320 64 65 72 20 74 6f 20 75 73 65 20 74 68 65 20 6e 65 77 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 der.to.use.the.new.calling.conve
15340 6e 74 69 6f 6e 0a 20 20 79 6f 75 20 63 61 6e 20 75 73 65 20 7e 28 63 6f 6d 70 61 74 2d 63 61 6c ntion...you.can.use.~(compat-cal
15360 6c 20 61 73 73 6f 63 20 4b 45 59 20 41 4c 49 53 54 20 54 45 53 54 46 4e 29 7e 2e 0a 2d 20 44 65 l.assoc.KEY.ALIST.TESTFN)~..-.De
15380 70 72 65 63 61 74 65 20 61 6c 6c 20 7e 63 6f 6d 70 61 74 2d 2a 7e 20 70 72 65 66 69 78 65 64 20 precate.all.~compat-*~.prefixed.
153a0 66 75 6e 63 74 69 6f 6e 73 2e 20 49 6e 73 74 65 61 64 20 75 73 65 20 74 68 65 20 61 66 6f 72 65 functions..Instead.use.the.afore
153c0 6d 65 6e 74 69 6f 6e 65 64 0a 20 20 7e 63 6f 6d 70 61 74 2d 63 61 6c 6c 7e 20 6f 72 20 7e 63 6f mentioned...~compat-call~.or.~co
153e0 6d 70 61 74 2d 66 75 6e 63 74 69 6f 6e 7e 20 6d 61 63 72 6f 73 2e 0a 2d 20 44 65 70 72 65 63 61 mpat-function~.macros..-.Depreca
15400 74 65 20 7e 63 6f 6d 70 61 74 2d 68 65 6c 70 2e 65 6c 7e 20 61 6e 64 20 7e 63 6f 6d 70 61 74 2d te.~compat-help.el~.and.~compat-
15420 66 6f 6e 74 2d 6c 6f 63 6b 2e 65 6c 2e 7e 0a 2d 20 44 65 76 65 6c 6f 70 6d 65 6e 74 20 6d 6f 76 font-lock.el.~.-.Development.mov
15440 65 64 20 74 6f 20 47 69 74 48 75 62 2e 0a 2d 20 42 52 45 41 4b 49 4e 47 3a 20 44 72 6f 70 20 62 ed.to.GitHub..-.BREAKING:.Drop.b
15460 72 6f 6b 65 6e 20 66 75 6e 63 74 69 6f 6e 20 7e 66 75 6e 63 2d 61 72 69 74 79 7e 2e 20 55 73 69 roken.function.~func-arity~..Usi
15480 6e 67 20 7e 66 75 6e 63 2d 61 72 69 74 79 7e 20 69 73 20 67 65 6e 65 72 61 6c 6c 79 0a 20 20 64 ng.~func-arity~.is.generally...d
154a0 69 73 63 6f 75 72 61 67 65 64 20 61 6e 64 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 68 iscouraged.and.the.function.is.h
154c0 61 72 64 20 74 6f 20 69 6d 70 6c 65 6d 65 6e 74 20 70 72 6f 70 65 72 6c 79 20 64 75 65 20 74 6f ard.to.implement.properly.due.to
154e0 20 61 6c 6c 20 74 68 65 0a 20 20 76 61 72 69 6f 75 73 20 66 75 6e 63 74 69 6f 6e 20 74 79 70 65 .all.the...various.function.type
15500 73 2e 20 54 68 65 72 65 20 69 74 20 69 73 20 75 6e 6c 69 6b 65 6c 79 20 74 68 61 74 20 74 68 65 s..There.it.is.unlikely.that.the
15520 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 67 65 74 0a 20 20 72 65 69 6e 74 72 6f 64 75 63 65 .function.will.get...reintroduce
15540 64 20 69 6e 20 43 6f 6d 70 61 74 2e 0a 2d 20 42 52 45 41 4b 49 4e 47 3a 20 44 72 6f 70 20 62 72 d.in.Compat..-.BREAKING:.Drop.br
15560 6f 6b 65 6e 20 66 75 6e 63 74 69 6f 6e 20 7e 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 2d 72 oken.function.~directory-files-r
15580 65 63 75 72 73 69 76 65 6c 79 7e 2e 20 49 6e 20 63 61 73 65 20 79 6f 75 20 6e 65 65 64 0a 20 20 ecursively~..In.case.you.need...
155a0 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 2c 20 61 20 70 61 74 63 68 20 69 6e 63 6c 75 64 69 6e 67 this.function,.a.patch.including
155c0 20 74 65 73 74 73 20 69 73 20 77 65 6c 63 6f 6d 65 2e 0a 2d 20 42 52 45 41 4b 49 4e 47 3a 20 44 .tests.is.welcome..-.BREAKING:.D
155e0 72 6f 70 20 73 75 70 70 6f 72 74 20 66 6f 72 20 45 6d 61 63 73 20 32 34 2e 33 2e 20 45 6d 61 63 rop.support.for.Emacs.24.3..Emac
15600 73 20 32 34 2e 34 20 69 73 20 72 65 71 75 69 72 65 64 20 6e 6f 77 2e 20 49 6e 20 63 61 73 65 20 s.24.4.is.required.now..In.case.
15620 79 6f 75 0a 20 20 73 74 69 6c 6c 20 6e 65 65 64 20 45 6d 61 63 73 20 32 34 2e 33 20 73 75 70 70 you...still.need.Emacs.24.3.supp
15640 6f 72 74 2c 20 79 6f 75 20 63 61 6e 20 72 65 6c 79 20 6f 6e 20 43 6f 6d 70 61 74 20 32 38 2e 31 ort,.you.can.rely.on.Compat.28.1
15660 2e 32 2e 32 2e 0a 0a 28 52 65 6c 65 61 73 65 20 3c 32 30 32 33 2d 30 31 2d 30 35 20 54 68 75 3e .2.2...(Release.<2023-01-05.Thu>
15680 29 0a 0a 2a 20 52 65 6c 65 61 73 65 20 6f 66 20 22 43 6f 6d 70 61 74 22 20 56 65 72 73 69 6f 6e )..*.Release.of."Compat".Version
156a0 20 32 38 2e 31 2e 32 2e 32 0a 0a 54 68 69 73 20 69 73 20 61 20 6d 69 6e 6f 72 20 72 65 6c 65 61 .28.1.2.2..This.is.a.minor.relea
156c0 73 65 20 74 68 61 74 20 68 6f 70 65 73 20 74 6f 20 61 64 64 72 65 73 73 20 5b 5b 63 6f 6d 70 61 se.that.hopes.to.address.[[compa
156e0 74 2d 73 72 68 74 3a 37 5d 5d 2e 0a 0a 28 52 65 6c 65 61 73 65 20 3c 32 30 32 32 2d 30 38 2d 32 t-srht:7]]...(Release.<2022-08-2
15700 35 20 54 68 75 3e 29 0a 0a 2a 20 52 65 6c 65 61 73 65 20 6f 66 20 22 43 6f 6d 70 61 74 22 20 56 5.Thu>)..*.Release.of."Compat".V
15720 65 72 73 69 6f 6e 20 32 38 2e 31 2e 32 2e 31 0a 0a 54 68 69 73 20 69 73 20 61 20 6d 69 6e 6f 72 ersion.28.1.2.1..This.is.a.minor
15740 20 72 65 6c 65 61 73 65 20 61 64 64 69 6e 67 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 63 68 .release.adding.the.following.ch
15760 61 6e 67 65 73 3a 0a 0a 2d 20 41 64 64 20 3d 64 65 72 69 76 65 64 2d 6d 6f 64 65 2d 70 3d 20 64 anges:..-.Add.=derived-mode-p=.d
15780 65 66 69 6e 65 64 20 69 6e 20 45 6d 61 63 73 20 32 37 0a 2d 20 41 64 64 20 3d 70 72 6f 76 69 64 efined.in.Emacs.27.-.Add.=provid
157a0 65 64 2d 6d 6f 64 65 2d 64 65 72 69 76 65 64 2d 70 3d 20 64 65 66 69 6e 65 64 20 69 6e 20 45 6d ed-mode-derived-p=.defined.in.Em
157c0 61 63 73 20 32 37 0a 2d 20 41 64 64 20 3d 72 65 61 64 2d 6d 75 6c 74 69 70 6c 65 2d 63 68 6f 69 acs.27.-.Add.=read-multiple-choi
157e0 63 65 3d 20 64 65 66 69 6e 65 64 20 69 6e 20 45 6d 61 63 73 20 32 36 0a 2d 20 41 64 64 20 3d 66 ce=.defined.in.Emacs.26.-.Add.=f
15800 69 6c 65 2d 6e 61 6d 65 2d 61 62 73 6f 6c 75 74 65 2d 70 3d 20 64 65 66 69 6e 65 64 20 69 6e 20 ile-name-absolute-p=.defined.in.
15820 45 6d 61 63 73 20 32 38 0a 0a 54 68 65 20 6f 6e 6c 79 20 6f 74 68 65 72 20 6e 6f 74 61 62 6c 65 Emacs.28..The.only.other.notable
15840 20 63 68 61 6e 67 65 20 69 73 20 74 68 61 74 20 74 68 65 20 6d 61 6e 75 61 6c 20 68 61 73 20 62 .change.is.that.the.manual.has.b
15860 65 65 6e 20 72 65 77 72 69 74 74 65 6e 20 74 6f 0a 69 6e 63 6c 75 64 65 20 6d 75 63 68 20 6d 6f een.rewritten.to.include.much.mo
15880 72 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 74 68 61 74 20 68 61 64 20 62 65 65 6e 20 74 re.documentation.that.had.been.t
158a0 68 65 20 63 61 73 65 20 70 72 65 76 69 6f 75 73 6c 79 2e 0a 0a 28 52 65 6c 65 61 73 65 20 3c 32 he.case.previously...(Release.<2
158c0 30 32 32 2d 30 38 2d 32 34 20 57 65 64 3e 29 0a 0a 2a 20 52 65 6c 65 61 73 65 20 6f 66 20 22 43 022-08-24.Wed>)..*.Release.of."C
158e0 6f 6d 70 61 74 22 20 56 65 72 73 69 6f 6e 20 32 38 2e 31 2e 32 2e 30 0a 0a 54 68 65 20 6d 61 69 ompat".Version.28.1.2.0..The.mai
15900 6e 20 63 68 61 6e 67 65 20 6f 66 20 74 68 69 73 20 72 65 6c 65 61 73 65 20 68 61 73 20 62 65 65 n.change.of.this.release.has.bee
15920 6e 20 74 68 65 20 6d 61 6a 6f 72 20 73 69 6d 70 6c 69 66 69 63 61 74 69 6f 6e 20 6f 66 0a 43 6f n.the.major.simplification.of.Co
15940 6d 70 61 74 27 73 20 69 6e 69 74 69 61 6c 69 73 61 74 69 6f 6e 20 73 79 73 74 65 6d 2c 20 69 6d mpat's.initialisation.system,.im
15960 70 72 6f 76 69 6e 67 20 74 68 65 20 73 69 74 75 61 74 69 6f 6e 20 61 72 6f 75 6e 64 20 69 73 73 proving.the.situation.around.iss
15980 75 65 73 0a 70 65 6f 70 6c 65 20 68 61 64 20 62 65 65 6e 20 72 65 70 6f 72 74 69 6e 67 20 28 5b ues.people.had.been.reporting.([
159a0 5b 63 6f 6d 70 61 74 2d 73 72 68 74 3a 34 5d 5d 2c 20 6f 6e 63 65 20 61 67 61 69 6e 29 20 77 69 [compat-srht:4]],.once.again).wi
159c0 74 68 20 75 6e 63 6f 6e 76 65 6e 74 69 6f 6e 61 6c 0a 6f 72 20 75 6e 70 6f 70 75 6c 61 72 20 70 th.unconventional.or.unpopular.p
159e0 61 63 6b 61 67 69 6e 67 20 73 79 73 74 65 6d 73 2e 0a 0a 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 ackaging.systems...In.addition.t
15a00 6f 20 74 68 69 73 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 75 6e 63 74 69 6f 6e 61 6c o.this,.the.following.functional
15a20 20 63 68 61 6e 67 65 73 20 68 61 76 65 20 62 65 65 6e 20 6d 61 64 65 3a 0a 0a 2d 20 46 69 78 20 .changes.have.been.made:..-.Fix.
15a40 3d 66 6f 72 6d 61 74 2d 70 72 6f 6d 70 74 3d 20 6f 66 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 =format-prompt=.of.an.empty.stri
15a60 6e 67 20 61 73 20 22 64 65 66 61 75 6c 74 22 20 61 72 67 75 6d 65 6e 74 0a 2d 20 41 64 64 20 3d ng.as."default".argument.-.Add.=
15a80 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 70 65 72 69 6f 64 3d 20 64 65 66 69 6e 65 64 20 69 6e 20 decoded-time-period=.defined.in.
15aa0 45 6d 61 63 73 20 32 38 0a 2d 20 41 64 64 20 3d 73 75 62 72 2d 70 72 69 6d 69 74 69 76 65 2d 70 Emacs.28.-.Add.=subr-primitive-p
15ac0 3d 20 64 65 66 69 6e 65 64 20 69 6e 20 45 6d 61 63 73 20 32 38 0a 0a 4d 69 6e 6f 72 20 69 6d 70 =.defined.in.Emacs.28..Minor.imp
15ae0 72 6f 76 65 6d 65 6e 74 73 20 74 6f 20 6d 61 6e 75 61 6c 20 61 72 65 20 61 6c 73 6f 20 70 61 72 rovements.to.manual.are.also.par
15b00 74 20 6f 66 20 74 68 69 73 20 72 65 6c 65 61 73 65 2e 0a 0a 28 52 65 6c 65 61 73 65 20 3c 32 30 t.of.this.release...(Release.<20
15b20 32 32 2d 30 37 2d 31 38 20 4d 6f 6e 3e 29 0a 0a 2a 20 52 65 6c 65 61 73 65 20 6f 66 20 22 43 6f 22-07-18.Mon>)..*.Release.of."Co
15b40 6d 70 61 74 22 20 56 65 72 73 69 6f 6e 20 32 38 2e 31 2e 31 2e 33 0a 0a 54 68 69 73 20 72 65 6c mpat".Version.28.1.1.3..This.rel
15b60 65 61 73 65 20 6a 75 73 74 20 63 6f 6e 74 61 69 6e 73 20 61 20 68 6f 74 2d 66 69 78 20 66 6f 72 ease.just.contains.a.hot-fix.for
15b80 20 61 6e 20 69 73 73 75 65 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 74 68 65 0a 6c 61 73 74 .an.issue.introduced.in.the.last
15ba0 20 76 65 72 73 69 6f 6e 2c 20 77 68 65 72 65 20 63 6f 6d 70 61 74 2e 65 6c 20 72 61 69 73 65 73 .version,.where.compat.el.raises
15bc0 20 61 6e 20 65 72 72 6f 72 20 64 75 72 69 6e 67 20 62 79 74 65 20 63 6f 6d 70 69 6c 61 74 69 6f .an.error.during.byte.compilatio
15be0 6e 2e 0a 53 65 65 20 5b 5b 63 6f 6d 70 61 74 2d 73 72 68 74 3a 34 5d 5d 2e 0a 0a 28 52 65 6c 65 n..See.[[compat-srht:4]]...(Rele
15c00 61 73 65 20 3c 32 30 32 32 2d 30 36 2d 31 39 20 53 75 6e 3e 29 0a 0a 2a 20 52 65 6c 65 61 73 65 ase.<2022-06-19.Sun>)..*.Release
15c20 20 6f 66 20 22 43 6f 6d 70 61 74 22 20 56 65 72 73 69 6f 6e 20 32 38 2e 31 2e 31 2e 32 0a 0a 54 .of."Compat".Version.28.1.1.2..T
15c40 77 6f 20 6d 61 69 6e 20 63 68 61 6e 67 65 73 20 68 61 76 65 20 6e 65 63 65 73 73 69 74 61 74 65 wo.main.changes.have.necessitate
15c60 64 20 61 20 6e 65 77 20 70 61 74 63 68 20 72 65 6c 65 61 73 65 3a 0a 0a 31 2e 20 46 69 78 20 69 d.a.new.patch.release:..1..Fix.i
15c80 73 73 75 65 73 20 72 65 6c 61 74 65 64 20 74 6f 20 74 68 65 20 6c 6f 61 64 69 6e 67 20 6f 66 20 ssues.related.to.the.loading.of.
15ca0 63 6f 6d 70 61 74 20 77 68 65 6e 20 75 6e 63 6f 6d 70 69 6c 65 64 2e 20 20 53 65 65 0a 20 20 20 compat.when.uncompiled...See....
15cc0 5b 5b 68 74 74 70 73 3a 2f 2f 6c 69 73 74 73 2e 73 72 2e 68 74 2f 7e 70 6b 61 6c 2f 63 6f 6d 70 [[https://lists.sr.ht/~pkal/comp
15ce0 61 74 2d 64 65 76 65 6c 2f 25 33 43 32 30 32 32 30 35 33 30 31 39 31 30 30 30 2e 32 31 38 33 30 at-devel/%3C20220530191000.21830
15d00 34 37 2d 31 2d 6a 6f 6e 61 73 25 34 30 62 65 72 6e 6f 75 6c 2e 6c 69 25 33 45 5d 5b 74 68 69 73 47-1-jonas%40bernoul.li%3E][this
15d20 20 74 68 72 65 61 64 5d 5d 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 20 6f 6e 20 74 68 .thread]].for.more.details.on.th
15d40 65 20 70 72 6f 62 6c 65 6d 2e 0a 32 2e 20 46 69 78 20 69 73 73 75 65 73 20 72 65 6c 61 74 65 64 e.problem..2..Fix.issues.related
15d60 20 74 6f 20 74 68 65 20 6c 6f 61 64 69 6e 67 20 6f 66 20 63 6f 6d 70 61 74 20 6f 6e 20 6f 6c 64 .to.the.loading.of.compat.on.old
15d80 20 70 72 65 2d 72 65 6c 65 61 73 65 73 0a 20 20 20 28 74 68 69 6e 6b 20 6f 66 20 32 38 2e 30 2e .pre-releases....(think.of.28.0.
15da0 35 30 29 2e 20 53 65 65 20 5b 5b 68 74 74 70 73 3a 2f 2f 6c 69 73 74 73 2e 73 72 2e 68 74 2f 7e 50)..See.[[https://lists.sr.ht/~
15dc0 70 6b 61 6c 2f 63 6f 6d 70 61 74 2d 64 65 76 65 6c 2f 25 33 43 66 38 36 33 35 64 37 64 2d 65 32 pkal/compat-devel/%3Cf8635d7d-e2
15de0 33 33 2d 34 34 38 66 2d 62 33 32 35 2d 39 65 38 35 30 33 36 33 32 34 31 63 25 34 30 77 77 77 2e 33-448f-b325-9e850363241c%40www.
15e00 66 61 73 74 6d 61 69 6c 2e 63 6f 6d 25 33 45 5d 5b 74 68 69 73 20 74 68 72 65 61 64 5d 5d 20 66 fastmail.com%3E][this.thread]].f
15e20 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 20 6f 6e 20 74 68 65 0a 20 20 20 70 72 6f 62 6c 65 or.more.details.on.the....proble
15e40 6d 2e 0a 0a 28 52 65 6c 65 61 73 65 64 20 3c 32 30 32 32 2d 30 36 2d 32 32 20 57 65 64 3e 29 0a m...(Released.<2022-06-22.Wed>).
15e60 0a 2a 20 52 65 6c 65 61 73 65 20 6f 66 20 22 43 6f 6d 70 61 74 22 20 56 65 72 73 69 6f 6e 20 32 .*.Release.of."Compat".Version.2
15e80 38 2e 31 2e 31 2e 31 0a 0a 54 68 69 73 20 69 73 20 61 20 6d 69 6e 6f 72 20 72 65 6c 65 61 73 65 8.1.1.1..This.is.a.minor.release
15ea0 20 66 69 78 69 6e 67 20 61 20 62 75 67 20 69 6e 20 3d 6a 73 6f 6e 2d 73 65 72 69 61 6c 69 7a 65 .fixing.a.bug.in.=json-serialize
15ec0 3d 2c 20 74 68 61 74 20 63 6f 75 6c 64 0a 63 61 75 73 65 20 75 6e 69 6e 74 65 6e 64 65 64 20 73 =,.that.could.cause.unintended.s
15ee0 69 64 65 2d 65 66 66 65 63 74 73 2c 20 6e 6f 74 20 72 65 6c 61 74 65 64 20 74 6f 20 70 61 63 6b ide-effects,.not.related.to.pack
15f00 61 67 65 73 20 75 73 69 6e 67 20 43 6f 6d 70 61 74 0a 64 69 72 65 63 74 6c 79 20 28 73 65 65 20 ages.using.Compat.directly.(see.
15f20 5b 5b 63 6f 6d 70 61 74 2d 73 72 68 74 3a 32 5d 5d 29 2e 0a 0a 28 52 65 6c 65 61 73 65 64 20 3c [[compat-srht:2]])...(Released.<
15f40 32 30 32 32 2d 30 35 2d 30 35 20 54 68 75 3e 29 0a 0a 2a 20 52 65 6c 65 61 73 65 20 6f 66 20 22 2022-05-05.Thu>)..*.Release.of."
15f60 43 6f 6d 70 61 74 22 20 56 65 72 73 69 6f 6e 20 32 38 2e 31 2e 31 2e 30 0a 0a 54 68 69 73 20 72 Compat".Version.28.1.1.0..This.r
15f80 65 6c 65 61 73 65 20 6d 6f 73 74 6c 79 20 66 69 78 65 73 20 61 20 6e 75 6d 62 65 72 20 6f 66 20 elease.mostly.fixes.a.number.of.
15fa0 73 6d 61 6c 6c 65 72 20 62 75 67 73 20 74 68 61 74 20 77 65 72 65 20 6e 6f 74 0a 69 64 65 6e 74 smaller.bugs.that.were.not.ident
15fc0 69 66 69 65 64 20 61 73 20 6f 66 20 32 38 2e 31 2e 30 2e 30 2e 20 20 4e 65 76 65 72 74 68 65 6c ified.as.of.28.1.0.0...Neverthel
15fe0 65 73 73 20 74 68 65 73 65 20 77 61 72 72 61 6e 74 20 61 20 76 65 72 73 69 6f 6e 20 62 75 6d 70 ess.these.warrant.a.version.bump
16000 2c 0a 61 73 20 73 6f 6d 65 20 6f 66 20 74 68 65 73 65 20 63 68 61 6e 67 65 73 20 61 20 66 75 6e ,.as.some.of.these.changes.a.fun
16020 63 74 69 6f 6e 61 6c 2e 20 20 54 68 65 73 65 20 69 6e 63 6c 75 64 65 3a 0a 0a 2d 20 54 68 65 20 ctional...These.include:..-.The.
16040 61 64 64 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 3d 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d addition.of.the.=file-attribute-
16060 2a 3d 20 61 63 63 65 73 73 6f 72 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 2d 20 54 68 65 20 61 64 64 *=.accessor.functions..-.The.add
16080 69 74 69 6f 6e 20 6f 66 20 3d 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 63 6f 6c 6c 65 63 74 ition.of.=file-attribute-collect
160a0 3d 2e 0a 2d 20 49 6d 70 72 6f 76 65 6d 65 6e 74 73 20 74 6f 20 74 68 65 20 54 65 78 69 6e 66 6f =..-.Improvements.to.the.Texinfo
160c0 20 6d 61 6e 75 61 6c 20 28 76 69 61 20 4a 6f 6e 61 73 20 42 65 72 6e 6f 75 6c 6c 69 27 73 20 72 .manual.(via.Jonas.Bernoulli's.r
160e0 65 63 65 6e 74 0a 20 20 77 6f 72 6b 20 6f 6e 20 3d 6f 78 2d 74 65 78 69 6e 66 6f 3d 29 2e 20 20 ecent...work.on.=ox-texinfo=)...
16100 46 6f 72 20 74 68 65 20 74 69 6d 65 20 62 65 69 6e 67 2c 20 74 68 65 20 54 65 78 69 6e 66 6f 20 For.the.time.being,.the.Texinfo.
16120 66 69 6c 65 20 69 73 0a 20 20 6d 61 69 6e 74 61 69 6e 65 64 20 69 6e 20 74 68 65 20 72 65 70 6f file.is...maintained.in.the.repo
16140 73 69 74 6f 72 79 20 69 74 73 65 6c 66 2c 20 6e 65 78 74 20 74 6f 20 74 68 65 20 3d 4d 41 4e 55 sitory.itself,.next.to.the.=MANU
16160 41 4c 3d 20 66 69 6c 65 2e 0a 20 20 54 68 69 73 20 6d 69 67 68 74 20 63 68 61 6e 67 65 20 69 6e AL=.file....This.might.change.in
16180 20 74 68 65 20 66 75 74 75 72 65 2e 0a 2d 20 41 64 64 69 6e 67 20 61 20 70 72 65 66 69 78 20 74 .the.future..-.Adding.a.prefix.t
161a0 6f 20 3d 73 74 72 69 6e 67 2d 74 72 69 6d 3d 2c 20 3d 73 74 72 69 6e 67 2d 74 72 69 6d 2d 6c 65 o.=string-trim=,.=string-trim-le
161c0 66 74 3d 20 61 6e 64 0a 20 20 3d 73 74 72 69 6e 67 2d 74 72 69 6d 2d 72 69 67 68 74 3d 20 28 69 ft=.and...=string-trim-right=.(i
161e0 2e 65 2e 20 6e 6f 77 20 3d 63 6f 6d 70 61 74 2d 73 74 72 69 6e 67 2d 74 72 69 6d 3d 2c 0a 20 20 .e..now.=compat-string-trim=,...
16200 3d 63 6f 6d 70 61 74 2d 73 74 72 69 6e 67 2d 74 72 69 6d 2d 6c 65 66 74 3d 20 61 6e 64 20 3d 63 =compat-string-trim-left=.and.=c
16220 6f 6d 70 61 74 2d 73 74 72 69 6e 67 2d 74 72 69 6d 2d 72 69 67 68 74 3d 29 0a 2d 20 49 6d 70 72 ompat-string-trim-right=).-.Impr
16240 6f 76 69 6e 67 20 74 68 65 20 76 65 72 73 69 6f 6e 20 69 6e 66 65 72 65 6e 63 65 20 75 73 65 64 oving.the.version.inference.used
16260 20 69 6e 20 74 68 65 20 3d 63 6f 6d 70 61 74 2d 2a 3d 20 6d 61 63 72 6f 73 2e 0a 20 20 54 68 69 .in.the.=compat-*=.macros....Thi
16280 73 20 69 6d 70 72 6f 76 65 73 20 74 68 65 20 63 6f 6d 70 69 6c 65 2d 74 69 6d 65 20 6f 70 74 69 s.improves.the.compile-time.opti
162a0 6d 69 73 61 74 69 6f 6e 20 74 68 61 74 20 73 74 72 69 70 73 20 61 77 61 79 0a 20 20 66 75 6e 63 misation.that.strips.away...func
162c0 74 69 6f 6e 73 20 74 68 61 74 20 61 72 65 20 6b 6e 6f 77 6e 20 74 6f 20 62 65 20 64 65 66 69 6e tions.that.are.known.to.be.defin
162e0 65 64 20 66 6f 72 20 61 20 73 70 65 63 69 66 69 63 20 76 65 72 73 69 6f 6e 2e 0a 2d 20 54 68 65 ed.for.a.specific.version..-.The
16300 20 61 64 64 69 74 69 6f 6e 20 6f 66 20 67 65 6e 65 72 61 6c 69 73 65 64 20 76 61 72 69 61 62 6c .addition.of.generalised.variabl
16320 65 20 28 3d 73 65 74 66 3d 29 20 73 75 70 70 6f 72 74 20 66 6f 72 0a 20 20 3d 63 6f 6d 70 61 74 e.(=setf=).support.for...=compat
16340 2d 61 6c 69 73 74 2d 67 65 74 3d 2e 0a 2d 20 54 68 65 20 61 64 64 69 74 69 6f 6e 20 6f 66 20 3d -alist-get=..-.The.addition.of.=
16360 69 6d 61 67 65 2d 70 72 6f 70 65 72 74 79 3d 20 61 6e 64 20 67 65 6e 65 72 61 6c 69 73 65 64 20 image-property=.and.generalised.
16380 76 61 72 69 61 62 6c 65 20 73 75 70 70 6f 72 74 0a 20 20 66 6f 72 20 3d 69 6d 61 67 65 2d 70 72 variable.support...for.=image-pr
163a0 6f 70 65 72 74 79 3d 2e 0a 2d 20 54 68 65 20 61 64 64 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 66 operty=..-.The.addition.of.the.f
163c0 75 6e 63 74 69 6f 6e 20 3d 63 6f 6d 70 61 74 2d 65 78 65 63 75 74 61 62 6c 65 2d 66 69 6e 64 3d unction.=compat-executable-find=
163e0 2e 0a 2d 20 54 68 65 20 61 64 64 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e ..-.The.addition.of.the.function
16400 20 3d 63 6f 6d 70 61 74 2d 64 69 72 65 64 2d 67 65 74 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 3d .=compat-dired-get-marked-files=
16420 2e 0a 2d 20 54 68 65 20 61 64 64 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e ..-.The.addition.of.the.function
16440 20 3d 65 78 65 63 2d 70 61 74 68 3d 2e 0a 2d 20 54 68 65 20 61 64 64 69 74 69 6f 6e 20 6f 66 20 .=exec-path=..-.The.addition.of.
16460 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 3d 6d 61 6b 65 2d 6c 6f 63 6b 2d 66 69 6c 65 2d 6e 61 6d the.function.=make-lock-file-nam
16480 65 3d 2e 0a 2d 20 54 68 65 20 61 64 64 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 e=..-.The.addition.of.the.functi
164a0 6f 6e 20 3d 6e 75 6c 6c 2d 64 65 76 69 63 65 3d 2e 0a 2d 20 54 68 65 20 61 64 64 69 74 69 6f 6e on.=null-device=..-.The.addition
164c0 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 3d 74 69 6d 65 2d 65 71 75 61 6c 2d 70 3d 2e .of.the.function.=time-equal-p=.
164e0 0a 2d 20 54 68 65 20 61 64 64 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 .-.The.addition.of.the.function.
16500 3d 64 61 74 65 2d 64 61 79 73 2d 69 6e 2d 6d 6f 6e 74 68 3d 2e 0a 2d 20 48 61 6e 64 6c 69 6e 67 =date-days-in-month=..-.Handling
16520 20 6f 75 74 2d 6f 66 2d 64 69 72 65 63 74 6f 72 79 20 62 79 74 65 20 63 6f 6d 70 69 6c 61 74 69 .out-of-directory.byte.compilati
16540 6f 6e 20 62 65 74 74 65 72 2e 0a 2d 20 46 69 78 69 6e 67 20 74 68 65 20 75 73 61 67 65 20 61 6e on.better..-.Fixing.the.usage.an
16560 64 20 65 64 67 65 2d 63 61 73 65 73 20 6f 66 20 3d 61 6e 64 2d 6c 65 74 2a 3d 2e 0a 0a 28 52 65 d.edge-cases.of.=and-let*=...(Re
16580 6c 65 61 73 65 64 20 3c 32 30 32 32 2d 30 34 2d 32 32 20 46 72 69 3e 29 0a 00 00 00 00 00 00 00 leased.<2022-04-22.Fri>)........
165a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
165c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
165e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16600 63 6f 6d 70 61 74 2d 33 30 2e 30 2e 30 2e 30 2f 63 6f 6d 70 61 74 2d 32 39 2e 65 6c 00 00 00 00 compat-30.0.0.0/compat-29.el....
16620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16660 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
16680 30 32 30 33 33 31 33 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 37 31 31 00 20 30 00 00 00 0203313.00000000000.013711..0...
166a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
166c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
166e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16700 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...................
16720 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...................
16740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
167a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
167c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
167e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16800 3b 3b 3b 20 63 6f 6d 70 61 74 2d 32 39 2e 65 6c 20 2d 2d 2d 20 46 75 6e 63 74 69 6f 6e 61 6c 69 ;;;.compat-29.el.---.Functionali
16820 74 79 20 61 64 64 65 64 20 69 6e 20 45 6d 61 63 73 20 32 39 2e 31 20 2d 2a 2d 20 6c 65 78 69 63 ty.added.in.Emacs.29.1.-*-.lexic
16840 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 al-binding:.t;.-*-..;;.Copyright
16860 20 28 43 29 20 32 30 32 31 2d 32 30 32 34 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 .(C).2021-2024.Free.Software.Fou
16880 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 ndation,.Inc...;;.This.program.i
168a0 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 s.free.software;.you.can.redistr
168c0 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 ibute.it.and/or.modify.;;.it.und
168e0 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 er.the.terms.of.the.GNU.General.
16900 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 3b Public.License.as.published.by.;
16920 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 ;.the.Free.Software.Foundation,.
16940 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c either.version.3.of.the.License,
16960 20 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 .or.;;.(at.your.option).any.late
16980 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 r.version...;;.This.program.is.d
169a0 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 istributed.in.the.hope.that.it.w
169c0 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e ill.be.useful,.;;.but.WITHOUT.AN
169e0 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 Y.WARRANTY;.without.even.the.imp
16a00 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c lied.warranty.of.;;.MERCHANTABIL
16a20 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 ITY.or.FITNESS.FOR.A.PARTICULAR.
16a40 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c PURPOSE...See.the.;;.GNU.General
16a60 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 .Public.License.for.more.details
16a80 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 ...;;.You.should.have.received.a
16aa0 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 .copy.of.the.GNU.General.Public.
16ac0 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 License.;;.along.with.this.progr
16ae0 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e am...If.not,.see.<https://www.gn
16b00 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 u.org/licenses/>...;;;.Commentar
16b20 79 3a 0a 0a 3b 3b 20 46 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 61 64 64 65 64 20 69 6e 20 45 6d y:..;;.Functionality.added.in.Em
16b40 61 63 73 20 32 39 2e 31 2c 20 6e 65 65 64 65 64 20 62 79 20 6f 6c 64 65 72 20 45 6d 61 63 73 20 acs.29.1,.needed.by.older.Emacs.
16b60 76 65 72 73 69 6f 6e 73 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 65 76 61 6c 2d 77 68 65 6e versions...;;;.Code:..(eval-when
16b80 2d 63 6f 6d 70 69 6c 65 20 28 6c 6f 61 64 20 22 63 6f 6d 70 61 74 2d 6d 61 63 73 2e 65 6c 22 20 -compile.(load."compat-macs.el".
16ba0 6e 69 6c 20 74 20 74 29 29 0a 28 63 6f 6d 70 61 74 2d 72 65 71 75 69 72 65 20 63 6f 6d 70 61 74 nil.t.t)).(compat-require.compat
16bc0 2d 32 38 20 22 32 38 2e 31 22 29 0a 0a 3b 3b 20 50 72 65 6c 6f 61 64 65 64 20 69 6e 20 6c 6f 61 -28."28.1")..;;.Preloaded.in.loa
16be0 64 75 70 2e 65 6c 0a 28 63 6f 6d 70 61 74 2d 72 65 71 75 69 72 65 20 73 65 71 20 22 32 39 2e 31 dup.el.(compat-require.seq."29.1
16c00 22 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 73 65 71 3e 0a 0a 28 63 6f 6d 70 61 ").;;.<compat-tests:seq>..(compa
16c20 74 2d 76 65 72 73 69 6f 6e 20 22 32 39 2e 31 22 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 t-version."29.1")..;;;;.Defined.
16c40 69 6e 20 73 74 61 72 74 75 70 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 76 61 72 20 6c 69 in.startup.el..(compat-defvar.li
16c60 73 70 2d 64 69 72 65 63 74 6f 72 79 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 6c 69 sp-directory.;;.<compat-tests:li
16c80 73 70 2d 64 69 72 65 63 74 6f 72 79 3e 0a 20 20 20 20 28 66 69 6c 65 2d 74 72 75 65 6e 61 6d 65 sp-directory>.....(file-truename
16ca0 0a 20 20 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 ......(file-name-directory......
16cc0 20 28 6c 6f 63 61 74 65 2d 66 69 6c 65 20 22 73 69 6d 70 6c 65 22 20 6c 6f 61 64 2d 70 61 74 68 .(locate-file."simple".load-path
16ce0 20 28 67 65 74 2d 6c 6f 61 64 2d 73 75 66 66 69 78 65 73 29 29 29 29 0a 20 20 22 44 69 72 65 63 .(get-load-suffixes))))..."Direc
16d00 74 6f 72 79 20 77 68 65 72 65 20 45 6d 61 63 73 27 73 20 6f 77 6e 20 2a 2e 65 6c 20 61 6e 64 20 tory.where.Emacs's.own.*.el.and.
16d20 2a 2e 65 6c 63 20 4c 69 73 70 20 66 69 6c 65 73 20 61 72 65 20 69 6e 73 74 61 6c 6c 65 64 2e 22 *.elc.Lisp.files.are.installed."
16d40 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 77 69 6e 64 6f 77 2e 63 0a 0a 28 63 6f )..;;;;.Defined.in.window.c..(co
16d60 6d 70 61 74 2d 64 65 66 61 6c 69 61 73 20 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 mpat-defalias.window-configurati
16d80 6f 6e 2d 65 71 75 61 6c 2d 70 20 63 6f 6d 70 61 72 65 2d 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 on-equal-p.compare-window-config
16da0 75 72 61 74 69 6f 6e 73 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 77 69 6e 64 6f urations).;;.<compat-tests:windo
16dc0 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2d 65 71 75 61 6c 2d 70 3e 0a 0a 3b 3b 3b 3b 20 44 w-configuration-equal-p>..;;;;.D
16de0 65 66 69 6e 65 64 20 69 6e 20 78 64 69 73 70 2e 63 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e efined.in.xdisp.c..(compat-defun
16e00 20 67 65 74 2d 64 69 73 70 6c 61 79 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 73 69 74 69 6f 6e 20 .get-display-property.(position.
16e20 70 72 6f 70 20 26 6f 70 74 69 6f 6e 61 6c 20 6f 62 6a 65 63 74 20 70 72 6f 70 65 72 74 69 65 73 prop.&optional.object.properties
16e40 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 67 65 74 2d 64 69 73 70 6c 61 79 2d 70 ).;;.<compat-tests:get-display-p
16e60 72 6f 70 65 72 74 79 3e 0a 20 20 22 47 65 74 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 roperty>..."Get.the.value.of.the
16e80 20 60 64 69 73 70 6c 61 79 27 20 70 72 6f 70 65 72 74 79 20 50 52 4f 50 20 61 74 20 50 4f 53 49 .`display'.property.PROP.at.POSI
16ea0 54 49 4f 4e 2e 0a 49 66 20 4f 42 4a 45 43 54 2c 20 74 68 69 73 20 73 68 6f 75 6c 64 20 62 65 20 TION..If.OBJECT,.this.should.be.
16ec0 61 20 62 75 66 66 65 72 20 6f 72 20 73 74 72 69 6e 67 20 77 68 65 72 65 20 74 68 65 20 70 72 6f a.buffer.or.string.where.the.pro
16ee0 70 65 72 74 79 20 69 73 0a 66 65 74 63 68 65 64 20 66 72 6f 6d 2e 20 20 49 66 20 6f 6d 69 74 74 perty.is.fetched.from...If.omitt
16f00 65 64 2c 20 4f 42 4a 45 43 54 20 64 65 66 61 75 6c 74 73 20 74 6f 20 74 68 65 20 63 75 72 72 65 ed,.OBJECT.defaults.to.the.curre
16f20 6e 74 20 62 75 66 66 65 72 2e 0a 0a 49 66 20 50 52 4f 50 45 52 54 49 45 53 2c 20 6c 6f 6f 6b 20 nt.buffer...If.PROPERTIES,.look.
16f40 66 6f 72 20 76 61 6c 75 65 20 6f 66 20 50 52 4f 50 20 69 6e 20 50 52 4f 50 45 52 54 49 45 53 20 for.value.of.PROP.in.PROPERTIES.
16f60 69 6e 73 74 65 61 64 20 6f 66 0a 74 68 65 20 70 72 6f 70 65 72 74 69 65 73 20 61 74 20 50 4f 53 instead.of.the.properties.at.POS
16f80 49 54 49 4f 4e 2e 22 0a 20 20 28 69 66 20 70 72 6f 70 65 72 74 69 65 73 0a 20 20 20 20 20 20 28 ITION."...(if.properties.......(
16fa0 75 6e 6c 65 73 73 20 28 6c 69 73 74 70 20 70 72 6f 70 65 72 74 69 65 73 29 0a 20 20 20 20 20 20 unless.(listp.properties).......
16fc0 20 20 28 73 69 67 6e 61 6c 20 27 77 72 6f 6e 67 2d 74 79 70 65 2d 61 72 67 75 6d 65 6e 74 20 28 ..(signal.'wrong-type-argument.(
16fe0 6c 69 73 74 20 27 6c 69 73 74 70 20 70 72 6f 70 65 72 74 69 65 73 29 29 29 0a 20 20 20 20 28 73 list.'listp.properties))).....(s
17000 65 74 71 20 70 72 6f 70 65 72 74 69 65 73 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 etq.properties.(get-text-propert
17020 79 20 70 6f 73 69 74 69 6f 6e 20 27 64 69 73 70 6c 61 79 20 6f 62 6a 65 63 74 29 29 29 0a 20 20 y.position.'display.object)))...
17040 28 63 6f 6e 64 0a 20 20 20 28 28 76 65 63 74 6f 72 70 20 70 72 6f 70 65 72 74 69 65 73 29 0a 20 (cond....((vectorp.properties)..
17060 20 20 20 28 63 61 74 63 68 20 27 66 6f 75 6e 64 0a 20 20 20 20 20 20 28 64 6f 74 69 6d 65 73 20 ...(catch.'found.......(dotimes.
17080 28 69 20 28 6c 65 6e 67 74 68 20 70 72 6f 70 65 72 74 69 65 73 29 29 0a 20 20 20 20 20 20 20 20 (i.(length.properties)).........
170a0 28 6c 65 74 20 28 28 65 6e 74 20 28 61 72 65 66 20 70 72 6f 70 65 72 74 69 65 73 20 69 29 29 29 (let.((ent.(aref.properties.i)))
170c0 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 65 71 20 28 63 61 72 20 65 6e 74 29 20 70 ...........(when.(eq.(car.ent).p
170e0 72 6f 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 74 68 72 6f 77 20 27 66 6f 75 6e 64 20 28 rop).............(throw.'found.(
17100 63 61 64 72 20 65 6e 74 20 29 29 29 29 29 29 29 0a 20 20 20 28 28 63 6f 6e 73 70 20 28 63 61 72 cadr.ent.)))))))....((consp.(car
17120 20 70 72 6f 70 65 72 74 69 65 73 29 29 0a 20 20 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 .properties)).....(condition-cas
17140 65 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 28 63 61 64 72 20 28 61 73 73 71 20 70 72 6f 70 20 70 e.nil.........(cadr.(assq.prop.p
17160 72 6f 70 65 72 74 69 65 73 29 29 0a 20 20 20 20 20 20 3b 3b 20 53 69 6c 65 6e 74 6c 79 20 68 61 roperties)).......;;.Silently.ha
17180 6e 64 6c 65 20 69 6d 70 72 6f 70 65 72 20 6c 69 73 74 73 3a 0a 20 20 20 20 20 20 28 77 72 6f 6e ndle.improper.lists:.......(wron
171a0 67 2d 74 79 70 65 2d 61 72 67 75 6d 65 6e 74 20 6e 69 6c 29 29 29 0a 20 20 20 28 28 61 6e 64 20 g-type-argument.nil)))....((and.
171c0 28 63 6f 6e 73 70 20 28 63 64 72 20 70 72 6f 70 65 72 74 69 65 73 29 29 0a 20 20 20 20 20 20 20 (consp.(cdr.properties))........
171e0 20 20 28 65 71 20 28 63 61 72 20 70 72 6f 70 65 72 74 69 65 73 29 20 70 72 6f 70 29 29 0a 20 20 ..(eq.(car.properties).prop))...
17200 20 20 28 63 61 64 72 20 70 72 6f 70 65 72 74 69 65 73 29 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 ..(cadr.properties))))..;;;;.Def
17220 69 6e 65 64 20 69 6e 20 66 6e 73 2e 63 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 6e 74 61 ined.in.fns.c..(compat-defun.nta
17240 6b 65 20 28 6e 20 6c 69 73 74 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 6e 74 61 ke.(n.list).;;.<compat-tests:nta
17260 6b 65 3e 0a 20 20 22 4d 6f 64 69 66 79 20 4c 49 53 54 20 74 6f 20 6b 65 65 70 20 6f 6e 6c 79 20 ke>..."Modify.LIST.to.keep.only.
17280 74 68 65 20 66 69 72 73 74 20 4e 20 65 6c 65 6d 65 6e 74 73 2e 0a 49 66 20 4e 20 69 73 20 7a 65 the.first.N.elements..If.N.is.ze
172a0 72 6f 20 6f 72 20 6e 65 67 61 74 69 76 65 2c 20 72 65 74 75 72 6e 20 6e 69 6c 2e 0a 49 66 20 4e ro.or.negative,.return.nil..If.N
172c0 20 69 73 20 67 72 65 61 74 65 72 20 6f 72 20 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6c 65 6e 67 .is.greater.or.equal.to.the.leng
172e0 74 68 20 6f 66 20 4c 49 53 54 2c 20 72 65 74 75 72 6e 20 4c 49 53 54 20 75 6e 6d 6f 64 69 66 69 th.of.LIST,.return.LIST.unmodifi
17300 65 64 2e 0a 4f 74 68 65 72 77 69 73 65 2c 20 72 65 74 75 72 6e 20 4c 49 53 54 20 61 66 74 65 72 ed..Otherwise,.return.LIST.after
17320 20 74 72 75 6e 63 61 74 69 6e 67 20 69 74 2e 22 0a 20 20 28 61 6e 64 20 28 3e 20 6e 20 30 29 20 .truncating.it."...(and.(>.n.0).
17340 28 6c 65 74 20 28 28 63 6f 6e 73 20 28 6e 74 68 63 64 72 20 28 31 2d 20 6e 29 20 6c 69 73 74 29 (let.((cons.(nthcdr.(1-.n).list)
17360 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 63 6f 6e 73 20 28 ))..................(when.cons.(
17380 73 65 74 63 64 72 20 63 6f 6e 73 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 setcdr.cons.nil))...............
173a0 20 20 20 6c 69 73 74 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 74 61 6b 65 20 28 ...list)))..(compat-defun.take.(
173c0 6e 20 6c 69 73 74 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 74 61 6b 65 3e 0a 20 n.list).;;.<compat-tests:take>..
173e0 20 22 52 65 74 75 72 6e 20 74 68 65 20 66 69 72 73 74 20 4e 20 65 6c 65 6d 65 6e 74 73 20 6f 66 ."Return.the.first.N.elements.of
17400 20 4c 49 53 54 2e 0a 49 66 20 4e 20 69 73 20 7a 65 72 6f 20 6f 72 20 6e 65 67 61 74 69 76 65 2c .LIST..If.N.is.zero.or.negative,
17420 20 72 65 74 75 72 6e 20 6e 69 6c 2e 0a 49 66 20 4e 20 69 73 20 67 72 65 61 74 65 72 20 6f 72 20 .return.nil..If.N.is.greater.or.
17440 65 71 75 61 6c 20 74 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 4c 49 53 54 2c 20 72 65 74 equal.to.the.length.of.LIST,.ret
17460 75 72 6e 20 4c 49 53 54 20 28 6f 72 20 61 20 63 6f 70 79 29 2e 22 0a 20 20 28 64 65 63 6c 61 72 urn.LIST.(or.a.copy)."...(declar
17480 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 e.(pure.t).(side-effect-free.t))
174a0 0a 20 20 28 6c 65 74 20 28 63 6f 70 79 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 28 ...(let.(copy).....(while.(and.(
174c0 3c 20 30 20 6e 29 20 6c 69 73 74 29 0a 20 20 20 20 20 20 28 70 75 73 68 20 28 70 6f 70 20 6c 69 <.0.n).list).......(push.(pop.li
174e0 73 74 29 20 63 6f 70 79 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6e 20 28 31 2d 20 6e 29 29 29 st).copy).......(setq.n.(1-.n)))
17500 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 63 6f 70 79 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d .....(nreverse.copy)))..(compat-
17520 64 65 66 75 6e 20 73 74 72 69 6e 67 2d 65 71 75 61 6c 2d 69 67 6e 6f 72 65 2d 63 61 73 65 20 28 defun.string-equal-ignore-case.(
17540 73 74 72 69 6e 67 31 20 73 74 72 69 6e 67 32 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 string1.string2).;;.<compat-test
17560 73 3a 73 74 72 69 6e 67 2d 65 71 75 61 6c 2d 69 67 6e 6f 72 65 2d 63 61 73 65 3e 0a 20 20 22 4c s:string-equal-ignore-case>..."L
17580 69 6b 65 20 60 73 74 72 69 6e 67 2d 65 71 75 61 6c 27 2c 20 62 75 74 20 63 61 73 65 2d 69 6e 73 ike.`string-equal',.but.case-ins
175a0 65 6e 73 69 74 69 76 65 2e 0a 55 70 70 65 72 2d 63 61 73 65 20 61 6e 64 20 6c 6f 77 65 72 2d 63 ensitive..Upper-case.and.lower-c
175c0 61 73 65 20 6c 65 74 74 65 72 73 20 61 72 65 20 74 72 65 61 74 65 64 20 61 73 20 65 71 75 61 6c ase.letters.are.treated.as.equal
175e0 2e 0a 55 6e 69 62 79 74 65 20 73 74 72 69 6e 67 73 20 61 72 65 20 63 6f 6e 76 65 72 74 65 64 20 ..Unibyte.strings.are.converted.
17600 74 6f 20 6d 75 6c 74 69 62 79 74 65 20 66 6f 72 20 63 6f 6d 70 61 72 69 73 6f 6e 2e 22 0a 20 20 to.multibyte.for.comparison."...
17620 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 (declare.(pure.t).(side-effect-f
17640 72 65 65 20 74 29 29 0a 20 20 28 65 71 20 74 20 28 63 6f 6d 70 61 72 65 2d 73 74 72 69 6e 67 73 ree.t))...(eq.t.(compare-strings
17660 20 73 74 72 69 6e 67 31 20 30 20 6e 69 6c 20 73 74 72 69 6e 67 32 20 30 20 6e 69 6c 20 74 29 29 .string1.0.nil.string2.0.nil.t))
17680 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 70 6c 69 73 74 2d 67 65 74 20 28 70 6c 69 73 )..(compat-defun.plist-get.(plis
176a0 74 20 70 72 6f 70 20 26 6f 70 74 69 6f 6e 61 6c 20 70 72 65 64 69 63 61 74 65 29 20 3b 3b 20 3c t.prop.&optional.predicate).;;.<
176c0 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 70 6c 69 73 74 2d 67 65 74 3e 0a 20 20 22 48 61 6e 64 6c compat-tests:plist-get>..."Handl
176e0 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 50 52 45 44 49 43 41 54 45 2e 22 0a e.optional.argument.PREDICATE.".
17700 20 20 3a 65 78 74 65 6e 64 65 64 20 74 0a 20 20 28 70 63 61 73 65 20 70 72 65 64 69 63 61 74 65 ..:extended.t...(pcase.predicate
17720 0a 20 20 20 20 28 28 6f 72 20 60 6e 69 6c 20 60 65 71 29 20 28 70 6c 69 73 74 2d 67 65 74 20 70 .....((or.`nil.`eq).(plist-get.p
17740 6c 69 73 74 20 70 72 6f 70 29 29 0a 20 20 20 20 28 60 65 71 75 61 6c 20 28 6c 61 78 2d 70 6c 69 list.prop)).....(`equal.(lax-pli
17760 73 74 2d 67 65 74 20 70 6c 69 73 74 20 70 72 6f 70 29 29 0a 20 20 20 20 28 5f 20 28 63 61 74 63 st-get.plist.prop)).....(_.(catc
17780 68 20 27 66 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 63 6f 6e 73 70 20 h.'found..........(while.(consp.
177a0 70 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 66 75 6e 63 61 6c 6c plist)............(when.(funcall
177c0 20 70 72 65 64 69 63 61 74 65 20 70 72 6f 70 20 28 63 61 72 20 70 6c 69 73 74 29 29 0a 20 20 20 .predicate.prop.(car.plist))....
177e0 20 20 20 20 20 20 20 20 20 20 28 74 68 72 6f 77 20 27 66 6f 75 6e 64 20 28 63 61 64 72 20 70 6c ..........(throw.'found.(cadr.pl
17800 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 6c 69 73 74 20 28 63 ist)))............(setq.plist.(c
17820 64 64 72 20 70 6c 69 73 74 29 29 29 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 ddr.plist)))))))..(compat-defun.
17840 70 6c 69 73 74 2d 70 75 74 20 28 70 6c 69 73 74 20 70 72 6f 70 20 76 61 6c 20 26 6f 70 74 69 6f plist-put.(plist.prop.val.&optio
17860 6e 61 6c 20 70 72 65 64 69 63 61 74 65 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a nal.predicate).;;.<compat-tests:
17880 70 6c 69 73 74 2d 67 65 74 3e 0a 20 20 22 48 61 6e 64 6c 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 plist-get>..."Handle.optional.ar
178a0 67 75 6d 65 6e 74 20 50 52 45 44 49 43 41 54 45 2e 22 0a 20 20 3a 65 78 74 65 6e 64 65 64 20 74 gument.PREDICATE."...:extended.t
178c0 0a 20 20 28 70 63 61 73 65 20 70 72 65 64 69 63 61 74 65 0a 20 20 20 20 28 28 6f 72 20 60 6e 69 ...(pcase.predicate.....((or.`ni
178e0 6c 20 60 65 71 29 20 28 70 6c 69 73 74 2d 70 75 74 20 70 6c 69 73 74 20 70 72 6f 70 20 76 61 6c l.`eq).(plist-put.plist.prop.val
17900 29 29 0a 20 20 20 20 28 60 65 71 75 61 6c 20 28 6c 61 78 2d 70 6c 69 73 74 2d 70 75 74 20 70 6c )).....(`equal.(lax-plist-put.pl
17920 69 73 74 20 70 72 6f 70 20 76 61 6c 29 29 0a 20 20 20 20 28 5f 20 28 63 61 74 63 68 20 27 66 6f ist.prop.val)).....(_.(catch.'fo
17940 75 6e 64 0a 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 74 61 69 6c 20 70 6c 69 73 74 29 29 und..........(let.((tail.plist))
17960 0a 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 63 6f 6e 73 70 20 74 61 69 6c 29 0a ............(while.(consp.tail).
17980 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 .............(when.(funcall.pred
179a0 69 63 61 74 65 20 70 72 6f 70 20 28 63 61 72 20 74 61 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 icate.prop.(car.tail))..........
179c0 20 20 20 20 20 20 28 73 65 74 63 61 72 20 28 63 64 72 20 74 61 69 6c 29 20 76 61 6c 29 0a 20 20 ......(setcar.(cdr.tail).val)...
179e0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 68 72 6f 77 20 27 66 6f 75 6e 64 20 70 6c 69 73 74 .............(throw.'found.plist
17a00 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 74 61 69 6c 20 28 63 64 64 72 ))..............(setq.tail.(cddr
17a20 20 74 61 69 6c 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 63 6f 6e 63 20 70 6c 69 73 74 20 .tail))))..........(nconc.plist.
17a40 28 6c 69 73 74 20 70 72 6f 70 20 76 61 6c 29 29 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 (list.prop.val))))))..(compat-de
17a60 66 75 6e 20 70 6c 69 73 74 2d 6d 65 6d 62 65 72 20 28 70 6c 69 73 74 20 70 72 6f 70 20 26 6f 70 fun.plist-member.(plist.prop.&op
17a80 74 69 6f 6e 61 6c 20 70 72 65 64 69 63 61 74 65 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 tional.predicate).;;.<compat-tes
17aa0 74 73 3a 70 6c 69 73 74 2d 67 65 74 3e 0a 20 20 22 48 61 6e 64 6c 65 20 6f 70 74 69 6f 6e 61 6c ts:plist-get>..."Handle.optional
17ac0 20 61 72 67 75 6d 65 6e 74 20 50 52 45 44 49 43 41 54 45 2e 22 0a 20 20 3a 65 78 74 65 6e 64 65 .argument.PREDICATE."...:extende
17ae0 64 20 74 0a 20 20 28 70 63 61 73 65 20 70 72 65 64 69 63 61 74 65 0a 20 20 20 20 28 28 6f 72 20 d.t...(pcase.predicate.....((or.
17b00 60 6e 69 6c 20 60 65 71 29 20 28 70 6c 69 73 74 2d 6d 65 6d 62 65 72 20 70 6c 69 73 74 20 70 72 `nil.`eq).(plist-member.plist.pr
17b20 6f 70 29 29 0a 20 20 20 20 28 5f 20 28 63 61 74 63 68 20 27 66 6f 75 6e 64 0a 20 20 20 20 20 20 op)).....(_.(catch.'found.......
17b40 20 20 20 28 77 68 69 6c 65 20 28 63 6f 6e 73 70 20 70 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 ...(while.(consp.plist).........
17b60 20 20 20 28 77 68 65 6e 20 28 66 75 6e 63 61 6c 6c 20 70 72 65 64 69 63 61 74 65 20 70 72 6f 70 ...(when.(funcall.predicate.prop
17b80 20 28 63 61 72 20 70 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 68 72 6f .(car.plist))..............(thro
17ba0 77 20 27 66 6f 75 6e 64 20 70 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 w.'found.plist))............(set
17bc0 71 20 70 6c 69 73 74 20 28 63 64 64 72 20 70 6c 69 73 74 29 29 29 29 29 29 29 0a 0a 3b 3b 3b 3b q.plist.(cddr.plist)))))))..;;;;
17be0 20 44 65 66 69 6e 65 64 20 69 6e 20 67 76 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 67 75 61 72 64 .Defined.in.gv.el..(compat-guard
17c00 20 74 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 70 6c 69 73 74 2d 67 65 74 2d 67 76 .t.;;.<compat-tests:plist-get-gv
17c20 3e 0a 20 20 28 67 76 2d 64 65 66 69 6e 65 2d 65 78 70 61 6e 64 65 72 20 63 6f 6d 70 61 74 2d 2d >...(gv-define-expander.compat--
17c40 70 6c 69 73 74 2d 67 65 74 0a 20 20 20 20 28 6c 61 6d 62 64 61 20 28 64 6f 20 70 6c 69 73 74 20 plist-get.....(lambda.(do.plist.
17c60 70 72 6f 70 20 26 6f 70 74 69 6f 6e 61 6c 20 70 72 65 64 69 63 61 74 65 29 0a 20 20 20 20 20 20 prop.&optional.predicate).......
17c80 28 6d 61 63 72 6f 65 78 70 2d 6c 65 74 32 20 6d 61 63 72 6f 65 78 70 2d 63 6f 70 79 61 62 6c 65 (macroexp-let2.macroexp-copyable
17ca0 2d 70 20 6b 65 79 20 70 72 6f 70 0a 20 20 20 20 20 20 20 20 28 67 76 2d 6c 65 74 70 6c 61 63 65 -p.key.prop.........(gv-letplace
17cc0 20 28 67 65 74 74 65 72 20 73 65 74 74 65 72 29 20 70 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 .(getter.setter).plist..........
17ce0 20 28 6d 61 63 72 6f 65 78 70 2d 6c 65 74 32 20 6e 69 6c 20 70 20 60 28 63 64 72 20 28 63 6f 6d .(macroexp-let2.nil.p.`(cdr.(com
17d00 70 61 74 2d 2d 70 6c 69 73 74 2d 6d 65 6d 62 65 72 20 2c 67 65 74 74 65 72 20 2c 6b 65 79 20 2c pat--plist-member.,getter.,key.,
17d20 70 72 65 64 69 63 61 74 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c predicate)).............(funcall
17d40 20 64 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 63 61 72 20 2c .do......................`(car.,
17d60 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 p)......................(lambda.
17d80 28 76 61 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 69 (val)........................`(i
17da0 66 20 2c 70 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 f.,p............................
17dc0 20 28 73 65 74 63 61 72 20 2c 70 20 2c 76 61 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(setcar.,p.,val)...............
17de0 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 66 75 6e 63 61 6c 6c 20 73 65 74 74 65 72 0a 20 20 20 ............,(funcall.setter....
17e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
17e20 20 60 28 63 6f 6e 73 20 2c 6b 65 79 20 28 63 6f 6e 73 20 2c 76 61 6c 20 2c 67 65 74 74 65 72 29 .`(cons.,key.(cons.,val.,getter)
17e40 29 29 29 29 29 29 29 29 29 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 67 65 74 20 27 70 6c 69 73 74 ))))))))))...(unless.(get.'plist
17e60 2d 67 65 74 20 27 67 76 2d 65 78 70 61 6e 64 65 72 29 0a 20 20 20 20 28 70 75 74 20 27 70 6c 69 -get.'gv-expander).....(put.'pli
17e80 73 74 2d 67 65 74 20 27 67 76 2d 65 78 70 61 6e 64 65 72 20 28 67 65 74 20 27 63 6f 6d 70 61 74 st-get.'gv-expander.(get.'compat
17ea0 2d 2d 70 6c 69 73 74 2d 67 65 74 20 27 67 76 2d 65 78 70 61 6e 64 65 72 29 29 29 29 0a 0a 3b 3b --plist-get.'gv-expander))))..;;
17ec0 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 65 64 69 74 66 6e 73 2e 63 0a 0a 28 63 6f 6d 70 61 74 ;;.Defined.in.editfns.c..(compat
17ee0 2d 64 65 66 75 6e 20 70 6f 73 2d 62 6f 6c 20 28 26 6f 70 74 69 6f 6e 61 6c 20 6e 29 20 3b 3b 20 -defun.pos-bol.(&optional.n).;;.
17f00 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 70 6f 73 2d 62 6f 6c 3e 0a 20 20 22 52 65 74 75 72 6e <compat-tests:pos-bol>..."Return
17f20 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 63 68 61 72 61 .the.position.of.the.first.chara
17f40 63 74 65 72 20 6f 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 69 6e 65 2e 0a 57 69 74 68 20 6f cter.on.the.current.line..With.o
17f60 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 4e 2c 20 73 63 61 6e 20 66 6f 72 77 61 72 64 ptional.argument.N,.scan.forward
17f80 20 4e 20 2d 20 31 20 6c 69 6e 65 73 20 66 69 72 73 74 2e 0a 49 66 20 74 68 65 20 73 63 61 6e 20 .N.-.1.lines.first..If.the.scan.
17fa0 72 65 61 63 68 65 73 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 62 75 66 66 65 72 2c 20 72 reaches.the.end.of.the.buffer,.r
17fc0 65 74 75 72 6e 20 74 68 61 74 20 70 6f 73 69 74 69 6f 6e 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 eturn.that.position...This.funct
17fe0 69 6f 6e 20 69 67 6e 6f 72 65 73 20 74 65 78 74 20 64 69 73 70 6c 61 79 20 64 69 72 65 63 74 69 ion.ignores.text.display.directi
18000 6f 6e 61 6c 69 74 79 3b 20 69 74 20 72 65 74 75 72 6e 73 20 74 68 65 0a 70 6f 73 69 74 69 6f 6e onality;.it.returns.the.position
18020 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 63 68 61 72 61 63 74 65 72 20 69 6e 20 6c 6f 67 69 63 .of.the.first.character.in.logic
18040 61 6c 20 6f 72 64 65 72 2c 20 69 2e 65 2e 20 74 68 65 20 73 6d 61 6c 6c 65 73 74 0a 63 68 61 72 al.order,.i.e..the.smallest.char
18060 61 63 74 65 72 20 70 6f 73 69 74 69 6f 6e 20 6f 6e 20 74 68 65 20 6c 6f 67 69 63 61 6c 20 6c 69 acter.position.on.the.logical.li
18080 6e 65 2e 20 20 53 65 65 20 60 76 65 72 74 69 63 61 6c 2d 6d 6f 74 69 6f 6e 27 20 66 6f 72 0a 6d ne...See.`vertical-motion'.for.m
180a0 6f 76 65 6d 65 6e 74 20 62 79 20 73 63 72 65 65 6e 20 6c 69 6e 65 73 2e 0a 0a 54 68 69 73 20 66 ovement.by.screen.lines...This.f
180c0 75 6e 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 6d 6f 76 65 20 70 6f 69 6e 74 2e 20 20 41 6c unction.does.not.move.point...Al
180e0 73 6f 20 73 65 65 20 60 6c 69 6e 65 2d 62 65 67 69 6e 6e 69 6e 67 2d 70 6f 73 69 74 69 6f 6e 27 so.see.`line-beginning-position'
18100 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 ."...(declare.(side-effect-free.
18120 74 29 29 0a 20 20 28 6c 65 74 20 28 28 69 6e 68 69 62 69 74 2d 66 69 65 6c 64 2d 74 65 78 74 2d t))...(let.((inhibit-field-text-
18140 6d 6f 74 69 6f 6e 20 74 29 29 0a 20 20 20 20 28 6c 69 6e 65 2d 62 65 67 69 6e 6e 69 6e 67 2d 70 motion.t)).....(line-beginning-p
18160 6f 73 69 74 69 6f 6e 20 6e 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 70 6f 73 2d osition.n)))..(compat-defun.pos-
18180 65 6f 6c 20 28 26 6f 70 74 69 6f 6e 61 6c 20 6e 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 eol.(&optional.n).;;.<compat-tes
181a0 74 73 3a 70 6f 73 2d 62 6f 6c 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 70 6f 73 69 74 69 ts:pos-bol>..."Return.the.positi
181c0 6f 6e 20 6f 66 20 74 68 65 20 6c 61 73 74 20 63 68 61 72 61 63 74 65 72 20 6f 6e 20 74 68 65 20 on.of.the.last.character.on.the.
181e0 63 75 72 72 65 6e 74 20 6c 69 6e 65 2e 0a 57 69 74 68 20 61 72 67 75 6d 65 6e 74 20 4e 20 6e 6f current.line..With.argument.N.no
18200 74 20 6e 69 6c 20 6f 72 20 31 2c 20 6d 6f 76 65 20 66 6f 72 77 61 72 64 20 4e 20 2d 20 31 20 6c t.nil.or.1,.move.forward.N.-.1.l
18220 69 6e 65 73 20 66 69 72 73 74 2e 0a 49 66 20 73 63 61 6e 20 72 65 61 63 68 65 73 20 65 6e 64 20 ines.first..If.scan.reaches.end.
18240 6f 66 20 62 75 66 66 65 72 2c 20 72 65 74 75 72 6e 20 74 68 61 74 20 70 6f 73 69 74 69 6f 6e 2e of.buffer,.return.that.position.
18260 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 67 6e 6f 72 65 73 20 74 65 78 74 20 64 69 73 ..This.function.ignores.text.dis
18280 70 6c 61 79 20 64 69 72 65 63 74 69 6f 6e 61 6c 69 74 79 3b 20 69 74 20 72 65 74 75 72 6e 73 20 play.directionality;.it.returns.
182a0 74 68 65 0a 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 6c 61 73 74 20 63 68 61 72 61 63 74 the.position.of.the.last.charact
182c0 65 72 20 69 6e 20 6c 6f 67 69 63 61 6c 20 6f 72 64 65 72 2c 20 69 2e 65 2e 20 74 68 65 20 6c 61 er.in.logical.order,.i.e..the.la
182e0 72 67 65 73 74 0a 63 68 61 72 61 63 74 65 72 20 70 6f 73 69 74 69 6f 6e 20 6f 6e 20 74 68 65 20 rgest.character.position.on.the.
18300 6c 69 6e 65 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 20 6d 6f line...This.function.does.not.mo
18320 76 65 20 70 6f 69 6e 74 2e 20 20 41 6c 73 6f 20 73 65 65 20 60 6c 69 6e 65 2d 65 6e 64 2d 70 6f ve.point...Also.see.`line-end-po
18340 73 69 74 69 6f 6e 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 73 69 64 65 2d 65 66 66 65 63 sition'."...(declare.(side-effec
18360 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 65 74 20 28 28 69 6e 68 69 62 69 74 2d 66 69 65 6c t-free.t))...(let.((inhibit-fiel
18380 64 2d 74 65 78 74 2d 6d 6f 74 69 6f 6e 20 74 29 29 0a 20 20 20 20 28 6c 69 6e 65 2d 65 6e 64 2d d-text-motion.t)).....(line-end-
183a0 70 6f 73 69 74 69 6f 6e 20 6e 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 73 position.n)))..;;;;.Defined.in.s
183c0 75 62 72 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 6d 61 63 72 6f 20 77 69 74 68 2d 64 65 ubr.el..(compat-defmacro.with-de
183e0 6c 61 79 65 64 2d 6d 65 73 73 61 67 65 20 28 5f 61 72 67 73 20 26 72 65 73 74 20 62 6f 64 79 29 layed-message.(_args.&rest.body)
18400 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 77 69 74 68 2d 64 65 6c 61 79 65 64 2d 6d .;;.<compat-tests:with-delayed-m
18420 65 73 73 61 67 65 3e 0a 20 20 22 4c 69 6b 65 20 60 70 72 6f 67 6e 27 2c 20 62 75 74 20 64 69 73 essage>..."Like.`progn',.but.dis
18440 70 6c 61 79 20 4d 45 53 53 41 47 45 20 69 66 20 42 4f 44 59 20 74 61 6b 65 73 20 6c 6f 6e 67 65 play.MESSAGE.if.BODY.takes.longe
18460 72 20 74 68 61 6e 20 54 49 4d 45 4f 55 54 20 73 65 63 6f 6e 64 73 2e 0a 54 68 65 20 4d 45 53 53 r.than.TIMEOUT.seconds..The.MESS
18480 41 47 45 20 66 6f 72 6d 20 77 69 6c 6c 20 62 65 20 65 76 61 6c 75 61 74 65 64 20 69 6d 6d 65 64 AGE.form.will.be.evaluated.immed
184a0 69 61 74 65 6c 79 2c 20 62 75 74 20 74 68 65 20 72 65 73 75 6c 74 69 6e 67 0a 73 74 72 69 6e 67 iately,.but.the.resulting.string
184c0 20 77 69 6c 6c 20 62 65 20 64 69 73 70 6c 61 79 65 64 20 6f 6e 6c 79 20 69 66 20 42 4f 44 59 20 .will.be.displayed.only.if.BODY.
184e0 74 61 6b 65 73 20 6c 6f 6e 67 65 72 20 74 68 61 6e 20 54 49 4d 45 4f 55 54 20 73 65 63 6f 6e 64 takes.longer.than.TIMEOUT.second
18500 73 2e 0a 0a 4e 4f 54 45 3a 20 54 68 65 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 66 75 6e 63 s...NOTE:.The.compatibility.func
18520 74 69 6f 6e 20 6e 65 76 65 72 20 64 69 73 70 6c 61 79 73 20 74 68 65 20 6d 65 73 73 61 67 65 2c tion.never.displays.the.message,
18540 0a 77 68 69 63 68 20 69 73 20 6e 6f 74 20 70 72 6f 62 6c 65 6d 61 74 69 63 20 73 69 6e 63 65 20 .which.is.not.problematic.since.
18560 74 68 65 20 6f 6e 6c 79 20 65 66 66 65 63 74 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 the.only.effect.of.the.function.
18580 69 73 0a 74 6f 20 64 69 73 70 6c 61 79 20 61 20 70 72 6f 67 72 65 73 73 20 6d 65 73 73 61 67 65 is.to.display.a.progress.message
185a0 20 74 6f 20 74 68 65 20 75 73 65 72 2e 20 20 42 61 63 6b 70 6f 72 74 69 6e 67 20 74 68 69 73 0a .to.the.user...Backporting.this.
185c0 66 65 61 74 75 72 65 20 69 73 20 6e 6f 74 20 70 6f 73 73 69 62 6c 65 2c 20 73 69 6e 63 65 20 74 feature.is.not.possible,.since.t
185e0 68 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 69 73 20 64 69 72 65 63 74 6c 79 0a 62 61 he.implementation.is.directly.ba
18600 6b 65 64 20 69 6e 74 6f 20 74 68 65 20 45 6c 69 73 70 20 69 6e 74 65 72 70 72 65 74 65 72 2e 0a ked.into.the.Elisp.interpreter..
18620 0a 5c 28 66 6e 20 28 74 69 6d 65 6f 75 74 20 6d 65 73 73 61 67 65 29 20 26 72 65 73 74 20 62 6f .\(fn.(timeout.message).&rest.bo
18640 64 79 29 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 6d dy)"...(declare.(indent.1))...(m
18660 61 63 72 6f 65 78 70 2d 70 72 6f 67 6e 20 62 6f 64 79 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 acroexp-progn.body))..(compat-de
18680 66 75 6e 20 66 75 6e 63 61 6c 6c 2d 77 69 74 68 2d 64 65 6c 61 79 65 64 2d 6d 65 73 73 61 67 65 fun.funcall-with-delayed-message
186a0 20 28 74 69 6d 65 6f 75 74 20 6d 65 73 73 61 67 65 20 66 75 6e 63 74 69 6f 6e 29 20 3b 3b 20 3c .(timeout.message.function).;;.<
186c0 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 77 69 74 68 2d 64 65 6c 61 79 65 64 2d 6d 65 73 73 61 67 compat-tests:with-delayed-messag
186e0 65 3e 0a 20 20 22 4c 69 6b 65 20 60 66 75 6e 63 61 6c 6c 27 2c 20 62 75 74 20 64 69 73 70 6c 61 e>..."Like.`funcall',.but.displa
18700 79 20 4d 45 53 53 41 47 45 20 69 66 20 46 55 4e 43 54 49 4f 4e 20 74 61 6b 65 73 20 6c 6f 6e 67 y.MESSAGE.if.FUNCTION.takes.long
18720 65 72 20 74 68 61 6e 20 54 49 4d 45 4f 55 54 2e 0a 54 49 4d 45 4f 55 54 20 69 73 20 61 20 6e 75 er.than.TIMEOUT..TIMEOUT.is.a.nu
18740 6d 62 65 72 20 6f 66 20 73 65 63 6f 6e 64 73 2c 20 61 6e 64 20 63 61 6e 20 62 65 20 61 6e 20 69 mber.of.seconds,.and.can.be.an.i
18760 6e 74 65 67 65 72 20 6f 72 20 61 0a 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 nteger.or.a.floating.point.numbe
18780 72 2e 20 20 49 66 20 46 55 4e 43 54 49 4f 4e 20 74 61 6b 65 73 20 6c 65 73 73 20 74 69 6d 65 20 r...If.FUNCTION.takes.less.time.
187a0 74 6f 20 65 78 65 63 75 74 65 0a 74 68 61 6e 20 54 49 4d 45 4f 55 54 20 73 65 63 6f 6e 64 73 2c to.execute.than.TIMEOUT.seconds,
187c0 20 4d 45 53 53 41 47 45 20 69 73 20 6e 6f 74 20 64 69 73 70 6c 61 79 65 64 2e 0a 0a 4e 4f 54 45 .MESSAGE.is.not.displayed...NOTE
187e0 3a 20 54 68 65 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 20 6e 65 76 :.The.compatibility.function.nev
18800 65 72 20 64 69 73 70 6c 61 79 73 20 74 68 65 20 6d 65 73 73 61 67 65 2c 0a 77 68 69 63 68 20 69 er.displays.the.message,.which.i
18820 73 20 6e 6f 74 20 70 72 6f 62 6c 65 6d 61 74 69 63 20 73 69 6e 63 65 20 74 68 65 20 6f 6e 6c 79 s.not.problematic.since.the.only
18840 20 65 66 66 65 63 74 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 0a 74 6f 20 64 69 .effect.of.the.function.is.to.di
18860 73 70 6c 61 79 20 61 20 70 72 6f 67 72 65 73 73 20 6d 65 73 73 61 67 65 20 74 6f 20 74 68 65 20 splay.a.progress.message.to.the.
18880 75 73 65 72 2e 20 20 42 61 63 6b 70 6f 72 74 69 6e 67 20 74 68 69 73 0a 66 65 61 74 75 72 65 20 user...Backporting.this.feature.
188a0 69 73 20 6e 6f 74 20 70 6f 73 73 69 62 6c 65 2c 20 73 69 6e 63 65 20 74 68 65 20 69 6d 70 6c 65 is.not.possible,.since.the.imple
188c0 6d 65 6e 74 61 74 69 6f 6e 20 69 73 20 64 69 72 65 63 74 6c 79 0a 62 61 6b 65 64 20 69 6e 74 6f mentation.is.directly.baked.into
188e0 20 74 68 65 20 45 6c 69 73 70 20 69 6e 74 65 72 70 72 65 74 65 72 2e 22 0a 20 20 28 69 67 6e 6f .the.Elisp.interpreter."...(igno
18900 72 65 20 74 69 6d 65 6f 75 74 20 6d 65 73 73 61 67 65 29 0a 20 20 28 66 75 6e 63 61 6c 6c 20 66 re.timeout.message)...(funcall.f
18920 75 6e 63 74 69 6f 6e 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 73 74 72 69 6e 67 2d unction))..(compat-defun.string-
18940 6c 69 6e 65 73 20 28 73 74 72 69 6e 67 20 26 6f 70 74 69 6f 6e 61 6c 20 6f 6d 69 74 2d 6e 75 6c lines.(string.&optional.omit-nul
18960 6c 73 20 6b 65 65 70 2d 6e 65 77 6c 69 6e 65 73 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 ls.keep-newlines).;;.<compat-tes
18980 74 73 3a 73 74 72 69 6e 67 2d 6c 69 6e 65 73 3e 0a 20 20 22 48 61 6e 64 6c 65 20 61 64 64 69 74 ts:string-lines>..."Handle.addit
189a0 69 6f 6e 61 6c 20 4b 45 45 50 2d 4e 45 57 4c 49 4e 45 53 20 61 72 67 75 6d 65 6e 74 2e 22 0a 20 ional.KEEP-NEWLINES.argument."..
189c0 20 3a 65 78 74 65 6e 64 65 64 20 22 32 38 2e 31 22 0a 20 20 28 69 66 20 28 65 71 75 61 6c 20 73 .:extended."28.1"...(if.(equal.s
189e0 74 72 69 6e 67 20 22 22 29 0a 20 20 20 20 20 20 28 69 66 20 6f 6d 69 74 2d 6e 75 6c 6c 73 0a 20 tring."").......(if.omit-nulls..
18a00 20 20 20 20 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 22 22 29 29 0a .........nil.........(list."")).
18a20 20 20 20 20 28 6c 65 74 20 28 28 6c 69 6e 65 73 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 ....(let.((lines.nil)...........
18a40 28 73 74 61 72 74 20 30 29 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 73 74 61 72 74 (start.0)).......(while.(<.start
18a60 20 28 6c 65 6e 67 74 68 20 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 .(length.string)).........(let.(
18a80 28 6e 65 77 6c 69 6e 65 20 28 73 74 72 69 6e 67 2d 73 65 61 72 63 68 20 22 5c 6e 22 20 73 74 72 (newline.(string-search."\n".str
18aa0 69 6e 67 20 73 74 61 72 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 6e 65 77 6c 69 ing.start)))...........(if.newli
18ac0 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 ne...............(progn.........
18ae0 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6f 72 20 28 6e 6f 74 20 6f 6d 69 74 2d 6e 75 6c 6c ........(when.(or.(not.omit-null
18b00 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f s)...........................(no
18b20 74 20 28 3d 20 73 74 61 72 74 20 6e 65 77 6c 69 6e 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 t.(=.start.newline)))...........
18b40 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 69 6e 65 20 28 73 75 62 73 74 72 69 6e 67 20 73 ........(let.((line.(substring.s
18b60 74 72 69 6e 67 20 73 74 61 72 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tring.start.....................
18b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 6b 65 65 70 2d 6e 65 .....................(if.keep-ne
18ba0 77 6c 69 6e 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 wlines..........................
18bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 31 2b 20 6e 65 77 6c 69 6e 65 29 ....................(1+.newline)
18be0 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 20 20 ................................
18c00 20 20 20 20 20 20 20 20 20 20 20 20 6e 65 77 6c 69 6e 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 ............newline)))).........
18c20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6e 6f 74 20 28 61 6e 64 20 6b 65 65 70 ............(when.(not.(and.keep
18c40 2d 6e 65 77 6c 69 6e 65 73 20 6f 6d 69 74 2d 6e 75 6c 6c 73 0a 20 20 20 20 20 20 20 20 20 20 20 -newlines.omit-nulls............
18c60 20 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 71 75 61 6c 20 .........................(equal.
18c80 6c 69 6e 65 20 22 5c 6e 22 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 line."\n")))....................
18ca0 20 20 20 28 70 75 73 68 20 6c 69 6e 65 20 6c 69 6e 65 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 ...(push.line.lines)))).........
18cc0 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 74 61 72 74 20 28 31 2b 20 6e 65 77 6c 69 6e 65 29 ........(setq.start.(1+.newline)
18ce0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 73 74 61 72 74 29 )).............(if.(zerop.start)
18d00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 73 74 72 69 6e 67 20 6c 69 .................(push.string.li
18d20 6e 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 73 75 62 73 74 72 nes)...............(push.(substr
18d40 69 6e 67 20 73 74 72 69 6e 67 20 73 74 61 72 74 29 20 6c 69 6e 65 73 29 29 0a 20 20 20 20 20 20 ing.string.start).lines)).......
18d60 20 20 20 20 20 20 28 73 65 74 71 20 73 74 61 72 74 20 28 6c 65 6e 67 74 68 20 73 74 72 69 6e 67 ......(setq.start.(length.string
18d80 29 29 29 29 29 0a 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 6c 69 6e 65 73 29 29 29 29 0a ))))).......(nreverse.lines)))).
18da0 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 72 65 61 64 61 62 6c 65 70 20 28 6f 62 6a 65 63 74 .(compat-defun.readablep.(object
18dc0 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 72 65 61 64 61 62 6c 65 70 3e 0a 20 20 ).;;.<compat-tests:readablep>...
18de0 22 53 61 79 20 77 68 65 74 68 65 72 20 4f 42 4a 45 43 54 20 68 61 73 20 61 20 72 65 61 64 61 62 "Say.whether.OBJECT.has.a.readab
18e00 6c 65 20 73 79 6e 74 61 78 2e 0a 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 4f 42 4a 45 43 le.syntax..This.means.that.OBJEC
18e20 54 20 63 61 6e 20 62 65 20 70 72 69 6e 74 65 64 20 6f 75 74 20 61 6e 64 20 74 68 65 6e 20 72 65 T.can.be.printed.out.and.then.re
18e40 61 64 20 62 61 63 6b 0a 61 67 61 69 6e 20 62 79 20 74 68 65 20 4c 69 73 70 20 72 65 61 64 65 72 ad.back.again.by.the.Lisp.reader
18e60 2e 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 6e 69 6c 20 69 66 20 ...This.function.returns.nil.if.
18e80 4f 42 4a 45 43 54 20 69 73 0a 75 6e 72 65 61 64 61 62 6c 65 2c 20 61 6e 64 20 74 68 65 20 70 72 OBJECT.is.unreadable,.and.the.pr
18ea0 69 6e 74 65 64 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 28 66 72 6f 6d 20 60 70 72 69 6e inted.representation.(from.`prin
18ec0 31 27 29 20 6f 66 0a 4f 42 4a 45 43 54 20 69 66 20 69 74 20 69 73 20 72 65 61 64 61 62 6c 65 2e 1').of.OBJECT.if.it.is.readable.
18ee0 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 65 "...(declare.(side-effect-free.e
18f00 72 72 6f 72 2d 66 72 65 65 29 29 0a 20 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 20 28 65 71 rror-free))...(ignore-errors.(eq
18f20 75 61 6c 20 6f 62 6a 65 63 74 20 28 72 65 61 64 20 28 70 72 69 6e 31 2d 74 6f 2d 73 74 72 69 6e ual.object.(read.(prin1-to-strin
18f40 67 20 6f 62 6a 65 63 74 29 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 62 75 66 g.object)))))..(compat-defun.buf
18f60 66 65 72 2d 6c 6f 63 61 6c 2d 72 65 73 74 6f 72 65 2d 73 74 61 74 65 20 28 73 74 61 74 65 73 29 fer-local-restore-state.(states)
18f80 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 62 75 66 66 65 72 2d 6c 6f 63 61 6c 2d 73 .;;.<compat-tests:buffer-local-s
18fa0 65 74 2d 73 74 61 74 65 3e 0a 20 20 22 52 65 73 74 6f 72 65 20 76 61 6c 75 65 73 20 6f 66 20 62 et-state>..."Restore.values.of.b
18fc0 75 66 66 65 72 2d 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 20 72 65 63 6f 72 64 65 64 20 69 uffer-local.variables.recorded.i
18fe0 6e 20 53 54 41 54 45 53 2e 0a 53 54 41 54 45 53 20 73 68 6f 75 6c 64 20 62 65 20 61 6e 20 6f 62 n.STATES..STATES.should.be.an.ob
19000 6a 65 63 74 20 72 65 74 75 72 6e 65 64 20 62 79 20 60 62 75 66 66 65 72 2d 6c 6f 63 61 6c 2d 73 ject.returned.by.`buffer-local-s
19020 65 74 2d 73 74 61 74 65 27 2e 22 0a 20 20 28 64 6f 6c 69 73 74 20 28 73 74 61 74 65 20 73 74 61 et-state'."...(dolist.(state.sta
19040 74 65 73 29 0a 20 20 20 20 28 69 66 20 28 63 61 64 72 20 73 74 61 74 65 29 0a 20 20 20 20 20 20 tes).....(if.(cadr.state).......
19060 20 20 28 73 65 74 20 28 63 61 72 20 73 74 61 74 65 29 20 28 63 61 64 64 72 20 73 74 61 74 65 29 ..(set.(car.state).(caddr.state)
19080 29 0a 20 20 20 20 20 20 28 6b 69 6c 6c 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 20 28 63 61 ).......(kill-local-variable.(ca
190a0 72 20 73 74 61 74 65 29 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 62 75 66 66 r.state)))))..(compat-defun.buff
190c0 65 72 2d 6c 6f 63 61 6c 2d 73 65 74 2d 73 74 61 74 65 2d 2d 67 65 74 20 28 70 61 69 72 73 29 20 er-local-set-state--get.(pairs).
190e0 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 62 75 66 66 65 72 2d 6c 6f 63 61 6c 2d 73 65 ;;.<compat-tests:buffer-local-se
19100 74 2d 73 74 61 74 65 3e 0a 20 20 22 49 6e 74 65 72 6e 61 6c 20 68 65 6c 70 65 72 20 66 75 6e 63 t-state>..."Internal.helper.func
19120 74 69 6f 6e 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 74 61 74 65 73 20 6e 69 6c 29 29 0a 20 20 20 tion."...(let.((states.nil))....
19140 20 28 77 68 69 6c 65 20 70 61 69 72 73 0a 20 20 20 20 20 20 28 70 75 73 68 20 28 6c 69 73 74 20 .(while.pairs.......(push.(list.
19160 28 63 61 72 20 70 61 69 72 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 (car.pairs)...................(a
19180 6e 64 20 28 62 6f 75 6e 64 70 20 28 63 61 72 20 70 61 69 72 73 29 29 0a 20 20 20 20 20 20 20 20 nd.(boundp.(car.pairs)).........
191a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 2d 70 ...............(local-variable-p
191c0 20 28 63 61 72 20 70 61 69 72 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(car.pairs)))..................
191e0 20 28 61 6e 64 20 28 62 6f 75 6e 64 70 20 28 63 61 72 20 70 61 69 72 73 29 29 0a 20 20 20 20 20 .(and.(boundp.(car.pairs))......
19200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6d 62 6f 6c 2d 76 61 6c 75 65 20 ..................(symbol-value.
19220 28 63 61 72 20 70 61 69 72 73 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 61 74 65 (car.pairs)))).............state
19240 73 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 70 61 69 72 73 20 28 63 64 64 72 20 70 61 69 72 73 s).......(setq.pairs.(cddr.pairs
19260 29 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 73 74 61 74 65 73 29 29 29 0a 0a 28 63 6f ))).....(nreverse.states)))..(co
19280 6d 70 61 74 2d 64 65 66 6d 61 63 72 6f 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 2d 73 65 74 2d 73 mpat-defmacro.buffer-local-set-s
192a0 74 61 74 65 20 28 26 72 65 73 74 20 70 61 69 72 73 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 tate.(&rest.pairs).;;.<compat-te
192c0 73 74 73 3a 62 75 66 66 65 72 2d 6c 6f 63 61 6c 2d 73 65 74 2d 73 74 61 74 65 3e 0a 20 20 22 4c sts:buffer-local-set-state>..."L
192e0 69 6b 65 20 60 73 65 74 71 2d 6c 6f 63 61 6c 27 2c 20 62 75 74 20 61 6c 6c 6f 77 20 72 65 73 74 ike.`setq-local',.but.allow.rest
19300 6f 72 69 6e 67 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 73 74 61 74 65 20 6f 66 20 6c 6f 63 61 oring.the.previous.state.of.loca
19320 6c 73 20 6c 61 74 65 72 2e 0a 54 68 69 73 20 6d 61 63 72 6f 20 72 65 74 75 72 6e 73 20 61 6e 20 ls.later..This.macro.returns.an.
19340 6f 62 6a 65 63 74 20 74 68 61 74 20 63 61 6e 20 62 65 20 70 61 73 73 65 64 20 74 6f 20 60 62 75 object.that.can.be.passed.to.`bu
19360 66 66 65 72 2d 6c 6f 63 61 6c 2d 72 65 73 74 6f 72 65 2d 73 74 61 74 65 27 0a 69 6e 20 6f 72 64 ffer-local-restore-state'.in.ord
19380 65 72 20 74 6f 20 72 65 73 74 6f 72 65 20 74 68 65 20 73 74 61 74 65 20 6f 66 20 74 68 65 20 6c er.to.restore.the.state.of.the.l
193a0 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 20 73 65 74 20 76 69 61 20 74 68 69 73 20 6d 61 63 72 ocal.variables.set.via.this.macr
193c0 6f 2e 0a 0a 5c 28 66 6e 20 5b 56 41 52 49 41 42 4c 45 20 56 41 4c 55 45 5d 2e 2e 2e 29 22 0a 20 o...\(fn.[VARIABLE.VALUE]...)"..
193e0 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 73 65 74 71 29 29 0a 20 20 28 75 6e 6c 65 73 .(declare.(debug.setq))...(unles
19400 73 20 28 7a 65 72 6f 70 20 28 6d 6f 64 20 28 6c 65 6e 67 74 68 20 70 61 69 72 73 29 20 32 29 29 s.(zerop.(mod.(length.pairs).2))
19420 0a 20 20 20 20 28 65 72 72 6f 72 20 22 50 41 49 52 53 20 6d 75 73 74 20 68 61 76 65 20 61 6e 20 .....(error."PAIRS.must.have.an.
19440 65 76 65 6e 20 6e 75 6d 62 65 72 20 6f 66 20 76 61 72 69 61 62 6c 65 2f 76 61 6c 75 65 20 6d 65 even.number.of.variable/value.me
19460 6d 62 65 72 73 22 29 29 0a 20 20 60 28 70 72 6f 67 31 0a 20 20 20 20 20 20 20 28 62 75 66 66 65 mbers"))...`(prog1........(buffe
19480 72 2d 6c 6f 63 61 6c 2d 73 65 74 2d 73 74 61 74 65 2d 2d 67 65 74 20 27 2c 70 61 69 72 73 29 0a r-local-set-state--get.',pairs).
194a0 20 20 20 20 20 28 2c 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 63 6f 6d 70 61 74 2d 2d 73 65 74 .....(,(if.(fboundp.'compat--set
194c0 71 2d 6c 6f 63 61 6c 29 20 27 63 6f 6d 70 61 74 2d 2d 73 65 74 71 2d 6c 6f 63 61 6c 20 27 73 65 q-local).'compat--setq-local.'se
194e0 74 71 2d 6c 6f 63 61 6c 29 0a 20 20 20 20 20 20 2c 40 70 61 69 72 73 29 29 29 0a 0a 28 63 6f 6d tq-local).......,@pairs)))..(com
19500 70 61 74 2d 64 65 66 75 6e 20 6c 69 73 74 2d 6f 66 2d 73 74 72 69 6e 67 73 2d 70 20 28 6f 62 6a pat-defun.list-of-strings-p.(obj
19520 65 63 74 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 6c 69 73 74 2d 6f 66 2d 73 74 ect).;;.<compat-tests:list-of-st
19540 72 69 6e 67 73 2d 70 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 20 4f 42 4a 45 43 54 20 69 rings-p>..."Return.t.if.OBJECT.i
19560 73 20 6e 69 6c 20 6f 72 20 61 20 6c 69 73 74 20 6f 66 20 73 74 72 69 6e 67 73 2e 22 0a 20 20 28 s.nil.or.a.list.of.strings."...(
19580 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 declare.(pure.t).(side-effect-fr
195a0 65 65 20 74 29 29 0a 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 28 63 6f 6e 73 70 20 6f 62 6a 65 ee.t))...(while.(and.(consp.obje
195c0 63 74 29 20 28 73 74 72 69 6e 67 70 20 28 63 61 72 20 6f 62 6a 65 63 74 29 29 29 0a 20 20 20 20 ct).(stringp.(car.object))).....
195e0 28 73 65 74 71 20 6f 62 6a 65 63 74 20 28 63 64 72 20 6f 62 6a 65 63 74 29 29 29 0a 20 20 28 6e (setq.object.(cdr.object)))...(n
19600 75 6c 6c 20 6f 62 6a 65 63 74 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 70 6c 69 73 ull.object))..(compat-defun.plis
19620 74 70 20 28 6f 62 6a 65 63 74 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 70 6c 69 tp.(object).;;.<compat-tests:pli
19640 73 74 70 3e 0a 20 20 22 4e 6f 6e 2d 6e 69 6c 20 69 66 20 61 6e 64 20 6f 6e 6c 79 20 69 66 20 4f stp>..."Non-nil.if.and.only.if.O
19660 42 4a 45 43 54 20 69 73 20 61 20 76 61 6c 69 64 20 70 6c 69 73 74 2e 22 0a 20 20 28 6c 65 74 20 BJECT.is.a.valid.plist."...(let.
19680 28 28 6c 65 6e 20 28 70 72 6f 70 65 72 2d 6c 69 73 74 2d 70 20 6f 62 6a 65 63 74 29 29 29 0a 20 ((len.(proper-list-p.object)))..
196a0 20 20 20 28 61 6e 64 20 6c 65 6e 20 28 7a 65 72 6f 70 20 28 25 20 6c 65 6e 20 32 29 29 29 29 29 ...(and.len.(zerop.(%.len.2)))))
196c0 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 64 65 6c 65 74 65 2d 6c 69 6e 65 20 28 29 20 3b ..(compat-defun.delete-line.().;
196e0 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 64 65 6c 65 74 65 2d 6c 69 6e 65 3e 0a 20 20 22 ;.<compat-tests:delete-line>..."
19700 44 65 6c 65 74 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 69 6e 65 2e 22 0a 20 20 28 64 65 6c Delete.the.current.line."...(del
19720 65 74 65 2d 72 65 67 69 6f 6e 20 28 70 6f 73 2d 62 6f 6c 29 20 28 70 6f 73 2d 62 6f 6c 20 32 29 ete-region.(pos-bol).(pos-bol.2)
19740 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 6d 61 63 72 6f 20 77 69 74 68 2d 72 65 73 74 72 69 ))..(compat-defmacro.with-restri
19760 63 74 69 6f 6e 20 28 73 74 61 72 74 20 65 6e 64 20 26 72 65 73 74 20 72 65 73 74 29 20 3b 3b 20 ction.(start.end.&rest.rest).;;.
19780 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 77 69 74 68 2d 72 65 73 74 72 69 63 74 69 6f 6e 3e 0a <compat-tests:with-restriction>.
197a0 20 20 22 45 78 65 63 75 74 65 20 42 4f 44 59 20 77 69 74 68 20 72 65 73 74 72 69 63 74 69 6f 6e .."Execute.BODY.with.restriction
197c0 73 20 73 65 74 20 74 6f 20 53 54 41 52 54 20 61 6e 64 20 45 4e 44 2e 0a 0a 54 68 65 20 63 75 72 s.set.to.START.and.END...The.cur
197e0 72 65 6e 74 20 72 65 73 74 72 69 63 74 69 6f 6e 73 2c 20 69 66 20 61 6e 79 2c 20 61 72 65 20 72 rent.restrictions,.if.any,.are.r
19800 65 73 74 6f 72 65 64 20 75 70 6f 6e 20 72 65 74 75 72 6e 2e 0a 0a 57 68 65 6e 20 74 68 65 20 6f estored.upon.return...When.the.o
19820 70 74 69 6f 6e 61 6c 20 3a 6c 61 62 65 6c 20 4c 41 42 45 4c 20 61 72 67 75 6d 65 6e 74 20 69 73 ptional.:label.LABEL.argument.is
19840 20 70 72 65 73 65 6e 74 2c 20 69 6e 20 77 68 69 63 68 0a 4c 41 42 45 4c 20 69 73 20 61 20 73 79 .present,.in.which.LABEL.is.a.sy
19860 6d 62 6f 6c 2c 20 69 6e 73 69 64 65 20 42 4f 44 59 2c 20 60 6e 61 72 72 6f 77 2d 74 6f 2d 72 65 mbol,.inside.BODY,.`narrow-to-re
19880 67 69 6f 6e 27 20 61 6e 64 20 60 77 69 64 65 6e 27 0a 63 61 6e 20 62 65 20 75 73 65 64 20 6f 6e gion'.and.`widen'.can.be.used.on
198a0 6c 79 20 77 69 74 68 69 6e 20 74 68 65 20 53 54 41 52 54 20 61 6e 64 20 45 4e 44 20 6c 69 6d 69 ly.within.the.START.and.END.limi
198c0 74 73 2e 20 20 54 6f 20 67 61 69 6e 20 61 63 63 65 73 73 0a 74 6f 20 6f 74 68 65 72 20 70 6f 72 ts...To.gain.access.to.other.por
198e0 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 62 75 66 66 65 72 2c 20 75 73 65 20 60 77 69 74 68 6f 75 tions.of.the.buffer,.use.`withou
19900 74 2d 72 65 73 74 72 69 63 74 69 6f 6e 27 20 77 69 74 68 20 74 68 65 0a 73 61 6d 65 20 4c 41 42 t-restriction'.with.the.same.LAB
19920 45 4c 20 61 72 67 75 6d 65 6e 74 2e 0a 0a 5c 28 66 6e 20 53 54 41 52 54 20 45 4e 44 20 5b 3a 6c EL.argument...\(fn.START.END.[:l
19940 61 62 65 6c 20 4c 41 42 45 4c 5d 20 42 4f 44 59 29 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 abel.LABEL].BODY)"...(declare.(i
19960 6e 64 65 6e 74 20 30 29 20 28 64 65 62 75 67 20 74 29 29 0a 20 20 60 28 73 61 76 65 2d 72 65 73 ndent.0).(debug.t))...`(save-res
19980 74 72 69 63 74 69 6f 6e 0a 20 20 20 20 20 28 6e 61 72 72 6f 77 2d 74 6f 2d 72 65 67 69 6f 6e 20 triction......(narrow-to-region.
199a0 2c 73 74 61 72 74 20 2c 65 6e 64 29 0a 20 20 20 20 20 3b 3b 20 4c 6f 63 6b 69 6e 67 20 69 73 20 ,start.,end)......;;.Locking.is.
199c0 69 67 6e 6f 72 65 64 0a 20 20 20 20 20 2c 40 28 69 66 20 28 65 71 20 28 63 61 72 20 72 65 73 74 ignored......,@(if.(eq.(car.rest
199e0 29 20 3a 6c 61 62 65 6c 29 20 28 63 64 64 72 20 72 65 73 74 29 20 72 65 73 74 29 29 29 0a 0a 28 ).:label).(cddr.rest).rest)))..(
19a00 63 6f 6d 70 61 74 2d 64 65 66 6d 61 63 72 6f 20 77 69 74 68 6f 75 74 2d 72 65 73 74 72 69 63 74 compat-defmacro.without-restrict
19a20 69 6f 6e 20 28 26 72 65 73 74 20 72 65 73 74 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 ion.(&rest.rest).;;.<compat-test
19a40 73 3a 77 69 74 68 6f 75 74 2d 72 65 73 74 72 69 63 74 69 6f 6e 3e 0a 20 20 22 45 78 65 63 75 74 s:without-restriction>..."Execut
19a60 65 20 42 4f 44 59 20 77 69 74 68 6f 75 74 20 72 65 73 74 72 69 63 74 69 6f 6e 73 2e 0a 0a 54 68 e.BODY.without.restrictions...Th
19a80 65 20 63 75 72 72 65 6e 74 20 72 65 73 74 72 69 63 74 69 6f 6e 73 2c 20 69 66 20 61 6e 79 2c 20 e.current.restrictions,.if.any,.
19aa0 61 72 65 20 72 65 73 74 6f 72 65 64 20 75 70 6f 6e 20 72 65 74 75 72 6e 2e 0a 0a 57 68 65 6e 20 are.restored.upon.return...When.
19ac0 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 3a 6c 61 62 65 6c 20 4c 41 42 45 4c 20 61 72 67 75 6d 65 the.optional.:label.LABEL.argume
19ae0 6e 74 20 69 73 20 70 72 65 73 65 6e 74 2c 20 74 68 65 0a 72 65 73 74 72 69 63 74 69 6f 6e 73 20 nt.is.present,.the.restrictions.
19b00 73 65 74 20 62 79 20 60 77 69 74 68 2d 72 65 73 74 72 69 63 74 69 6f 6e 27 20 77 69 74 68 20 74 set.by.`with-restriction'.with.t
19b20 68 65 20 73 61 6d 65 20 4c 41 42 45 4c 20 61 72 67 75 6d 65 6e 74 0a 61 72 65 20 6c 69 66 74 65 he.same.LABEL.argument.are.lifte
19b40 64 2e 0a 0a 5c 28 66 6e 20 5b 3a 6c 61 62 65 6c 20 4c 41 42 45 4c 5d 20 42 4f 44 59 29 22 0a 20 d...\(fn.[:label.LABEL].BODY)"..
19b60 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 30 29 20 28 64 65 62 75 67 20 74 29 29 0a .(declare.(indent.0).(debug.t)).
19b80 20 20 60 28 73 61 76 65 2d 72 65 73 74 72 69 63 74 69 6f 6e 0a 20 20 20 20 20 28 77 69 64 65 6e ..`(save-restriction......(widen
19ba0 29 0a 20 20 20 20 20 3b 3b 20 4c 6f 63 6b 69 6e 67 20 69 73 20 69 67 6e 6f 72 65 64 0a 20 20 20 )......;;.Locking.is.ignored....
19bc0 20 20 2c 40 28 69 66 20 28 65 71 20 28 63 61 72 20 72 65 73 74 29 20 3a 6c 61 62 65 6c 29 20 28 ..,@(if.(eq.(car.rest).:label).(
19be0 63 64 64 72 20 72 65 73 74 29 20 72 65 73 74 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 6d cddr.rest).rest)))..(compat-defm
19c00 61 63 72 6f 20 77 69 74 68 2d 6d 65 6d 6f 69 7a 61 74 69 6f 6e 20 28 70 6c 61 63 65 20 26 72 65 acro.with-memoization.(place.&re
19c20 73 74 20 63 6f 64 65 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 77 69 74 68 2d 6d st.code).;;.<compat-tests:with-m
19c40 65 6d 6f 69 7a 61 74 69 6f 6e 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 76 61 6c 75 65 20 emoization>..."Return.the.value.
19c60 6f 66 20 43 4f 44 45 20 61 6e 64 20 73 74 61 73 68 20 69 74 20 69 6e 20 50 4c 41 43 45 2e 0a 49 of.CODE.and.stash.it.in.PLACE..I
19c80 66 20 50 4c 41 43 45 27 73 20 76 61 6c 75 65 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 65 6e f.PLACE's.value.is.non-nil,.then
19ca0 20 64 6f 6e 27 74 20 62 6f 74 68 65 72 20 65 76 61 6c 75 61 74 69 6e 67 20 43 4f 44 45 0a 61 6e .don't.bother.evaluating.CODE.an
19cc0 64 20 72 65 74 75 72 6e 20 74 68 65 20 76 61 6c 75 65 20 66 6f 75 6e 64 20 69 6e 20 50 4c 41 43 d.return.the.value.found.in.PLAC
19ce0 45 20 69 6e 73 74 65 61 64 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31 E.instead."...(declare.(indent.1
19d00 29 29 0a 20 20 28 67 76 2d 6c 65 74 70 6c 61 63 65 20 28 67 65 74 74 65 72 20 73 65 74 74 65 72 ))...(gv-letplace.(getter.setter
19d20 29 20 70 6c 61 63 65 0a 20 20 20 20 60 28 6f 72 20 2c 67 65 74 74 65 72 0a 20 20 20 20 20 20 20 ).place.....`(or.,getter........
19d40 20 20 2c 28 6d 61 63 72 6f 65 78 70 2d 6c 65 74 32 20 6e 69 6c 20 76 61 6c 20 28 6d 61 63 72 6f ..,(macroexp-let2.nil.val.(macro
19d60 65 78 70 2d 70 72 6f 67 6e 20 63 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 60 28 70 72 exp-progn.code).............`(pr
19d80 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 66 75 6e 63 61 6c 6c 20 73 65 74 ogn................,(funcall.set
19da0 74 65 72 20 76 61 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 76 61 6c 29 29 29 29 ter.val)................,val))))
19dc0 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 61 6c 69 61 73 20 73 74 72 69 6e 67 2d 73 70 6c 69 74 )..(compat-defalias.string-split
19de0 20 73 70 6c 69 74 2d 73 74 72 69 6e 67 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a .split-string).;;.<compat-tests:
19e00 73 74 72 69 6e 67 2d 73 70 6c 69 74 3e 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 63 6f 6d string-split>..(compat-defun.com
19e20 70 69 6c 65 64 2d 66 75 6e 63 74 69 6f 6e 2d 70 20 28 6f 62 6a 65 63 74 29 20 3b 3b 20 3c 63 6f piled-function-p.(object).;;.<co
19e40 6d 70 61 74 2d 74 65 73 74 73 3a 63 6f 6d 70 69 6c 65 64 2d 66 75 6e 63 74 69 6f 6e 2d 70 3e 0a mpat-tests:compiled-function-p>.
19e60 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 4f 42 4a 45 43 54 20 69 73 20 61 .."Return.non-nil.if.OBJECT.is.a
19e80 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 68 61 73 20 62 65 65 6e 20 63 6f 6d 70 69 6c 65 64 .function.that.has.been.compiled
19ea0 2e 0a 44 6f 65 73 20 6e 6f 74 20 64 69 73 74 69 6e 67 75 69 73 68 20 62 65 74 77 65 65 6e 20 66 ..Does.not.distinguish.between.f
19ec0 75 6e 63 74 69 6f 6e 73 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 69 6e 20 6d 61 63 68 69 6e 65 20 unctions.implemented.in.machine.
19ee0 63 6f 64 65 0a 6f 72 20 62 79 74 65 2d 63 6f 64 65 2e 22 0a 20 20 28 6f 72 20 28 73 75 62 72 70 code.or.byte-code."...(or.(subrp
19f00 20 6f 62 6a 65 63 74 29 20 28 62 79 74 65 2d 63 6f 64 65 2d 66 75 6e 63 74 69 6f 6e 2d 70 20 6f .object).(byte-code-function-p.o
19f20 62 6a 65 63 74 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 66 75 6e 63 74 69 6f 6e bject)))..(compat-defun.function
19f40 2d 61 6c 69 61 73 2d 70 20 28 66 75 6e 63 20 26 6f 70 74 69 6f 6e 61 6c 20 6e 6f 65 72 72 6f 72 -alias-p.(func.&optional.noerror
19f60 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 ).;;.<compat-tests:function-alia
19f80 73 2d 70 3e 0a 20 20 22 52 65 74 75 72 6e 20 6e 69 6c 20 69 66 20 46 55 4e 43 20 69 73 20 6e 6f s-p>..."Return.nil.if.FUNC.is.no
19fa0 74 20 61 20 66 75 6e 63 74 69 6f 6e 20 61 6c 69 61 73 2e 0a 49 66 20 46 55 4e 43 20 69 73 20 61 t.a.function.alias..If.FUNC.is.a
19fc0 20 66 75 6e 63 74 69 6f 6e 20 61 6c 69 61 73 2c 20 72 65 74 75 72 6e 20 74 68 65 20 66 75 6e 63 .function.alias,.return.the.func
19fe0 74 69 6f 6e 20 61 6c 69 61 73 20 63 68 61 69 6e 2e 0a 0a 49 66 20 74 68 65 20 66 75 6e 63 74 69 tion.alias.chain...If.the.functi
1a000 6f 6e 20 61 6c 69 61 73 20 63 68 61 69 6e 20 63 6f 6e 74 61 69 6e 73 20 6c 6f 6f 70 73 2c 20 61 on.alias.chain.contains.loops,.a
1a020 6e 20 65 72 72 6f 72 20 77 69 6c 6c 20 62 65 0a 73 69 67 6e 61 6c 6c 65 64 2e 20 20 49 66 20 4e n.error.will.be.signalled...If.N
1a040 4f 45 52 52 4f 52 2c 20 74 68 65 20 6e 6f 6e 2d 6c 6f 6f 70 20 70 61 72 74 73 20 6f 66 20 74 68 OERROR,.the.non-loop.parts.of.th
1a060 65 20 63 68 61 69 6e 20 69 73 20 72 65 74 75 72 6e 65 64 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 e.chain.is.returned."...(declare
1a080 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 28 6c 65 74 20 28 28 .(side-effect-free.t))...(let.((
1a0a0 63 68 61 69 6e 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 6f 72 69 67 2d 66 75 6e 63 20 66 75 chain.nil).........(orig-func.fu
1a0c0 6e 63 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 0a 20 20 20 20 20 28 63 61 74 63 68 20 27 nc)).....(nreverse......(catch.'
1a0e0 6c 6f 6f 70 0a 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 28 73 79 6d 62 6f 6c 70 loop........(while.(and.(symbolp
1a100 20 66 75 6e 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 .func)....................(setq.
1a120 66 75 6e 63 20 28 73 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f 6e 20 66 75 6e 63 29 29 0a 20 20 20 func.(symbol-function.func))....
1a140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 79 6d 62 6f 6c 70 20 66 75 6e 63 29 29 0a ................(symbolp.func)).
1a160 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6f 72 20 28 6d 65 6d 71 20 66 75 6e 63 20 63 68 .........(when.(or.(memq.func.ch
1a180 61 69 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 66 75 6e 63 ain)....................(eq.func
1a1a0 20 6f 72 69 67 2d 66 75 6e 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 6e 6f 65 72 .orig-func))............(if.noer
1a1c0 72 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 68 72 6f 77 20 27 6c 6f 6f 70 20 ror................(throw.'loop.
1a1e0 63 68 61 69 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 69 67 6e 61 6c 20 27 63 79 63 chain)..............(signal.'cyc
1a200 6c 69 63 2d 66 75 6e 63 74 69 6f 6e 2d 69 6e 64 69 72 65 63 74 69 6f 6e 20 28 6c 69 73 74 20 6f lic-function-indirection.(list.o
1a220 72 69 67 2d 66 75 6e 63 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 66 75 6e 63 rig-func))))..........(push.func
1a240 20 63 68 61 69 6e 29 29 0a 20 20 20 20 20 20 20 63 68 61 69 6e 29 29 29 29 0a 0a 28 63 6f 6d 70 .chain))........chain))))..(comp
1a260 61 74 2d 64 65 66 75 6e 20 62 75 66 66 65 72 2d 6d 61 74 63 68 2d 70 20 28 63 6f 6e 64 69 74 69 at-defun.buffer-match-p.(conditi
1a280 6f 6e 20 62 75 66 66 65 72 2d 6f 72 2d 6e 61 6d 65 20 26 6f 70 74 69 6f 6e 61 6c 20 61 72 67 29 on.buffer-or-name.&optional.arg)
1a2a0 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 62 75 66 66 65 72 2d 6d 61 74 63 68 2d 70 .;;.<compat-tests:buffer-match-p
1a2c0 3e 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 42 55 46 46 45 52 2d 4f 52 >..."Return.non-nil.if.BUFFER-OR
1a2e0 2d 4e 41 4d 45 20 6d 61 74 63 68 65 73 20 43 4f 4e 44 49 54 49 4f 4e 2e 0a 43 4f 4e 44 49 54 49 -NAME.matches.CONDITION..CONDITI
1a300 4f 4e 20 69 73 20 65 69 74 68 65 72 3a 0a 2d 20 74 68 65 20 73 79 6d 62 6f 6c 20 74 2c 20 74 6f ON.is.either:.-.the.symbol.t,.to
1a320 20 61 6c 77 61 79 73 20 6d 61 74 63 68 2c 0a 2d 20 74 68 65 20 73 79 6d 62 6f 6c 20 6e 69 6c 2c .always.match,.-.the.symbol.nil,
1a340 20 77 68 69 63 68 20 6e 65 76 65 72 20 6d 61 74 63 68 65 73 2c 0a 2d 20 61 20 72 65 67 75 6c 61 .which.never.matches,.-.a.regula
1a360 72 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 74 6f 20 6d 61 74 63 68 20 61 20 62 75 66 66 65 72 20 r.expression,.to.match.a.buffer.
1a380 6e 61 6d 65 2c 0a 2d 20 61 20 70 72 65 64 69 63 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 name,.-.a.predicate.function.tha
1a3a0 74 20 74 61 6b 65 73 20 61 20 62 75 66 66 65 72 20 6f 62 6a 65 63 74 20 61 6e 64 20 41 52 47 20 t.takes.a.buffer.object.and.ARG.
1a3c0 61 73 0a 20 20 61 72 67 75 6d 65 6e 74 73 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d as...arguments,.and.returns.non-
1a3e0 6e 69 6c 20 69 66 20 74 68 65 20 62 75 66 66 65 72 20 6d 61 74 63 68 65 73 2c 0a 2d 20 61 20 63 nil.if.the.buffer.matches,.-.a.c
1a400 6f 6e 73 2d 63 65 6c 6c 2c 20 77 68 65 72 65 20 74 68 65 20 63 61 72 20 64 65 73 63 72 69 62 65 ons-cell,.where.the.car.describe
1a420 73 20 68 6f 77 20 74 6f 20 69 6e 74 65 72 70 72 65 74 20 74 68 65 20 63 64 72 2e 0a 20 20 54 68 s.how.to.interpret.the.cdr....Th
1a440 65 20 63 61 72 20 63 61 6e 20 62 65 20 6f 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e e.car.can.be.one.of.the.followin
1a460 67 3a 0a 20 20 2a 20 60 64 65 72 69 76 65 64 2d 6d 6f 64 65 27 3a 20 74 68 65 20 62 75 66 66 65 g:...*.`derived-mode':.the.buffe
1a480 72 20 6d 61 74 63 68 65 73 20 69 66 20 74 68 65 20 62 75 66 66 65 72 27 73 20 6d 61 6a 6f 72 20 r.matches.if.the.buffer's.major.
1a4a0 6d 6f 64 65 0a 20 20 20 20 69 73 20 64 65 72 69 76 65 64 20 66 72 6f 6d 20 74 68 65 20 6d 61 6a mode.....is.derived.from.the.maj
1a4c0 6f 72 20 6d 6f 64 65 20 69 6e 20 74 68 65 20 63 6f 6e 73 2d 63 65 6c 6c 27 73 20 63 64 72 2e 0a or.mode.in.the.cons-cell's.cdr..
1a4e0 20 20 2a 20 60 6d 61 6a 6f 72 2d 6d 6f 64 65 27 3a 20 74 68 65 20 62 75 66 66 65 72 20 6d 61 74 ..*.`major-mode':.the.buffer.mat
1a500 63 68 65 73 20 69 66 20 74 68 65 20 62 75 66 66 65 72 27 73 20 6d 61 6a 6f 72 20 6d 6f 64 65 0a ches.if.the.buffer's.major.mode.
1a520 20 20 20 20 69 73 20 65 71 20 74 6f 20 74 68 65 20 63 6f 6e 73 2d 63 65 6c 6c 27 73 20 63 64 72 ....is.eq.to.the.cons-cell's.cdr
1a540 2e 20 20 50 72 65 66 65 72 20 75 73 69 6e 67 20 60 64 65 72 69 76 65 64 2d 6d 6f 64 65 27 0a 20 ...Prefer.using.`derived-mode'..
1a560 20 20 20 69 6e 73 74 65 61 64 20 77 68 65 6e 20 62 6f 74 68 20 63 61 6e 20 77 6f 72 6b 2e 0a 20 ...instead.when.both.can.work...
1a580 20 2a 20 60 6e 6f 74 27 3a 20 74 68 65 20 63 61 64 72 20 69 73 20 69 6e 74 65 72 70 72 65 74 65 .*.`not':.the.cadr.is.interprete
1a5a0 64 20 61 73 20 61 20 6e 65 67 61 74 69 6f 6e 20 6f 66 20 61 20 63 6f 6e 64 69 74 69 6f 6e 2e 0a d.as.a.negation.of.a.condition..
1a5c0 20 20 2a 20 60 61 6e 64 27 3a 20 74 68 65 20 63 64 72 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 ..*.`and':.the.cdr.is.a.list.of.
1a5e0 72 65 63 75 72 73 69 76 65 20 63 6f 6e 64 69 74 69 6f 6e 73 2c 20 74 68 61 74 20 61 6c 6c 20 68 recursive.conditions,.that.all.h
1a600 61 76 65 0a 20 20 20 20 74 6f 20 62 65 20 6d 65 74 2e 0a 20 20 2a 20 60 6f 72 27 3a 20 74 68 65 ave.....to.be.met....*.`or':.the
1a620 20 63 64 72 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 72 65 63 75 72 73 69 76 65 20 63 6f 6e 64 .cdr.is.a.list.of.recursive.cond
1a640 69 74 69 6f 6e 2c 20 6f 66 20 77 68 69 63 68 20 61 74 0a 20 20 20 20 6c 65 61 73 74 20 6f 6e 65 ition,.of.which.at.....least.one
1a660 20 68 61 73 20 74 6f 20 62 65 20 6d 65 74 2e 22 0a 20 20 28 6c 65 74 72 65 63 0a 20 20 20 20 20 .has.to.be.met."...(letrec......
1a680 20 28 28 62 75 66 66 65 72 20 28 67 65 74 2d 62 75 66 66 65 72 20 62 75 66 66 65 72 2d 6f 72 2d .((buffer.(get-buffer.buffer-or-
1a6a0 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 28 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 28 6c 61 name))........(match.........(la
1a6c0 6d 62 64 61 20 28 63 6f 6e 64 69 74 69 6f 6e 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 61 74 mbda.(conditions)...........(cat
1a6e0 63 68 20 27 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 63 ch.'match.............(dolist.(c
1a700 6f 6e 64 69 74 69 6f 6e 20 63 6f 6e 64 69 74 69 6f 6e 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 ondition.conditions)............
1a720 20 20 20 28 77 68 65 6e 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...(when.(cond..................
1a740 20 20 20 20 28 28 65 71 20 63 6f 6e 64 69 74 69 6f 6e 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 ....((eq.condition.t))..........
1a760 20 20 20 20 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 70 20 63 6f 6e 64 69 74 69 6f 6e 29 ............((stringp.condition)
1a780 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 6d .......................(string-m
1a7a0 61 74 63 68 2d 70 20 63 6f 6e 64 69 74 69 6f 6e 20 28 62 75 66 66 65 72 2d 6e 61 6d 65 20 62 75 atch-p.condition.(buffer-name.bu
1a7c0 66 66 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 66 ffer)))......................((f
1a7e0 75 6e 63 74 69 6f 6e 70 20 63 6f 6e 64 69 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 unctionp.condition).............
1a800 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 6e 69 6c 0a 20 20 ..........(condition-case.nil...
1a820 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 75 6e 63 61 6c 6c ........................(funcall
1a840 20 63 6f 6e 64 69 74 69 6f 6e 20 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .condition.buffer)..............
1a860 20 20 20 20 20 20 20 20 20 20 20 28 77 72 6f 6e 67 2d 6e 75 6d 62 65 72 2d 6f 66 2d 61 72 67 75 ...........(wrong-number-of-argu
1a880 6d 65 6e 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ments..........................(
1a8a0 66 75 6e 63 61 6c 6c 20 63 6f 6e 64 69 74 69 6f 6e 20 62 75 66 66 65 72 20 61 72 67 29 29 29 29 funcall.condition.buffer.arg))))
1a8c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 28 63 61 72 2d ......................((eq.(car-
1a8e0 73 61 66 65 20 63 6f 6e 64 69 74 69 6f 6e 29 20 27 6d 61 6a 6f 72 2d 6d 6f 64 65 29 0a 20 20 20 safe.condition).'major-mode)....
1a900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 0a 20 20 20 20 20 20 20 20 20 ...................(eq..........
1a920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 6c 6f 63 61 6c 2d 76 61 6c 75 ..............(buffer-local-valu
1a940 65 20 27 6d 61 6a 6f 72 2d 6d 6f 64 65 20 62 75 66 66 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 e.'major-mode.buffer)...........
1a960 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 64 72 20 63 6f 6e 64 69 74 69 6f 6e 29 29 29 0a 20 .............(cdr.condition)))..
1a980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 28 63 61 72 2d 73 61 ....................((eq.(car-sa
1a9a0 66 65 20 63 6f 6e 64 69 74 69 6f 6e 29 20 27 64 65 72 69 76 65 64 2d 6d 6f 64 65 29 0a 20 20 20 fe.condition).'derived-mode)....
1a9c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 76 69 64 65 64 2d 6d 6f 64 ...................(provided-mod
1a9e0 65 2d 64 65 72 69 76 65 64 2d 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e-derived-p.....................
1aa00 20 20 20 28 62 75 66 66 65 72 2d 6c 6f 63 61 6c 2d 76 61 6c 75 65 20 27 6d 61 6a 6f 72 2d 6d 6f ...(buffer-local-value.'major-mo
1aa20 64 65 20 62 75 66 66 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 de.buffer)......................
1aa40 20 20 28 63 64 72 20 63 6f 6e 64 69 74 69 6f 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..(cdr.condition))).............
1aa60 20 20 20 20 20 20 20 20 20 28 28 65 71 20 28 63 61 72 2d 73 61 66 65 20 63 6f 6e 64 69 74 69 6f .........((eq.(car-safe.conditio
1aa80 6e 29 20 27 6e 6f 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 28 n).'not).......................(
1aaa0 6e 6f 74 20 28 66 75 6e 63 61 6c 6c 20 6d 61 74 63 68 20 28 63 64 72 20 63 6f 6e 64 69 74 69 6f not.(funcall.match.(cdr.conditio
1aac0 6e 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 n))))......................((eq.
1aae0 28 63 61 72 2d 73 61 66 65 20 63 6f 6e 64 69 74 69 6f 6e 29 20 27 6f 72 29 0a 20 20 20 20 20 20 (car-safe.condition).'or).......
1ab00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 6d 61 74 63 68 20 28 ................(funcall.match.(
1ab20 63 64 72 20 63 6f 6e 64 69 74 69 6f 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 cdr.condition)))................
1ab40 20 20 20 20 20 20 28 28 65 71 20 28 63 61 72 2d 73 61 66 65 20 63 6f 6e 64 69 74 69 6f 6e 29 20 ......((eq.(car-safe.condition).
1ab60 27 61 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 74 'and).......................(cat
1ab80 63 68 20 27 66 61 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ch.'fail........................
1aba0 20 28 64 6f 6c 69 73 74 20 28 63 20 28 63 64 72 20 63 6f 6e 64 69 74 69 6f 6e 29 29 0a 20 20 20 .(dolist.(c.(cdr.condition))....
1abc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 .......................(unless.(
1abe0 66 75 6e 63 61 6c 6c 20 6d 61 74 63 68 20 28 6c 69 73 74 20 63 29 29 0a 20 20 20 20 20 20 20 20 funcall.match.(list.c)).........
1ac00 20 20 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 66 61 69 6c ....................(throw.'fail
1ac20 20 6e 69 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .nil))).........................
1ac40 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 68 72 6f 77 20 27 6d 61 74 t))).................(throw.'mat
1ac60 63 68 20 74 29 29 29 29 29 29 29 0a 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 6d 61 74 63 68 20 28 ch.t))))))).....(funcall.match.(
1ac80 6c 69 73 74 20 63 6f 6e 64 69 74 69 6f 6e 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 list.condition))))..(compat-defu
1aca0 6e 20 6d 61 74 63 68 2d 62 75 66 66 65 72 73 20 28 63 6f 6e 64 69 74 69 6f 6e 20 26 6f 70 74 69 n.match-buffers.(condition.&opti
1acc0 6f 6e 61 6c 20 62 75 66 66 65 72 73 20 61 72 67 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 onal.buffers.arg).;;.<compat-tes
1ace0 74 73 3a 6d 61 74 63 68 2d 62 75 66 66 65 72 73 3e 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 ts:match-buffers>..."Return.a.li
1ad00 73 74 20 6f 66 20 62 75 66 66 65 72 73 20 74 68 61 74 20 6d 61 74 63 68 20 43 4f 4e 44 49 54 49 st.of.buffers.that.match.CONDITI
1ad20 4f 4e 2e 0a 53 65 65 20 60 62 75 66 66 65 72 2d 6d 61 74 63 68 27 20 66 6f 72 20 64 65 74 61 69 ON..See.`buffer-match'.for.detai
1ad40 6c 73 20 6f 6e 20 43 4f 4e 44 49 54 49 4f 4e 2e 20 20 42 79 20 64 65 66 61 75 6c 74 20 61 6c 6c ls.on.CONDITION...By.default.all
1ad60 0a 62 75 66 66 65 72 73 20 61 72 65 20 63 68 65 63 6b 65 64 2c 20 74 68 69 73 20 63 61 6e 20 62 .buffers.are.checked,.this.can.b
1ad80 65 20 72 65 73 74 72 69 63 74 65 64 20 62 79 20 70 61 73 73 69 6e 67 20 61 6e 0a 6f 70 74 69 6f e.restricted.by.passing.an.optio
1ada0 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 42 55 46 46 45 52 53 2c 20 73 65 74 20 74 6f 20 61 20 6c nal.argument.BUFFERS,.set.to.a.l
1adc0 69 73 74 20 6f 66 20 62 75 66 66 65 72 73 20 74 6f 20 63 68 65 63 6b 2e 0a 41 52 47 20 69 73 20 ist.of.buffers.to.check..ARG.is.
1ade0 70 61 73 73 65 64 20 74 6f 20 60 62 75 66 66 65 72 2d 6d 61 74 63 68 27 2c 20 66 6f 72 20 70 72 passed.to.`buffer-match',.for.pr
1ae00 65 64 69 63 61 74 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 69 6e 0a 43 4f 4e 44 49 54 49 4f 4e 2e edicate.conditions.in.CONDITION.
1ae20 22 0a 20 20 28 6c 65 74 20 28 62 75 66 73 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 62 75 66 "...(let.(bufs).....(dolist.(buf
1ae40 20 28 6f 72 20 62 75 66 66 65 72 73 20 28 62 75 66 66 65 72 2d 6c 69 73 74 29 29 29 0a 20 20 20 .(or.buffers.(buffer-list)))....
1ae60 20 20 20 28 77 68 65 6e 20 28 62 75 66 66 65 72 2d 6d 61 74 63 68 2d 70 20 63 6f 6e 64 69 74 69 ...(when.(buffer-match-p.conditi
1ae80 6f 6e 20 28 67 65 74 2d 62 75 66 66 65 72 20 62 75 66 29 20 61 72 67 29 0a 20 20 20 20 20 20 20 on.(get-buffer.buf).arg)........
1aea0 20 28 70 75 73 68 20 62 75 66 20 62 75 66 73 29 29 29 0a 20 20 20 20 62 75 66 73 29 29 0a 0a 28 .(push.buf.bufs))).....bufs))..(
1aec0 63 6f 6d 70 61 74 2d 64 65 66 76 61 72 20 73 65 74 2d 74 72 61 6e 73 69 65 6e 74 2d 6d 61 70 2d compat-defvar.set-transient-map-
1aee0 74 69 6d 65 6f 75 74 20 6e 69 6c 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 73 65 74 timeout.nil.;;.<compat-tests:set
1af00 2d 74 72 61 6e 73 69 65 6e 74 2d 6d 61 70 3e 0a 20 20 22 54 69 6d 65 6f 75 74 20 69 6e 20 73 65 -transient-map>..."Timeout.in.se
1af20 63 6f 6e 64 73 20 66 6f 72 20 64 65 61 63 74 69 76 61 74 69 6f 6e 20 6f 66 20 61 20 74 72 61 6e conds.for.deactivation.of.a.tran
1af40 73 69 65 6e 74 20 6b 65 79 6d 61 70 2e 0a 49 66 20 74 68 69 73 20 69 73 20 61 20 6e 75 6d 62 65 sient.keymap..If.this.is.a.numbe
1af60 72 2c 20 69 74 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20 61 6d 6f 75 6e 74 20 6f 66 20 69 64 r,.it.specifies.the.amount.of.id
1af80 6c 65 20 74 69 6d 65 0a 61 66 74 65 72 20 77 68 69 63 68 20 74 6f 20 64 65 61 63 74 69 76 61 74 le.time.after.which.to.deactivat
1afa0 65 20 74 68 65 20 6b 65 79 6d 61 70 20 73 65 74 20 62 79 20 60 73 65 74 2d 74 72 61 6e 73 69 65 e.the.keymap.set.by.`set-transie
1afc0 6e 74 2d 6d 61 70 27 2c 0a 74 68 75 73 20 6f 76 65 72 72 69 64 69 6e 67 20 74 68 65 20 76 61 6c nt-map',.thus.overriding.the.val
1afe0 75 65 20 6f 66 20 74 68 65 20 54 49 4d 45 4f 55 54 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 74 68 ue.of.the.TIMEOUT.argument.to.th
1b000 61 74 20 66 75 6e 63 74 69 6f 6e 2e 22 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 76 61 72 20 73 at.function.")..(compat-defvar.s
1b020 65 74 2d 74 72 61 6e 73 69 65 6e 74 2d 6d 61 70 2d 74 69 6d 65 72 20 6e 69 6c 20 3b 3b 20 3c 63 et-transient-map-timer.nil.;;.<c
1b040 6f 6d 70 61 74 2d 74 65 73 74 73 3a 73 65 74 2d 74 72 61 6e 73 69 65 6e 74 2d 6d 61 70 3e 0a 20 ompat-tests:set-transient-map>..
1b060 20 22 54 69 6d 65 72 20 66 6f 72 20 60 73 65 74 2d 74 72 61 6e 73 69 65 6e 74 2d 6d 61 70 2d 74 ."Timer.for.`set-transient-map-t
1b080 69 6d 65 6f 75 74 27 2e 22 29 0a 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 66 6f imeout'.")..(declare-function.fo
1b0a0 72 6d 61 74 2d 73 70 65 63 20 22 66 6f 72 6d 61 74 2d 73 70 65 63 22 29 0a 28 63 6f 6d 70 61 74 rmat-spec."format-spec").(compat
1b0c0 2d 64 65 66 75 6e 20 73 65 74 2d 74 72 61 6e 73 69 65 6e 74 2d 6d 61 70 20 28 6d 61 70 20 26 6f -defun.set-transient-map.(map.&o
1b0e0 70 74 69 6f 6e 61 6c 20 6b 65 65 70 2d 70 72 65 64 20 6f 6e 2d 65 78 69 74 20 6d 65 73 73 61 67 ptional.keep-pred.on-exit.messag
1b100 65 20 74 69 6d 65 6f 75 74 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 73 65 74 2d e.timeout).;;.<compat-tests:set-
1b120 74 72 61 6e 73 69 65 6e 74 2d 6d 61 70 3e 0a 20 20 22 48 61 6e 64 6c 65 20 74 68 65 20 6f 70 74 transient-map>..."Handle.the.opt
1b140 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73 20 4d 45 53 53 41 47 45 20 61 6e 64 20 54 49 4d 45 ional.arguments.MESSAGE.and.TIME
1b160 4f 55 54 2e 22 0a 20 20 3a 65 78 74 65 6e 64 65 64 20 74 0a 20 20 28 75 6e 6c 65 73 73 20 28 66 OUT."...:extended.t...(unless.(f
1b180 62 6f 75 6e 64 70 20 27 66 6f 72 6d 61 74 2d 73 70 65 63 29 0a 20 20 20 20 28 72 65 71 75 69 72 boundp.'format-spec).....(requir
1b1a0 65 20 27 66 6f 72 6d 61 74 2d 73 70 65 63 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 74 69 6d 65 6f e.'format-spec))...(let*.((timeo
1b1c0 75 74 20 28 6f 72 20 73 65 74 2d 74 72 61 6e 73 69 65 6e 74 2d 6d 61 70 2d 74 69 6d 65 6f 75 74 ut.(or.set-transient-map-timeout
1b1e0 20 74 69 6d 65 6f 75 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 0a 20 20 20 .timeout))..........(message....
1b200 20 20 20 20 20 20 20 28 77 68 65 6e 20 6d 65 73 73 61 67 65 0a 20 20 20 20 20 20 20 20 20 20 20 .......(when.message............
1b220 20 28 6c 65 74 20 28 6b 65 79 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 2d .(let.(keys)...............(map-
1b240 6b 65 79 6d 61 70 20 28 6c 61 6d 62 64 61 20 28 6b 65 79 20 63 6d 64 29 20 28 61 6e 64 20 63 6d keymap.(lambda.(key.cmd).(and.cm
1b260 64 20 28 70 75 73 68 20 6b 65 79 20 6b 65 79 73 29 29 29 20 6d 61 70 29 0a 20 20 20 20 20 20 20 d.(push.key.keys))).map)........
1b280 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 2d 73 70 65 63 20 28 69 66 20 28 73 74 72 69 6e 67 70 .......(format-spec.(if.(stringp
1b2a0 20 6d 65 73 73 61 67 65 29 20 6d 65 73 73 61 67 65 20 22 52 65 70 65 61 74 20 77 69 74 68 20 25 .message).message."Repeat.with.%
1b2c0 6b 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 k")............................`
1b2e0 28 28 3f 6b 20 2e 20 2c 28 6d 61 70 63 6f 6e 63 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ((?k...,(mapconcat..............
1b300 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 6c 61 6d 62 64 61 20 ........................(lambda.
1b320 28 6b 65 79 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 (key)...........................
1b340 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 75 62 73 74 69 74 75 74 65 2d 63 6f 6d 6d 61 6e 64 .............(substitute-command
1b360 2d 6b 65 79 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -keys...........................
1b380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 5c 5c 60 25 73 27 22 0a 20 ..............(format."\\`%s'"..
1b3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1b3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6b 65 79 2d 64 65 73 63 72 69 70 74 69 6f 6e 20 ...............(key-description.
1b3e0 28 76 65 63 74 6f 72 20 6b 65 79 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (vector.key)))))................
1b400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6b 65 79 73 20 22 2c 20 22 29 ......................keys.",.")
1b420 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 6c 65 61 72 66 75 6e 20 28 6d 61 6b 65 2d ))))))..........(clearfun.(make-
1b440 73 79 6d 62 6f 6c 20 22 63 6c 65 61 72 2d 74 72 61 6e 73 69 65 6e 74 2d 6d 61 70 22 29 29 0a 20 symbol."clear-transient-map"))..
1b460 20 20 20 20 20 20 20 20 28 65 78 69 74 66 75 6e 0a 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 ........(exitfun...........(lamb
1b480 64 61 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 74 65 72 6e 61 6c 2d 70 6f 70 2d da.().............(internal-pop-
1b4a0 6b 65 79 6d 61 70 20 6d 61 70 20 27 6f 76 65 72 72 69 64 69 6e 67 2d 74 65 72 6d 69 6e 61 6c 2d keymap.map.'overriding-terminal-
1b4c0 6c 6f 63 61 6c 2d 6d 61 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 6d 6f 76 65 2d 68 local-map).............(remove-h
1b4e0 6f 6f 6b 20 27 70 72 65 2d 63 6f 6d 6d 61 6e 64 2d 68 6f 6f 6b 20 63 6c 65 61 72 66 75 6e 29 0a ook.'pre-command-hook.clearfun).
1b500 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 6d 65 73 73 61 67 65 20 28 6d 65 73 73 61 ............(when.message.(messa
1b520 67 65 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 73 65 74 2d 74 72 ge."")).............(when.set-tr
1b540 61 6e 73 69 65 6e 74 2d 6d 61 70 2d 74 69 6d 65 72 20 28 63 61 6e 63 65 6c 2d 74 69 6d 65 72 20 ansient-map-timer.(cancel-timer.
1b560 73 65 74 2d 74 72 61 6e 73 69 65 6e 74 2d 6d 61 70 2d 74 69 6d 65 72 29 29 0a 20 20 20 20 20 20 set-transient-map-timer)).......
1b580 20 20 20 20 20 20 28 77 68 65 6e 20 6f 6e 2d 65 78 69 74 20 28 66 75 6e 63 61 6c 6c 20 6f 6e 2d ......(when.on-exit.(funcall.on-
1b5a0 65 78 69 74 29 29 29 29 29 0a 20 20 20 20 28 66 73 65 74 20 63 6c 65 61 72 66 75 6e 0a 20 20 20 exit))))).....(fset.clearfun....
1b5c0 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 .......(lambda.().............(w
1b5e0 69 74 68 2d 64 65 6d 6f 74 65 64 2d 65 72 72 6f 72 73 20 22 73 65 74 2d 74 72 61 6e 73 69 65 6e ith-demoted-errors."set-transien
1b600 74 2d 6d 61 70 20 50 43 48 3a 20 25 53 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 t-map.PCH:.%S"...............(if
1b620 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 .(cond........................((
1b640 6e 75 6c 6c 20 6b 65 65 70 2d 70 72 65 64 29 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 null.keep-pred).nil)............
1b660 20 20 20 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 6e 6f 74 20 28 65 71 20 6d 61 70 20 28 ............((and.(not.(eq.map.(
1b680 63 61 64 72 20 6f 76 65 72 72 69 64 69 6e 67 2d 74 65 72 6d 69 6e 61 6c 2d 6c 6f 63 61 6c 2d 6d cadr.overriding-terminal-local-m
1b6a0 61 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ap)))...........................
1b6c0 20 20 20 28 6d 65 6d 71 20 6d 61 70 20 28 63 64 64 72 20 6f 76 65 72 72 69 64 69 6e 67 2d 74 65 ...(memq.map.(cddr.overriding-te
1b6e0 72 6d 69 6e 61 6c 2d 6c 6f 63 61 6c 2d 6d 61 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 rminal-local-map))).............
1b700 20 20 20 20 20 20 20 20 20 20 20 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ............t)..................
1b720 20 20 20 20 20 20 28 28 65 71 20 74 20 6b 65 65 70 2d 70 72 65 64 29 0a 20 20 20 20 20 20 20 20 ......((eq.t.keep-pred).........
1b740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6d 63 20 28 6c 6f 6f 6b 75 ................(let.((mc.(looku
1b760 70 2d 6b 65 79 20 6d 61 70 20 28 74 68 69 73 2d 63 6f 6d 6d 61 6e 64 2d 6b 65 79 73 2d 76 65 63 p-key.map.(this-command-keys-vec
1b780 74 6f 72 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tor)))).........................
1b7a0 20 20 28 77 68 65 6e 20 28 61 6e 64 20 6d 63 20 28 73 79 6d 62 6f 6c 70 20 6d 63 29 29 0a 20 20 ..(when.(and.mc.(symbolp.mc))...
1b7c0 20 20 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 65 74 71 20 ..........................(setq.
1b7e0 6d 63 20 28 6f 72 20 28 63 6f 6d 6d 61 6e 64 2d 72 65 6d 61 70 70 69 6e 67 20 6d 63 29 20 6d 63 mc.(or.(command-remapping.mc).mc
1b800 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 )))...........................(a
1b820 6e 64 20 6d 63 20 28 65 71 20 74 68 69 73 2d 63 6f 6d 6d 61 6e 64 20 6d 63 29 29 29 29 0a 20 20 nd.mc.(eq.this-command.mc))))...
1b840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 28 66 75 6e 63 61 6c 6c .....................(t.(funcall
1b860 20 6b 65 65 70 2d 70 72 65 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .keep-pred)))...................
1b880 28 77 68 65 6e 20 6d 65 73 73 61 67 65 20 28 6d 65 73 73 61 67 65 20 22 25 73 22 20 6d 65 73 73 (when.message.(message."%s".mess
1b8a0 61 67 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 65 age)).................(funcall.e
1b8c0 78 69 74 66 75 6e 29 29 29 29 29 0a 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 27 70 72 65 2d 63 xitfun))))).....(add-hook.'pre-c
1b8e0 6f 6d 6d 61 6e 64 2d 68 6f 6f 6b 20 63 6c 65 61 72 66 75 6e 29 0a 20 20 20 20 28 69 6e 74 65 72 ommand-hook.clearfun).....(inter
1b900 6e 61 6c 2d 70 75 73 68 2d 6b 65 79 6d 61 70 20 6d 61 70 20 27 6f 76 65 72 72 69 64 69 6e 67 2d nal-push-keymap.map.'overriding-
1b920 74 65 72 6d 69 6e 61 6c 2d 6c 6f 63 61 6c 2d 6d 61 70 29 0a 20 20 20 20 28 77 68 65 6e 20 74 69 terminal-local-map).....(when.ti
1b940 6d 65 6f 75 74 0a 20 20 20 20 20 20 28 77 68 65 6e 20 73 65 74 2d 74 72 61 6e 73 69 65 6e 74 2d meout.......(when.set-transient-
1b960 6d 61 70 2d 74 69 6d 65 72 20 28 63 61 6e 63 65 6c 2d 74 69 6d 65 72 20 73 65 74 2d 74 72 61 6e map-timer.(cancel-timer.set-tran
1b980 73 69 65 6e 74 2d 6d 61 70 2d 74 69 6d 65 72 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 73 65 sient-map-timer)).......(setq.se
1b9a0 74 2d 74 72 61 6e 73 69 65 6e 74 2d 6d 61 70 2d 74 69 6d 65 72 20 28 72 75 6e 2d 77 69 74 68 2d t-transient-map-timer.(run-with-
1b9c0 69 64 6c 65 2d 74 69 6d 65 72 20 74 69 6d 65 6f 75 74 20 6e 69 6c 20 65 78 69 74 66 75 6e 29 29 idle-timer.timeout.nil.exitfun))
1b9e0 29 0a 20 20 20 20 28 77 68 65 6e 20 6d 65 73 73 61 67 65 20 28 6d 65 73 73 61 67 65 20 22 25 73 ).....(when.message.(message."%s
1ba00 22 20 6d 65 73 73 61 67 65 29 29 0a 20 20 20 20 65 78 69 74 66 75 6e 29 29 0a 0a 3b 3b 3b 3b 20 ".message)).....exitfun))..;;;;.
1ba20 44 65 66 69 6e 65 64 20 69 6e 20 73 69 6d 70 6c 65 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 Defined.in.simple.el..(compat-de
1ba40 66 75 6e 20 63 68 61 72 2d 75 70 70 65 72 63 61 73 65 2d 70 20 28 63 68 61 72 29 20 3b 3b 20 3c fun.char-uppercase-p.(char).;;.<
1ba60 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 63 68 61 72 2d 75 70 70 65 72 63 61 73 65 2d 70 3e 0a 20 compat-tests:char-uppercase-p>..
1ba80 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 43 48 41 52 20 69 73 20 61 6e 20 75 ."Return.non-nil.if.CHAR.is.an.u
1baa0 70 70 65 72 2d 63 61 73 65 20 63 68 61 72 61 63 74 65 72 2e 0a 49 66 20 74 68 65 20 55 6e 69 63 pper-case.character..If.the.Unic
1bac0 6f 64 65 20 74 61 62 6c 65 73 20 61 72 65 20 6e 6f 74 20 79 65 74 20 61 76 61 69 6c 61 62 6c 65 ode.tables.are.not.yet.available
1bae0 2c 20 65 2e 67 2e 20 64 75 72 69 6e 67 20 62 6f 6f 74 73 74 72 61 70 2c 0a 74 68 65 6e 20 67 69 ,.e.g..during.bootstrap,.then.gi
1bb00 76 65 73 20 63 6f 72 72 65 63 74 20 61 6e 73 77 65 72 73 20 6f 6e 6c 79 20 66 6f 72 20 41 53 43 ves.correct.answers.only.for.ASC
1bb20 49 49 20 63 68 61 72 61 63 74 65 72 73 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28 75 6e 69 63 6f 64 II.characters."...(cond.((unicod
1bb40 65 2d 70 72 6f 70 65 72 74 79 2d 74 61 62 6c 65 2d 69 6e 74 65 72 6e 61 6c 20 27 6c 6f 77 65 72 e-property-table-internal.'lower
1bb60 63 61 73 65 29 0a 20 20 20 20 20 20 20 20 20 28 63 68 61 72 61 63 74 65 72 70 20 28 67 65 74 2d case)..........(characterp.(get-
1bb80 63 68 61 72 2d 63 6f 64 65 2d 70 72 6f 70 65 72 74 79 20 63 68 61 72 20 27 6c 6f 77 65 72 63 61 char-code-property.char.'lowerca
1bba0 73 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 3e 3d 20 63 68 61 72 20 3f 41 29 se))).........((and.(>=.char.?A)
1bbc0 20 28 3c 3d 20 63 68 61 72 20 3f 5a 29 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e .(<=.char.?Z)))))..(compat-defun
1bbe0 20 75 73 65 2d 72 65 67 69 6f 6e 2d 6e 6f 6e 63 6f 6e 74 69 67 75 6f 75 73 2d 70 20 28 29 20 3b .use-region-noncontiguous-p.().;
1bc00 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 72 65 67 69 6f 6e 2d 6e 6f 6e 63 6f 6e 74 69 67 ;.<compat-tests:region-noncontig
1bc20 75 6f 75 73 2d 70 3e 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 66 6f 72 20 61 20 uous-p>..."Return.non-nil.for.a.
1bc40 6e 6f 6e 2d 63 6f 6e 74 69 67 75 6f 75 73 20 72 65 67 69 6f 6e 20 69 66 20 60 75 73 65 2d 72 65 non-contiguous.region.if.`use-re
1bc60 67 69 6f 6e 2d 70 27 2e 22 0a 20 20 28 61 6e 64 20 28 75 73 65 2d 72 65 67 69 6f 6e 2d 70 29 20 gion-p'."...(and.(use-region-p).
1bc80 28 72 65 67 69 6f 6e 2d 6e 6f 6e 63 6f 6e 74 69 67 75 6f 75 73 2d 70 29 29 29 0a 0a 28 63 6f 6d (region-noncontiguous-p)))..(com
1bca0 70 61 74 2d 64 65 66 75 6e 20 75 73 65 2d 72 65 67 69 6f 6e 2d 62 65 67 69 6e 6e 69 6e 67 20 28 pat-defun.use-region-beginning.(
1bcc0 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 75 73 65 2d 72 65 67 69 6f 6e 3e 0a 20 ).;;.<compat-tests:use-region>..
1bce0 20 22 52 65 74 75 72 6e 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 74 68 65 20 72 65 67 69 6f 6e ."Return.the.start.of.the.region
1bd00 20 69 66 20 60 75 73 65 2d 72 65 67 69 6f 6e 2d 70 27 2e 22 0a 20 20 28 61 6e 64 20 28 75 73 65 .if.`use-region-p'."...(and.(use
1bd20 2d 72 65 67 69 6f 6e 2d 70 29 20 28 72 65 67 69 6f 6e 2d 62 65 67 69 6e 6e 69 6e 67 29 29 29 0a -region-p).(region-beginning))).
1bd40 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 75 73 65 2d 72 65 67 69 6f 6e 2d 65 6e 64 20 28 29 .(compat-defun.use-region-end.()
1bd60 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 75 73 65 2d 72 65 67 69 6f 6e 3e 0a 20 20 .;;.<compat-tests:use-region>...
1bd80 22 52 65 74 75 72 6e 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 72 65 67 69 6f 6e 20 69 66 "Return.the.end.of.the.region.if
1bda0 20 60 75 73 65 2d 72 65 67 69 6f 6e 2d 70 27 2e 22 0a 20 20 28 61 6e 64 20 28 75 73 65 2d 72 65 .`use-region-p'."...(and.(use-re
1bdc0 67 69 6f 6e 2d 70 29 20 28 72 65 67 69 6f 6e 2d 65 6e 64 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d gion-p).(region-end)))..(compat-
1bde0 64 65 66 75 6e 20 67 65 74 2d 73 63 72 61 74 63 68 2d 62 75 66 66 65 72 2d 63 72 65 61 74 65 20 defun.get-scratch-buffer-create.
1be00 28 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 67 65 74 2d 73 63 72 61 74 63 68 2d ().;;.<compat-tests:get-scratch-
1be20 62 75 66 66 65 72 2d 63 72 65 61 74 65 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 2a 73 63 buffer-create>..."Return.the.*sc
1be40 72 61 74 63 68 2a 20 62 75 66 66 65 72 2c 20 63 72 65 61 74 69 6e 67 20 61 20 6e 65 77 20 6f 6e ratch*.buffer,.creating.a.new.on
1be60 65 20 69 66 20 6e 65 65 64 65 64 2e 22 0a 20 20 28 6f 72 20 28 67 65 74 2d 62 75 66 66 65 72 20 e.if.needed."...(or.(get-buffer.
1be80 22 2a 73 63 72 61 74 63 68 2a 22 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 63 72 61 74 63 "*scratch*").......(let.((scratc
1bea0 68 20 28 67 65 74 2d 62 75 66 66 65 72 2d 63 72 65 61 74 65 20 22 2a 73 63 72 61 74 63 68 2a 22 h.(get-buffer-create."*scratch*"
1bec0 29 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 44 6f 6e 27 74 20 74 6f 75 63 68 20 74 68 65 20 62 ))).........;;.Don't.touch.the.b
1bee0 75 66 66 65 72 20 63 6f 6e 74 65 6e 74 73 20 6f 72 20 6d 6f 64 65 20 75 6e 6c 65 73 73 20 77 65 uffer.contents.or.mode.unless.we
1bf00 20 6b 6e 6f 77 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 3b 3b 20 77 65 20 6a 75 73 74 20 63 72 .know.that.........;;.we.just.cr
1bf20 65 61 74 65 64 20 69 74 2e 0a 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d eated.it..........(with-current-
1bf40 62 75 66 66 65 72 20 73 63 72 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 69 buffer.scratch...........(when.i
1bf60 6e 69 74 69 61 6c 2d 73 63 72 61 74 63 68 2d 6d 65 73 73 61 67 65 0a 20 20 20 20 20 20 20 20 20 nitial-scratch-message..........
1bf80 20 20 20 28 69 6e 73 65 72 74 20 28 73 75 62 73 74 69 74 75 74 65 2d 63 6f 6d 6d 61 6e 64 2d 6b ...(insert.(substitute-command-k
1bfa0 65 79 73 20 69 6e 69 74 69 61 6c 2d 73 63 72 61 74 63 68 2d 6d 65 73 73 61 67 65 29 29 0a 20 20 eys.initial-scratch-message))...
1bfc0 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 62 75 66 66 65 72 2d 6d 6f 64 69 66 69 65 64 2d 70 ..........(set-buffer-modified-p
1bfe0 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 69 6e 69 74 69 61 .nil))...........(funcall.initia
1c000 6c 2d 6d 61 6a 6f 72 2d 6d 6f 64 65 29 29 0a 20 20 20 20 20 20 20 20 73 63 72 61 74 63 68 29 29 l-major-mode)).........scratch))
1c020 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 73 75 62 72 2d 78 2e 65 6c 0a 0a 28 63 )..;;;;.Defined.in.subr-x.el..(c
1c040 6f 6d 70 61 74 2d 64 65 66 6d 61 63 72 6f 20 77 69 74 68 2d 62 75 66 66 65 72 2d 75 6e 6d 6f 64 ompat-defmacro.with-buffer-unmod
1c060 69 66 69 65 64 2d 69 66 2d 75 6e 63 68 61 6e 67 65 64 20 28 26 72 65 73 74 20 62 6f 64 79 29 20 ified-if-unchanged.(&rest.body).
1c080 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 77 69 74 68 2d 62 75 66 66 65 72 2d 75 6e 6d ;;.<compat-tests:with-buffer-unm
1c0a0 6f 64 69 66 69 65 64 2d 69 66 2d 75 6e 63 68 61 6e 67 65 64 3e 0a 20 20 22 4c 69 6b 65 20 60 70 odified-if-unchanged>..."Like.`p
1c0c0 72 6f 67 6e 27 2c 20 62 75 74 20 63 68 61 6e 67 65 20 62 75 66 66 65 72 2d 6d 6f 64 69 66 69 65 rogn',.but.change.buffer-modifie
1c0e0 64 20 73 74 61 74 75 73 20 6f 6e 6c 79 20 69 66 20 62 75 66 66 65 72 20 74 65 78 74 20 63 68 61 d.status.only.if.buffer.text.cha
1c100 6e 67 65 73 2e 0a 49 66 20 74 68 65 20 62 75 66 66 65 72 20 77 61 73 20 75 6e 6d 6f 64 69 66 69 nges..If.the.buffer.was.unmodifi
1c120 65 64 20 62 65 66 6f 72 65 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 42 4f 44 59 2c 20 61 6e 64 ed.before.execution.of.BODY,.and
1c140 0a 62 75 66 66 65 72 20 74 65 78 74 20 61 66 74 65 72 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 .buffer.text.after.execution.of.
1c160 42 4f 44 59 20 69 73 20 69 64 65 6e 74 69 63 61 6c 20 74 6f 20 77 68 61 74 20 69 74 20 77 61 73 BODY.is.identical.to.what.it.was
1c180 0a 62 65 66 6f 72 65 2c 20 65 6e 73 75 72 65 20 74 68 61 74 20 62 75 66 66 65 72 20 69 73 20 73 .before,.ensure.that.buffer.is.s
1c1a0 74 69 6c 6c 20 6d 61 72 6b 65 64 20 75 6e 6d 6f 64 69 66 69 65 64 20 61 66 74 65 72 77 61 72 64 till.marked.unmodified.afterward
1c1c0 73 2e 0a 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 77 6f s..For.example,.the.following.wo
1c1e0 6e 27 74 20 63 68 61 6e 67 65 20 74 68 65 20 62 75 66 66 65 72 27 73 20 6d 6f 64 69 66 69 63 61 n't.change.the.buffer's.modifica
1c200 74 69 6f 6e 0a 73 74 61 74 75 73 3a 0a 0a 20 20 28 77 69 74 68 2d 62 75 66 66 65 72 2d 75 6e 6d tion.status:....(with-buffer-unm
1c220 6f 64 69 66 69 65 64 2d 69 66 2d 75 6e 63 68 61 6e 67 65 64 0a 20 20 20 20 28 69 6e 73 65 72 74 odified-if-unchanged.....(insert
1c240 20 5c 22 61 5c 22 29 0a 20 20 20 20 28 64 65 6c 65 74 65 2d 63 68 61 72 20 2d 31 29 29 0a 0a 4e .\"a\").....(delete-char.-1))..N
1c260 6f 74 65 20 74 68 61 74 20 6f 6e 6c 79 20 63 68 61 6e 67 65 73 20 69 6e 20 74 68 65 20 72 61 77 ote.that.only.changes.in.the.raw
1c280 20 62 79 74 65 20 73 65 71 75 65 6e 63 65 20 6f 66 20 74 68 65 20 62 75 66 66 65 72 20 74 65 78 .byte.sequence.of.the.buffer.tex
1c2a0 74 2c 0a 61 73 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 72 65 70 t,.as.stored.in.the.internal.rep
1c2c0 72 65 73 65 6e 74 61 74 69 6f 6e 2c 20 61 72 65 20 6d 6f 6e 69 74 6f 72 65 64 20 66 6f 72 20 74 resentation,.are.monitored.for.t
1c2e0 68 65 0a 70 75 72 70 6f 73 65 20 6f 66 20 64 65 74 65 63 74 69 6e 67 20 74 68 65 20 6c 61 63 6b he.purpose.of.detecting.the.lack
1c300 20 6f 66 20 63 68 61 6e 67 65 73 20 69 6e 20 62 75 66 66 65 72 20 74 65 78 74 2e 20 20 41 6e 79 .of.changes.in.buffer.text...Any
1c320 20 6f 74 68 65 72 0a 63 68 61 6e 67 65 73 20 74 68 61 74 20 61 72 65 20 6e 6f 72 6d 61 6c 6c 79 .other.changes.that.are.normally
1c340 20 70 65 72 63 65 69 76 65 64 20 61 73 20 5c 22 62 75 66 66 65 72 20 6d 6f 64 69 66 69 63 61 74 .perceived.as.\"buffer.modificat
1c360 69 6f 6e 73 5c 22 2c 20 73 75 63 68 0a 61 73 20 63 68 61 6e 67 65 73 20 69 6e 20 74 65 78 74 20 ions\",.such.as.changes.in.text.
1c380 70 72 6f 70 65 72 74 69 65 73 2c 20 60 62 75 66 66 65 72 2d 66 69 6c 65 2d 63 6f 64 69 6e 67 2d properties,.`buffer-file-coding-
1c3a0 73 79 73 74 65 6d 27 2c 20 62 75 66 66 65 72 0a 6d 75 6c 74 69 62 79 74 65 6e 65 73 73 2c 20 65 system',.buffer.multibyteness,.e
1c3c0 74 63 2e 20 2d 2d 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 6e 6f 74 69 63 65 64 2c 20 61 6e 64 20 tc..--.will.not.be.noticed,.and.
1c3e0 74 68 65 20 62 75 66 66 65 72 20 77 69 6c 6c 20 73 74 69 6c 6c 0a 62 65 20 6d 61 72 6b 65 64 20 the.buffer.will.still.be.marked.
1c400 75 6e 6d 6f 64 69 66 69 65 64 2c 20 65 66 66 65 63 74 69 76 65 6c 79 20 69 67 6e 6f 72 69 6e 67 unmodified,.effectively.ignoring
1c420 20 74 68 6f 73 65 20 63 68 61 6e 67 65 73 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 .those.changes."...(declare.(deb
1c440 75 67 20 74 29 20 28 69 6e 64 65 6e 74 20 30 29 29 0a 20 20 28 6c 65 74 20 28 28 68 61 73 68 20 ug.t).(indent.0))...(let.((hash.
1c460 28 67 65 6e 73 79 6d 29 29 0a 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 20 28 67 65 6e 73 79 (gensym)).........(buffer.(gensy
1c480 6d 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 68 61 73 68 20 28 61 6e 64 20 28 6e 6f 74 m))).....`(let.((,hash.(and.(not
1c4a0 20 28 62 75 66 66 65 72 2d 6d 6f 64 69 66 69 65 64 2d 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 .(buffer-modified-p))...........
1c4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 75 66 66 65 72 2d 68 61 73 68 29 29 29 0a 20 20 20 .............(buffer-hash)))....
1c4e0 20 20 20 20 20 20 20 20 28 2c 62 75 66 66 65 72 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 ........(,buffer.(current-buffer
1c500 29 29 29 0a 20 20 20 20 20 20 20 28 70 72 6f 67 31 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 72 )))........(prog1............(pr
1c520 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 40 62 6f 64 79 29 0a 20 20 20 20 20 20 20 ogn..............,@body)........
1c540 20 20 3b 3b 20 49 66 20 77 65 20 64 69 64 6e 27 74 20 63 68 61 6e 67 65 20 61 6e 79 74 68 69 6e ..;;.If.we.didn't.change.anythin
1c560 67 20 69 6e 20 74 68 65 20 62 75 66 66 65 72 20 28 61 6e 64 20 74 68 65 20 62 75 66 66 65 72 0a g.in.the.buffer.(and.the.buffer.
1c580 20 20 20 20 20 20 20 20 20 3b 3b 20 77 61 73 20 70 72 65 76 69 6f 75 73 6c 79 20 75 6e 6d 6f 64 .........;;.was.previously.unmod
1c5a0 69 66 69 65 64 29 2c 20 74 68 65 6e 20 66 6c 69 70 20 74 68 65 20 6d 6f 64 69 66 69 63 61 74 69 ified),.then.flip.the.modificati
1c5c0 6f 6e 20 73 74 61 74 75 73 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 62 61 63 6b 20 74 6f 20 22 75 on.status..........;;.back.to."u
1c5e0 6e 63 68 61 6e 67 65 64 22 2e 0a 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 2c nchanged"...........(when.(and.,
1c600 68 61 73 68 20 28 62 75 66 66 65 72 2d 6c 69 76 65 2d 70 20 2c 62 75 66 66 65 72 29 29 0a 20 20 hash.(buffer-live-p.,buffer))...
1c620 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 2c 62 .........(with-current-buffer.,b
1c640 75 66 66 65 72 0a 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 62 uffer..............(when.(and.(b
1c660 75 66 66 65 72 2d 6d 6f 64 69 66 69 65 64 2d 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 uffer-modified-p)...............
1c680 20 20 20 20 20 20 20 20 20 20 28 65 71 75 61 6c 20 2c 68 61 73 68 20 28 62 75 66 66 65 72 2d 68 ..........(equal.,hash.(buffer-h
1c6a0 61 73 68 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 73 74 6f 72 65 2d 62 ash)))................(restore-b
1c6c0 75 66 66 65 72 2d 6d 6f 64 69 66 69 65 64 2d 70 20 6e 69 6c 29 29 29 29 29 29 29 29 0a 0a 28 63 uffer-modified-p.nil))))))))..(c
1c6e0 6f 6d 70 61 74 2d 64 65 66 75 6e 20 61 64 64 2d 64 69 73 70 6c 61 79 2d 74 65 78 74 2d 70 72 6f ompat-defun.add-display-text-pro
1c700 70 65 72 74 79 20 28 73 74 61 72 74 20 65 6e 64 20 70 72 6f 70 20 76 61 6c 75 65 20 3b 3b 20 3c perty.(start.end.prop.value.;;.<
1c720 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 61 64 64 2d 64 69 73 70 6c 61 79 2d 74 65 78 74 2d 70 72 compat-tests:add-display-text-pr
1c740 6f 70 65 72 74 79 3e 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 operty>.........................
1c760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 26 6f 70 74 69 6f 6e 61 6c .......................&optional
1c780 20 6f 62 6a 65 63 74 29 0a 20 20 22 41 64 64 20 64 69 73 70 6c 61 79 20 70 72 6f 70 65 72 74 79 .object)..."Add.display.property
1c7a0 20 50 52 4f 50 20 77 69 74 68 20 56 41 4c 55 45 20 74 6f 20 74 68 65 20 74 65 78 74 20 66 72 6f .PROP.with.VALUE.to.the.text.fro
1c7c0 6d 20 53 54 41 52 54 20 74 6f 20 45 4e 44 2e 0a 49 66 20 61 6e 79 20 74 65 78 74 20 69 6e 20 74 m.START.to.END..If.any.text.in.t
1c7e0 68 65 20 72 65 67 69 6f 6e 20 68 61 73 20 61 20 6e 6f 6e 2d 6e 69 6c 20 60 64 69 73 70 6c 61 79 he.region.has.a.non-nil.`display
1c800 27 20 70 72 6f 70 65 72 74 79 2c 20 74 68 6f 73 65 0a 70 72 6f 70 65 72 74 69 65 73 20 61 72 65 '.property,.those.properties.are
1c820 20 72 65 74 61 69 6e 65 64 2e 0a 0a 49 66 20 4f 42 4a 45 43 54 20 69 73 20 6e 6f 6e 2d 6e 69 6c .retained...If.OBJECT.is.non-nil
1c840 2c 20 69 74 20 73 68 6f 75 6c 64 20 62 65 20 61 20 73 74 72 69 6e 67 20 6f 72 20 61 20 62 75 66 ,.it.should.be.a.string.or.a.buf
1c860 66 65 72 2e 20 20 49 66 20 6e 69 6c 2c 0a 74 68 69 73 20 64 65 66 61 75 6c 74 73 20 74 6f 20 74 fer...If.nil,.this.defaults.to.t
1c880 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 75 62 he.current.buffer."...(let.((sub
1c8a0 2d 73 74 61 72 74 20 73 74 61 72 74 29 0a 20 20 20 20 20 20 20 20 28 73 75 62 2d 65 6e 64 20 30 -start.start).........(sub-end.0
1c8c0 29 0a 20 20 20 20 20 20 20 20 64 69 73 70 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 73 75 ).........disp).....(while.(<.su
1c8e0 62 2d 65 6e 64 20 65 6e 64 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 73 75 62 2d 65 6e 64 20 28 b-end.end).......(setq.sub-end.(
1c900 6e 65 78 74 2d 73 69 6e 67 6c 65 2d 70 72 6f 70 65 72 74 79 2d 63 68 61 6e 67 65 20 73 75 62 2d next-single-property-change.sub-
1c920 73 74 61 72 74 20 27 64 69 73 70 6c 61 79 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 start.'display.object...........
1c940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1c960 20 20 20 20 20 20 20 28 69 66 20 28 73 74 72 69 6e 67 70 20 6f 62 6a 65 63 74 29 0a 20 20 20 20 .......(if.(stringp.object).....
1c980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1c9a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 69 6e 20 28 6c 65 6e 67 74 68 20 6f 62 .................(min.(length.ob
1c9c0 6a 65 63 74 29 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ject).end)......................
1c9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d ..............................(m
1ca00 69 6e 20 65 6e 64 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 29 29 0a 20 20 20 20 20 20 28 69 66 in.end.(point-max))))).......(if
1ca20 20 28 6e 6f 74 20 28 73 65 74 71 20 64 69 73 70 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 .(not.(setq.disp.(get-text-prope
1ca40 72 74 79 20 73 75 62 2d 73 74 61 72 74 20 27 64 69 73 70 6c 61 79 20 6f 62 6a 65 63 74 29 29 29 rty.sub-start.'display.object)))
1ca60 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 4e 6f 20 6f 6c 64 20 70 72 6f 70 65 72 74 69 65 73 20 ...........;;.No.old.properties.
1ca80 69 6e 20 74 68 69 73 20 72 61 6e 67 65 2e 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 74 2d 74 65 in.this.range............(put-te
1caa0 78 74 2d 70 72 6f 70 65 72 74 79 20 73 75 62 2d 73 74 61 72 74 20 73 75 62 2d 65 6e 64 20 27 64 xt-property.sub-start.sub-end.'d
1cac0 69 73 70 6c 61 79 20 28 6c 69 73 74 20 70 72 6f 70 20 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 isplay.(list.prop.value)........
1cae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6f 62 6a 65 63 74 29 0a 20 20 ......................object)...
1cb00 20 20 20 20 20 20 3b 3b 20 57 65 20 68 61 76 65 20 6f 6c 64 20 70 72 6f 70 65 72 74 69 65 73 2e ......;;.We.have.old.properties.
1cb20 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 76 65 63 74 6f 72 20 6e 69 6c 29 29 0a 20 20 20 .........(let.((vector.nil))....
1cb40 20 20 20 20 20 20 20 3b 3b 20 4d 61 6b 65 20 64 69 73 70 20 69 6e 74 6f 20 61 20 6c 69 73 74 2e .......;;.Make.disp.into.a.list.
1cb60 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 64 69 73 70 0a 20 20 20 20 20 20 20 20 20 20 ...........(setq.disp...........
1cb80 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 76 ......(cond..................((v
1cba0 65 63 74 6f 72 70 20 64 69 73 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ectorp.disp)...................(
1cbc0 73 65 74 71 20 76 65 63 74 6f 72 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 setq.vector.t)..................
1cbe0 20 28 61 70 70 65 6e 64 20 64 69 73 70 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .(append.disp.nil)).............
1cc00 20 20 20 20 20 28 28 6e 6f 74 20 28 63 6f 6e 73 70 20 28 63 61 72 20 64 69 73 70 29 29 29 0a 20 .....((not.(consp.(car.disp)))..
1cc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 64 69 73 70 29 29 0a 20 20 .................(list.disp))...
1cc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............(t...............
1cc60 20 20 20 20 64 69 73 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 52 65 6d 6f 76 65 20 ....disp)))...........;;.Remove.
1cc80 61 6e 79 20 6f 6c 64 20 69 6e 73 74 61 6e 63 65 73 2e 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 any.old.instances............(wh
1cca0 65 6e 2d 6c 65 74 20 28 28 6f 6c 64 20 28 61 73 73 6f 63 20 70 72 6f 70 20 64 69 73 70 29 29 29 en-let.((old.(assoc.prop.disp)))
1ccc0 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 64 69 73 70 20 28 64 65 6c 65 74 65 20 .............(setq.disp.(delete.
1cce0 6f 6c 64 20 64 69 73 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 64 69 73 70 old.disp)))...........(setq.disp
1cd00 20 28 63 6f 6e 73 20 28 6c 69 73 74 20 70 72 6f 70 20 76 61 6c 75 65 29 20 64 69 73 70 29 29 0a .(cons.(list.prop.value).disp)).
1cd20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 76 65 63 74 6f 72 0a 20 20 20 20 20 20 20 20 20 ..........(when.vector..........
1cd40 20 20 20 28 73 65 74 71 20 64 69 73 70 20 28 76 63 6f 6e 63 61 74 20 64 69 73 70 29 29 29 0a 20 ...(setq.disp.(vconcat.disp)))..
1cd60 20 20 20 20 20 20 20 20 20 3b 3b 20 46 69 6e 61 6c 6c 79 20 75 70 64 61 74 65 20 74 68 65 20 72 .........;;.Finally.update.the.r
1cd80 61 6e 67 65 2e 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 ange............(put-text-proper
1cda0 74 79 20 73 75 62 2d 73 74 61 72 74 20 73 75 62 2d 65 6e 64 20 27 64 69 73 70 6c 61 79 20 64 69 ty.sub-start.sub-end.'display.di
1cdc0 73 70 20 6f 62 6a 65 63 74 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 73 75 62 2d 73 74 61 sp.object))).......(setq.sub-sta
1cde0 72 74 20 73 75 62 2d 65 6e 64 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 6d 61 63 72 6f rt.sub-end))))..(compat-defmacro
1ce00 20 77 68 69 6c 65 2d 6c 65 74 20 28 73 70 65 63 20 26 72 65 73 74 20 62 6f 64 79 29 20 3b 3b 20 .while-let.(spec.&rest.body).;;.
1ce20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 77 68 69 6c 65 2d 6c 65 74 3e 0a 20 20 22 42 69 6e 64 <compat-tests:while-let>..."Bind
1ce40 20 76 61 72 69 61 62 6c 65 73 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 53 50 45 43 20 61 6e 64 .variables.according.to.SPEC.and
1ce60 20 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 65 76 61 6c 75 61 74 65 20 42 4f 44 59 2e 0a 45 76 .conditionally.evaluate.BODY..Ev
1ce80 61 6c 75 61 74 65 20 65 61 63 68 20 62 69 6e 64 69 6e 67 20 69 6e 20 74 75 72 6e 2c 20 73 74 6f aluate.each.binding.in.turn,.sto
1cea0 70 70 69 6e 67 20 69 66 20 61 20 62 69 6e 64 69 6e 67 20 76 61 6c 75 65 20 69 73 20 6e 69 6c 2e pping.if.a.binding.value.is.nil.
1cec0 0a 49 66 20 61 6c 6c 20 62 69 6e 64 69 6e 67 73 20 61 72 65 20 6e 6f 6e 2d 6e 69 6c 2c 20 65 76 .If.all.bindings.are.non-nil,.ev
1cee0 61 6c 20 42 4f 44 59 20 61 6e 64 20 72 65 70 65 61 74 2e 0a 0a 54 68 65 20 76 61 72 69 61 62 6c al.BODY.and.repeat...The.variabl
1cf00 65 20 6c 69 73 74 20 53 50 45 43 20 69 73 20 74 68 65 20 73 61 6d 65 20 61 73 20 69 6e 20 60 69 e.list.SPEC.is.the.same.as.in.`i
1cf20 66 2d 6c 65 74 2a 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 20 f-let*'."...(declare.(indent.1).
1cf40 28 64 65 62 75 67 20 69 66 2d 6c 65 74 29 29 0a 20 20 28 6c 65 74 20 28 28 64 6f 6e 65 20 28 67 (debug.if-let))...(let.((done.(g
1cf60 65 6e 73 79 6d 20 22 64 6f 6e 65 22 29 29 29 0a 20 20 20 20 60 28 63 61 74 63 68 20 27 2c 64 6f ensym."done"))).....`(catch.',do
1cf80 6e 65 0a 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 74 0a 20 20 20 20 20 20 20 20 20 28 69 66 2d ne........(while.t..........(if-
1cfa0 6c 65 74 2a 20 2c 73 70 65 63 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 let*.,spec..............(progn..
1cfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 40 62 6f 64 79 29 0a 20 20 20 20 20 20 20 20 20 20 ..............,@body)...........
1cfe0 20 28 74 68 72 6f 77 20 27 2c 64 6f 6e 65 20 6e 69 6c 29 29 29 29 29 29 0a 0a 3b 3b 3b 3b 20 44 .(throw.',done.nil))))))..;;;;.D
1d000 65 66 69 6e 65 64 20 69 6e 20 66 69 6c 65 73 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 efined.in.files.el..(compat-defu
1d020 6e 20 64 69 72 65 63 74 6f 72 79 2d 61 62 62 72 65 76 2d 6d 61 6b 65 2d 72 65 67 65 78 70 20 28 n.directory-abbrev-make-regexp.(
1d040 64 69 72 65 63 74 6f 72 79 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 64 69 72 65 directory).;;.<compat-tests:dire
1d060 63 74 6f 72 79 2d 61 62 62 72 65 76 2d 6d 61 6b 65 2d 72 65 67 65 78 70 3e 0a 20 20 22 43 72 65 ctory-abbrev-make-regexp>..."Cre
1d080 61 74 65 20 61 20 72 65 67 65 78 70 20 74 6f 20 6d 61 74 63 68 20 44 49 52 45 43 54 4f 52 59 20 ate.a.regexp.to.match.DIRECTORY.
1d0a0 66 6f 72 20 60 64 69 72 65 63 74 6f 72 79 2d 61 62 62 72 65 76 2d 61 6c 69 73 74 27 2e 22 0a 20 for.`directory-abbrev-alist'."..
1d0c0 20 28 6c 65 74 20 28 28 72 65 67 65 78 70 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 57 65 20 69 6e .(let.((regexp..........;;.We.in
1d0e0 63 6c 75 64 65 20 61 20 73 6c 61 73 68 20 61 74 20 74 68 65 20 65 6e 64 2c 20 74 6f 20 61 76 6f clude.a.slash.at.the.end,.to.avo
1d100 69 64 20 73 70 75 72 69 6f 75 73 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 6d 61 74 63 68 65 73 20 id.spurious..........;;.matches.
1d120 73 75 63 68 20 61 73 20 60 2f 75 73 72 2f 66 6f 6f 62 61 72 27 20 77 68 65 6e 20 74 68 65 20 68 such.as.`/usr/foobar'.when.the.h
1d140 6f 6d 65 20 64 69 72 20 69 73 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 60 2f 75 73 72 2f 66 6f 6f ome.dir.is..........;;.`/usr/foo
1d160 27 2e 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 5c 5c 60 22 20 28 72 65 67 65 78 '...........(concat."\\`".(regex
1d180 70 2d 71 75 6f 74 65 20 64 69 72 65 63 74 6f 72 79 29 20 22 5c 5c 28 2f 5c 5c 7c 5c 5c 27 5c 5c p-quote.directory)."\\(/\\|\\'\\
1d1a0 29 22 29 29 29 0a 20 20 20 20 3b 3b 20 54 68 65 20 76 61 6c 75 65 20 6f 66 20 72 65 67 65 78 70 )"))).....;;.The.value.of.regexp
1d1c0 20 63 6f 75 6c 64 20 62 65 20 6d 75 6c 74 69 62 79 74 65 20 6f 72 20 75 6e 69 62 79 74 65 2e 20 .could.be.multibyte.or.unibyte..
1d1e0 20 49 6e 20 74 68 65 0a 20 20 20 20 3b 3b 20 6c 61 74 74 65 72 20 63 61 73 65 2c 20 77 65 20 6e .In.the.....;;.latter.case,.we.n
1d200 65 65 64 20 74 6f 20 64 65 63 6f 64 65 20 69 74 2e 0a 20 20 20 20 28 69 66 20 28 6d 75 6c 74 69 eed.to.decode.it......(if.(multi
1d220 62 79 74 65 2d 73 74 72 69 6e 67 2d 70 20 72 65 67 65 78 70 29 0a 20 20 20 20 20 20 20 20 72 65 byte-string-p.regexp).........re
1d240 67 65 78 70 0a 20 20 20 20 20 20 28 64 65 63 6f 64 65 2d 63 6f 64 69 6e 67 2d 73 74 72 69 6e 67 gexp.......(decode-coding-string
1d260 20 72 65 67 65 78 70 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 .regexp.........................
1d280 20 20 20 20 28 69 66 20 28 65 71 20 73 79 73 74 65 6d 2d 74 79 70 65 20 27 77 69 6e 64 6f 77 73 ....(if.(eq.system-type.'windows
1d2a0 2d 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -nt)............................
1d2c0 20 20 20 20 20 27 75 74 66 2d 38 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....'utf-8.....................
1d2e0 20 20 20 20 20 20 20 20 20 20 6c 6f 63 61 6c 65 2d 63 6f 64 69 6e 67 2d 73 79 73 74 65 6d 29 29 ..........locale-coding-system))
1d300 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 64 69 72 65 63 74 6f 72 79 2d 61 62 62 )))..(compat-defun.directory-abb
1d320 72 65 76 2d 61 70 70 6c 79 20 28 66 69 6c 65 6e 61 6d 65 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d rev-apply.(filename).;;.<compat-
1d340 74 65 73 74 73 3a 64 69 72 65 63 74 6f 72 79 2d 61 62 62 72 65 76 2d 61 70 70 6c 79 3e 0a 20 20 tests:directory-abbrev-apply>...
1d360 22 41 70 70 6c 79 20 74 68 65 20 61 62 62 72 65 76 69 61 74 69 6f 6e 73 20 69 6e 20 60 64 69 72 "Apply.the.abbreviations.in.`dir
1d380 65 63 74 6f 72 79 2d 61 62 62 72 65 76 2d 61 6c 69 73 74 27 20 74 6f 20 46 49 4c 45 4e 41 4d 45 ectory-abbrev-alist'.to.FILENAME
1d3a0 2e 0a 4e 6f 74 65 20 74 68 61 74 20 77 68 65 6e 20 63 61 6c 6c 69 6e 67 20 74 68 69 73 2c 20 79 ..Note.that.when.calling.this,.y
1d3c0 6f 75 20 73 68 6f 75 6c 64 20 73 65 74 20 60 63 61 73 65 2d 66 6f 6c 64 2d 73 65 61 72 63 68 27 ou.should.set.`case-fold-search'
1d3e0 20 61 73 0a 61 70 70 72 6f 70 72 69 61 74 65 20 66 6f 72 20 74 68 65 20 66 69 6c 65 73 79 73 74 .as.appropriate.for.the.filesyst
1d400 65 6d 20 75 73 65 64 20 66 6f 72 20 46 49 4c 45 4e 41 4d 45 2e 22 0a 20 20 28 64 6f 6c 69 73 74 em.used.for.FILENAME."...(dolist
1d420 20 28 64 69 72 2d 61 62 62 72 65 76 20 64 69 72 65 63 74 6f 72 79 2d 61 62 62 72 65 76 2d 61 6c .(dir-abbrev.directory-abbrev-al
1d440 69 73 74 20 66 69 6c 65 6e 61 6d 65 29 0a 20 20 20 20 28 77 68 65 6e 20 28 73 74 72 69 6e 67 2d ist.filename).....(when.(string-
1d460 6d 61 74 63 68 20 28 63 61 72 20 64 69 72 2d 61 62 62 72 65 76 29 20 66 69 6c 65 6e 61 6d 65 29 match.(car.dir-abbrev).filename)
1d480 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 66 69 6c 65 6e 61 6d 65 20 28 63 6f 6e 63 61 74 ..........(setq.filename.(concat
1d4a0 20 28 63 64 72 20 64 69 72 2d 61 62 62 72 65 76 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(cdr.dir-abbrev)...............
1d4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 75 62 73 74 72 69 6e 67 20 66 69 6c ..................(substring.fil
1d4e0 65 6e 61 6d 65 20 28 6d 61 74 63 68 2d 65 6e 64 20 30 29 29 29 29 29 29 29 0a 0a 28 63 6f 6d 70 ename.(match-end.0)))))))..(comp
1d500 61 74 2d 64 65 66 75 6e 20 66 69 6c 65 2d 6e 61 6d 65 2d 73 70 6c 69 74 20 28 66 69 6c 65 6e 61 at-defun.file-name-split.(filena
1d520 6d 65 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 66 69 6c 65 2d 6e 61 6d 65 2d 73 me).;;.<compat-tests:file-name-s
1d540 70 6c 69 74 3e 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 68 plit>..."Return.a.list.of.all.th
1d560 65 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 6f 66 20 46 49 4c 45 4e 41 4d 45 2e 0a 4f 6e 20 6d 6f 73 e.components.of.FILENAME..On.mos
1d580 74 20 73 79 73 74 65 6d 73 2c 20 74 68 69 73 20 77 69 6c 6c 20 62 65 20 74 72 75 65 3a 0a 0a 20 t.systems,.this.will.be.true:...
1d5a0 20 28 65 71 75 61 6c 20 28 73 74 72 69 6e 67 2d 6a 6f 69 6e 20 28 66 69 6c 65 2d 6e 61 6d 65 2d .(equal.(string-join.(file-name-
1d5c0 73 70 6c 69 74 20 66 69 6c 65 6e 61 6d 65 29 20 5c 22 2f 5c 22 29 20 66 69 6c 65 6e 61 6d 65 29 split.filename).\"/\").filename)
1d5e0 22 0a 20 20 28 6c 65 74 20 28 28 63 6f 6d 70 6f 6e 65 6e 74 73 20 6e 69 6c 29 29 0a 20 20 20 20 "...(let.((components.nil)).....
1d600 3b 3b 20 49 66 20 74 68 69 73 20 69 73 20 61 20 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 20 6e ;;.If.this.is.a.directory.file.n
1d620 61 6d 65 2c 20 74 68 65 6e 20 77 65 20 68 61 76 65 20 61 20 6e 75 6c 6c 20 66 69 6c 65 20 6e 61 ame,.then.we.have.a.null.file.na
1d640 6d 65 0a 20 20 20 20 3b 3b 20 61 74 20 74 68 65 20 65 6e 64 2e 0a 20 20 20 20 28 77 68 65 6e 20 me.....;;.at.the.end......(when.
1d660 28 64 69 72 65 63 74 6f 72 79 2d 6e 61 6d 65 2d 70 20 66 69 6c 65 6e 61 6d 65 29 0a 20 20 20 20 (directory-name-p.filename).....
1d680 20 20 28 70 75 73 68 20 22 22 20 63 6f 6d 70 6f 6e 65 6e 74 73 29 0a 20 20 20 20 20 20 28 73 65 ..(push."".components).......(se
1d6a0 74 71 20 66 69 6c 65 6e 61 6d 65 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 tq.filename.(directory-file-name
1d6c0 20 66 69 6c 65 6e 61 6d 65 29 29 29 0a 20 20 20 20 3b 3b 20 4c 6f 6f 70 2c 20 63 68 6f 70 70 69 .filename))).....;;.Loop,.choppi
1d6e0 6e 67 20 6f 66 66 20 63 6f 6d 70 6f 6e 65 6e 74 73 2e 0a 20 20 20 20 28 77 68 69 6c 65 20 28 6c ng.off.components......(while.(l
1d700 65 6e 67 74 68 3e 20 66 69 6c 65 6e 61 6d 65 20 30 29 0a 20 20 20 20 20 20 28 70 75 73 68 20 28 ength>.filename.0).......(push.(
1d720 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 6e 61 6d 65 29 file-name-nondirectory.filename)
1d740 20 63 6f 6d 70 6f 6e 65 6e 74 73 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 64 69 72 20 28 66 .components).......(let.((dir.(f
1d760 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 6e 61 6d 65 29 29 29 0a 20 ile-name-directory.filename)))..
1d780 20 20 20 20 20 20 20 28 73 65 74 71 20 66 69 6c 65 6e 61 6d 65 20 28 61 6e 64 20 64 69 72 20 28 .......(setq.filename.(and.dir.(
1d7a0 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 20 64 69 72 29 29 29 0a 20 20 20 20 20 directory-file-name.dir)))......
1d7c0 20 20 20 3b 3b 20 49 66 20 74 68 65 72 65 27 73 20 6e 6f 74 68 69 6e 67 20 6c 65 66 74 20 74 6f ...;;.If.there's.nothing.left.to
1d7e0 20 70 65 65 6c 20 6f 66 66 2c 20 77 65 27 72 65 20 61 74 20 74 68 65 20 72 6f 6f 74 20 61 6e 64 .peel.off,.we're.at.the.root.and
1d800 0a 20 20 20 20 20 20 20 20 3b 3b 20 77 65 20 63 61 6e 20 73 74 6f 70 2e 0a 20 20 20 20 20 20 20 .........;;.we.can.stop.........
1d820 20 28 77 68 65 6e 20 28 61 6e 64 20 64 69 72 20 28 65 71 75 61 6c 20 64 69 72 20 66 69 6c 65 6e .(when.(and.dir.(equal.dir.filen
1d840 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 69 66 20 28 65 71 75 61 6c ame))...........(push.(if.(equal
1d860 20 64 69 72 20 22 22 29 20 22 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b .dir."").""...................;;
1d880 20 4f 6e 20 57 69 6e 64 6f 77 73 2c 20 74 68 65 20 66 69 72 73 74 20 63 6f 6d 70 6f 6e 65 6e 74 .On.Windows,.the.first.component
1d8a0 20 6d 69 67 68 74 20 62 65 20 22 63 3a 22 20 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .might.be."c:".or...............
1d8c0 20 20 20 20 3b 3b 20 74 68 65 20 6c 69 6b 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....;;.the.like.................
1d8e0 20 20 20 28 73 75 62 73 74 72 69 6e 67 20 64 69 72 20 30 20 2d 31 29 29 0a 20 20 20 20 20 20 20 ...(substring.dir.0.-1))........
1d900 20 20 20 20 20 20 20 20 20 63 6f 6d 70 6f 6e 65 6e 74 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 .........components)...........(
1d920 73 65 74 71 20 66 69 6c 65 6e 61 6d 65 20 6e 69 6c 29 29 29 29 0a 20 20 20 20 63 6f 6d 70 6f 6e setq.filename.nil)))).....compon
1d940 65 6e 74 73 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 66 69 6c 65 2d 61 74 74 72 69 ents))..(compat-defun.file-attri
1d960 62 75 74 65 2d 66 69 6c 65 2d 69 64 65 6e 74 69 66 69 65 72 20 28 61 74 74 72 69 62 75 74 65 73 bute-file-identifier.(attributes
1d980 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 66 69 6c 65 2d 61 74 74 72 69 62 75 74 ).;;.<compat-tests:file-attribut
1d9a0 65 2d 67 65 74 74 65 72 73 3e 0a 20 20 22 54 68 65 20 69 6e 6f 64 65 20 61 6e 64 20 64 65 76 69 e-getters>..."The.inode.and.devi
1d9c0 63 65 20 6e 75 6d 62 65 72 73 20 69 6e 20 41 54 54 52 49 42 55 54 45 53 20 72 65 74 75 72 6e 65 ce.numbers.in.ATTRIBUTES.returne
1d9e0 64 20 62 79 20 60 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 73 27 2e 0a 54 68 65 20 76 61 6c 75 d.by.`file-attributes'..The.valu
1da00 65 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 28 49 4e 4f 44 45 4e 55 e.is.a.list.of.the.form.(INODENU
1da20 4d 20 44 45 56 49 43 45 29 2c 20 77 68 65 72 65 20 44 45 56 49 43 45 20 63 6f 75 6c 64 20 62 65 M.DEVICE),.where.DEVICE.could.be
1da40 0a 65 69 74 68 65 72 20 61 20 73 69 6e 67 6c 65 20 6e 75 6d 62 65 72 20 6f 72 20 61 20 63 6f 6e .either.a.single.number.or.a.con
1da60 73 20 63 65 6c 6c 20 6f 66 20 74 77 6f 20 6e 75 6d 62 65 72 73 2e 0a 54 68 69 73 20 74 75 70 6c s.cell.of.two.numbers..This.tupl
1da80 65 20 6f 66 20 6e 75 6d 62 65 72 73 20 75 6e 69 71 75 65 6c 79 20 69 64 65 6e 74 69 66 69 65 73 e.of.numbers.uniquely.identifies
1daa0 20 74 68 65 20 66 69 6c 65 2e 22 0a 20 20 28 6e 74 68 63 64 72 20 31 30 20 61 74 74 72 69 62 75 .the.file."...(nthcdr.10.attribu
1dac0 74 65 73 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 66 69 6c 65 2d 6e 61 6d 65 2d 70 tes))..(compat-defun.file-name-p
1dae0 61 72 65 6e 74 2d 64 69 72 65 63 74 6f 72 79 20 28 66 69 6c 65 6e 61 6d 65 29 20 3b 3b 20 3c 63 arent-directory.(filename).;;.<c
1db00 6f 6d 70 61 74 2d 74 65 73 74 73 3a 66 69 6c 65 2d 6e 61 6d 65 2d 70 61 72 65 6e 74 2d 64 69 72 ompat-tests:file-name-parent-dir
1db20 65 63 74 6f 72 79 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 ectory>..."Return.the.directory.
1db40 6e 61 6d 65 20 6f 66 20 74 68 65 20 70 61 72 65 6e 74 20 64 69 72 65 63 74 6f 72 79 20 6f 66 20 name.of.the.parent.directory.of.
1db60 46 49 4c 45 4e 41 4d 45 2e 0a 49 66 20 46 49 4c 45 4e 41 4d 45 20 69 73 20 61 74 20 74 68 65 20 FILENAME..If.FILENAME.is.at.the.
1db80 72 6f 6f 74 20 6f 66 20 74 68 65 20 66 69 6c 65 73 79 73 74 65 6d 2c 20 72 65 74 75 72 6e 20 6e root.of.the.filesystem,.return.n
1dba0 69 6c 2e 0a 49 66 20 46 49 4c 45 4e 41 4d 45 20 69 73 20 72 65 6c 61 74 69 76 65 2c 20 69 74 20 il..If.FILENAME.is.relative,.it.
1dbc0 69 73 20 69 6e 74 65 72 70 72 65 74 65 64 20 74 6f 20 62 65 20 72 65 6c 61 74 69 76 65 0a 74 6f is.interpreted.to.be.relative.to
1dbe0 20 60 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 27 2c 20 61 6e 64 20 74 68 65 20 72 65 .`default-directory',.and.the.re
1dc00 73 75 6c 74 20 77 69 6c 6c 20 61 6c 73 6f 20 62 65 20 72 65 6c 61 74 69 76 65 2e 22 0a 20 20 28 sult.will.also.be.relative."...(
1dc20 6c 65 74 2a 20 28 28 65 78 70 61 6e 64 65 64 2d 66 69 6c 65 6e 61 6d 65 20 28 65 78 70 61 6e 64 let*.((expanded-filename.(expand
1dc40 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 -file-name.filename))..........(
1dc60 70 61 72 65 6e 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 28 64 69 72 parent.(file-name-directory.(dir
1dc80 65 63 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 20 65 78 70 61 6e 64 65 64 2d 66 69 6c 65 6e 61 ectory-file-name.expanded-filena
1dca0 6d 65 29 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 3b 3b 20 66 69 6c 65 6e 61 6d me)))).....(cond......;;.filenam
1dcc0 65 20 69 73 20 61 74 20 74 6f 70 2d 6c 65 76 65 6c 2c 20 74 68 65 72 65 66 6f 72 65 20 6e 6f 20 e.is.at.top-level,.therefore.no.
1dce0 70 61 72 65 6e 74 0a 20 20 20 20 20 28 28 6f 72 20 28 6e 75 6c 6c 20 70 61 72 65 6e 74 29 0a 20 parent......((or.(null.parent)..
1dd00 20 20 20 20 20 20 20 20 20 3b 3b 20 60 65 71 75 61 6c 27 20 69 73 20 65 6e 6f 75 67 68 2c 20 77 .........;;.`equal'.is.enough,.w
1dd20 65 20 64 6f 6e 27 74 20 6e 65 65 64 20 74 6f 20 72 65 73 6f 6c 76 65 20 73 79 6d 6c 69 6e 6b 73 e.don't.need.to.resolve.symlinks
1dd40 20 68 65 72 65 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 77 69 74 68 20 60 66 69 6c 65 2d 65 71 .here...........;;.with.`file-eq
1dd60 75 61 6c 2d 70 27 2c 20 61 6c 73 6f 20 66 6f 72 20 70 65 72 66 6f 72 6d 61 6e 63 65 0a 20 20 20 ual-p',.also.for.performance....
1dd80 20 20 20 20 20 20 20 28 65 71 75 61 6c 20 70 61 72 65 6e 74 20 65 78 70 61 6e 64 65 64 2d 66 69 .......(equal.parent.expanded-fi
1dda0 6c 65 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 6e 69 6c 29 0a 20 20 20 20 20 3b 3b 20 66 69 6c 65 lename)).......nil)......;;.file
1ddc0 6e 61 6d 65 20 69 73 20 72 65 6c 61 74 69 76 65 2c 20 72 65 74 75 72 6e 20 72 65 6c 61 74 69 76 name.is.relative,.return.relativ
1dde0 65 20 70 61 72 65 6e 74 0a 20 20 20 20 20 28 28 6e 6f 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 61 e.parent......((not.(file-name-a
1de00 62 73 6f 6c 75 74 65 2d 70 20 66 69 6c 65 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 28 66 69 6c 65 bsolute-p.filename)).......(file
1de20 2d 72 65 6c 61 74 69 76 65 2d 6e 61 6d 65 20 70 61 72 65 6e 74 29 29 0a 20 20 20 20 20 28 74 0a -relative-name.parent))......(t.
1de40 20 20 20 20 20 20 70 61 72 65 6e 74 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 76 61 72 ......parent))))..(compat-defvar
1de60 20 66 69 6c 65 2d 68 61 73 2d 63 68 61 6e 67 65 64 2d 70 2d 2d 68 61 73 68 2d 74 61 62 6c 65 20 .file-has-changed-p--hash-table.
1de80 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 66 69 6c 65 2d 68 61 73 2d 63 68 61 6e 67 65 ;;.<compat-tests:file-has-change
1dea0 64 2d 70 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 d-p>................(make-hash-t
1dec0 61 62 6c 65 20 3a 74 65 73 74 20 23 27 65 71 75 61 6c 29 0a 20 20 22 49 6e 74 65 72 6e 61 6c 20 able.:test.#'equal)..."Internal.
1dee0 76 61 72 69 61 62 6c 65 20 75 73 65 64 20 62 79 20 60 66 69 6c 65 2d 68 61 73 2d 63 68 61 6e 67 variable.used.by.`file-has-chang
1df00 65 64 2d 70 27 2e 22 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 66 69 6c 65 2d 68 61 73 ed-p'.")..(compat-defun.file-has
1df20 2d 63 68 61 6e 67 65 64 2d 70 20 28 66 69 6c 65 20 26 6f 70 74 69 6f 6e 61 6c 20 74 61 67 29 20 -changed-p.(file.&optional.tag).
1df40 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 66 69 6c 65 2d 68 61 73 2d 63 68 61 6e 67 65 ;;.<compat-tests:file-has-change
1df60 64 2d 70 3e 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 46 49 4c 45 20 68 d-p>..."Return.non-nil.if.FILE.h
1df80 61 73 20 63 68 61 6e 67 65 64 2e 0a 54 68 65 20 73 69 7a 65 20 61 6e 64 20 6d 6f 64 69 66 69 63 as.changed..The.size.and.modific
1dfa0 61 74 69 6f 6e 20 74 69 6d 65 20 6f 66 20 46 49 4c 45 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 ation.time.of.FILE.are.compared.
1dfc0 74 6f 20 74 68 65 20 73 69 7a 65 0a 61 6e 64 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 74 69 6d to.the.size.and.modification.tim
1dfe0 65 20 6f 66 20 74 68 65 20 73 61 6d 65 20 46 49 4c 45 20 64 75 72 69 6e 67 20 61 20 70 72 65 76 e.of.the.same.FILE.during.a.prev
1e000 69 6f 75 73 0a 69 6e 76 6f 63 61 74 69 6f 6e 20 6f 66 20 60 66 69 6c 65 2d 68 61 73 2d 63 68 61 ious.invocation.of.`file-has-cha
1e020 6e 67 65 64 2d 70 27 2e 20 20 54 68 75 73 2c 20 74 68 65 20 66 69 72 73 74 20 69 6e 76 6f 63 61 nged-p'...Thus,.the.first.invoca
1e040 74 69 6f 6e 0a 6f 66 20 60 66 69 6c 65 2d 68 61 73 2d 63 68 61 6e 67 65 64 2d 70 27 20 61 6c 77 tion.of.`file-has-changed-p'.alw
1e060 61 79 73 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d 6e 69 6c 20 77 68 65 6e 20 46 49 4c 45 20 65 78 ays.returns.non-nil.when.FILE.ex
1e080 69 73 74 73 2e 0a 54 68 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 54 41 47 2c ists..The.optional.argument.TAG,
1e0a0 20 77 68 69 63 68 20 6d 75 73 74 20 62 65 20 61 20 73 79 6d 62 6f 6c 2c 20 63 61 6e 20 62 65 20 .which.must.be.a.symbol,.can.be.
1e0c0 75 73 65 64 20 74 6f 0a 6c 69 6d 69 74 20 74 68 65 20 63 6f 6d 70 61 72 69 73 6f 6e 20 74 6f 20 used.to.limit.the.comparison.to.
1e0e0 69 6e 76 6f 63 61 74 69 6f 6e 73 20 77 69 74 68 20 69 64 65 6e 74 69 63 61 6c 20 74 61 67 73 3b invocations.with.identical.tags;
1e100 20 69 74 20 63 61 6e 20 62 65 0a 74 68 65 20 73 79 6d 62 6f 6c 20 6f 66 20 74 68 65 20 63 61 6c .it.can.be.the.symbol.of.the.cal
1e120 6c 69 6e 67 20 66 75 6e 63 74 69 6f 6e 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 2e 22 0a 20 20 28 ling.function,.for.example."...(
1e140 6c 65 74 2a 20 28 28 66 69 6c 65 20 28 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 let*.((file.(directory-file-name
1e160 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 29 29 29 0a 20 20 20 20 20 .(expand-file-name.file)))......
1e180 20 20 20 20 28 72 65 6d 6f 74 65 2d 66 69 6c 65 2d 6e 61 6d 65 2d 69 6e 68 69 62 69 74 2d 63 61 ....(remote-file-name-inhibit-ca
1e1a0 63 68 65 20 74 29 0a 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 61 74 74 72 20 28 66 69 6c 65 2d che.t)..........(fileattr.(file-
1e1c0 61 74 74 72 69 62 75 74 65 73 20 66 69 6c 65 20 27 69 6e 74 65 67 65 72 29 29 0a 20 20 20 20 20 attributes.file.'integer))......
1e1e0 20 20 20 20 28 61 74 74 72 20 28 61 6e 64 20 66 69 6c 65 61 74 74 72 0a 20 20 20 20 20 20 20 20 ....(attr.(and.fileattr.........
1e200 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 66 69 6c 65 2d 61 74 74 72 69 62 75 74 ............(cons.(file-attribut
1e220 65 2d 73 69 7a 65 20 66 69 6c 65 61 74 74 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e-size.fileattr)................
1e240 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 6d 6f 64 69 66 ...........(file-attribute-modif
1e260 69 63 61 74 69 6f 6e 2d 74 69 6d 65 20 66 69 6c 65 61 74 74 72 29 29 29 29 0a 20 20 20 20 20 20 ication-time.fileattr)))).......
1e280 20 20 20 28 73 79 6d 20 28 63 6f 6e 63 61 74 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 74 61 67 ...(sym.(concat.(symbol-name.tag
1e2a0 29 20 22 40 22 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 61 63 68 65 64 61 74 74 )."@".file))..........(cachedatt
1e2c0 72 20 28 67 65 74 68 61 73 68 20 73 79 6d 20 66 69 6c 65 2d 68 61 73 2d 63 68 61 6e 67 65 64 2d r.(gethash.sym.file-has-changed-
1e2e0 70 2d 2d 68 61 73 68 2d 74 61 62 6c 65 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 p--hash-table))).....(unless.(eq
1e300 75 61 6c 20 61 74 74 72 20 63 61 63 68 65 64 61 74 74 72 29 0a 20 20 20 20 20 20 28 70 75 74 68 ual.attr.cachedattr).......(puth
1e320 61 73 68 20 73 79 6d 20 61 74 74 72 20 66 69 6c 65 2d 68 61 73 2d 63 68 61 6e 67 65 64 2d 70 2d ash.sym.attr.file-has-changed-p-
1e340 2d 68 61 73 68 2d 74 61 62 6c 65 29 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e -hash-table))))..;;;;.Defined.in
1e360 20 6b 65 79 6d 61 70 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 6b 65 79 2d 76 61 .keymap.el..(compat-defun.key-va
1e380 6c 69 64 2d 70 20 28 6b 65 79 73 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 6b 65 lid-p.(keys).;;.<compat-tests:ke
1e3a0 79 2d 76 61 6c 69 64 2d 70 3e 0a 20 20 22 53 61 79 20 77 68 65 74 68 65 72 20 4b 45 59 53 20 69 y-valid-p>..."Say.whether.KEYS.i
1e3c0 73 20 61 20 76 61 6c 69 64 20 6b 65 79 2e 0a 41 20 6b 65 79 20 69 73 20 61 20 73 74 72 69 6e 67 s.a.valid.key..A.key.is.a.string
1e3e0 20 63 6f 6e 73 69 73 74 69 6e 67 20 6f 66 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6b 65 79 20 73 .consisting.of.one.or.more.key.s
1e400 74 72 6f 6b 65 73 2e 0a 54 68 65 20 6b 65 79 20 73 74 72 6f 6b 65 73 20 61 72 65 20 73 65 70 61 trokes..The.key.strokes.are.sepa
1e420 72 61 74 65 64 20 62 79 20 73 69 6e 67 6c 65 20 73 70 61 63 65 20 63 68 61 72 61 63 74 65 72 73 rated.by.single.space.characters
1e440 2e 0a 0a 45 61 63 68 20 6b 65 79 20 73 74 72 6f 6b 65 20 69 73 20 65 69 74 68 65 72 20 61 20 73 ...Each.key.stroke.is.either.a.s
1e460 69 6e 67 6c 65 20 63 68 61 72 61 63 74 65 72 2c 20 6f 72 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 ingle.character,.or.the.name.of.
1e480 61 6e 0a 65 76 65 6e 74 2c 20 73 75 72 72 6f 75 6e 64 65 64 20 62 79 20 61 6e 67 6c 65 20 62 72 an.event,.surrounded.by.angle.br
1e4a0 61 63 6b 65 74 73 2e 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 61 6e 79 20 6b 65 79 20 73 74 ackets...In.addition,.any.key.st
1e4c0 72 6f 6b 65 0a 6d 61 79 20 62 65 20 70 72 65 63 65 64 65 64 20 62 79 20 6f 6e 65 20 6f 72 20 6d roke.may.be.preceded.by.one.or.m
1e4e0 6f 72 65 20 6d 6f 64 69 66 69 65 72 20 6b 65 79 73 2e 20 20 46 69 6e 61 6c 6c 79 2c 20 61 20 6c ore.modifier.keys...Finally,.a.l
1e500 69 6d 69 74 65 64 0a 6e 75 6d 62 65 72 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 20 68 61 76 65 imited.number.of.characters.have
1e520 20 61 20 73 70 65 63 69 61 6c 20 73 68 6f 72 74 68 61 6e 64 20 73 79 6e 74 61 78 2e 0a 0a 48 65 .a.special.shorthand.syntax...He
1e540 72 65 27 73 20 73 6f 6d 65 20 65 78 61 6d 70 6c 65 20 6b 65 79 20 73 65 71 75 65 6e 63 65 73 2e re's.some.example.key.sequences.
1e560 0a 0a 20 20 5c 22 66 5c 22 20 20 20 20 20 20 20 20 20 20 20 28 74 68 65 20 6b 65 79 20 60 66 27 ....\"f\"...........(the.key.`f'
1e580 29 0a 20 20 5c 22 53 20 6f 20 6d 5c 22 20 20 20 20 20 20 20 28 61 20 74 68 72 65 65 20 6b 65 79 )...\"S.o.m\".......(a.three.key
1e5a0 20 73 65 71 75 65 6e 63 65 20 6f 66 20 74 68 65 20 6b 65 79 73 20 60 53 27 2c 20 60 6f 27 20 61 .sequence.of.the.keys.`S',.`o'.a
1e5c0 6e 64 20 60 6d 27 29 0a 20 20 5c 22 43 2d 63 20 6f 5c 22 20 20 20 20 20 20 20 28 61 20 74 77 6f nd.`m')...\"C-c.o\".......(a.two
1e5e0 20 6b 65 79 20 73 65 71 75 65 6e 63 65 20 6f 66 20 74 68 65 20 6b 65 79 73 20 60 63 27 20 77 69 .key.sequence.of.the.keys.`c'.wi
1e600 74 68 20 74 68 65 20 63 6f 6e 74 72 6f 6c 20 6d 6f 64 69 66 69 65 72 0a 20 20 20 20 20 20 20 20 th.the.control.modifier.........
1e620 20 20 20 20 20 20 20 20 20 61 6e 64 20 74 68 65 6e 20 74 68 65 20 6b 65 79 20 60 6f 27 29 0a 20 .........and.then.the.key.`o')..
1e640 20 5c 22 48 2d 3c 6c 65 66 74 3e 5c 22 20 20 20 20 28 74 68 65 20 6b 65 79 20 6e 61 6d 65 64 20 .\"H-<left>\"....(the.key.named.
1e660 5c 22 6c 65 66 74 5c 22 20 77 69 74 68 20 74 68 65 20 68 79 70 65 72 20 6d 6f 64 69 66 69 65 72 \"left\".with.the.hyper.modifier
1e680 29 0a 20 20 5c 22 4d 2d 52 45 54 5c 22 20 20 20 20 20 20 20 28 74 68 65 20 5c 22 72 65 74 75 72 )...\"M-RET\".......(the.\"retur
1e6a0 6e 5c 22 20 6b 65 79 20 77 69 74 68 20 61 20 6d 65 74 61 20 6d 6f 64 69 66 69 65 72 29 0a 20 20 n\".key.with.a.meta.modifier)...
1e6c0 5c 22 43 2d 4d 2d 3c 73 70 61 63 65 3e 5c 22 20 28 74 68 65 20 5c 22 73 70 61 63 65 5c 22 20 6b \"C-M-<space>\".(the.\"space\".k
1e6e0 65 79 20 77 69 74 68 20 62 6f 74 68 20 74 68 65 20 63 6f 6e 74 72 6f 6c 20 61 6e 64 20 6d 65 74 ey.with.both.the.control.and.met
1e700 61 20 6d 6f 64 69 66 69 65 72 73 29 0a 0a 54 68 65 73 65 20 61 72 65 20 74 68 65 20 63 68 61 72 a.modifiers)..These.are.the.char
1e720 61 63 74 65 72 73 20 74 68 61 74 20 68 61 76 65 20 73 68 6f 72 74 68 61 6e 64 20 73 79 6e 74 61 acters.that.have.shorthand.synta
1e740 78 3a 0a 4e 55 4c 2c 20 52 45 54 2c 20 54 41 42 2c 20 4c 46 44 2c 20 45 53 43 2c 20 53 50 43 2c x:.NUL,.RET,.TAB,.LFD,.ESC,.SPC,
1e760 20 44 45 4c 2e 0a 0a 4d 6f 64 69 66 69 65 72 73 20 68 61 76 65 20 74 6f 20 62 65 20 73 70 65 63 .DEL...Modifiers.have.to.be.spec
1e780 69 66 69 65 64 20 69 6e 20 74 68 69 73 20 6f 72 64 65 72 3a 0a 0a 20 20 20 41 2d 43 2d 48 2d 4d ified.in.this.order:.....A-C-H-M
1e7a0 2d 53 2d 73 0a 0a 77 68 69 63 68 20 69 73 0a 0a 20 20 20 41 6c 74 2d 43 6f 6e 74 72 6f 6c 2d 48 -S-s..which.is.....Alt-Control-H
1e7c0 79 70 65 72 2d 4d 65 74 61 2d 53 68 69 66 74 2d 73 75 70 65 72 22 0a 20 20 28 64 65 63 6c 61 72 yper-Meta-Shift-super"...(declar
1e7e0 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 e.(pure.t).(side-effect-free.t))
1e800 0a 20 20 28 6c 65 74 20 28 28 63 61 73 65 2d 66 6f 6c 64 2d 73 65 61 72 63 68 20 6e 69 6c 29 29 ...(let.((case-fold-search.nil))
1e820 0a 20 20 20 20 28 61 6e 64 0a 20 20 20 20 20 28 73 74 72 69 6e 67 70 20 6b 65 79 73 29 0a 20 20 .....(and......(stringp.keys)...
1e840 20 20 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5c 5c 60 5b 5e 20 5d 2b 5c 5c 28 20 ...(string-match-p."\\`[^.]+\\(.
1e860 5b 5e 20 5d 2b 5c 5c 29 2a 5c 5c 27 22 20 6b 65 79 73 29 0a 20 20 20 20 20 28 73 61 76 65 2d 6d [^.]+\\)*\\'".keys)......(save-m
1e880 61 74 63 68 2d 64 61 74 61 0a 20 20 20 20 20 20 20 28 63 61 74 63 68 20 27 65 78 69 74 0a 20 20 atch-data........(catch.'exit...
1e8a0 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 70 72 65 66 69 78 65 73 0a 20 20 20 20 20 20 20 20 20 .......(let.((prefixes..........
1e8c0 20 20 20 20 20 20 20 22 5c 5c 28 41 2d 5c 5c 29 3f 5c 5c 28 43 2d 5c 5c 29 3f 5c 5c 28 48 2d 5c ......."\\(A-\\)?\\(C-\\)?\\(H-\
1e8e0 5c 29 3f 5c 5c 28 4d 2d 5c 5c 29 3f 5c 5c 28 53 2d 5c 5c 29 3f 5c 5c 28 73 2d 5c 5c 29 3f 22 29 \)?\\(M-\\)?\\(S-\\)?\\(s-\\)?")
1e900 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 6b 65 79 20 28 73 70 6c 69 74 )............(dolist.(key.(split
1e920 2d 73 74 72 69 6e 67 20 6b 65 79 73 20 22 20 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 -string.keys."."))..............
1e940 3b 3b 20 45 76 65 72 79 20 6b 65 79 20 6d 69 67 68 74 20 68 61 76 65 20 74 68 65 73 65 20 6d 6f ;;.Every.key.might.have.these.mo
1e960 64 69 66 69 65 72 73 2c 20 61 6e 64 20 74 68 65 79 20 73 68 6f 75 6c 64 20 62 65 0a 20 20 20 20 difiers,.and.they.should.be.....
1e980 20 20 20 20 20 20 20 20 20 3b 3b 20 69 6e 20 74 68 69 73 20 6f 72 64 65 72 2e 0a 20 20 20 20 20 .........;;.in.this.order.......
1e9a0 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 28 63 6f 6e ........(when.(string-match.(con
1e9c0 63 61 74 20 22 5c 5c 60 22 20 70 72 65 66 69 78 65 73 29 20 6b 65 79 29 0a 20 20 20 20 20 20 20 cat."\\`".prefixes).key)........
1e9e0 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6b 65 79 20 28 73 75 62 73 74 72 69 6e 67 20 6b 65 79 ........(setq.key.(substring.key
1ea00 20 28 6d 61 74 63 68 2d 65 6e 64 20 30 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 .(match-end.0))))..............(
1ea20 75 6e 6c 65 73 73 20 28 6f 72 20 28 61 6e 64 20 28 3d 20 28 6c 65 6e 67 74 68 20 6b 65 79 29 20 unless.(or.(and.(=.(length.key).
1ea40 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 1)..............................
1ea60 20 3b 3b 20 44 6f 6e 27 74 20 61 63 63 65 70 74 20 63 6f 6e 74 72 6f 6c 20 63 68 61 72 61 63 74 .;;.Don't.accept.control.charact
1ea80 65 72 73 20 61 73 20 6b 65 79 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ers.as.keys.....................
1eaa0 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 3c 20 28 61 72 65 66 20 6b 65 79 20 30 29 20 ...........(not.(<.(aref.key.0).
1eac0 3f 5c 73 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 ?\s))...........................
1eae0 20 20 20 20 3b 3b 20 44 6f 6e 27 74 20 61 63 63 65 70 74 20 4d 65 74 61 27 64 20 63 68 61 72 61 ....;;.Don't.accept.Meta'd.chara
1eb00 63 74 65 72 73 20 61 73 20 6b 65 79 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 cters.as.keys...................
1eb20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 28 6d 75 6c 74 69 62 79 74 65 2d 73 74 72 69 .............(or.(multibyte-stri
1eb40 6e 67 2d 70 20 6b 65 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ng-p.key).......................
1eb60 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 3c 3d 20 31 32 37 20 28 61 72 65 66 20 6b ............(not.(<=.127.(aref.k
1eb80 65 79 20 30 29 20 32 35 35 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ey.0).255))))...................
1eba0 20 20 20 20 20 20 20 28 61 6e 64 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5c 5c 60 .......(and.(string-match-p."\\`
1ebc0 3c 5b 2d 5f 41 2d 5a 61 2d 7a 30 2d 39 5d 2b 3e 5c 5c 27 22 20 6b 65 79 29 0a 20 20 20 20 20 20 <[-_A-Za-z0-9]+>\\'".key).......
1ebe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 44 6f 6e 27 74 ........................;;.Don't
1ec00 20 61 6c 6c 6f 77 20 3c 4d 2d 43 2d 64 6f 77 6e 3e 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .allow.<M-C-down>...............
1ec20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3d 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 .................(=.(progn......
1ec40 20 20 20 20 20 20 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 ..............................(s
1ec60 74 72 69 6e 67 2d 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 tring-match.....................
1ec80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 5c 5c 60 3c 22 20 70 ................(concat."\\`<".p
1eca0 72 65 66 69 78 65 73 29 20 6b 65 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 refixes).key)...................
1ecc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 2d 65 6e 64 20 30 29 29 0a .................(match-end.0)).
1ece0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1ed00 20 31 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 28 73 .1))..........................(s
1ed20 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tring-match-p...................
1ed40 20 20 20 20 20 20 20 20 22 5c 5c 60 5c 5c 28 4e 55 4c 5c 5c 7c 52 45 54 5c 5c 7c 54 41 42 5c 5c ........"\\`\\(NUL\\|RET\\|TAB\\
1ed60 7c 4c 46 44 5c 5c 7c 45 53 43 5c 5c 7c 53 50 43 5c 5c 7c 44 45 4c 5c 5c 29 5c 5c 27 22 0a 20 20 |LFD\\|ESC\\|SPC\\|DEL\\)\\'"...
1ed80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6b 65 79 29 29 0a 20 20 ........................key))...
1eda0 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 6e 76 61 6c 69 64 2e 0a 20 20 20 20 20 20 20 .............;;.Invalid.........
1edc0 20 20 20 20 20 20 20 20 28 74 68 72 6f 77 20 27 65 78 69 74 20 6e 69 6c 29 29 29 0a 20 20 20 20 ........(throw.'exit.nil))).....
1ede0 20 20 20 20 20 20 20 74 29 29 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 6b 65 .......t))))))..(compat-defun.ke
1ee00 79 6d 61 70 2d 2d 63 68 65 63 6b 20 28 6b 65 79 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 ymap--check.(key).;;.<compat-tes
1ee20 74 73 3a 6b 65 79 6d 61 70 2d 2d 63 68 65 63 6b 3e 0a 20 20 22 53 69 67 6e 61 6c 20 61 6e 20 65 ts:keymap--check>..."Signal.an.e
1ee40 72 72 6f 72 20 69 66 20 4b 45 59 20 64 6f 65 73 6e 27 74 20 68 61 76 65 20 61 20 76 61 6c 69 64 rror.if.KEY.doesn't.have.a.valid
1ee60 20 73 79 6e 74 61 78 2e 22 0a 20 20 28 75 6e 6c 65 73 73 20 28 6b 65 79 2d 76 61 6c 69 64 2d 70 .syntax."...(unless.(key-valid-p
1ee80 20 6b 65 79 29 0a 20 20 20 20 28 65 72 72 6f 72 20 22 25 53 20 69 73 20 6e 6f 74 20 61 20 76 61 .key).....(error."%S.is.not.a.va
1eea0 6c 69 64 20 6b 65 79 20 64 65 66 69 6e 69 74 69 6f 6e 3b 20 73 65 65 20 60 6b 65 79 2d 76 61 6c lid.key.definition;.see.`key-val
1eec0 69 64 2d 70 27 22 20 6b 65 79 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 6b 65 79 id-p'".key)))..(compat-defun.key
1eee0 2d 70 61 72 73 65 20 28 6b 65 79 73 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 6b -parse.(keys).;;.<compat-tests:k
1ef00 65 79 2d 70 61 72 73 65 3e 0a 20 20 22 43 6f 6e 76 65 72 74 20 4b 45 59 53 20 74 6f 20 74 68 65 ey-parse>..."Convert.KEYS.to.the
1ef20 20 69 6e 74 65 72 6e 61 6c 20 45 6d 61 63 73 20 6b 65 79 20 72 65 70 72 65 73 65 6e 74 61 74 69 .internal.Emacs.key.representati
1ef40 6f 6e 2e 0a 53 65 65 20 60 6b 62 64 27 20 66 6f 72 20 61 20 64 65 73 63 72 69 70 69 6f 6e 20 6f on..See.`kbd'.for.a.descripion.o
1ef60 66 20 4b 45 59 53 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 f.KEYS."...(declare.(pure.t).(si
1ef80 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 74 29 29 0a 20 20 3b 3b 20 41 20 70 75 72 65 20 66 de-effect-free.t))...;;.A.pure.f
1efa0 75 6e 63 74 69 6f 6e 20 69 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 70 72 65 73 65 72 76 65 20 unction.is.expected.to.preserve.
1efc0 74 68 65 20 6d 61 74 63 68 20 64 61 74 61 2e 0a 20 20 28 73 61 76 65 2d 6d 61 74 63 68 2d 64 61 the.match.data....(save-match-da
1efe0 74 61 0a 20 20 20 20 28 6c 65 74 20 28 28 63 61 73 65 2d 66 6f 6c 64 2d 73 65 61 72 63 68 20 6e ta.....(let.((case-fold-search.n
1f000 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 6e 20 28 6c 65 6e 67 74 68 20 6b 65 79 73 29 il)...........(len.(length.keys)
1f020 29 20 3b 20 57 65 20 77 6f 6e 27 74 20 61 6c 74 65 72 20 6b 65 79 73 20 69 6e 20 74 68 65 20 6c ).;.We.won't.alter.keys.in.the.l
1f040 6f 6f 70 20 62 65 6c 6f 77 2e 0a 20 20 20 20 20 20 20 20 20 20 28 70 6f 73 20 30 29 0a 20 20 20 oop.below............(pos.0)....
1f060 20 20 20 20 20 20 20 28 72 65 73 20 5b 5d 29 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 61 .......(res.[])).......(while.(a
1f080 6e 64 20 28 3c 20 70 6f 73 20 6c 65 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nd.(<.pos.len)..................
1f0a0 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5b 5e 20 5c 74 5c 6e 5c 66 5d 2b 22 20 6b 65 79 .(string-match."[^.\t\n\f]+".key
1f0c0 73 20 70 6f 73 29 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 77 6f 72 64 2d 62 65 67 s.pos)).........(let*.((word-beg
1f0e0 20 28 6d 61 74 63 68 2d 62 65 67 69 6e 6e 69 6e 67 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 .(match-beginning.0))...........
1f100 20 20 20 20 20 28 77 6f 72 64 2d 65 6e 64 20 28 6d 61 74 63 68 2d 65 6e 64 20 30 29 29 0a 20 20 .....(word-end.(match-end.0))...
1f120 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 6f 72 64 20 28 73 75 62 73 74 72 69 6e 67 20 6b 65 .............(word.(substring.ke
1f140 79 73 20 77 6f 72 64 2d 62 65 67 20 6c 65 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ys.word-beg.len))...............
1f160 20 28 74 69 6d 65 73 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6b 65 79 29 0a 20 .(times.1)................key)..
1f180 20 20 20 20 20 20 20 20 20 3b 3b 20 54 72 79 20 74 6f 20 63 61 74 63 68 20 65 76 65 6e 74 73 20 .........;;.Try.to.catch.events.
1f1a0 6f 66 20 74 68 65 20 66 6f 72 6d 20 22 3c 61 73 20 64 66 3e 22 2e 0a 20 20 20 20 20 20 20 20 20 of.the.form."<as.df>"...........
1f1c0 20 28 69 66 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 5c 60 3c 5b 5e 20 3c 3e 5c 74 5c .(if.(string-match."\\`<[^.<>\t\
1f1e0 6e 5c 66 5d 5b 5e 3e 5c 74 5c 6e 5c 66 5d 2a 3e 22 20 77 6f 72 64 29 0a 20 20 20 20 20 20 20 20 n\f][^>\t\n\f]*>".word).........
1f200 20 20 20 20 20 20 28 73 65 74 71 20 77 6f 72 64 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 30 ......(setq.word.(match-string.0
1f220 20 77 6f 72 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 73 20 28 .word).....................pos.(
1f240 2b 20 77 6f 72 64 2d 62 65 67 20 28 6d 61 74 63 68 2d 65 6e 64 20 30 29 29 29 0a 20 20 20 20 20 +.word-beg.(match-end.0)))......
1f260 20 20 20 20 20 20 20 28 73 65 74 71 20 77 6f 72 64 20 28 73 75 62 73 74 72 69 6e 67 20 6b 65 79 .......(setq.word.(substring.key
1f280 73 20 77 6f 72 64 2d 62 65 67 20 77 6f 72 64 2d 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 s.word-beg.word-end)............
1f2a0 20 20 20 20 20 20 20 70 6f 73 20 77 6f 72 64 2d 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 .......pos.word-end))...........
1f2c0 28 77 68 65 6e 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 5c 28 5b 30 2d 39 5d 2b 5c 5c (when.(string-match."\\([0-9]+\\
1f2e0 29 5c 5c 2a 2e 22 20 77 6f 72 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 74 )\\*.".word).............(setq.t
1f300 69 6d 65 73 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6e 75 6d 62 65 72 20 28 73 75 62 73 74 72 69 6e imes.(string-to-number.(substrin
1f320 67 20 77 6f 72 64 20 30 20 28 6d 61 74 63 68 2d 65 6e 64 20 31 29 29 29 29 0a 20 20 20 20 20 20 g.word.0.(match-end.1)))).......
1f340 20 20 20 20 20 20 28 73 65 74 71 20 77 6f 72 64 20 28 73 75 62 73 74 72 69 6e 67 20 77 6f 72 64 ......(setq.word.(substring.word
1f360 20 28 31 2b 20 28 6d 61 74 63 68 2d 65 6e 64 20 31 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 .(1+.(match-end.1)))))..........
1f380 20 28 63 6f 6e 64 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5e 3c 3c 2e 2b 3e 3e 24 22 .(cond.((string-match."^<<.+>>$"
1f3a0 20 77 6f 72 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6b 65 .word)..................(setq.ke
1f3c0 79 20 28 76 63 6f 6e 63 61 74 20 28 69 66 20 28 65 71 20 28 6b 65 79 2d 62 69 6e 64 69 6e 67 20 y.(vconcat.(if.(eq.(key-binding.
1f3e0 5b 3f 5c 4d 2d 78 5d 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 [?\M-x])........................
1f400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 65 78 65 63 75 74 65 2d 65 78 .....................'execute-ex
1f420 74 65 6e 64 65 64 2d 63 6f 6d 6d 61 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tended-command).................
1f440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 3f 5c 4d 2d 78 5d 0a ........................[?\M-x].
1f460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1f480 20 20 20 20 20 20 28 6f 72 20 28 63 61 72 20 28 77 68 65 72 65 2d 69 73 2d 69 6e 74 65 72 6e 61 ......(or.(car.(where-is-interna
1f4a0 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 l...............................
1f4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 65 78 65 63 75 74 65 2d 65 78 74 65 6e ..................'execute-exten
1f4e0 64 65 64 2d 63 6f 6d 6d 61 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ded-command))...................
1f500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 3f 5c 4d 2d 78 5d 29 ........................[?\M-x])
1f520 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 )...............................
1f540 20 20 20 20 20 20 28 73 75 62 73 74 72 69 6e 67 20 77 6f 72 64 20 32 20 2d 32 29 20 22 5c 72 22 ......(substring.word.2.-2)."\r"
1f560 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 73 74 72 69 6e ))).................((and.(strin
1f580 67 2d 6d 61 74 63 68 20 22 5e 5c 5c 28 5c 5c 28 5b 41 43 48 4d 73 53 5d 2d 5c 5c 29 2a 5c 5c 29 g-match."^\\(\\([ACHMsS]-\\)*\\)
1f5a0 3c 5c 5c 28 2e 2b 5c 5c 29 3e 24 22 20 77 6f 72 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 <\\(.+\\)>$".word)..............
1f5c0 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........(progn.................
1f5e0 20 20 20 20 20 20 20 20 28 73 65 74 71 20 77 6f 72 64 20 28 63 6f 6e 63 61 74 20 28 6d 61 74 63 ........(setq.word.(concat.(matc
1f600 68 2d 73 74 72 69 6e 67 20 31 20 77 6f 72 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 h-string.1.word)................
1f620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 74 ............................(mat
1f640 63 68 2d 73 74 72 69 6e 67 20 33 20 77 6f 72 64 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ch-string.3.word))).............
1f660 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 0a 20 ............(not.(string-match..
1f680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 5c ............................."\\
1f6a0 3c 5c 5c 28 4e 55 4c 5c 5c 7c 52 45 54 5c 5c 7c 4c 46 44 5c 5c 7c 45 53 43 5c 5c 7c 53 50 43 5c <\\(NUL\\|RET\\|LFD\\|ESC\\|SPC\
1f6c0 5c 7c 44 45 4c 5c 5c 29 24 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 \|DEL\\)$"......................
1f6e0 20 20 20 20 20 20 20 20 20 77 6f 72 64 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........word))))...............
1f700 20 20 20 28 73 65 74 71 20 6b 65 79 20 28 6c 69 73 74 20 28 69 6e 74 65 72 6e 20 77 6f 72 64 29 ...(setq.key.(list.(intern.word)
1f720 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6f 72 20 28 65 71 75 61 6c 20 ))).................((or.(equal.
1f740 77 6f 72 64 20 22 52 45 4d 22 29 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5e 3b 3b 22 20 word."REM").(string-match."^;;".
1f760 77 6f 72 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 6f word))..................(setq.po
1f780 73 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 24 22 20 6b 65 79 73 20 70 6f 73 29 29 29 0a s.(string-match."$".keys.pos))).
1f7a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ................(t..............
1f7c0 20 20 20 20 28 6c 65 74 20 28 28 6f 72 69 67 2d 77 6f 72 64 20 77 6f 72 64 29 20 28 70 72 65 66 ....(let.((orig-word.word).(pref
1f7e0 69 78 20 30 29 20 28 62 69 74 73 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ix.0).(bits.0)).................
1f800 20 20 20 28 77 68 69 6c 65 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5e 5b 41 43 48 4d 73 ...(while.(string-match."^[ACHMs
1f820 53 5d 2d 2e 22 20 77 6f 72 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 S]-.".word).....................
1f840 20 28 73 65 74 71 20 62 69 74 73 20 28 2b 20 62 69 74 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 .(setq.bits.(+.bits.............
1f860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 64 72 0a 20 20 20 20 .......................(cdr.....
1f880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1f8a0 28 61 73 73 71 20 28 61 72 65 66 20 77 6f 72 64 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 (assq.(aref.word.0).............
1f8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 ..............................'(
1f8e0 28 3f 41 20 2e 20 3f 5c 41 2d 5c 30 29 20 28 3f 43 20 2e 20 3f 5c 43 2d 5c 30 29 0a 20 20 20 20 (?A...?\A-\0).(?C...?\C-\0).....
1f900 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1f920 20 20 20 20 20 20 20 20 28 3f 48 20 2e 20 3f 5c 48 2d 5c 30 29 20 28 3f 4d 20 2e 20 3f 5c 4d 2d ........(?H...?\H-\0).(?M...?\M-
1f940 5c 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 \0).............................
1f960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3f 73 20 2e 20 3f 5c 73 2d 5c 30 29 20 28 3f ................(?s...?\s-\0).(?
1f980 53 20 2e 20 3f 5c 53 2d 5c 30 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 S...?\S-\0))))))................
1f9a0 20 20 20 20 20 20 28 73 65 74 71 20 70 72 65 66 69 78 20 28 2b 20 70 72 65 66 69 78 20 32 29 29 ......(setq.prefix.(+.prefix.2))
1f9c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 77 6f 72 64 ......................(setq.word
1f9e0 20 28 73 75 62 73 74 72 69 6e 67 20 77 6f 72 64 20 32 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 .(substring.word.2)))...........
1fa00 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5e 5c .........(when.(string-match."^\
1fa20 5c 5e 2e 24 22 20 77 6f 72 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 \^.$".word).....................
1fa40 20 28 73 65 74 71 20 62 69 74 73 20 28 2b 20 62 69 74 73 20 3f 5c 43 2d 5c 30 29 29 0a 20 20 20 .(setq.bits.(+.bits.?\C-\0))....
1fa60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 72 65 66 69 78 20 28 ..................(setq.prefix.(
1fa80 31 2b 20 70 72 65 66 69 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 1+.prefix)).....................
1faa0 20 28 73 65 74 71 20 77 6f 72 64 20 28 73 75 62 73 74 72 69 6e 67 20 77 6f 72 64 20 31 29 29 29 .(setq.word.(substring.word.1)))
1fac0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 66 6f 75 6e 64 ....................(let.((found
1fae0 20 28 61 73 73 6f 63 20 77 6f 72 64 20 27 28 28 22 4e 55 4c 22 20 2e 20 22 5c 30 22 29 20 28 22 .(assoc.word.'(("NUL"..."\0").("
1fb00 52 45 54 22 20 2e 20 22 5c 72 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 RET"..."\r")....................
1fb20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 22 4c 46 44 ...........................("LFD
1fb40 22 20 2e 20 22 5c 6e 22 29 20 28 22 54 41 42 22 20 2e 20 22 5c 74 22 29 0a 20 20 20 20 20 20 20 "..."\n").("TAB"..."\t")........
1fb60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1fb80 20 20 20 20 20 20 20 28 22 45 53 43 22 20 2e 20 22 5c 65 22 29 20 28 22 53 50 43 22 20 2e 20 22 .......("ESC"..."\e").("SPC"..."
1fba0 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .").............................
1fbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 22 44 45 4c 22 20 2e 20 22 5c 31 37 37 ..................("DEL"..."\177
1fbe0 22 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 ")))))......................(whe
1fc00 6e 20 66 6f 75 6e 64 20 28 73 65 74 71 20 77 6f 72 64 20 28 63 64 72 20 66 6f 75 6e 64 29 29 29 n.found.(setq.word.(cdr.found)))
1fc20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 73 74 72 69 )....................(when.(stri
1fc40 6e 67 2d 6d 61 74 63 68 20 22 5e 5c 5c 5c 5c 5b 30 2d 37 5d 2b 24 22 20 77 6f 72 64 29 0a 20 20 ng-match."^\\\\[0-7]+$".word)...
1fc60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6e 20 30 29 29 0a ...................(let.((n.0)).
1fc80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 .......................(dolist.(
1fca0 63 68 20 28 63 64 72 20 28 73 74 72 69 6e 67 2d 74 6f 2d 6c 69 73 74 20 77 6f 72 64 29 29 29 0a ch.(cdr.(string-to-list.word))).
1fcc0 20 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 65 74 71 20 6e .........................(setq.n
1fce0 20 28 2b 20 28 2a 20 6e 20 38 29 20 63 68 20 2d 34 38 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 .(+.(*.n.8).ch.-48)))...........
1fd00 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 77 6f 72 64 20 28 76 65 63 74 6f 72 20 .............(setq.word.(vector.
1fd20 6e 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 28 n))))....................(cond.(
1fd40 28 3d 20 62 69 74 73 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (=.bits.0)......................
1fd60 20 20 20 20 20 28 73 65 74 71 20 6b 65 79 20 77 6f 72 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 .....(setq.key.word))...........
1fd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 3d 20 62 69 74 73 20 3f 5c 4d ...............((and.(=.bits.?\M
1fda0 2d 5c 30 29 20 28 73 74 72 69 6e 67 70 20 77 6f 72 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 -\0).(stringp.word).............
1fdc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 ...................(string-match
1fde0 20 22 5e 2d 3f 5b 30 2d 39 5d 2b 24 22 20 77 6f 72 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ."^-?[0-9]+$".word))............
1fe00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6b 65 79 20 28 6d 61 70 63 61 72 ...............(setq.key.(mapcar
1fe20 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 2b 20 78 20 62 69 74 73 29 29 0a 20 20 20 20 20 20 20 .(lambda.(x).(+.x.bits))........
1fe40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1fe60 20 20 20 20 20 28 61 70 70 65 6e 64 20 77 6f 72 64 20 6e 69 6c 29 29 29 29 0a 20 20 20 20 20 20 .....(append.word.nil)))).......
1fe80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 2f 3d 20 28 6c 65 6e 67 74 68 20 ...................((/=.(length.
1fea0 77 6f 72 64 29 20 31 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 word).1)........................
1fec0 20 20 20 28 65 72 72 6f 72 20 22 25 73 20 6d 75 73 74 20 70 72 65 66 69 78 20 61 20 73 69 6e 67 ...(error."%s.must.prefix.a.sing
1fee0 6c 65 20 63 68 61 72 61 63 74 65 72 2c 20 6e 6f 74 20 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 le.character,.not.%s"...........
1ff00 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 75 62 73 74 72 69 6e .......................(substrin
1ff20 67 20 6f 72 69 67 2d 77 6f 72 64 20 30 20 70 72 65 66 69 78 29 20 77 6f 72 64 29 29 0a 20 20 20 g.orig-word.0.prefix).word))....
1ff40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 2f 3d 20 ......................((and.(/=.
1ff60 28 6c 6f 67 61 6e 64 20 62 69 74 73 20 3f 5c 43 2d 5c 30 29 20 30 29 20 28 73 74 72 69 6e 67 70 (logand.bits.?\C-\0).0).(stringp
1ff80 20 77 6f 72 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .word)..........................
1ffa0 20 20 20 20 20 20 3b 3b 20 57 65 20 75 73 65 64 20 74 6f 20 61 63 63 65 70 74 20 2e 20 61 6e 64 ......;;.We.used.to.accept...and
1ffc0 20 3f 20 68 65 72 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .?.here,........................
1ffe0 20 20 20 20 20 20 20 20 3b 3b 20 62 75 74 20 2e 20 69 73 20 73 69 6d 70 6c 79 20 77 72 6f 6e 67 ........;;.but...is.simply.wrong
20000 2c 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 20 ,...............................
20020 20 3b 3b 20 61 6e 64 20 43 2d 3f 20 69 73 20 6e 6f 74 20 75 73 65 64 20 28 77 65 20 75 73 65 20 .;;.and.C-?.is.not.used.(we.use.
20040 44 45 4c 20 69 6e 73 74 65 61 64 29 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 DEL.instead)....................
20060 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5b 40 2d 5f .............(string-match."[@-_
20080 61 2d 7a 5d 22 20 77 6f 72 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 a-z]".word))....................
200a0 20 20 20 20 20 20 20 28 73 65 74 71 20 6b 65 79 20 28 6c 69 73 74 20 28 2b 20 62 69 74 73 20 28 .......(setq.key.(list.(+.bits.(
200c0 2d 20 3f 5c 43 2d 5c 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -.?\C-\0).......................
200e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 67 61 6e 64 20 28 .......................(logand.(
20100 61 72 65 66 20 77 6f 72 64 20 30 29 20 33 31 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 aref.word.0).31)))))............
20120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............(t................
20140 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6b 65 79 20 28 6c 69 73 74 20 28 2b 20 62 69 ...........(setq.key.(list.(+.bi
20160 74 73 20 28 61 72 65 66 20 77 6f 72 64 20 30 29 29 29 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 ts.(aref.word.0)))))))))........
20180 20 20 20 28 77 68 65 6e 20 6b 65 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 ...(when.key.............(dolist
201a0 20 28 5f 20 28 6e 75 6d 62 65 72 2d 73 65 71 75 65 6e 63 65 20 31 20 74 69 6d 65 73 29 29 0a 20 .(_.(number-sequence.1.times))..
201c0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 72 65 73 20 28 76 63 6f 6e 63 61 74 20 .............(setq.res.(vconcat.
201e0 72 65 73 20 6b 65 79 29 29 29 29 29 29 0a 20 20 20 20 20 20 72 65 73 29 29 29 0a 0a 28 63 6f 6d res.key)))))).......res)))..(com
20200 70 61 74 2d 64 65 66 75 6e 20 6b 65 79 6d 61 70 2d 73 65 74 20 28 6b 65 79 6d 61 70 20 6b 65 79 pat-defun.keymap-set.(keymap.key
20220 20 64 65 66 69 6e 69 74 69 6f 6e 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 64 65 .definition).;;.<compat-tests:de
20240 66 76 61 72 2d 6b 65 79 6d 61 70 3e 0a 20 20 22 53 65 74 20 4b 45 59 20 74 6f 20 44 45 46 49 4e fvar-keymap>..."Set.KEY.to.DEFIN
20260 49 54 49 4f 4e 20 69 6e 20 4b 45 59 4d 41 50 2e 0a 4b 45 59 20 69 73 20 61 20 73 74 72 69 6e 67 ITION.in.KEYMAP..KEY.is.a.string
20280 20 74 68 61 74 20 73 61 74 69 73 66 69 65 73 20 60 6b 65 79 2d 76 61 6c 69 64 2d 70 27 2e 0a 0a .that.satisfies.`key-valid-p'...
202a0 44 45 46 49 4e 49 54 49 4f 4e 20 69 73 20 61 6e 79 74 68 69 6e 67 20 74 68 61 74 20 63 61 6e 20 DEFINITION.is.anything.that.can.
202c0 62 65 20 61 20 6b 65 79 27 73 20 64 65 66 69 6e 69 74 69 6f 6e 3a 0a 20 6e 69 6c 20 28 6d 65 61 be.a.key's.definition:..nil.(mea
202e0 6e 73 20 6b 65 79 20 69 73 20 75 6e 64 65 66 69 6e 65 64 20 69 6e 20 74 68 69 73 20 6b 65 79 6d ns.key.is.undefined.in.this.keym
20300 61 70 29 2c 0a 20 61 20 63 6f 6d 6d 61 6e 64 20 28 61 20 4c 69 73 70 20 66 75 6e 63 74 69 6f 6e ap),..a.command.(a.Lisp.function
20320 20 73 75 69 74 61 62 6c 65 20 66 6f 72 20 69 6e 74 65 72 61 63 74 69 76 65 20 63 61 6c 6c 69 6e .suitable.for.interactive.callin
20340 67 29 2c 0a 20 61 20 73 74 72 69 6e 67 20 28 74 72 65 61 74 65 64 20 61 73 20 61 20 6b 65 79 62 g),..a.string.(treated.as.a.keyb
20360 6f 61 72 64 20 6d 61 63 72 6f 29 2c 0a 20 61 20 6b 65 79 6d 61 70 20 28 74 6f 20 64 65 66 69 6e oard.macro),..a.keymap.(to.defin
20380 65 20 61 20 70 72 65 66 69 78 20 6b 65 79 29 2c 0a 20 61 20 73 79 6d 62 6f 6c 20 28 77 68 65 6e e.a.prefix.key),..a.symbol.(when
203a0 20 74 68 65 20 6b 65 79 20 69 73 20 6c 6f 6f 6b 65 64 20 75 70 2c 20 74 68 65 20 73 79 6d 62 6f .the.key.is.looked.up,.the.symbo
203c0 6c 20 77 69 6c 6c 20 73 74 61 6e 64 20 66 6f 72 20 69 74 73 0a 20 20 20 20 66 75 6e 63 74 69 6f l.will.stand.for.its.....functio
203e0 6e 20 64 65 66 69 6e 69 74 69 6f 6e 2c 20 77 68 69 63 68 20 73 68 6f 75 6c 64 20 61 74 20 74 68 n.definition,.which.should.at.th
20400 61 74 20 74 69 6d 65 20 62 65 20 6f 6e 65 20 6f 66 20 74 68 65 20 61 62 6f 76 65 2c 0a 20 20 20 at.time.be.one.of.the.above,....
20420 20 6f 72 20 61 6e 6f 74 68 65 72 20 73 79 6d 62 6f 6c 20 77 68 6f 73 65 20 66 75 6e 63 74 69 6f .or.another.symbol.whose.functio
20440 6e 20 64 65 66 69 6e 69 74 69 6f 6e 20 69 73 20 75 73 65 64 2c 20 65 74 63 2e 29 2c 0a 20 61 20 n.definition.is.used,.etc.),..a.
20460 63 6f 6e 73 20 28 53 54 52 49 4e 47 20 2e 20 44 45 46 4e 29 2c 20 6d 65 61 6e 69 6e 67 20 74 68 cons.(STRING...DEFN),.meaning.th
20480 61 74 20 44 45 46 4e 20 69 73 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 0a 20 20 20 20 28 44 at.DEFN.is.the.definition.....(D
204a0 45 46 4e 20 73 68 6f 75 6c 64 20 62 65 20 61 20 76 61 6c 69 64 20 64 65 66 69 6e 69 74 69 6f 6e EFN.should.be.a.valid.definition
204c0 20 69 6e 20 69 74 73 20 6f 77 6e 20 72 69 67 68 74 29 20 61 6e 64 0a 20 20 20 20 53 54 52 49 4e .in.its.own.right).and.....STRIN
204e0 47 20 69 73 20 74 68 65 20 6d 65 6e 75 20 69 74 65 6d 20 6e 61 6d 65 20 28 77 68 69 63 68 20 69 G.is.the.menu.item.name.(which.i
20500 73 20 75 73 65 64 20 6f 6e 6c 79 20 69 66 20 74 68 65 20 63 6f 6e 74 61 69 6e 69 6e 67 0a 20 20 s.used.only.if.the.containing...
20520 20 20 6b 65 79 6d 61 70 20 68 61 73 20 62 65 65 6e 20 63 72 65 61 74 65 64 20 77 69 74 68 20 61 ..keymap.has.been.created.with.a
20540 20 6d 65 6e 75 20 6e 61 6d 65 2c 20 73 65 65 20 60 6d 61 6b 65 2d 6b 65 79 6d 61 70 27 29 2c 0a .menu.name,.see.`make-keymap'),.
20560 20 6f 72 20 61 20 63 6f 6e 73 20 28 4d 41 50 20 2e 20 43 48 41 52 29 2c 20 6d 65 61 6e 69 6e 67 .or.a.cons.(MAP...CHAR),.meaning
20580 20 75 73 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 43 48 41 52 20 69 6e 20 6b 65 79 6d 61 .use.definition.of.CHAR.in.keyma
205a0 70 20 4d 41 50 2c 0a 20 6f 72 20 61 6e 20 65 78 74 65 6e 64 65 64 20 6d 65 6e 75 20 69 74 65 6d p.MAP,..or.an.extended.menu.item
205c0 20 64 65 66 69 6e 69 74 69 6f 6e 2e 0a 20 28 53 65 65 20 69 6e 66 6f 20 6e 6f 64 65 20 60 28 65 .definition...(See.info.node.`(e
205e0 6c 69 73 70 29 45 78 74 65 6e 64 65 64 20 4d 65 6e 75 20 49 74 65 6d 73 27 2e 29 22 0a 20 20 28 lisp)Extended.Menu.Items'.)"...(
20600 6b 65 79 6d 61 70 2d 2d 63 68 65 63 6b 20 6b 65 79 29 0a 20 20 28 77 68 65 6e 20 28 73 74 72 69 keymap--check.key)...(when.(stri
20620 6e 67 70 20 64 65 66 69 6e 69 74 69 6f 6e 29 0a 20 20 20 20 28 6b 65 79 6d 61 70 2d 2d 63 68 65 ngp.definition).....(keymap--che
20640 63 6b 20 64 65 66 69 6e 69 74 69 6f 6e 29 0a 20 20 20 20 28 73 65 74 71 20 64 65 66 69 6e 69 74 ck.definition).....(setq.definit
20660 69 6f 6e 20 28 6b 65 79 2d 70 61 72 73 65 20 64 65 66 69 6e 69 74 69 6f 6e 29 29 29 0a 20 20 28 ion.(key-parse.definition)))...(
20680 64 65 66 69 6e 65 2d 6b 65 79 20 6b 65 79 6d 61 70 20 28 6b 65 79 2d 70 61 72 73 65 20 6b 65 79 define-key.keymap.(key-parse.key
206a0 29 20 64 65 66 69 6e 69 74 69 6f 6e 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 6b 65 ).definition))..(compat-defun.ke
206c0 79 6d 61 70 2d 75 6e 73 65 74 20 28 6b 65 79 6d 61 70 20 6b 65 79 20 26 6f 70 74 69 6f 6e 61 6c ymap-unset.(keymap.key.&optional
206e0 20 72 65 6d 6f 76 65 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 6b 65 79 6d 61 70 .remove).;;.<compat-tests:keymap
20700 2d 75 6e 73 65 74 3e 0a 20 20 22 52 65 6d 6f 76 65 20 6b 65 79 20 73 65 71 75 65 6e 63 65 20 4b -unset>..."Remove.key.sequence.K
20720 45 59 20 66 72 6f 6d 20 4b 45 59 4d 41 50 2e 0a 4b 45 59 20 69 73 20 61 20 73 74 72 69 6e 67 20 EY.from.KEYMAP..KEY.is.a.string.
20740 74 68 61 74 20 73 61 74 69 73 66 69 65 73 20 60 6b 65 79 2d 76 61 6c 69 64 2d 70 27 2e 0a 0a 49 that.satisfies.`key-valid-p'...I
20760 66 20 52 45 4d 4f 56 45 2c 20 72 65 6d 6f 76 65 20 74 68 65 20 62 69 6e 64 69 6e 67 20 69 6e 73 f.REMOVE,.remove.the.binding.ins
20780 74 65 61 64 20 6f 66 20 75 6e 73 65 74 74 69 6e 67 20 69 74 2e 20 20 54 68 69 73 20 6f 6e 6c 79 tead.of.unsetting.it...This.only
207a0 0a 6d 61 6b 65 73 20 61 20 64 69 66 66 65 72 65 6e 63 65 20 77 68 65 6e 20 74 68 65 72 65 27 73 .makes.a.difference.when.there's
207c0 20 61 20 70 61 72 65 6e 74 20 6b 65 79 6d 61 70 2e 20 20 57 68 65 6e 20 75 6e 73 65 74 74 69 6e .a.parent.keymap...When.unsettin
207e0 67 0a 61 20 6b 65 79 20 69 6e 20 61 20 63 68 69 6c 64 20 6d 61 70 2c 20 69 74 20 77 69 6c 6c 20 g.a.key.in.a.child.map,.it.will.
20800 73 74 69 6c 6c 20 73 68 61 64 6f 77 20 74 68 65 20 73 61 6d 65 20 6b 65 79 20 69 6e 20 74 68 65 still.shadow.the.same.key.in.the
20820 0a 70 61 72 65 6e 74 20 6b 65 79 6d 61 70 2e 20 20 52 65 6d 6f 76 69 6e 67 20 74 68 65 20 62 69 .parent.keymap...Removing.the.bi
20840 6e 64 69 6e 67 20 77 69 6c 6c 20 61 6c 6c 6f 77 20 74 68 65 20 6b 65 79 20 69 6e 20 74 68 65 0a nding.will.allow.the.key.in.the.
20860 70 61 72 65 6e 74 20 6b 65 79 6d 61 70 20 74 6f 20 62 65 20 75 73 65 64 2e 22 0a 20 20 28 6b 65 parent.keymap.to.be.used."...(ke
20880 79 6d 61 70 2d 2d 63 68 65 63 6b 20 6b 65 79 29 0a 20 20 28 63 6f 6d 70 61 74 2d 2d 64 65 66 69 ymap--check.key)...(compat--defi
208a0 6e 65 2d 6b 65 79 20 6b 65 79 6d 61 70 20 28 6b 65 79 2d 70 61 72 73 65 20 6b 65 79 29 20 6e 69 ne-key.keymap.(key-parse.key).ni
208c0 6c 20 72 65 6d 6f 76 65 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 6b 65 79 6d 61 70 l.remove))..(compat-defun.keymap
208e0 2d 67 6c 6f 62 61 6c 2d 73 65 74 20 28 6b 65 79 20 63 6f 6d 6d 61 6e 64 29 20 3b 3b 20 3c 63 6f -global-set.(key.command).;;.<co
20900 6d 70 61 74 2d 74 65 73 74 73 3a 6b 65 79 6d 61 70 2d 67 6c 6f 62 61 6c 2d 73 65 74 3e 0a 20 20 mpat-tests:keymap-global-set>...
20920 22 47 69 76 65 20 4b 45 59 20 61 20 67 6c 6f 62 61 6c 20 62 69 6e 64 69 6e 67 20 61 73 20 43 4f "Give.KEY.a.global.binding.as.CO
20940 4d 4d 41 4e 44 2e 0a 43 4f 4d 4d 41 4e 44 20 69 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 64 65 MMAND..COMMAND.is.the.command.de
20960 66 69 6e 69 74 69 6f 6e 20 74 6f 20 75 73 65 3b 20 75 73 75 61 6c 6c 79 20 69 74 20 69 73 0a 61 finition.to.use;.usually.it.is.a
20980 20 73 79 6d 62 6f 6c 20 6e 61 6d 69 6e 67 20 61 6e 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 2d .symbol.naming.an.interactively-
209a0 63 61 6c 6c 61 62 6c 65 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 4b 45 59 20 69 73 20 61 20 73 74 72 callable.function...KEY.is.a.str
209c0 69 6e 67 20 74 68 61 74 20 73 61 74 69 73 66 69 65 73 20 60 6b 65 79 2d 76 61 6c 69 64 2d 70 27 ing.that.satisfies.`key-valid-p'
209e0 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 20 69 66 20 4b 45 59 20 68 61 73 20 61 20 6c 6f 63 61 6c 20 ...Note.that.if.KEY.has.a.local.
20a00 62 69 6e 64 69 6e 67 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2c 0a 74 binding.in.the.current.buffer,.t
20a20 68 61 74 20 6c 6f 63 61 6c 20 62 69 6e 64 69 6e 67 20 77 69 6c 6c 20 63 6f 6e 74 69 6e 75 65 20 hat.local.binding.will.continue.
20a40 74 6f 20 73 68 61 64 6f 77 20 61 6e 79 20 67 6c 6f 62 61 6c 20 62 69 6e 64 69 6e 67 0a 74 68 61 to.shadow.any.global.binding.tha
20a60 74 20 79 6f 75 20 6d 61 6b 65 20 77 69 74 68 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a t.you.make.with.this.function...
20a80 4e 4f 54 45 3a 20 54 68 65 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 76 65 72 73 69 6f 6e 20 NOTE:.The.compatibility.version.
20aa0 69 73 20 6e 6f 74 20 61 20 63 6f 6d 6d 61 6e 64 2e 22 0a 20 20 28 6b 65 79 6d 61 70 2d 73 65 74 is.not.a.command."...(keymap-set
20ac0 20 28 63 75 72 72 65 6e 74 2d 67 6c 6f 62 61 6c 2d 6d 61 70 29 20 6b 65 79 20 63 6f 6d 6d 61 6e .(current-global-map).key.comman
20ae0 64 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 6b 65 79 6d 61 70 2d 6c 6f 63 61 6c 2d d))..(compat-defun.keymap-local-
20b00 73 65 74 20 28 6b 65 79 20 63 6f 6d 6d 61 6e 64 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 set.(key.command).;;.<compat-tes
20b20 74 73 3a 6b 65 79 6d 61 70 2d 6c 6f 63 61 6c 2d 73 65 74 3e 0a 20 20 22 47 69 76 65 20 4b 45 59 ts:keymap-local-set>..."Give.KEY
20b40 20 61 20 6c 6f 63 61 6c 20 62 69 6e 64 69 6e 67 20 61 73 20 43 4f 4d 4d 41 4e 44 2e 0a 43 4f 4d .a.local.binding.as.COMMAND..COM
20b60 4d 41 4e 44 20 69 73 20 74 68 65 20 63 6f 6d 6d 61 6e 64 20 64 65 66 69 6e 69 74 69 6f 6e 20 74 MAND.is.the.command.definition.t
20b80 6f 20 75 73 65 3b 20 75 73 75 61 6c 6c 79 20 69 74 20 69 73 0a 61 20 73 79 6d 62 6f 6c 20 6e 61 o.use;.usually.it.is.a.symbol.na
20ba0 6d 69 6e 67 20 61 6e 20 69 6e 74 65 72 61 63 74 69 76 65 6c 79 2d 63 61 6c 6c 61 62 6c 65 20 66 ming.an.interactively-callable.f
20bc0 75 6e 63 74 69 6f 6e 2e 0a 0a 4b 45 59 20 69 73 20 61 20 73 74 72 69 6e 67 20 74 68 61 74 20 73 unction...KEY.is.a.string.that.s
20be0 61 74 69 73 66 69 65 73 20 60 6b 65 79 2d 76 61 6c 69 64 2d 70 27 2e 0a 0a 54 68 65 20 62 69 6e atisfies.`key-valid-p'...The.bin
20c00 64 69 6e 67 20 67 6f 65 73 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 27 ding.goes.in.the.current.buffer'
20c20 73 20 6c 6f 63 61 6c 20 6d 61 70 2c 20 77 68 69 63 68 20 69 6e 20 6d 6f 73 74 0a 63 61 73 65 73 s.local.map,.which.in.most.cases
20c40 20 69 73 20 73 68 61 72 65 64 20 77 69 74 68 20 61 6c 6c 20 6f 74 68 65 72 20 62 75 66 66 65 72 .is.shared.with.all.other.buffer
20c60 73 20 69 6e 20 74 68 65 20 73 61 6d 65 20 6d 61 6a 6f 72 20 6d 6f 64 65 2e 0a 0a 4e 4f 54 45 3a s.in.the.same.major.mode...NOTE:
20c80 20 54 68 65 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 76 65 72 73 69 6f 6e 20 69 73 20 6e 6f .The.compatibility.version.is.no
20ca0 74 20 61 20 63 6f 6d 6d 61 6e 64 2e 22 0a 20 20 28 6c 65 74 20 28 28 6d 61 70 20 28 63 75 72 72 t.a.command."...(let.((map.(curr
20cc0 65 6e 74 2d 6c 6f 63 61 6c 2d 6d 61 70 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 6d 61 70 ent-local-map))).....(unless.map
20ce0 0a 20 20 20 20 20 20 28 75 73 65 2d 6c 6f 63 61 6c 2d 6d 61 70 20 28 73 65 74 71 20 6d 61 70 20 .......(use-local-map.(setq.map.
20d00 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b 65 79 6d 61 70 29 29 29 29 0a 20 20 20 20 28 6b 65 79 (make-sparse-keymap)))).....(key
20d20 6d 61 70 2d 73 65 74 20 6d 61 70 20 6b 65 79 20 63 6f 6d 6d 61 6e 64 29 29 29 0a 0a 28 63 6f 6d map-set.map.key.command)))..(com
20d40 70 61 74 2d 64 65 66 75 6e 20 6b 65 79 6d 61 70 2d 67 6c 6f 62 61 6c 2d 75 6e 73 65 74 20 28 6b pat-defun.keymap-global-unset.(k
20d60 65 79 20 26 6f 70 74 69 6f 6e 61 6c 20 72 65 6d 6f 76 65 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d ey.&optional.remove).;;.<compat-
20d80 74 65 73 74 73 3a 6b 65 79 6d 61 70 2d 67 6c 6f 62 61 6c 2d 75 6e 73 65 74 3e 0a 20 20 22 52 65 tests:keymap-global-unset>..."Re
20da0 6d 6f 76 65 20 67 6c 6f 62 61 6c 20 62 69 6e 64 69 6e 67 20 6f 66 20 4b 45 59 20 28 69 66 20 61 move.global.binding.of.KEY.(if.a
20dc0 6e 79 29 2e 0a 4b 45 59 20 69 73 20 61 20 73 74 72 69 6e 67 20 74 68 61 74 20 73 61 74 69 73 66 ny)..KEY.is.a.string.that.satisf
20de0 69 65 73 20 60 6b 65 79 2d 76 61 6c 69 64 2d 70 27 2e 0a 0a 49 66 20 52 45 4d 4f 56 45 20 28 69 ies.`key-valid-p'...If.REMOVE.(i
20e00 6e 74 65 72 61 63 74 69 76 65 6c 79 2c 20 74 68 65 20 70 72 65 66 69 78 20 61 72 67 29 2c 20 72 nteractively,.the.prefix.arg),.r
20e20 65 6d 6f 76 65 20 74 68 65 20 62 69 6e 64 69 6e 67 0a 69 6e 73 74 65 61 64 20 6f 66 20 75 6e 73 emove.the.binding.instead.of.uns
20e40 65 74 74 69 6e 67 20 69 74 2e 20 20 53 65 65 20 60 6b 65 79 6d 61 70 2d 75 6e 73 65 74 27 20 66 etting.it...See.`keymap-unset'.f
20e60 6f 72 20 64 65 74 61 69 6c 73 2e 0a 0a 4e 4f 54 45 3a 20 54 68 65 20 63 6f 6d 70 61 74 69 62 69 or.details...NOTE:.The.compatibi
20e80 6c 69 74 79 20 76 65 72 73 69 6f 6e 20 69 73 20 6e 6f 74 20 61 20 63 6f 6d 6d 61 6e 64 2e 22 0a lity.version.is.not.a.command.".
20ea0 20 20 28 6b 65 79 6d 61 70 2d 75 6e 73 65 74 20 28 63 75 72 72 65 6e 74 2d 67 6c 6f 62 61 6c 2d ..(keymap-unset.(current-global-
20ec0 6d 61 70 29 20 6b 65 79 20 72 65 6d 6f 76 65 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e map).key.remove))..(compat-defun
20ee0 20 6b 65 79 6d 61 70 2d 6c 6f 63 61 6c 2d 75 6e 73 65 74 20 28 6b 65 79 20 26 6f 70 74 69 6f 6e .keymap-local-unset.(key.&option
20f00 61 6c 20 72 65 6d 6f 76 65 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 6b 65 79 6d al.remove).;;.<compat-tests:keym
20f20 61 70 2d 6c 6f 63 61 6c 2d 75 6e 73 65 74 3e 0a 20 20 22 52 65 6d 6f 76 65 20 6c 6f 63 61 6c 20 ap-local-unset>..."Remove.local.
20f40 62 69 6e 64 69 6e 67 20 6f 66 20 4b 45 59 20 28 69 66 20 61 6e 79 29 2e 0a 4b 45 59 20 69 73 20 binding.of.KEY.(if.any)..KEY.is.
20f60 61 20 73 74 72 69 6e 67 20 74 68 61 74 20 73 61 74 69 73 66 69 65 73 20 60 6b 65 79 2d 76 61 6c a.string.that.satisfies.`key-val
20f80 69 64 2d 70 27 2e 0a 0a 49 66 20 52 45 4d 4f 56 45 20 28 69 6e 74 65 72 61 63 74 69 76 65 6c 79 id-p'...If.REMOVE.(interactively
20fa0 2c 20 74 68 65 20 70 72 65 66 69 78 20 61 72 67 29 2c 20 72 65 6d 6f 76 65 20 74 68 65 20 62 69 ,.the.prefix.arg),.remove.the.bi
20fc0 6e 64 69 6e 67 0a 69 6e 73 74 65 61 64 20 6f 66 20 75 6e 73 65 74 74 69 6e 67 20 69 74 2e 20 20 nding.instead.of.unsetting.it...
20fe0 53 65 65 20 60 6b 65 79 6d 61 70 2d 75 6e 73 65 74 27 20 66 6f 72 20 64 65 74 61 69 6c 73 2e 0a See.`keymap-unset'.for.details..
21000 0a 4e 4f 54 45 3a 20 54 68 65 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 76 65 72 73 69 6f 6e .NOTE:.The.compatibility.version
21020 20 69 73 20 6e 6f 74 20 61 20 63 6f 6d 6d 61 6e 64 2e 22 0a 20 20 28 77 68 65 6e 20 28 63 75 72 .is.not.a.command."...(when.(cur
21040 72 65 6e 74 2d 6c 6f 63 61 6c 2d 6d 61 70 29 0a 20 20 20 20 28 6b 65 79 6d 61 70 2d 75 6e 73 65 rent-local-map).....(keymap-unse
21060 74 20 28 63 75 72 72 65 6e 74 2d 6c 6f 63 61 6c 2d 6d 61 70 29 20 6b 65 79 20 72 65 6d 6f 76 65 t.(current-local-map).key.remove
21080 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 6b 65 79 6d 61 70 2d 73 75 62 73 74 69 )))..(compat-defun.keymap-substi
210a0 74 75 74 65 20 28 6b 65 79 6d 61 70 20 6f 6c 64 64 65 66 20 6e 65 77 64 65 66 20 26 6f 70 74 69 tute.(keymap.olddef.newdef.&opti
210c0 6f 6e 61 6c 20 6f 6c 64 6d 61 70 20 70 72 65 66 69 78 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 onal.oldmap.prefix).;;.<compat-t
210e0 65 73 74 73 3a 6b 65 79 6d 61 70 2d 73 75 62 73 74 69 74 75 74 65 3e 0a 20 20 22 52 65 70 6c 61 ests:keymap-substitute>..."Repla
21100 63 65 20 4f 4c 44 44 45 46 20 77 69 74 68 20 4e 45 57 44 45 46 20 66 6f 72 20 61 6e 79 20 6b 65 ce.OLDDEF.with.NEWDEF.for.any.ke
21120 79 73 20 69 6e 20 4b 45 59 4d 41 50 20 6e 6f 77 20 64 65 66 69 6e 65 64 20 61 73 20 4f 4c 44 44 ys.in.KEYMAP.now.defined.as.OLDD
21140 45 46 2e 0a 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 4f 4c 44 44 45 46 20 69 73 20 72 65 EF..In.other.words,.OLDDEF.is.re
21160 70 6c 61 63 65 64 20 77 69 74 68 20 4e 45 57 44 45 46 20 77 68 65 72 65 76 65 72 20 69 74 20 61 placed.with.NEWDEF.wherever.it.a
21180 70 70 65 61 72 73 2e 0a 41 6c 74 65 72 6e 61 74 69 76 65 6c 79 2c 20 69 66 20 6f 70 74 69 6f 6e ppears..Alternatively,.if.option
211a0 61 6c 20 66 6f 75 72 74 68 20 61 72 67 75 6d 65 6e 74 20 4f 4c 44 4d 41 50 20 69 73 20 73 70 65 al.fourth.argument.OLDMAP.is.spe
211c0 63 69 66 69 65 64 2c 20 77 65 20 72 65 64 65 66 69 6e 65 0a 69 6e 20 4b 45 59 4d 41 50 20 61 73 cified,.we.redefine.in.KEYMAP.as
211e0 20 4e 45 57 44 45 46 20 74 68 6f 73 65 20 6b 65 79 73 20 74 68 61 74 20 61 72 65 20 64 65 66 69 .NEWDEF.those.keys.that.are.defi
21200 6e 65 64 20 61 73 20 4f 4c 44 44 45 46 20 69 6e 20 4f 4c 44 4d 41 50 2e 0a 0a 49 66 20 79 6f 75 ned.as.OLDDEF.in.OLDMAP...If.you
21220 20 64 6f 6e 27 74 20 73 70 65 63 69 66 79 20 4f 4c 44 4d 41 50 2c 20 79 6f 75 20 63 61 6e 20 75 .don't.specify.OLDMAP,.you.can.u
21240 73 75 61 6c 6c 79 20 67 65 74 20 74 68 65 20 73 61 6d 65 20 72 65 73 75 6c 74 73 0a 69 6e 20 61 sually.get.the.same.results.in.a
21260 20 63 6c 65 61 6e 65 72 20 77 61 79 20 77 69 74 68 20 63 6f 6d 6d 61 6e 64 20 72 65 6d 61 70 70 .cleaner.way.with.command.remapp
21280 69 6e 67 2c 20 6c 69 6b 65 20 74 68 69 73 3a 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 4b 45 ing,.like.this:...(define-key.KE
212a0 59 4d 41 50 20 5b 72 65 6d 61 70 20 4f 4c 44 44 45 46 5d 20 4e 45 57 44 45 46 29 0a 5c 6e 28 66 YMAP.[remap.OLDDEF].NEWDEF).\n(f
212c0 6e 20 4f 4c 44 44 45 46 20 4e 45 57 44 45 46 20 4b 45 59 4d 41 50 20 26 6f 70 74 69 6f 6e 61 6c n.OLDDEF.NEWDEF.KEYMAP.&optional
212e0 20 4f 4c 44 4d 41 50 29 22 0a 20 20 3b 3b 20 44 6f 6e 27 74 20 64 6f 63 75 6d 65 6e 74 20 50 52 .OLDMAP)"...;;.Don't.document.PR
21300 45 46 49 58 20 69 6e 20 74 68 65 20 64 6f 63 20 73 74 72 69 6e 67 20 62 65 63 61 75 73 65 20 77 EFIX.in.the.doc.string.because.w
21320 65 20 64 6f 6e 27 74 20 77 61 6e 74 20 74 6f 0a 20 20 3b 3b 20 61 64 76 65 72 74 69 73 65 20 69 e.don't.want.to...;;.advertise.i
21340 74 2e 20 20 49 74 27 73 20 6d 65 61 6e 74 20 66 6f 72 20 72 65 63 75 72 73 69 76 65 20 63 61 6c t...It's.meant.for.recursive.cal
21360 6c 73 20 6f 6e 6c 79 2e 20 20 48 65 72 65 27 73 20 69 74 73 0a 20 20 3b 3b 20 6d 65 61 6e 69 6e ls.only...Here's.its...;;.meanin
21380 67 0a 0a 20 20 3b 3b 20 49 66 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 50 52 45 g....;;.If.optional.argument.PRE
213a0 46 49 58 20 69 73 20 73 70 65 63 69 66 69 65 64 2c 20 69 74 20 73 68 6f 75 6c 64 20 62 65 20 61 FIX.is.specified,.it.should.be.a
213c0 20 6b 65 79 0a 20 20 3b 3b 20 70 72 65 66 69 78 2c 20 61 20 73 74 72 69 6e 67 2e 20 20 52 65 64 .key...;;.prefix,.a.string...Red
213e0 65 66 69 6e 65 64 20 62 69 6e 64 69 6e 67 73 20 77 69 6c 6c 20 74 68 65 6e 20 62 65 20 62 6f 75 efined.bindings.will.then.be.bou
21400 6e 64 20 74 6f 20 74 68 65 0a 20 20 3b 3b 20 6f 72 69 67 69 6e 61 6c 20 6b 65 79 2c 20 77 69 74 nd.to.the...;;.original.key,.wit
21420 68 20 50 52 45 46 49 58 20 61 64 64 65 64 20 61 74 20 74 68 65 20 66 72 6f 6e 74 2e 0a 20 20 28 h.PREFIX.added.at.the.front....(
21440 75 6e 6c 65 73 73 20 70 72 65 66 69 78 0a 20 20 20 20 28 73 65 74 71 20 70 72 65 66 69 78 20 22 unless.prefix.....(setq.prefix."
21460 22 29 29 0a 20 20 28 6c 65 74 2a 20 28 28 73 63 61 6e 20 28 6f 72 20 6f 6c 64 6d 61 70 20 6b 65 "))...(let*.((scan.(or.oldmap.ke
21480 79 6d 61 70 29 29 0a 20 20 20 20 20 20 20 20 20 28 70 72 65 66 69 78 31 20 28 76 63 6f 6e 63 61 ymap))..........(prefix1.(vconca
214a0 74 20 70 72 65 66 69 78 20 5b 6e 69 6c 5d 29 29 0a 20 20 20 20 20 20 20 20 20 28 6b 65 79 2d 73 t.prefix.[nil]))..........(key-s
214c0 75 62 73 74 69 74 75 74 69 6f 6e 2d 69 6e 2d 70 72 6f 67 72 65 73 73 0a 20 20 20 20 20 20 20 20 ubstitution-in-progress.........
214e0 20 20 28 63 6f 6e 73 20 73 63 61 6e 20 6b 65 79 2d 73 75 62 73 74 69 74 75 74 69 6f 6e 2d 69 6e ..(cons.scan.key-substitution-in
21500 2d 70 72 6f 67 72 65 73 73 29 29 29 0a 20 20 20 20 3b 3b 20 53 63 61 6e 20 4f 4c 44 4d 41 50 2c -progress))).....;;.Scan.OLDMAP,
21520 20 66 69 6e 64 69 6e 67 20 65 61 63 68 20 63 68 61 72 20 6f 72 20 65 76 65 6e 74 2d 73 79 6d 62 .finding.each.char.or.event-symb
21540 6f 6c 20 74 68 61 74 0a 20 20 20 20 3b 3b 20 68 61 73 20 61 6e 79 20 64 65 66 69 6e 69 74 69 6f ol.that.....;;.has.any.definitio
21560 6e 2c 20 61 6e 64 20 61 63 74 20 6f 6e 20 69 74 20 77 69 74 68 20 68 61 63 6b 2d 6b 65 79 2e 0a n,.and.act.on.it.with.hack-key..
21580 20 20 20 20 28 6d 61 70 2d 6b 65 79 6d 61 70 0a 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 63 68 ....(map-keymap......(lambda.(ch
215a0 61 72 20 64 65 66 6e 29 0a 20 20 20 20 20 20 20 28 61 73 65 74 20 70 72 65 66 69 78 31 20 28 6c ar.defn)........(aset.prefix1.(l
215c0 65 6e 67 74 68 20 70 72 65 66 69 78 29 20 63 68 61 72 29 0a 20 20 20 20 20 20 20 28 73 75 62 73 ength.prefix).char)........(subs
215e0 74 69 74 75 74 65 2d 6b 65 79 2d 64 65 66 69 6e 69 74 69 6f 6e 2d 6b 65 79 20 64 65 66 6e 20 6f titute-key-definition-key.defn.o
21600 6c 64 64 65 66 20 6e 65 77 64 65 66 20 70 72 65 66 69 78 31 20 6b 65 79 6d 61 70 29 29 0a 20 20 lddef.newdef.prefix1.keymap))...
21620 20 20 20 73 63 61 6e 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 6b 65 79 6d 61 70 ...scan)))..(compat-defun.keymap
21640 2d 73 65 74 2d 61 66 74 65 72 20 28 6b 65 79 6d 61 70 20 6b 65 79 20 64 65 66 69 6e 69 74 69 6f -set-after.(keymap.key.definitio
21660 6e 20 26 6f 70 74 69 6f 6e 61 6c 20 61 66 74 65 72 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 n.&optional.after).;;.<compat-te
21680 73 74 73 3a 6b 65 79 6d 61 70 2d 73 65 74 2d 61 66 74 65 72 3e 0a 20 20 22 41 64 64 20 62 69 6e sts:keymap-set-after>..."Add.bin
216a0 64 69 6e 67 20 69 6e 20 4b 45 59 4d 41 50 20 66 6f 72 20 4b 45 59 20 3d 3e 20 44 45 46 49 4e 49 ding.in.KEYMAP.for.KEY.=>.DEFINI
216c0 54 49 4f 4e 2c 20 72 69 67 68 74 20 61 66 74 65 72 20 41 46 54 45 52 27 73 20 62 69 6e 64 69 6e TION,.right.after.AFTER's.bindin
216e0 67 2e 0a 54 68 69 73 20 69 73 20 6c 69 6b 65 20 60 6b 65 79 6d 61 70 2d 73 65 74 27 20 65 78 63 g..This.is.like.`keymap-set'.exc
21700 65 70 74 20 74 68 61 74 20 74 68 65 20 62 69 6e 64 69 6e 67 20 66 6f 72 20 4b 45 59 20 69 73 20 ept.that.the.binding.for.KEY.is.
21720 70 6c 61 63 65 64 0a 6a 75 73 74 20 61 66 74 65 72 20 74 68 65 20 62 69 6e 64 69 6e 67 20 66 6f placed.just.after.the.binding.fo
21740 72 20 74 68 65 20 65 76 65 6e 74 20 41 46 54 45 52 2c 20 69 6e 73 74 65 61 64 20 6f 66 20 61 74 r.the.event.AFTER,.instead.of.at
21760 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 0a 6f 66 20 74 68 65 20 6d 61 70 2e 20 20 4e 6f 74 65 .the.beginning.of.the.map...Note
21780 20 74 68 61 74 20 41 46 54 45 52 20 6d 75 73 74 20 62 65 20 61 6e 20 65 76 65 6e 74 20 74 79 70 .that.AFTER.must.be.an.event.typ
217a0 65 20 28 6c 69 6b 65 20 4b 45 59 29 2c 20 4e 4f 54 20 61 20 63 6f 6d 6d 61 6e 64 0a 5c 28 6c 69 e.(like.KEY),.NOT.a.command.\(li
217c0 6b 65 20 44 45 46 49 4e 49 54 49 4f 4e 29 2e 0a 0a 49 66 20 41 46 54 45 52 20 69 73 20 74 20 6f ke.DEFINITION)...If.AFTER.is.t.o
217e0 72 20 6f 6d 69 74 74 65 64 2c 20 74 68 65 20 6e 65 77 20 62 69 6e 64 69 6e 67 20 67 6f 65 73 20 r.omitted,.the.new.binding.goes.
21800 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 6b 65 79 6d 61 70 2e 0a 41 46 54 45 52 20 at.the.end.of.the.keymap..AFTER.
21820 73 68 6f 75 6c 64 20 62 65 20 61 20 73 69 6e 67 6c 65 20 65 76 65 6e 74 20 74 79 70 65 2d 2d 61 should.be.a.single.event.type--a
21840 20 73 79 6d 62 6f 6c 20 6f 72 20 61 20 63 68 61 72 61 63 74 65 72 2c 20 6e 6f 74 20 61 20 73 65 .symbol.or.a.character,.not.a.se
21860 71 75 65 6e 63 65 2e 0a 0a 42 69 6e 64 69 6e 67 73 20 61 72 65 20 61 6c 77 61 79 73 20 61 64 64 quence...Bindings.are.always.add
21880 65 64 20 62 65 66 6f 72 65 20 61 6e 79 20 69 6e 68 65 72 69 74 65 64 20 6d 61 70 2e 0a 0a 54 68 ed.before.any.inherited.map...Th
218a0 65 20 6f 72 64 65 72 20 6f 66 20 62 69 6e 64 69 6e 67 73 20 69 6e 20 61 20 6b 65 79 6d 61 70 20 e.order.of.bindings.in.a.keymap.
218c0 6d 61 74 74 65 72 73 20 6f 6e 6c 79 20 77 68 65 6e 20 69 74 20 69 73 20 75 73 65 64 20 61 73 0a matters.only.when.it.is.used.as.
218e0 61 20 6d 65 6e 75 2c 20 73 6f 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6e 6f 74 20 a.menu,.so.this.function.is.not.
21900 75 73 65 66 75 6c 20 66 6f 72 20 6e 6f 6e 2d 6d 65 6e 75 20 6b 65 79 6d 61 70 73 2e 22 0a 20 20 useful.for.non-menu.keymaps."...
21920 28 6b 65 79 6d 61 70 2d 2d 63 68 65 63 6b 20 6b 65 79 29 0a 20 20 28 77 68 65 6e 20 28 65 71 20 (keymap--check.key)...(when.(eq.
21940 61 66 74 65 72 20 74 29 20 28 73 65 74 71 20 61 66 74 65 72 20 6e 69 6c 29 29 20 3b 20 6e 69 6c after.t).(setq.after.nil)).;.nil
21960 20 61 6e 64 20 74 20 61 72 65 20 74 72 65 61 74 65 64 20 74 68 65 20 73 61 6d 65 0a 20 20 28 77 .and.t.are.treated.the.same...(w
21980 68 65 6e 20 28 73 74 72 69 6e 67 70 20 61 66 74 65 72 29 0a 20 20 20 20 28 6b 65 79 6d 61 70 2d hen.(stringp.after).....(keymap-
219a0 2d 63 68 65 63 6b 20 61 66 74 65 72 29 0a 20 20 20 20 28 73 65 74 71 20 61 66 74 65 72 20 28 6b -check.after).....(setq.after.(k
219c0 65 79 2d 70 61 72 73 65 20 61 66 74 65 72 29 29 29 0a 20 20 3b 3b 20 49 66 20 77 65 27 72 65 20 ey-parse.after)))...;;.If.we're.
219e0 62 69 6e 64 69 6e 67 20 74 68 69 73 20 6b 65 79 20 74 6f 20 61 6e 6f 74 68 65 72 20 6b 65 79 2c binding.this.key.to.another.key,
21a00 20 74 68 65 6e 20 70 61 72 73 65 20 74 68 61 74 20 6f 74 68 65 72 0a 20 20 3b 3b 20 6b 65 79 2c .then.parse.that.other...;;.key,
21a20 20 74 6f 6f 2e 0a 20 20 28 77 68 65 6e 20 28 73 74 72 69 6e 67 70 20 64 65 66 69 6e 69 74 69 6f .too....(when.(stringp.definitio
21a40 6e 29 0a 20 20 20 20 28 6b 65 79 6d 61 70 2d 2d 63 68 65 63 6b 20 64 65 66 69 6e 69 74 69 6f 6e n).....(keymap--check.definition
21a60 29 0a 20 20 20 20 28 73 65 74 71 20 64 65 66 69 6e 69 74 69 6f 6e 20 28 6b 65 79 2d 70 61 72 73 ).....(setq.definition.(key-pars
21a80 65 20 64 65 66 69 6e 69 74 69 6f 6e 29 29 29 0a 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 2d 61 66 e.definition)))...(define-key-af
21aa0 74 65 72 20 6b 65 79 6d 61 70 20 28 6b 65 79 2d 70 61 72 73 65 20 6b 65 79 29 20 64 65 66 69 6e ter.keymap.(key-parse.key).defin
21ac0 69 74 69 6f 6e 0a 20 20 20 20 61 66 74 65 72 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e ition.....after))..(compat-defun
21ae0 20 6b 65 79 6d 61 70 2d 6c 6f 6f 6b 75 70 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a .keymap-lookup.;;.<compat-tests:
21b00 6b 65 79 6d 61 70 2d 6c 6f 6f 6b 75 70 3e 0a 20 20 20 20 28 6b 65 79 6d 61 70 20 6b 65 79 20 26 keymap-lookup>.....(keymap.key.&
21b20 6f 70 74 69 6f 6e 61 6c 20 61 63 63 65 70 74 2d 64 65 66 61 75 6c 74 20 6e 6f 2d 72 65 6d 61 70 optional.accept-default.no-remap
21b40 20 70 6f 73 69 74 69 6f 6e 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 62 69 6e 64 69 6e 67 .position)..."Return.the.binding
21b60 20 66 6f 72 20 63 6f 6d 6d 61 6e 64 20 4b 45 59 2e 0a 4b 45 59 20 69 73 20 61 20 73 74 72 69 6e .for.command.KEY..KEY.is.a.strin
21b80 67 20 74 68 61 74 20 73 61 74 69 73 66 69 65 73 20 60 6b 65 79 2d 76 61 6c 69 64 2d 70 27 2e 0a g.that.satisfies.`key-valid-p'..
21ba0 0a 49 66 20 4b 45 59 4d 41 50 20 69 73 20 6e 69 6c 2c 20 6c 6f 6f 6b 20 75 70 20 69 6e 20 74 68 .If.KEYMAP.is.nil,.look.up.in.th
21bc0 65 20 63 75 72 72 65 6e 74 20 6b 65 79 6d 61 70 73 2e 20 20 49 66 20 6e 6f 6e 2d 6e 69 6c 2c 20 e.current.keymaps...If.non-nil,.
21be0 69 74 0a 73 68 6f 75 6c 64 20 65 69 74 68 65 72 20 62 65 20 61 20 6b 65 79 6d 61 70 20 6f 72 20 it.should.either.be.a.keymap.or.
21c00 61 20 6c 69 73 74 20 6f 66 20 6b 65 79 6d 61 70 73 2c 20 61 6e 64 20 6f 6e 6c 79 20 74 68 65 73 a.list.of.keymaps,.and.only.thes
21c20 65 0a 6b 65 79 6d 61 70 28 73 29 20 77 69 6c 6c 20 62 65 20 63 6f 6e 73 75 6c 74 65 64 2e 0a 0a e.keymap(s).will.be.consulted...
21c40 54 68 65 20 62 69 6e 64 69 6e 67 20 69 73 20 70 72 6f 62 61 62 6c 79 20 61 20 73 79 6d 62 6f 6c The.binding.is.probably.a.symbol
21c60 20 77 69 74 68 20 61 20 66 75 6e 63 74 69 6f 6e 20 64 65 66 69 6e 69 74 69 6f 6e 2e 0a 0a 4e 6f .with.a.function.definition...No
21c80 72 6d 61 6c 6c 79 2c 20 60 6b 65 79 6d 61 70 2d 6c 6f 6f 6b 75 70 27 20 69 67 6e 6f 72 65 73 20 rmally,.`keymap-lookup'.ignores.
21ca0 62 69 6e 64 69 6e 67 73 20 66 6f 72 20 74 2c 20 77 68 69 63 68 20 61 63 74 20 61 73 0a 64 65 66 bindings.for.t,.which.act.as.def
21cc0 61 75 6c 74 20 62 69 6e 64 69 6e 67 73 2c 20 75 73 65 64 20 77 68 65 6e 20 6e 6f 74 68 69 6e 67 ault.bindings,.used.when.nothing
21ce0 20 65 6c 73 65 20 69 6e 20 74 68 65 20 6b 65 79 6d 61 70 20 61 70 70 6c 69 65 73 3b 0a 74 68 69 .else.in.the.keymap.applies;.thi
21d00 73 20 6d 61 6b 65 73 20 69 74 20 75 73 61 62 6c 65 20 61 73 20 61 20 67 65 6e 65 72 61 6c 20 66 s.makes.it.usable.as.a.general.f
21d20 75 6e 63 74 69 6f 6e 20 66 6f 72 20 70 72 6f 62 69 6e 67 20 6b 65 79 6d 61 70 73 2e 0a 48 6f 77 unction.for.probing.keymaps..How
21d40 65 76 65 72 2c 20 69 66 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 73 65 63 6f 6e 64 20 61 72 67 ever,.if.the.optional.second.arg
21d60 75 6d 65 6e 74 20 41 43 43 45 50 54 2d 44 45 46 41 55 4c 54 20 69 73 0a 6e 6f 6e 2d 6e 69 6c 2c ument.ACCEPT-DEFAULT.is.non-nil,
21d80 20 60 6b 65 79 6d 61 70 2d 6c 6f 6f 6b 75 70 27 20 64 6f 65 73 20 72 65 63 6f 67 6e 69 7a 65 20 .`keymap-lookup'.does.recognize.
21da0 74 68 65 20 64 65 66 61 75 6c 74 20 62 69 6e 64 69 6e 67 73 2c 0a 6a 75 73 74 20 61 73 20 60 72 the.default.bindings,.just.as.`r
21dc0 65 61 64 2d 6b 65 79 2d 73 65 71 75 65 6e 63 65 27 20 64 6f 65 73 2e 0a 0a 4c 69 6b 65 20 74 68 ead-key-sequence'.does...Like.th
21de0 65 20 6e 6f 72 6d 61 6c 20 63 6f 6d 6d 61 6e 64 20 6c 6f 6f 70 2c 20 60 6b 65 79 6d 61 70 2d 6c e.normal.command.loop,.`keymap-l
21e00 6f 6f 6b 75 70 27 20 77 69 6c 6c 20 72 65 6d 61 70 20 74 68 65 0a 63 6f 6d 6d 61 6e 64 20 72 65 ookup'.will.remap.the.command.re
21e20 73 75 6c 74 69 6e 67 20 66 72 6f 6d 20 6c 6f 6f 6b 69 6e 67 20 75 70 20 4b 45 59 20 62 79 20 6c sulting.from.looking.up.KEY.by.l
21e40 6f 6f 6b 69 6e 67 20 75 70 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 69 6e 20 74 68 65 20 63 75 72 ooking.up.the.command.in.the.cur
21e60 72 65 6e 74 20 6b 65 79 6d 61 70 73 2e 20 20 48 6f 77 65 76 65 72 2c 20 69 66 20 74 68 65 20 6f rent.keymaps...However,.if.the.o
21e80 70 74 69 6f 6e 61 6c 20 74 68 69 72 64 20 61 72 67 75 6d 65 6e 74 0a 4e 4f 2d 52 45 4d 41 50 20 ptional.third.argument.NO-REMAP.
21ea0 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 60 6b 65 79 6d 61 70 2d 6c 6f 6f 6b 75 70 27 20 72 65 74 75 is.non-nil,.`keymap-lookup'.retu
21ec0 72 6e 73 20 74 68 65 20 75 6e 6d 61 70 70 65 64 0a 63 6f 6d 6d 61 6e 64 2e 0a 0a 49 66 20 4b 45 rns.the.unmapped.command...If.KE
21ee0 59 20 69 73 20 61 20 6b 65 79 20 73 65 71 75 65 6e 63 65 20 69 6e 69 74 69 61 74 65 64 20 77 69 Y.is.a.key.sequence.initiated.wi
21f00 74 68 20 74 68 65 20 6d 6f 75 73 65 2c 20 74 68 65 20 75 73 65 64 20 6b 65 79 6d 61 70 73 0a 77 th.the.mouse,.the.used.keymaps.w
21f20 69 6c 6c 20 64 65 70 65 6e 64 20 6f 6e 20 74 68 65 20 63 6c 69 63 6b 65 64 20 6d 6f 75 73 65 20 ill.depend.on.the.clicked.mouse.
21f40 70 6f 73 69 74 69 6f 6e 20 77 69 74 68 20 72 65 67 61 72 64 20 74 6f 20 74 68 65 20 62 75 66 66 position.with.regard.to.the.buff
21f60 65 72 0a 61 6e 64 20 70 6f 73 73 69 62 6c 65 20 6c 6f 63 61 6c 20 6b 65 79 6d 61 70 73 20 6f 6e er.and.possible.local.keymaps.on
21f80 20 73 74 72 69 6e 67 73 2e 0a 0a 49 66 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d .strings...If.the.optional.argum
21fa0 65 6e 74 20 50 4f 53 49 54 49 4f 4e 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 69 74 20 73 70 65 63 ent.POSITION.is.non-nil,.it.spec
21fc0 69 66 69 65 73 20 61 20 6d 6f 75 73 65 0a 70 6f 73 69 74 69 6f 6e 20 61 73 20 72 65 74 75 72 6e ifies.a.mouse.position.as.return
21fe0 65 64 20 62 79 20 60 65 76 65 6e 74 2d 73 74 61 72 74 27 20 61 6e 64 20 60 65 76 65 6e 74 2d 65 ed.by.`event-start'.and.`event-e
22000 6e 64 27 2c 20 61 6e 64 20 74 68 65 20 6c 6f 6f 6b 75 70 0a 6f 63 63 75 72 73 20 69 6e 20 74 68 nd',.and.the.lookup.occurs.in.th
22020 65 20 6b 65 79 6d 61 70 73 20 61 73 73 6f 63 69 61 74 65 64 20 77 69 74 68 20 69 74 20 69 6e 73 e.keymaps.associated.with.it.ins
22040 74 65 61 64 20 6f 66 20 4b 45 59 2e 20 20 49 74 20 63 61 6e 20 61 6c 73 6f 0a 62 65 20 61 20 6e tead.of.KEY...It.can.also.be.a.n
22060 75 6d 62 65 72 20 6f 72 20 6d 61 72 6b 65 72 2c 20 69 6e 20 77 68 69 63 68 20 63 61 73 65 20 74 umber.or.marker,.in.which.case.t
22080 68 65 20 6b 65 79 6d 61 70 20 70 72 6f 70 65 72 74 69 65 73 20 61 74 20 74 68 65 0a 73 70 65 63 he.keymap.properties.at.the.spec
220a0 69 66 69 65 64 20 62 75 66 66 65 72 20 70 6f 73 69 74 69 6f 6e 20 69 6e 73 74 65 61 64 20 6f 66 ified.buffer.position.instead.of
220c0 20 70 6f 69 6e 74 20 61 72 65 20 75 73 65 64 2e 22 0a 20 20 28 6b 65 79 6d 61 70 2d 2d 63 68 65 .point.are.used."...(keymap--che
220e0 63 6b 20 6b 65 79 29 0a 20 20 28 77 68 65 6e 20 28 61 6e 64 20 6b 65 79 6d 61 70 20 70 6f 73 69 ck.key)...(when.(and.keymap.posi
22100 74 69 6f 6e 29 0a 20 20 20 20 28 65 72 72 6f 72 20 22 43 61 6e 27 74 20 70 61 73 73 20 69 6e 20 tion).....(error."Can't.pass.in.
22120 62 6f 74 68 20 6b 65 79 6d 61 70 20 61 6e 64 20 70 6f 73 69 74 69 6f 6e 22 29 29 0a 20 20 28 69 both.keymap.and.position"))...(i
22140 66 20 6b 65 79 6d 61 70 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 76 61 6c 75 65 20 28 6c 6f 6f f.keymap.......(let.((value.(loo
22160 6b 75 70 2d 6b 65 79 20 6b 65 79 6d 61 70 20 28 6b 65 79 2d 70 61 72 73 65 20 6b 65 79 29 20 61 kup-key.keymap.(key-parse.key).a
22180 63 63 65 70 74 2d 64 65 66 61 75 6c 74 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 61 6e ccept-default))).........(if.(an
221a0 64 20 28 6e 6f 74 20 6e 6f 2d 72 65 6d 61 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d.(not.no-remap)................
221c0 20 20 20 20 28 73 79 6d 62 6f 6c 70 20 76 61 6c 75 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ....(symbolp.value))............
221e0 20 28 6f 72 20 28 63 6f 6d 6d 61 6e 64 2d 72 65 6d 61 70 70 69 6e 67 20 76 61 6c 75 65 29 20 76 .(or.(command-remapping.value).v
22200 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 29 29 0a 20 20 20 20 28 6b 65 79 alue)...........value)).....(key
22220 2d 62 69 6e 64 69 6e 67 20 28 6b 65 79 2d 70 61 72 73 65 20 6b 65 79 29 20 61 63 63 65 70 74 2d -binding.(key-parse.key).accept-
22240 64 65 66 61 75 6c 74 20 6e 6f 2d 72 65 6d 61 70 20 70 6f 73 69 74 69 6f 6e 29 29 29 0a 0a 28 63 default.no-remap.position)))..(c
22260 6f 6d 70 61 74 2d 64 65 66 75 6e 20 6b 65 79 6d 61 70 2d 6c 6f 63 61 6c 2d 6c 6f 6f 6b 75 70 20 ompat-defun.keymap-local-lookup.
22280 28 6b 65 79 73 20 26 6f 70 74 69 6f 6e 61 6c 20 61 63 63 65 70 74 2d 64 65 66 61 75 6c 74 29 20 (keys.&optional.accept-default).
222a0 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 6b 65 79 6d 61 70 2d 6c 6f 63 61 6c 2d 6c 6f ;;.<compat-tests:keymap-local-lo
222c0 6f 6b 75 70 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 62 69 6e 64 69 6e 67 20 66 6f 72 20 okup>..."Return.the.binding.for.
222e0 63 6f 6d 6d 61 6e 64 20 4b 45 59 53 20 69 6e 20 63 75 72 72 65 6e 74 20 6c 6f 63 61 6c 20 6b 65 command.KEYS.in.current.local.ke
22300 79 6d 61 70 20 6f 6e 6c 79 2e 0a 4b 45 59 20 69 73 20 61 20 73 74 72 69 6e 67 20 74 68 61 74 20 ymap.only..KEY.is.a.string.that.
22320 73 61 74 69 73 66 69 65 73 20 60 6b 65 79 2d 76 61 6c 69 64 2d 70 27 2e 0a 0a 54 68 65 20 62 69 satisfies.`key-valid-p'...The.bi
22340 6e 64 69 6e 67 20 69 73 20 70 72 6f 62 61 62 6c 79 20 61 20 73 79 6d 62 6f 6c 20 77 69 74 68 20 nding.is.probably.a.symbol.with.
22360 61 20 66 75 6e 63 74 69 6f 6e 20 64 65 66 69 6e 69 74 69 6f 6e 2e 0a 0a 49 66 20 6f 70 74 69 6f a.function.definition...If.optio
22380 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 41 43 43 45 50 54 2d 44 45 46 41 55 4c 54 20 69 73 20 6e nal.argument.ACCEPT-DEFAULT.is.n
223a0 6f 6e 2d 6e 69 6c 2c 20 72 65 63 6f 67 6e 69 7a 65 20 64 65 66 61 75 6c 74 0a 62 69 6e 64 69 6e on-nil,.recognize.default.bindin
223c0 67 73 3b 20 73 65 65 20 74 68 65 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 60 6b 65 79 6d gs;.see.the.description.of.`keym
223e0 61 70 2d 6c 6f 6f 6b 75 70 27 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 0a 61 62 6f 75 ap-lookup'.for.more.details.abou
22400 74 20 74 68 69 73 2e 22 0a 20 20 28 77 68 65 6e 2d 6c 65 74 20 28 28 6d 61 70 20 28 63 75 72 72 t.this."...(when-let.((map.(curr
22420 65 6e 74 2d 6c 6f 63 61 6c 2d 6d 61 70 29 29 29 0a 20 20 20 20 28 6b 65 79 6d 61 70 2d 6c 6f 6f ent-local-map))).....(keymap-loo
22440 6b 75 70 20 6d 61 70 20 6b 65 79 73 20 61 63 63 65 70 74 2d 64 65 66 61 75 6c 74 29 29 29 0a 0a kup.map.keys.accept-default)))..
22460 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 6b 65 79 6d 61 70 2d 67 6c 6f 62 61 6c 2d 6c 6f 6f 6b (compat-defun.keymap-global-look
22480 75 70 20 28 6b 65 79 73 20 26 6f 70 74 69 6f 6e 61 6c 20 61 63 63 65 70 74 2d 64 65 66 61 75 6c up.(keys.&optional.accept-defaul
224a0 74 20 5f 6d 65 73 73 61 67 65 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 6b 65 79 t._message).;;.<compat-tests:key
224c0 6d 61 70 2d 67 6c 6f 62 61 6c 2d 6c 6f 6f 6b 75 70 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 map-global-lookup>..."Return.the
224e0 20 62 69 6e 64 69 6e 67 20 66 6f 72 20 63 6f 6d 6d 61 6e 64 20 4b 45 59 53 20 69 6e 20 63 75 72 .binding.for.command.KEYS.in.cur
22500 72 65 6e 74 20 67 6c 6f 62 61 6c 20 6b 65 79 6d 61 70 20 6f 6e 6c 79 2e 0a 4b 45 59 20 69 73 20 rent.global.keymap.only..KEY.is.
22520 61 20 73 74 72 69 6e 67 20 74 68 61 74 20 73 61 74 69 73 66 69 65 73 20 60 6b 65 79 2d 76 61 6c a.string.that.satisfies.`key-val
22540 69 64 2d 70 27 2e 0a 0a 54 68 65 20 62 69 6e 64 69 6e 67 20 69 73 20 70 72 6f 62 61 62 6c 79 20 id-p'...The.binding.is.probably.
22560 61 20 73 79 6d 62 6f 6c 20 77 69 74 68 20 61 20 66 75 6e 63 74 69 6f 6e 20 64 65 66 69 6e 69 74 a.symbol.with.a.function.definit
22580 69 6f 6e 2e 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 27 73 20 72 65 74 75 72 6e 20 76 61 6c 75 ion..This.function's.return.valu
225a0 65 73 20 61 72 65 20 74 68 65 20 73 61 6d 65 20 61 73 20 74 68 6f 73 65 20 6f 66 20 60 6b 65 79 es.are.the.same.as.those.of.`key
225c0 6d 61 70 2d 6c 6f 6f 6b 75 70 27 0a 5c 28 77 68 69 63 68 20 73 65 65 29 2e 0a 0a 49 66 20 6f 70 map-lookup'.\(which.see)...If.op
225e0 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 41 43 43 45 50 54 2d 44 45 46 41 55 4c 54 20 69 tional.argument.ACCEPT-DEFAULT.i
22600 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 72 65 63 6f 67 6e 69 7a 65 20 64 65 66 61 75 6c 74 0a 62 69 6e s.non-nil,.recognize.default.bin
22620 64 69 6e 67 73 3b 20 73 65 65 20 74 68 65 20 64 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 60 6b dings;.see.the.description.of.`k
22640 65 79 6d 61 70 2d 6c 6f 6f 6b 75 70 27 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 0a 61 eymap-lookup'.for.more.details.a
22660 62 6f 75 74 20 74 68 69 73 2e 0a 0a 4e 4f 54 45 3a 20 54 68 65 20 63 6f 6d 70 61 74 69 62 69 6c bout.this...NOTE:.The.compatibil
22680 69 74 79 20 76 65 72 73 69 6f 6e 20 69 73 20 6e 6f 74 20 61 20 63 6f 6d 6d 61 6e 64 2e 22 0a 20 ity.version.is.not.a.command."..
226a0 20 28 6b 65 79 6d 61 70 2d 6c 6f 6f 6b 75 70 20 28 63 75 72 72 65 6e 74 2d 67 6c 6f 62 61 6c 2d .(keymap-lookup.(current-global-
226c0 6d 61 70 29 20 6b 65 79 73 20 61 63 63 65 70 74 2d 64 65 66 61 75 6c 74 29 29 0a 0a 28 63 6f 6d map).keys.accept-default))..(com
226e0 70 61 74 2d 64 65 66 75 6e 20 64 65 66 69 6e 65 2d 6b 65 79 6d 61 70 20 28 26 72 65 73 74 20 64 pat-defun.define-keymap.(&rest.d
22700 65 66 69 6e 69 74 69 6f 6e 73 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 64 65 66 efinitions).;;.<compat-tests:def
22720 76 61 72 2d 6b 65 79 6d 61 70 3e 0a 20 20 22 43 72 65 61 74 65 20 61 20 6e 65 77 20 6b 65 79 6d var-keymap>..."Create.a.new.keym
22740 61 70 20 61 6e 64 20 64 65 66 69 6e 65 20 4b 45 59 2f 44 45 46 49 4e 49 54 49 4f 4e 20 70 61 69 ap.and.define.KEY/DEFINITION.pai
22760 72 73 20 61 73 20 6b 65 79 20 62 69 6e 64 69 6e 67 73 2e 0a 54 68 65 20 6e 65 77 20 6b 65 79 6d rs.as.key.bindings..The.new.keym
22780 61 70 20 69 73 20 72 65 74 75 72 6e 65 64 2e 0a 0a 4f 70 74 69 6f 6e 73 20 63 61 6e 20 62 65 20 ap.is.returned...Options.can.be.
227a0 67 69 76 65 6e 20 61 73 20 6b 65 79 77 6f 72 64 73 20 62 65 66 6f 72 65 20 74 68 65 20 4b 45 59 given.as.keywords.before.the.KEY
227c0 2f 44 45 46 49 4e 49 54 49 4f 4e 0a 70 61 69 72 73 2e 20 20 41 76 61 69 6c 61 62 6c 65 20 6b 65 /DEFINITION.pairs...Available.ke
227e0 79 77 6f 72 64 73 20 61 72 65 3a 0a 0a 3a 66 75 6c 6c 20 20 20 20 20 20 49 66 20 6e 6f 6e 2d 6e ywords.are:..:full......If.non-n
22800 69 6c 2c 20 63 72 65 61 74 65 20 61 20 63 68 61 72 74 61 62 6c 65 20 61 6c 69 73 74 20 28 73 65 il,.create.a.chartable.alist.(se
22820 65 20 60 6d 61 6b 65 2d 6b 65 79 6d 61 70 27 29 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 49 e.`make-keymap')...............I
22840 66 20 6e 69 6c 20 28 69 2e 65 2e 2c 20 74 68 65 20 64 65 66 61 75 6c 74 29 2c 20 63 72 65 61 74 f.nil.(i.e.,.the.default),.creat
22860 65 20 61 20 73 70 61 72 73 65 20 6b 65 79 6d 61 70 20 28 73 65 65 0a 20 20 20 20 20 20 20 20 20 e.a.sparse.keymap.(see..........
22880 20 20 20 20 60 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b 65 79 6d 61 70 27 29 2e 0a 0a 3a 73 75 70 ....`make-sparse-keymap')...:sup
228a0 70 72 65 73 73 20 20 49 66 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 65 20 6b 65 79 6d 61 70 20 77 69 press..If.non-nil,.the.keymap.wi
228c0 6c 6c 20 62 65 20 73 75 70 70 72 65 73 73 65 64 20 28 73 65 65 20 60 73 75 70 70 72 65 73 73 2d ll.be.suppressed.(see.`suppress-
228e0 6b 65 79 6d 61 70 27 29 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 49 66 20 60 6e 6f 64 69 67 keymap')...............If.`nodig
22900 69 74 73 27 2c 20 74 72 65 61 74 20 64 69 67 69 74 73 20 6c 69 6b 65 20 6f 74 68 65 72 20 63 68 its',.treat.digits.like.other.ch
22920 61 72 73 2e 0a 0a 3a 70 61 72 65 6e 74 20 20 20 20 49 66 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 69 ars...:parent....If.non-nil,.thi
22940 73 20 73 68 6f 75 6c 64 20 62 65 20 61 20 6b 65 79 6d 61 70 20 74 6f 20 75 73 65 20 61 73 20 74 s.should.be.a.keymap.to.use.as.t
22960 68 65 20 70 61 72 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 65 20 60 73 65 74 he.parent..............(see.`set
22980 2d 6b 65 79 6d 61 70 2d 70 61 72 65 6e 74 27 29 2e 0a 0a 3a 6b 65 79 6d 61 70 20 20 20 20 49 66 -keymap-parent')...:keymap....If
229a0 20 6e 6f 6e 2d 6e 69 6c 2c 20 69 6e 73 74 65 61 64 20 6f 66 20 63 72 65 61 74 69 6e 67 20 61 20 .non-nil,.instead.of.creating.a.
229c0 6e 65 77 20 6b 65 79 6d 61 70 2c 20 74 68 65 20 67 69 76 65 6e 20 6b 65 79 6d 61 70 0a 20 20 20 new.keymap,.the.given.keymap....
229e0 20 20 20 20 20 20 20 20 20 20 77 69 6c 6c 20 62 65 20 64 65 73 74 72 75 63 74 69 76 65 6c 79 20 ..........will.be.destructively.
22a00 6d 6f 64 69 66 69 65 64 20 69 6e 73 74 65 61 64 2e 0a 0a 3a 6e 61 6d 65 20 20 20 20 20 20 49 66 modified.instead...:name......If
22a20 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 69 73 20 73 68 6f 75 6c 64 20 62 65 20 61 20 73 74 72 69 6e .non-nil,.this.should.be.a.strin
22a40 67 20 74 6f 20 75 73 65 20 61 73 20 74 68 65 20 6d 65 6e 75 20 66 6f 72 0a 20 20 20 20 20 20 20 g.to.use.as.the.menu.for........
22a60 20 20 20 20 20 20 74 68 65 20 6b 65 79 6d 61 70 20 69 6e 20 63 61 73 65 20 79 6f 75 20 75 73 65 ......the.keymap.in.case.you.use
22a80 20 69 74 20 61 73 20 61 20 6d 65 6e 75 20 77 69 74 68 20 60 78 2d 70 6f 70 75 70 2d 6d 65 6e 75 .it.as.a.menu.with.`x-popup-menu
22aa0 27 2e 0a 0a 3a 70 72 65 66 69 78 20 20 20 20 49 66 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 69 73 20 '...:prefix....If.non-nil,.this.
22ac0 73 68 6f 75 6c 64 20 62 65 20 61 20 73 79 6d 62 6f 6c 20 74 6f 20 62 65 20 75 73 65 64 20 61 73 should.be.a.symbol.to.be.used.as
22ae0 20 61 20 70 72 65 66 69 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d 6d 61 6e 64 20 28 .a.prefix..............command.(
22b00 73 65 65 20 60 64 65 66 69 6e 65 2d 70 72 65 66 69 78 2d 63 6f 6d 6d 61 6e 64 27 29 2e 20 20 49 see.`define-prefix-command')...I
22b20 66 20 74 68 69 73 20 69 73 20 74 68 65 20 63 61 73 65 2c 0a 20 20 20 20 20 20 20 20 20 20 20 20 f.this.is.the.case,.............
22b40 20 74 68 69 73 20 73 79 6d 62 6f 6c 20 69 73 20 72 65 74 75 72 6e 65 64 20 69 6e 73 74 65 61 64 .this.symbol.is.returned.instead
22b60 20 6f 66 20 74 68 65 20 6d 61 70 20 69 74 73 65 6c 66 2e 0a 0a 4b 45 59 2f 44 45 46 49 4e 49 54 .of.the.map.itself...KEY/DEFINIT
22b80 49 4f 4e 20 70 61 69 72 73 20 61 72 65 20 61 73 20 4b 45 59 20 61 6e 64 20 44 45 46 20 69 6e 20 ION.pairs.are.as.KEY.and.DEF.in.
22ba0 60 6b 65 79 6d 61 70 2d 73 65 74 27 2e 20 20 4b 45 59 20 63 61 6e 0a 61 6c 73 6f 20 62 65 20 74 `keymap-set'...KEY.can.also.be.t
22bc0 68 65 20 73 70 65 63 69 61 6c 20 73 79 6d 62 6f 6c 20 60 3a 6d 65 6e 75 27 2c 20 69 6e 20 77 68 he.special.symbol.`:menu',.in.wh
22be0 69 63 68 20 63 61 73 65 20 44 45 46 49 4e 49 54 49 4f 4e 0a 73 68 6f 75 6c 64 20 62 65 20 61 20 ich.case.DEFINITION.should.be.a.
22c00 4d 45 4e 55 20 66 6f 72 6d 20 61 73 20 61 63 63 65 70 74 65 64 20 62 79 20 60 65 61 73 79 2d 6d MENU.form.as.accepted.by.`easy-m
22c20 65 6e 75 2d 64 65 66 69 6e 65 27 2e 0a 0a 5c 28 66 6e 20 26 6b 65 79 20 46 55 4c 4c 20 50 41 52 enu-define'...\(fn.&key.FULL.PAR
22c40 45 4e 54 20 53 55 50 50 52 45 53 53 20 4e 41 4d 45 20 50 52 45 46 49 58 20 4b 45 59 4d 41 50 20 ENT.SUPPRESS.NAME.PREFIX.KEYMAP.
22c60 26 72 65 73 74 20 5b 4b 45 59 20 44 45 46 49 4e 49 54 49 4f 4e 5d 2e 2e 2e 29 22 0a 20 20 28 64 &rest.[KEY.DEFINITION]...)"...(d
22c80 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 64 65 66 75 6e 29 29 0a 20 20 28 6c 65 74 20 28 66 eclare.(indent.defun))...(let.(f
22ca0 75 6c 6c 20 73 75 70 70 72 65 73 73 20 70 61 72 65 6e 74 20 6e 61 6d 65 20 70 72 65 66 69 78 20 ull.suppress.parent.name.prefix.
22cc0 6b 65 79 6d 61 70 29 0a 20 20 20 20 3b 3b 20 48 61 6e 64 6c 65 20 6b 65 79 77 6f 72 64 73 2e 0a keymap).....;;.Handle.keywords..
22ce0 20 20 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 64 65 66 69 6e 69 74 69 6f 6e 73 0a 20 20 20 20 ....(while.(and.definitions.....
22d00 20 20 20 20 20 20 20 20 20 20 20 20 28 6b 65 79 77 6f 72 64 70 20 28 63 61 72 20 64 65 66 69 6e ............(keywordp.(car.defin
22d20 69 74 69 6f 6e 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 65 itions)).................(not.(e
22d40 71 20 28 63 61 72 20 64 65 66 69 6e 69 74 69 6f 6e 73 29 20 3a 6d 65 6e 75 29 29 29 0a 20 20 20 q.(car.definitions).:menu)))....
22d60 20 20 20 28 6c 65 74 20 28 28 6b 65 79 77 6f 72 64 20 28 70 6f 70 20 64 65 66 69 6e 69 74 69 6f ...(let.((keyword.(pop.definitio
22d80 6e 73 29 29 29 0a 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 64 65 66 69 6e 69 74 69 6f 6e ns))).........(unless.definition
22da0 73 0a 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 4d 69 73 73 69 6e 67 20 6b 65 79 77 s...........(error."Missing.keyw
22dc0 6f 72 64 20 76 61 6c 75 65 20 66 6f 72 20 25 73 22 20 6b 65 79 77 6f 72 64 29 29 0a 20 20 20 20 ord.value.for.%s".keyword)).....
22de0 20 20 20 20 28 6c 65 74 20 28 28 76 61 6c 75 65 20 28 70 6f 70 20 64 65 66 69 6e 69 74 69 6f 6e ....(let.((value.(pop.definition
22e00 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 63 61 73 65 20 6b 65 79 77 6f 72 64 0a 20 20 s)))...........(pcase.keyword...
22e20 20 20 20 20 20 20 20 20 20 20 28 3a 66 75 6c 6c 20 28 73 65 74 71 20 66 75 6c 6c 20 76 61 6c 75 ..........(:full.(setq.full.valu
22e40 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 6b 65 79 6d 61 70 20 28 73 65 74 71 20 6b e)).............(:keymap.(setq.k
22e60 65 79 6d 61 70 20 76 61 6c 75 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 70 61 72 65 eymap.value)).............(:pare
22e80 6e 74 20 28 73 65 74 71 20 70 61 72 65 6e 74 20 76 61 6c 75 65 29 29 0a 20 20 20 20 20 20 20 20 nt.(setq.parent.value)).........
22ea0 20 20 20 20 28 3a 73 75 70 70 72 65 73 73 20 28 73 65 74 71 20 73 75 70 70 72 65 73 73 20 76 61 ....(:suppress.(setq.suppress.va
22ec0 6c 75 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 6e 61 6d 65 20 28 73 65 74 71 20 6e lue)).............(:name.(setq.n
22ee0 61 6d 65 20 76 61 6c 75 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 70 72 65 66 69 78 ame.value)).............(:prefix
22f00 20 28 73 65 74 71 20 70 72 65 66 69 78 20 76 61 6c 75 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 .(setq.prefix.value))...........
22f20 20 20 28 5f 20 28 65 72 72 6f 72 20 22 49 6e 76 61 6c 69 64 20 6b 65 79 77 6f 72 64 3a 20 25 73 ..(_.(error."Invalid.keyword:.%s
22f40 22 20 6b 65 79 77 6f 72 64 29 29 29 29 29 29 0a 0a 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 ".keyword))))))......(when.(and.
22f60 70 72 65 66 69 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 66 75 6c 6c 20 70 prefix................(or.full.p
22f80 61 72 65 6e 74 20 73 75 70 70 72 65 73 73 20 6b 65 79 6d 61 70 29 29 0a 20 20 20 20 20 20 28 65 arent.suppress.keymap)).......(e
22fa0 72 72 6f 72 20 22 41 20 70 72 65 66 69 78 20 6b 65 79 6d 61 70 20 63 61 6e 27 74 20 62 65 20 64 rror."A.prefix.keymap.can't.be.d
22fc0 65 66 69 6e 65 64 20 77 69 74 68 20 3a 66 75 6c 6c 2f 3a 70 61 72 65 6e 74 2f 3a 73 75 70 70 72 efined.with.:full/:parent/:suppr
22fe0 65 73 73 2f 3a 6b 65 79 6d 61 70 20 6b 65 79 77 6f 72 64 73 22 29 29 0a 0a 20 20 20 20 28 77 68 ess/:keymap.keywords"))......(wh
23000 65 6e 20 28 61 6e 64 20 6b 65 79 6d 61 70 20 66 75 6c 6c 29 0a 20 20 20 20 20 20 28 65 72 72 6f en.(and.keymap.full).......(erro
23020 72 20 22 49 6e 76 61 6c 69 64 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 3a 20 3a 6b 65 79 6d 61 70 20 r."Invalid.combination:.:keymap.
23040 77 69 74 68 20 3a 66 75 6c 6c 22 29 29 0a 0a 20 20 20 20 28 6c 65 74 20 28 28 6b 65 79 6d 61 70 with.:full"))......(let.((keymap
23060 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6b 65 79 6d 61 .(cond....................(keyma
23080 70 20 6b 65 79 6d 61 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 p.keymap)....................(pr
230a0 65 66 69 78 20 28 64 65 66 69 6e 65 2d 70 72 65 66 69 78 2d 63 6f 6d 6d 61 6e 64 20 70 72 65 66 efix.(define-prefix-command.pref
230c0 69 78 20 6e 69 6c 20 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ix.nil.name))...................
230e0 20 28 66 75 6c 6c 20 28 6d 61 6b 65 2d 6b 65 79 6d 61 70 20 6e 61 6d 65 29 29 0a 20 20 20 20 20 .(full.(make-keymap.name))......
23100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b 65 ..............(t.(make-sparse-ke
23120 79 6d 61 70 20 6e 61 6d 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 73 65 65 6e 2d 6b 65 79 ymap.name))))...........seen-key
23140 73 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 73 75 70 70 72 65 73 73 0a 20 20 20 20 20 20 20 20 s).......(when.suppress.........
23160 28 73 75 70 70 72 65 73 73 2d 6b 65 79 6d 61 70 20 6b 65 79 6d 61 70 20 28 65 71 20 73 75 70 70 (suppress-keymap.keymap.(eq.supp
23180 72 65 73 73 20 27 6e 6f 64 69 67 69 74 73 29 29 29 0a 20 20 20 20 20 20 28 77 68 65 6e 20 70 61 ress.'nodigits))).......(when.pa
231a0 72 65 6e 74 0a 20 20 20 20 20 20 20 20 28 73 65 74 2d 6b 65 79 6d 61 70 2d 70 61 72 65 6e 74 20 rent.........(set-keymap-parent.
231c0 6b 65 79 6d 61 70 20 70 61 72 65 6e 74 29 29 0a 0a 20 20 20 20 20 20 3b 3b 20 44 6f 20 74 68 65 keymap.parent))........;;.Do.the
231e0 20 62 69 6e 64 69 6e 67 73 2e 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 64 65 66 69 6e 69 74 69 .bindings........(while.definiti
23200 6f 6e 73 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6b 65 79 20 28 70 6f 70 20 64 65 66 69 ons.........(let.((key.(pop.defi
23220 6e 69 74 69 6f 6e 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 64 65 66 nitions)))...........(unless.def
23240 69 6e 69 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 55 6e 65 initions.............(error."Une
23260 76 65 6e 20 6e 75 6d 62 65 72 20 6f 66 20 6b 65 79 2f 64 65 66 69 6e 69 74 69 6f 6e 20 70 61 69 ven.number.of.key/definition.pai
23280 72 73 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 64 65 66 20 28 70 6f 70 20 rs"))...........(let.((def.(pop.
232a0 64 65 66 69 6e 69 74 69 6f 6e 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 definitions))).............(if.(
232c0 65 71 20 6b 65 79 20 3a 6d 65 6e 75 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 eq.key.:menu).................(e
232e0 61 73 79 2d 6d 65 6e 75 2d 64 65 66 69 6e 65 20 6e 69 6c 20 6b 65 79 6d 61 70 20 22 22 20 64 65 asy-menu-define.nil.keymap."".de
23300 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6d 65 6d 62 65 72 20 6b 65 79 f)...............(if.(member.key
23320 20 73 65 65 6e 2d 6b 65 79 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 .seen-keys)...................(e
23340 72 72 6f 72 20 22 44 75 70 6c 69 63 61 74 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 6f 72 20 6b rror."Duplicate.definition.for.k
23360 65 79 3a 20 25 53 20 25 73 22 20 6b 65 79 20 6b 65 79 6d 61 70 29 0a 20 20 20 20 20 20 20 20 20 ey:.%S.%s".key.keymap)..........
23380 20 20 20 20 20 20 20 28 70 75 73 68 20 6b 65 79 20 73 65 65 6e 2d 6b 65 79 73 29 29 0a 20 20 20 .......(push.key.seen-keys))....
233a0 20 20 20 20 20 20 20 20 20 20 20 28 6b 65 79 6d 61 70 2d 73 65 74 20 6b 65 79 6d 61 70 20 6b 65 ...........(keymap-set.keymap.ke
233c0 79 20 64 65 66 29 29 29 29 29 0a 20 20 20 20 20 20 6b 65 79 6d 61 70 29 29 29 0a 0a 28 63 6f 6d y.def))))).......keymap)))..(com
233e0 70 61 74 2d 64 65 66 6d 61 63 72 6f 20 64 65 66 76 61 72 2d 6b 65 79 6d 61 70 20 28 76 61 72 69 pat-defmacro.defvar-keymap.(vari
23400 61 62 6c 65 2d 6e 61 6d 65 20 26 72 65 73 74 20 64 65 66 73 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 able-name.&rest.defs).;;.<compat
23420 2d 74 65 73 74 73 3a 64 65 66 76 61 72 2d 6b 65 79 6d 61 70 3e 0a 20 20 22 44 65 66 69 6e 65 20 -tests:defvar-keymap>..."Define.
23440 56 41 52 49 41 42 4c 45 2d 4e 41 4d 45 20 61 73 20 61 20 76 61 72 69 61 62 6c 65 20 77 69 74 68 VARIABLE-NAME.as.a.variable.with
23460 20 61 20 6b 65 79 6d 61 70 20 64 65 66 69 6e 69 74 69 6f 6e 2e 0a 53 65 65 20 60 64 65 66 69 6e .a.keymap.definition..See.`defin
23480 65 2d 6b 65 79 6d 61 70 27 20 66 6f 72 20 61 6e 20 65 78 70 6c 61 6e 61 74 69 6f 6e 20 6f 66 20 e-keymap'.for.an.explanation.of.
234a0 74 68 65 20 6b 65 79 77 6f 72 64 73 20 61 6e 64 20 4b 45 59 2f 44 45 46 49 4e 49 54 49 4f 4e 2e the.keywords.and.KEY/DEFINITION.
234c0 0a 0a 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 74 68 65 20 6b 65 79 77 6f 72 64 73 20 61 63 ..In.addition.to.the.keywords.ac
234e0 63 65 70 74 65 64 20 62 79 20 60 64 65 66 69 6e 65 2d 6b 65 79 6d 61 70 27 2c 20 74 68 69 73 0a cepted.by.`define-keymap',.this.
23500 6d 61 63 72 6f 20 61 6c 73 6f 20 61 63 63 65 70 74 73 20 61 20 60 3a 64 6f 63 27 20 6b 65 79 77 macro.also.accepts.a.`:doc'.keyw
23520 6f 72 64 2c 20 77 68 69 63 68 20 28 69 66 20 70 72 65 73 65 6e 74 29 20 69 73 20 75 73 65 64 0a ord,.which.(if.present).is.used.
23540 61 73 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 73 74 as.the.variable.documentation.st
23560 72 69 6e 67 2e 0a 0a 54 68 65 20 60 3a 72 65 70 65 61 74 27 20 6b 65 79 77 6f 72 64 20 63 61 6e ring...The.`:repeat'.keyword.can
23580 20 61 6c 73 6f 20 62 65 20 73 70 65 63 69 66 69 65 64 3b 20 69 74 20 63 6f 6e 74 72 6f 6c 73 20 .also.be.specified;.it.controls.
235a0 74 68 65 0a 60 72 65 70 65 61 74 2d 6d 6f 64 65 27 20 62 65 68 61 76 69 6f 72 20 6f 66 20 74 68 the.`repeat-mode'.behavior.of.th
235c0 65 20 62 69 6e 64 69 6e 67 73 20 69 6e 20 74 68 65 20 6b 65 79 6d 61 70 2e 20 20 57 68 65 6e 20 e.bindings.in.the.keymap...When.
235e0 69 74 20 69 73 0a 6e 6f 6e 2d 6e 69 6c 2c 20 61 6c 6c 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 20 74 it.is.non-nil,.all.commands.in.t
23600 68 65 20 6d 61 70 20 77 69 6c 6c 20 68 61 76 65 20 74 68 65 20 60 72 65 70 65 61 74 2d 6d 61 70 he.map.will.have.the.`repeat-map
23620 27 0a 73 79 6d 62 6f 6c 20 70 72 6f 70 65 72 74 79 2e 0a 0a 4d 6f 72 65 20 63 6f 6e 74 72 6f 6c '.symbol.property...More.control
23640 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 6f 76 65 72 20 77 68 69 63 68 20 63 6f 6d 6d 61 6e 64 .is.available.over.which.command
23660 73 20 61 72 65 20 72 65 70 65 61 74 61 62 6c 65 3b 20 74 68 65 0a 76 61 6c 75 65 20 63 61 6e 20 s.are.repeatable;.the.value.can.
23680 61 6c 73 6f 20 62 65 20 61 20 70 72 6f 70 65 72 74 79 20 6c 69 73 74 20 77 69 74 68 20 70 72 6f also.be.a.property.list.with.pro
236a0 70 65 72 74 69 65 73 20 60 3a 65 6e 74 65 72 27 20 61 6e 64 0a 60 3a 65 78 69 74 27 2c 20 66 6f perties.`:enter'.and.`:exit',.fo
236c0 72 20 65 78 61 6d 70 6c 65 3a 0a 0a 20 20 20 20 20 3a 72 65 70 65 61 74 20 28 3a 65 6e 74 65 72 r.example:.......:repeat.(:enter
236e0 20 28 63 6f 6d 6d 61 6e 64 73 20 2e 2e 2e 29 20 3a 65 78 69 74 20 28 63 6f 6d 6d 61 6e 64 73 20 .(commands....).:exit.(commands.
23700 2e 2e 2e 29 29 0a 0a 60 3a 65 6e 74 65 72 27 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20 6c 69 ...))..`:enter'.specifies.the.li
23720 73 74 20 6f 66 20 61 64 64 69 74 69 6f 6e 61 6c 20 63 6f 6d 6d 61 6e 64 73 20 74 68 61 74 20 6f st.of.additional.commands.that.o
23740 6e 6c 79 0a 65 6e 74 65 72 20 60 72 65 70 65 61 74 2d 6d 6f 64 65 27 2e 20 20 57 68 65 6e 20 74 nly.enter.`repeat-mode'...When.t
23760 68 65 20 6c 69 73 74 20 69 73 20 65 6d 70 74 79 2c 20 74 68 65 6e 20 6f 6e 6c 79 20 74 68 65 0a he.list.is.empty,.then.only.the.
23780 63 6f 6d 6d 61 6e 64 73 20 64 65 66 69 6e 65 64 20 69 6e 20 74 68 65 20 6d 61 70 20 65 6e 74 65 commands.defined.in.the.map.ente
237a0 72 20 60 72 65 70 65 61 74 2d 6d 6f 64 65 27 2e 20 20 53 70 65 63 69 66 79 69 6e 67 20 61 0a 6c r.`repeat-mode'...Specifying.a.l
237c0 69 73 74 20 6f 66 20 63 6f 6d 6d 61 6e 64 73 20 69 73 20 75 73 65 66 75 6c 20 77 68 65 6e 20 74 ist.of.commands.is.useful.when.t
237e0 68 65 72 65 20 61 72 65 20 63 6f 6d 6d 61 6e 64 73 20 74 68 61 74 20 68 61 76 65 20 74 68 65 0a here.are.commands.that.have.the.
23800 60 72 65 70 65 61 74 2d 6d 61 70 27 20 73 79 6d 62 6f 6c 20 70 72 6f 70 65 72 74 79 2c 20 62 75 `repeat-map'.symbol.property,.bu
23820 74 20 64 6f 6e 27 74 20 65 78 69 73 74 20 69 6e 20 74 68 69 73 20 73 70 65 63 69 66 69 63 0a 6d t.don't.exist.in.this.specific.m
23840 61 70 2e 0a 0a 60 3a 65 78 69 74 27 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 63 6f 6d 6d 61 6e ap...`:exit'.is.a.list.of.comman
23860 64 73 20 74 68 61 74 20 65 78 69 74 20 60 72 65 70 65 61 74 2d 6d 6f 64 65 27 2e 20 20 57 68 65 ds.that.exit.`repeat-mode'...Whe
23880 6e 20 74 68 65 0a 6c 69 73 74 20 69 73 20 65 6d 70 74 79 2c 20 6e 6f 20 63 6f 6d 6d 61 6e 64 73 n.the.list.is.empty,.no.commands
238a0 20 69 6e 20 74 68 65 20 6d 61 70 20 65 78 69 74 20 60 72 65 70 65 61 74 2d 6d 6f 64 65 27 2e 0a .in.the.map.exit.`repeat-mode'..
238c0 53 70 65 63 69 66 79 69 6e 67 20 61 20 6c 69 73 74 20 6f 66 20 63 6f 6d 6d 61 6e 64 73 20 69 73 Specifying.a.list.of.commands.is
238e0 20 75 73 65 66 75 6c 20 77 68 65 6e 20 74 68 6f 73 65 20 63 6f 6d 6d 61 6e 64 73 20 65 78 69 73 .useful.when.those.commands.exis
23900 74 0a 69 6e 20 74 68 69 73 20 73 70 65 63 69 66 69 63 20 6d 61 70 2c 20 62 75 74 20 73 68 6f 75 t.in.this.specific.map,.but.shou
23920 6c 64 20 6e 6f 74 20 68 61 76 65 20 74 68 65 20 60 72 65 70 65 61 74 2d 6d 61 70 27 20 73 79 6d ld.not.have.the.`repeat-map'.sym
23940 62 6f 6c 0a 70 72 6f 70 65 72 74 79 2e 0a 0a 5c 28 66 6e 20 56 41 52 49 41 42 4c 45 2d 4e 41 4d bol.property...\(fn.VARIABLE-NAM
23960 45 20 26 6b 65 79 20 44 4f 43 20 46 55 4c 4c 20 50 41 52 45 4e 54 20 53 55 50 50 52 45 53 53 20 E.&key.DOC.FULL.PARENT.SUPPRESS.
23980 4e 41 4d 45 20 50 52 45 46 49 58 20 4b 45 59 4d 41 50 20 52 45 50 45 41 54 20 26 72 65 73 74 20 NAME.PREFIX.KEYMAP.REPEAT.&rest.
239a0 5b 4b 45 59 20 44 45 46 49 4e 49 54 49 4f 4e 5d 2e 2e 2e 29 22 0a 20 20 28 64 65 63 6c 61 72 65 [KEY.DEFINITION]...)"...(declare
239c0 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 6c 65 74 20 28 28 6f 70 74 73 20 6e 69 6c 29 0a .(indent.1))...(let.((opts.nil).
239e0 20 20 20 20 20 20 20 20 64 6f 63 20 72 65 70 65 61 74 20 70 72 6f 70 73 29 0a 20 20 20 20 28 77 ........doc.repeat.props).....(w
23a00 68 69 6c 65 20 28 61 6e 64 20 64 65 66 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 hile.(and.defs.................(
23a20 6b 65 79 77 6f 72 64 70 20 28 63 61 72 20 64 65 66 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 keywordp.(car.defs))............
23a40 20 20 20 20 20 28 6e 6f 74 20 28 65 71 20 28 63 61 72 20 64 65 66 73 29 20 3a 6d 65 6e 75 29 29 .....(not.(eq.(car.defs).:menu))
23a60 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 6b 65 79 77 6f 72 64 20 28 70 6f 70 20 64 65 66 73 ).......(let.((keyword.(pop.defs
23a80 29 29 29 0a 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 64 65 66 73 0a 20 20 20 20 20 20 20 ))).........(unless.defs........
23aa0 20 20 20 28 65 72 72 6f 72 20 22 55 6e 65 76 65 6e 20 6e 75 6d 62 65 72 20 6f 66 20 6b 65 79 77 ...(error."Uneven.number.of.keyw
23ac0 6f 72 64 73 22 29 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 28 ords")).........(cond..........(
23ae0 28 65 71 20 6b 65 79 77 6f 72 64 20 3a 64 6f 63 29 20 28 73 65 74 71 20 64 6f 63 20 28 70 6f 70 (eq.keyword.:doc).(setq.doc.(pop
23b00 20 64 65 66 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 28 65 71 20 6b 65 79 77 6f 72 64 20 3a .defs)))..........((eq.keyword.:
23b20 72 65 70 65 61 74 29 20 28 73 65 74 71 20 72 65 70 65 61 74 20 28 70 6f 70 20 64 65 66 73 29 29 repeat).(setq.repeat.(pop.defs))
23b40 29 0a 20 20 20 20 20 20 20 20 20 28 74 20 28 70 75 73 68 20 6b 65 79 77 6f 72 64 20 6f 70 74 73 )..........(t.(push.keyword.opts
23b60 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 70 6f 70 20 64 65 66 73 29 20 6f ).............(push.(pop.defs).o
23b80 70 74 73 29 29 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28 7a 65 72 6f 70 20 28 25 20 28 pts))))).....(unless.(zerop.(%.(
23ba0 6c 65 6e 67 74 68 20 64 65 66 73 29 20 32 29 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 55 length.defs).2)).......(error."U
23bc0 6e 65 76 65 6e 20 6e 75 6d 62 65 72 20 6f 66 20 6b 65 79 2f 64 65 66 69 6e 69 74 69 6f 6e 20 70 neven.number.of.key/definition.p
23be0 61 69 72 73 3a 20 25 73 22 20 64 65 66 73 29 29 0a 0a 20 20 20 20 28 6c 65 74 20 28 28 64 65 66 airs:.%s".defs))......(let.((def
23c00 73 20 64 65 66 73 29 0a 20 20 20 20 20 20 20 20 20 20 6b 65 79 20 73 65 65 6e 2d 6b 65 79 73 29 s.defs)...........key.seen-keys)
23c20 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 64 65 66 73 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 .......(while.defs.........(setq
23c40 20 6b 65 79 20 28 70 6f 70 20 64 65 66 73 29 29 0a 20 20 20 20 20 20 20 20 28 70 6f 70 20 64 65 .key.(pop.defs)).........(pop.de
23c60 66 73 29 0a 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 20 6b 65 79 20 3a 6d 65 6e fs).........(unless.(eq.key.:men
23c80 75 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6d 65 6d 62 65 72 20 6b 65 79 20 73 65 65 u)...........(if.(member.key.see
23ca0 6e 2d 6b 65 79 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 44 75 n-keys)...............(error."Du
23cc0 70 6c 69 63 61 74 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 66 6f 72 20 6b 65 79 20 27 25 73 27 20 plicate.definition.for.key.'%s'.
23ce0 69 6e 20 6b 65 79 6d 61 70 20 27 25 73 27 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 in.keymap.'%s'".................
23d00 20 20 20 20 20 6b 65 79 20 76 61 72 69 61 62 6c 65 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 .....key.variable-name).........
23d20 20 20 20 20 28 70 75 73 68 20 6b 65 79 20 73 65 65 6e 2d 6b 65 79 73 29 29 29 29 29 0a 0a 20 20 ....(push.key.seen-keys)))))....
23d40 20 20 28 77 68 65 6e 20 72 65 70 65 61 74 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 64 65 66 73 ..(when.repeat.......(let.((defs
23d60 20 64 65 66 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 29 0a 20 20 20 20 20 20 20 20 .defs).............def).........
23d80 28 64 6f 6c 69 73 74 20 28 64 65 66 20 28 70 6c 69 73 74 2d 67 65 74 20 72 65 70 65 61 74 20 3a (dolist.(def.(plist-get.repeat.:
23da0 65 6e 74 65 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 60 28 70 75 74 20 27 2c enter))...........(push.`(put.',
23dc0 64 65 66 20 27 72 65 70 65 61 74 2d 6d 61 70 20 27 2c 76 61 72 69 61 62 6c 65 2d 6e 61 6d 65 29 def.'repeat-map.',variable-name)
23de0 20 70 72 6f 70 73 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 64 65 66 73 0a 20 20 20 .props)).........(while.defs....
23e00 20 20 20 20 20 20 20 28 70 6f 70 20 64 65 66 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 .......(pop.defs)...........(set
23e20 71 20 64 65 66 20 28 70 6f 70 20 64 65 66 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 65 q.def.(pop.defs))...........(whe
23e40 6e 20 28 61 6e 64 20 28 6d 65 6d 71 20 28 63 61 72 20 64 65 66 29 20 27 28 66 75 6e 63 74 69 6f n.(and.(memq.(car.def).'(functio
23e60 6e 20 71 75 6f 74 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 n.quote))......................(
23e80 6e 6f 74 20 28 6d 65 6d 71 20 28 63 61 64 72 20 64 65 66 29 20 28 70 6c 69 73 74 2d 67 65 74 20 not.(memq.(cadr.def).(plist-get.
23ea0 72 65 70 65 61 74 20 3a 65 78 69 74 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 repeat.:exit)))).............(pu
23ec0 73 68 20 60 28 70 75 74 20 2c 64 65 66 20 27 72 65 70 65 61 74 2d 6d 61 70 20 27 2c 76 61 72 69 sh.`(put.,def.'repeat-map.',vari
23ee0 61 62 6c 65 2d 6e 61 6d 65 29 20 70 72 6f 70 73 29 29 29 29 29 0a 0a 20 20 20 20 28 6c 65 74 20 able-name).props)))))......(let.
23f00 28 28 64 65 66 76 61 72 2d 66 6f 72 6d 0a 20 20 20 20 20 20 20 20 20 20 20 60 28 64 65 66 76 61 ((defvar-form............`(defva
23f20 72 20 2c 76 61 72 69 61 62 6c 65 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 r.,variable-name...............(
23f40 64 65 66 69 6e 65 2d 6b 65 79 6d 61 70 20 2c 40 28 6e 72 65 76 65 72 73 65 20 6f 70 74 73 29 20 define-keymap.,@(nreverse.opts).
23f60 2c 40 64 65 66 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 40 28 61 6e 64 20 64 6f 63 ,@defs)...............,@(and.doc
23f80 20 28 6c 69 73 74 20 64 6f 63 29 29 29 29 29 0a 20 20 20 20 20 20 28 69 66 20 70 72 6f 70 73 0a .(list.doc))))).......(if.props.
23fa0 20 20 20 20 20 20 20 20 20 20 60 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 2c ..........`(progn..............,
23fc0 64 65 66 76 61 72 2d 66 6f 72 6d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 40 28 6e 72 65 76 defvar-form..............,@(nrev
23fe0 65 72 73 65 20 70 72 6f 70 73 29 29 0a 20 20 20 20 20 20 20 20 64 65 66 76 61 72 2d 66 6f 72 6d erse.props)).........defvar-form
24000 29 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 6b 65 79 6d 61 70 2e 63 0a 0a ))))..;;;;.Defined.in.keymap.c..
24020 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 64 65 66 69 6e 65 2d 6b 65 79 20 28 6b 65 79 6d 61 70 (compat-defun.define-key.(keymap
24040 20 6b 65 79 20 64 65 66 20 26 6f 70 74 69 6f 6e 61 6c 20 72 65 6d 6f 76 65 29 20 3b 3b 20 3c 63 .key.def.&optional.remove).;;.<c
24060 6f 6d 70 61 74 2d 74 65 73 74 73 3a 64 65 66 69 6e 65 2d 6b 65 79 3e 0a 20 20 22 48 61 6e 64 6c ompat-tests:define-key>..."Handl
24080 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 52 45 4d 4f 56 45 2e 22 0a 20 20 3a e.optional.argument.REMOVE."...:
240a0 65 78 74 65 6e 64 65 64 20 74 0a 20 20 28 69 66 20 28 6e 6f 74 20 72 65 6d 6f 76 65 29 0a 20 20 extended.t...(if.(not.remove)...
240c0 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 65 79 6d 61 70 20 6b 65 79 20 64 65 66 29 0a ....(define-key.keymap.key.def).
240e0 20 20 20 20 3b 3b 20 43 61 6e 6f 6e 69 63 61 6c 69 7a 65 20 6b 65 79 0a 20 20 20 20 28 73 65 74 ....;;.Canonicalize.key.....(set
24100 71 20 6b 65 79 20 28 6b 65 79 2d 70 61 72 73 65 20 28 6b 65 79 2d 64 65 73 63 72 69 70 74 69 6f q.key.(key-parse.(key-descriptio
24120 6e 20 6b 65 79 29 29 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6b 65 79 6d 61 70 20 n.key))).....(define-key.keymap.
24140 6b 65 79 20 6e 69 6c 29 0a 20 20 20 20 3b 3b 20 53 70 6c 69 74 20 4d 2d 6b 65 79 20 69 6e 20 45 key.nil).....;;.Split.M-key.in.E
24160 53 43 20 6b 65 79 0a 20 20 20 20 28 73 65 74 71 20 6b 65 79 20 28 6d 61 70 63 61 6e 20 28 6c 61 SC.key.....(setq.key.(mapcan.(la
24180 6d 62 64 61 20 28 6b 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 mbda.(k)........................
241a0 20 28 69 66 20 28 61 6e 64 20 28 69 6e 74 65 67 65 72 70 20 6b 29 20 28 2f 3d 20 28 6c 6f 67 61 .(if.(and.(integerp.k).(/=.(loga
241c0 6e 64 20 6b 20 3f 5c 4d 2d 5c 30 29 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nd.k.?\M-\0).0))................
241e0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 3f 5c 65 20 28 6c 6f 67 78 6f 72 20 6b .............(list.?\e.(logxor.k
24200 20 3f 5c 4d 2d 5c 30 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 .?\M-\0)).......................
24220 20 20 20 20 28 6c 69 73 74 20 6b 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ....(list.k)))..................
24240 20 20 20 20 20 6b 65 79 29 29 0a 20 20 20 20 3b 3b 20 44 65 6c 65 74 65 20 73 69 6e 67 6c 65 20 .....key)).....;;.Delete.single.
24260 6b 65 79 73 20 64 69 72 65 63 74 6c 79 0a 20 20 20 20 28 69 66 20 28 6c 65 6e 67 74 68 3d 20 6b keys.directly.....(if.(length=.k
24280 65 79 20 31 29 0a 20 20 20 20 20 20 20 20 28 64 65 6c 65 74 65 20 6b 65 79 20 6b 65 79 6d 61 70 ey.1).........(delete.key.keymap
242a0 29 0a 20 20 20 20 20 20 3b 3b 20 4c 6f 6f 6b 75 70 20 73 75 62 6d 61 70 20 61 6e 64 20 64 65 6c ).......;;.Lookup.submap.and.del
242c0 65 74 65 20 6b 65 79 20 66 72 6f 6d 20 74 68 65 72 65 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 ete.key.from.there.......(let.((
242e0 73 75 62 6d 61 70 20 28 6c 6f 6f 6b 75 70 2d 6b 65 79 20 6b 65 79 6d 61 70 20 28 76 63 6f 6e 63 submap.(lookup-key.keymap.(vconc
24300 61 74 20 28 62 75 74 6c 61 73 74 20 6b 65 79 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 75 6e at.(butlast.key))))).........(un
24320 6c 65 73 73 20 28 6b 65 79 6d 61 70 70 20 73 75 62 6d 61 70 29 0a 20 20 20 20 20 20 20 20 20 20 less.(keymapp.submap)...........
24340 28 65 72 72 6f 72 20 22 4e 6f 74 20 61 20 6b 65 79 6d 61 70 20 66 6f 72 20 25 73 22 20 6b 65 79 (error."Not.a.keymap.for.%s".key
24360 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 73 79 6d 62 6f 6c 70 20 73 75 62 6d 61 70 )).........(when.(symbolp.submap
24380 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 75 62 6d 61 70 20 28 73 79 6d 62 6f 6c )...........(setq.submap.(symbol
243a0 2d 66 75 6e 63 74 69 6f 6e 20 73 75 62 6d 61 70 29 29 29 0a 20 20 20 20 20 20 20 20 28 64 65 6c -function.submap))).........(del
243c0 65 74 65 20 28 6c 61 73 74 20 6b 65 79 29 20 73 75 62 6d 61 70 29 29 29 0a 20 20 20 20 64 65 66 ete.(last.key).submap))).....def
243e0 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 68 65 6c 70 2e 65 6c 0a 0a 28 63 6f ))..;;;;.Defined.in.help.el..(co
24400 6d 70 61 74 2d 64 65 66 75 6e 20 73 75 62 73 74 69 74 75 74 65 2d 71 75 6f 74 65 73 20 28 73 74 mpat-defun.substitute-quotes.(st
24420 72 69 6e 67 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 73 75 62 73 74 69 74 75 74 ring).;;.<compat-tests:substitut
24440 65 2d 71 75 6f 74 65 73 3e 0a 20 20 22 53 75 62 73 74 69 74 75 74 65 20 71 75 6f 74 65 20 63 68 e-quotes>..."Substitute.quote.ch
24460 61 72 61 63 74 65 72 73 20 66 6f 72 20 64 69 73 70 6c 61 79 2e 0a 45 61 63 68 20 67 72 61 76 65 aracters.for.display..Each.grave
24480 20 61 63 63 65 6e 74 20 5c 5c 3d 60 20 69 73 20 72 65 70 6c 61 63 65 64 20 62 79 20 6c 65 66 74 .accent.\\=`.is.replaced.by.left
244a0 20 71 75 6f 74 65 2c 20 61 6e 64 20 65 61 63 68 0a 61 70 6f 73 74 72 6f 70 68 65 20 5c 5c 3d 27 .quote,.and.each.apostrophe.\\='
244c0 20 69 73 20 72 65 70 6c 61 63 65 64 20 62 79 20 72 69 67 68 74 20 71 75 6f 74 65 2e 20 20 4c 65 .is.replaced.by.right.quote...Le
244e0 66 74 20 61 6e 64 20 72 69 67 68 74 20 71 75 6f 74 65 0a 63 68 61 72 61 63 74 65 72 73 20 61 72 ft.and.right.quote.characters.ar
24500 65 20 73 70 65 63 69 66 69 65 64 20 62 79 20 60 74 65 78 74 2d 71 75 6f 74 69 6e 67 2d 73 74 79 e.specified.by.`text-quoting-sty
24520 6c 65 27 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28 65 71 20 28 74 65 78 74 2d 71 75 6f 74 69 6e 67 le'."...(cond.((eq.(text-quoting
24540 2d 73 74 79 6c 65 29 20 27 63 75 72 76 65 29 0a 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 -style).'curve)..........(string
24560 2d 72 65 70 6c 61 63 65 20 22 60 22 20 22 e2 80 98 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 -replace."`"."..."..............
24580 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 72 65 70 6c 61 63 65 20 22 27 22 20 ............(string-replace."'".
245a0 22 e2 80 99 22 20 73 74 72 69 6e 67 29 29 29 0a 20 20 20 20 20 20 20 20 28 28 65 71 20 28 74 65 "...".string))).........((eq.(te
245c0 78 74 2d 71 75 6f 74 69 6e 67 2d 73 74 79 6c 65 29 20 27 73 74 72 61 69 67 68 74 29 0a 20 20 20 xt-quoting-style).'straight)....
245e0 20 20 20 20 20 20 28 73 74 72 69 6e 67 2d 72 65 70 6c 61 63 65 20 22 60 22 20 22 27 22 20 73 74 ......(string-replace."`"."'".st
24600 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 28 74 20 73 74 72 69 6e 67 29 29 29 0a 0a 3b 3b 3b ring)).........(t.string)))..;;;
24620 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 62 75 74 74 6f 6e 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d ;.Defined.in.button.el..(compat-
24640 64 65 66 75 6e 20 62 75 74 74 6f 6e 2d 2d 70 72 6f 70 65 72 74 69 65 73 20 28 63 61 6c 6c 62 61 defun.button--properties.(callba
24660 63 6b 20 64 61 74 61 20 68 65 6c 70 2d 65 63 68 6f 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 ck.data.help-echo).;;.<compat-te
24680 73 74 73 3a 62 75 74 74 6f 6e 69 7a 65 3e 0a 20 20 22 48 65 6c 70 65 72 20 66 75 6e 63 74 69 6f sts:buttonize>..."Helper.functio
246a0 6e 2e 22 0a 20 20 28 6c 69 73 74 20 27 66 6f 6e 74 2d 6c 6f 63 6b 2d 66 61 63 65 20 27 62 75 74 n."...(list.'font-lock-face.'but
246c0 74 6f 6e 0a 20 20 20 20 20 20 20 20 27 6d 6f 75 73 65 2d 66 61 63 65 20 27 68 69 67 68 6c 69 67 ton.........'mouse-face.'highlig
246e0 68 74 0a 20 20 20 20 20 20 20 20 27 68 65 6c 70 2d 65 63 68 6f 20 68 65 6c 70 2d 65 63 68 6f 0a ht.........'help-echo.help-echo.
24700 20 20 20 20 20 20 20 20 27 62 75 74 74 6f 6e 20 74 0a 20 20 20 20 20 20 20 20 27 66 6f 6c 6c 6f ........'button.t.........'follo
24720 77 2d 6c 69 6e 6b 20 74 0a 20 20 20 20 20 20 20 20 27 63 61 74 65 67 6f 72 79 20 74 0a 20 20 20 w-link.t.........'category.t....
24740 20 20 20 20 20 27 62 75 74 74 6f 6e 2d 64 61 74 61 20 64 61 74 61 0a 20 20 20 20 20 20 20 20 27 .....'button-data.data.........'
24760 6b 65 79 6d 61 70 20 62 75 74 74 6f 6e 2d 6d 61 70 0a 20 20 20 20 20 20 20 20 27 61 63 74 69 6f keymap.button-map.........'actio
24780 6e 20 63 61 6c 6c 62 61 63 6b 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 62 75 74 74 n.callback))..(compat-defun.butt
247a0 6f 6e 69 7a 65 20 28 73 74 72 69 6e 67 20 63 61 6c 6c 62 61 63 6b 20 26 6f 70 74 69 6f 6e 61 6c onize.(string.callback.&optional
247c0 20 64 61 74 61 20 68 65 6c 70 2d 65 63 68 6f 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 .data.help-echo).;;.<compat-test
247e0 73 3a 62 75 74 74 6f 6e 69 7a 65 3e 0a 20 20 22 4d 61 6b 65 20 53 54 52 49 4e 47 20 69 6e 74 6f s:buttonize>..."Make.STRING.into
24800 20 61 20 62 75 74 74 6f 6e 20 61 6e 64 20 72 65 74 75 72 6e 20 69 74 2e 0a 57 68 65 6e 20 63 6c .a.button.and.return.it..When.cl
24820 69 63 6b 65 64 2c 20 43 41 4c 4c 42 41 43 4b 20 77 69 6c 6c 20 62 65 20 63 61 6c 6c 65 64 20 77 icked,.CALLBACK.will.be.called.w
24840 69 74 68 20 74 68 65 20 44 41 54 41 20 61 73 20 74 68 65 0a 66 75 6e 63 74 69 6f 6e 20 61 72 67 ith.the.DATA.as.the.function.arg
24860 75 6d 65 6e 74 2e 20 20 49 66 20 44 41 54 41 20 69 73 6e 27 74 20 70 72 65 73 65 6e 74 20 28 6f ument...If.DATA.isn't.present.(o
24880 72 20 69 73 20 6e 69 6c 29 2c 20 74 68 65 20 62 75 74 74 6f 6e 0a 69 74 73 65 6c 66 20 77 69 6c r.is.nil),.the.button.itself.wil
248a0 6c 20 62 65 20 75 73 65 64 20 69 6e 73 74 65 61 64 20 61 73 20 74 68 65 20 66 75 6e 63 74 69 6f l.be.used.instead.as.the.functio
248c0 6e 20 61 72 67 75 6d 65 6e 74 2e 0a 0a 49 66 20 48 45 4c 50 2d 45 43 48 4f 2c 20 75 73 65 20 74 n.argument...If.HELP-ECHO,.use.t
248e0 68 61 74 20 61 73 20 74 68 65 20 60 68 65 6c 70 2d 65 63 68 6f 27 20 70 72 6f 70 65 72 74 79 2e hat.as.the.`help-echo'.property.
24900 0a 0a 41 6c 73 6f 20 73 65 65 20 60 62 75 74 74 6f 6e 69 7a 65 2d 72 65 67 69 6f 6e 27 2e 22 0a ..Also.see.`buttonize-region'.".
24920 20 20 28 6c 65 74 20 28 28 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 ..(let.((string..........(apply.
24940 23 27 70 72 6f 70 65 72 74 69 7a 65 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 #'propertize.string.............
24960 20 20 20 20 28 62 75 74 74 6f 6e 2d 2d 70 72 6f 70 65 72 74 69 65 73 20 63 61 6c 6c 62 61 63 6b ....(button--properties.callback
24980 20 64 61 74 61 20 68 65 6c 70 2d 65 63 68 6f 29 29 29 29 0a 20 20 20 20 3b 3b 20 41 64 64 20 74 .data.help-echo)))).....;;.Add.t
249a0 68 65 20 66 61 63 65 20 74 6f 20 74 68 65 20 65 6e 64 20 73 6f 20 74 68 61 74 20 69 74 20 63 61 he.face.to.the.end.so.that.it.ca
249c0 6e 20 62 65 20 6f 76 65 72 72 69 64 64 65 6e 2e 0a 20 20 20 20 28 61 64 64 2d 66 61 63 65 2d 74 n.be.overridden......(add-face-t
249e0 65 78 74 2d 70 72 6f 70 65 72 74 79 20 30 20 28 6c 65 6e 67 74 68 20 73 74 72 69 6e 67 29 20 27 ext-property.0.(length.string).'
24a00 62 75 74 74 6f 6e 20 74 20 73 74 72 69 6e 67 29 0a 20 20 20 20 73 74 72 69 6e 67 29 29 0a 0a 28 button.t.string).....string))..(
24a20 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 62 75 74 74 6f 6e 69 7a 65 2d 72 65 67 69 6f 6e 20 28 73 compat-defun.buttonize-region.(s
24a40 74 61 72 74 20 65 6e 64 20 63 61 6c 6c 62 61 63 6b 20 26 6f 70 74 69 6f 6e 61 6c 20 64 61 74 61 tart.end.callback.&optional.data
24a60 20 68 65 6c 70 2d 65 63 68 6f 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 62 75 74 .help-echo).;;.<compat-tests:but
24a80 74 6f 6e 69 7a 65 2d 72 65 67 69 6f 6e 3e 0a 20 20 22 4d 61 6b 65 20 74 68 65 20 72 65 67 69 6f tonize-region>..."Make.the.regio
24aa0 6e 20 62 65 74 77 65 65 6e 20 53 54 41 52 54 20 61 6e 64 20 45 4e 44 20 69 6e 74 6f 20 61 20 62 n.between.START.and.END.into.a.b
24ac0 75 74 74 6f 6e 2e 0a 57 68 65 6e 20 63 6c 69 63 6b 65 64 2c 20 43 41 4c 4c 42 41 43 4b 20 77 69 utton..When.clicked,.CALLBACK.wi
24ae0 6c 6c 20 62 65 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 44 41 54 41 20 61 73 20 74 68 ll.be.called.with.the.DATA.as.th
24b00 65 0a 66 75 6e 63 74 69 6f 6e 20 61 72 67 75 6d 65 6e 74 2e 20 20 49 66 20 44 41 54 41 20 69 73 e.function.argument...If.DATA.is
24b20 6e 27 74 20 70 72 65 73 65 6e 74 20 28 6f 72 20 69 73 20 6e 69 6c 29 2c 20 74 68 65 20 62 75 74 n't.present.(or.is.nil),.the.but
24b40 74 6f 6e 0a 69 74 73 65 6c 66 20 77 69 6c 6c 20 62 65 20 75 73 65 64 20 69 6e 73 74 65 61 64 20 ton.itself.will.be.used.instead.
24b60 61 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 61 72 67 75 6d 65 6e 74 2e 0a 0a 49 66 20 48 45 as.the.function.argument...If.HE
24b80 4c 50 2d 45 43 48 4f 2c 20 75 73 65 20 74 68 61 74 20 61 73 20 74 68 65 20 60 68 65 6c 70 2d 65 LP-ECHO,.use.that.as.the.`help-e
24ba0 63 68 6f 27 20 70 72 6f 70 65 72 74 79 2e 0a 0a 41 6c 73 6f 20 73 65 65 20 60 62 75 74 74 6f 6e cho'.property...Also.see.`button
24bc0 69 7a 65 27 2e 22 0a 20 20 28 61 64 64 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 69 65 73 20 73 74 ize'."...(add-text-properties.st
24be0 61 72 74 20 65 6e 64 20 28 62 75 74 74 6f 6e 2d 2d 70 72 6f 70 65 72 74 69 65 73 20 63 61 6c 6c art.end.(button--properties.call
24c00 62 61 63 6b 20 64 61 74 61 20 68 65 6c 70 2d 65 63 68 6f 29 29 0a 20 20 28 61 64 64 2d 66 61 63 back.data.help-echo))...(add-fac
24c20 65 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 73 74 61 72 74 20 65 6e 64 20 27 62 75 74 74 6f e-text-property.start.end.'butto
24c40 6e 20 74 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 72 6d 63 2e 65 6c 0a 0a 28 n.t))..;;;;.Defined.in.rmc.el..(
24c60 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 72 65 61 64 2d 6d 75 6c 74 69 70 6c 65 2d 63 68 6f 69 63 compat-defun.read-multiple-choic
24c80 65 20 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 72 65 61 64 2d 6d 75 6c 74 69 70 6c e..;;.<compat-tests:read-multipl
24ca0 65 2d 63 68 6f 69 63 65 3e 0a 20 20 20 20 28 70 72 6f 6d 70 74 20 63 68 6f 69 63 65 73 20 26 6f e-choice>.....(prompt.choices.&o
24cc0 70 74 69 6f 6e 61 6c 20 5f 68 65 6c 70 2d 73 74 72 20 5f 73 68 6f 77 2d 68 65 6c 70 20 6c 6f 6e ptional._help-str._show-help.lon
24ce0 67 2d 66 6f 72 6d 29 0a 20 20 20 20 22 48 61 6e 64 6c 65 20 4c 4f 4e 47 2d 46 4f 52 4d 20 61 72 g-form)....."Handle.LONG-FORM.ar
24d00 67 75 6d 65 6e 74 2e 22 0a 20 20 3a 65 78 74 65 6e 64 65 64 20 74 0a 20 20 28 69 66 20 28 6e 6f gument."...:extended.t...(if.(no
24d20 74 20 6c 6f 6e 67 2d 66 6f 72 6d 29 0a 20 20 20 20 20 20 28 72 65 61 64 2d 6d 75 6c 74 69 70 6c t.long-form).......(read-multipl
24d40 65 2d 63 68 6f 69 63 65 20 70 72 6f 6d 70 74 20 63 68 6f 69 63 65 73 29 0a 20 20 20 20 28 6c 65 e-choice.prompt.choices).....(le
24d60 74 20 28 28 61 6e 73 77 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6d 70 6c 65 74 69 6e t.((answer............(completin
24d80 67 2d 72 65 61 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 70 72 6f 6d 70 g-read.............(concat.promp
24da0 74 20 22 20 28 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 t.".(".....................(mapc
24dc0 6f 6e 63 61 74 20 23 27 69 64 65 6e 74 69 74 79 20 28 6d 61 70 63 61 72 20 23 27 63 61 64 72 20 oncat.#'identity.(mapcar.#'cadr.
24de0 63 68 6f 69 63 65 73 29 20 22 2f 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 choices)."/")...................
24e00 20 20 22 29 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 23 27 63 61 ..").").............(mapcar.#'ca
24e20 64 72 20 63 68 6f 69 63 65 73 29 20 6e 69 6c 20 74 29 29 29 0a 20 20 20 20 20 20 28 63 61 74 63 dr.choices).nil.t))).......(catc
24e40 68 20 27 66 6f 75 6e 64 0a 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 63 20 63 68 6f 69 h.'found.........(dolist.(c.choi
24e60 63 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 65 71 75 61 6c 20 61 6e 73 77 ces)...........(when.(equal.answ
24e80 65 72 20 28 63 61 64 72 20 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 74 68 72 6f 77 20 er.(cadr.c)).............(throw.
24ea0 27 66 6f 75 6e 64 20 63 29 29 29 29 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 'found.c)))))))..;;;;.Defined.in
24ec0 20 70 61 72 61 67 72 61 70 68 73 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 63 6f .paragraphs.el..(compat-defun.co
24ee0 75 6e 74 2d 73 65 6e 74 65 6e 63 65 73 20 28 73 74 61 72 74 20 65 6e 64 29 20 3b 3b 20 3c 63 6f unt-sentences.(start.end).;;.<co
24f00 6d 70 61 74 2d 74 65 73 74 73 3a 63 6f 75 6e 74 2d 73 65 6e 74 65 6e 63 65 73 3e 0a 20 20 22 43 mpat-tests:count-sentences>..."C
24f20 6f 75 6e 74 20 73 65 6e 74 65 6e 63 65 73 20 69 6e 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 ount.sentences.in.current.buffer
24f40 20 66 72 6f 6d 20 53 54 41 52 54 20 74 6f 20 45 4e 44 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 65 .from.START.to.END."...(let.((se
24f60 6e 74 65 6e 63 65 73 20 30 29 0a 20 20 20 20 20 20 20 20 28 69 6e 68 69 62 69 74 2d 66 69 65 6c ntences.0).........(inhibit-fiel
24f80 64 2d 74 65 78 74 2d 6d 6f 74 69 6f 6e 20 74 29 29 0a 20 20 20 20 28 73 61 76 65 2d 65 78 63 75 d-text-motion.t)).....(save-excu
24fa0 72 73 69 6f 6e 0a 20 20 20 20 20 20 28 73 61 76 65 2d 72 65 73 74 72 69 63 74 69 6f 6e 0a 20 20 rsion.......(save-restriction...
24fc0 20 20 20 20 20 20 28 6e 61 72 72 6f 77 2d 74 6f 2d 72 65 67 69 6f 6e 20 73 74 61 72 74 20 65 6e ......(narrow-to-region.start.en
24fe0 64 29 0a 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e d).........(goto-char.(point-min
25000 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 )).........(while.(ignore-errors
25020 20 28 66 6f 72 77 61 72 64 2d 73 65 6e 74 65 6e 63 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 .(forward-sentence))...........(
25040 73 65 74 71 20 73 65 6e 74 65 6e 63 65 73 20 28 31 2b 20 73 65 6e 74 65 6e 63 65 73 29 29 29 0a setq.sentences.(1+.sentences))).
25060 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 2f 3d 20 28 73 6b 69 70 2d 63 68 61 72 73 2d 62 61 ........(when.(/=.(skip-chars-ba
25080 63 6b 77 61 72 64 20 22 20 5c 74 5c 6e 22 29 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 ckward.".\t\n").0)...........(se
250a0 74 71 20 73 65 6e 74 65 6e 63 65 73 20 28 31 2d 20 73 65 6e 74 65 6e 63 65 73 29 29 29 0a 20 20 tq.sentences.(1-.sentences)))...
250c0 20 20 20 20 20 20 73 65 6e 74 65 6e 63 65 73 29 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 ......sentences))))..;;;;.Define
250e0 64 20 69 6e 20 63 6c 2d 6c 69 62 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 63 6c d.in.cl-lib.el..(compat-defun.cl
25100 2d 63 6f 6e 73 74 61 6e 74 6c 79 20 28 76 61 6c 75 65 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 -constantly.(value).;;.<compat-t
25120 65 73 74 73 3a 63 6c 2d 63 6f 6e 73 74 61 6e 74 6c 79 3e 0a 20 20 22 52 65 74 75 72 6e 20 61 20 ests:cl-constantly>..."Return.a.
25140 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 6e 79 20 6e 75 6d 62 65 72 20 6f function.that.takes.any.number.o
25160 66 20 61 72 67 75 6d 65 6e 74 73 2c 20 62 75 74 20 72 65 74 75 72 6e 73 20 56 41 4c 55 45 2e 22 f.arguments,.but.returns.VALUE."
25180 0a 20 20 3a 66 65 61 74 75 72 65 20 63 6c 2d 6c 69 62 0a 20 20 28 6c 61 6d 62 64 61 20 28 26 72 ...:feature.cl-lib...(lambda.(&r
251a0 65 73 74 20 5f 29 20 76 61 6c 75 65 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 est._).value))..;;;;.Defined.in.
251c0 63 6c 2d 6d 61 63 73 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 6d 61 63 72 6f 20 63 6c 2d cl-macs.el..(compat-defmacro.cl-
251e0 77 69 74 68 2d 67 65 6e 73 79 6d 73 20 28 6e 61 6d 65 73 20 26 72 65 73 74 20 62 6f 64 79 29 20 with-gensyms.(names.&rest.body).
25200 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 63 6c 2d 77 69 74 68 2d 67 65 6e 73 79 6d 73 ;;.<compat-tests:cl-with-gensyms
25220 3e 0a 20 20 22 42 69 6e 64 20 65 61 63 68 20 6f 66 20 4e 41 4d 45 53 20 74 6f 20 61 6e 20 75 6e >..."Bind.each.of.NAMES.to.an.un
25240 69 6e 74 65 72 6e 65 64 20 73 79 6d 62 6f 6c 20 61 6e 64 20 65 76 61 6c 75 61 74 65 20 42 4f 44 interned.symbol.and.evaluate.BOD
25260 59 2e 22 0a 20 20 3b 3b 20 4e 6f 20 3a 66 65 61 74 75 72 65 20 73 69 6e 63 65 20 6d 61 63 72 6f Y."...;;.No.:feature.since.macro
25280 20 69 73 20 61 75 74 6f 6c 6f 61 64 65 64 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 .is.autoloaded...(declare.(debug
252a0 20 28 73 65 78 70 20 62 6f 64 79 29 29 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 60 28 6c 65 .(sexp.body)).(indent.1))...`(le
252c0 74 20 2c 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 6e 61 6d 65 20 69 6e 20 6e 61 6d 65 73 20 63 6f t.,(cl-loop.for.name.in.names.co
252e0 6c 6c 65 63 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 2c 6e 61 6d 65 20 llect...................`(,name.
25300 28 67 65 6e 73 79 6d 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 27 2c 6e 61 6d 65 29 29 29 29 0a (gensym.(symbol-name.',name)))).
25320 20 20 20 20 20 2c 40 62 6f 64 79 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 6d 61 63 72 6f 20 .....,@body))..(compat-defmacro.
25340 63 6c 2d 6f 6e 63 65 2d 6f 6e 6c 79 20 28 6e 61 6d 65 73 20 26 72 65 73 74 20 62 6f 64 79 29 20 cl-once-only.(names.&rest.body).
25360 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 63 6c 2d 6f 6e 63 65 2d 6f 6e 6c 79 3e 0a 20 ;;.<compat-tests:cl-once-only>..
25380 20 22 47 65 6e 65 72 61 74 65 20 63 6f 64 65 20 74 6f 20 65 76 61 6c 75 61 74 65 20 65 61 63 68 ."Generate.code.to.evaluate.each
253a0 20 6f 66 20 4e 41 4d 45 53 20 6a 75 73 74 20 6f 6e 63 65 20 69 6e 20 42 4f 44 59 2e 0a 0a 54 68 .of.NAMES.just.once.in.BODY...Th
253c0 69 73 20 6d 61 63 72 6f 20 68 65 6c 70 73 20 77 69 74 68 20 77 72 69 74 69 6e 67 20 6f 74 68 65 is.macro.helps.with.writing.othe
253e0 72 20 6d 61 63 72 6f 73 2e 20 20 45 61 63 68 20 6f 66 20 6e 61 6d 65 73 20 69 73 0a 65 69 74 68 r.macros...Each.of.names.is.eith
25400 65 72 20 28 4e 41 4d 45 20 46 4f 52 4d 29 20 6f 72 20 4e 41 4d 45 2c 20 77 68 69 63 68 20 6c 61 er.(NAME.FORM).or.NAME,.which.la
25420 74 74 65 72 20 6d 65 61 6e 73 20 28 4e 41 4d 45 20 4e 41 4d 45 29 2e 0a 44 75 72 69 6e 67 20 6d tter.means.(NAME.NAME)..During.m
25440 61 63 72 6f 65 78 70 61 6e 73 69 6f 6e 2c 20 65 61 63 68 20 4e 41 4d 45 20 69 73 20 62 6f 75 6e acroexpansion,.each.NAME.is.boun
25460 64 20 74 6f 20 61 6e 20 75 6e 69 6e 74 65 72 6e 65 64 0a 73 79 6d 62 6f 6c 2e 20 20 54 68 65 20 d.to.an.uninterned.symbol...The.
25480 65 78 70 61 6e 73 69 6f 6e 20 65 76 61 6c 75 61 74 65 73 20 65 61 63 68 20 46 4f 52 4d 20 61 6e expansion.evaluates.each.FORM.an
254a0 64 20 62 69 6e 64 73 20 69 74 20 74 6f 20 74 68 65 0a 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 d.binds.it.to.the.corresponding.
254c0 75 6e 69 6e 74 65 72 6e 65 64 20 73 79 6d 62 6f 6c 2e 0a 0a 46 6f 72 20 65 78 61 6d 70 6c 65 2c uninterned.symbol...For.example,
254e0 20 63 6f 6e 73 69 64 65 72 20 74 68 69 73 20 6d 61 63 72 6f 3a 0a 0a 20 20 20 20 28 64 65 66 6d .consider.this.macro:......(defm
25500 61 63 72 6f 20 6d 79 2d 63 6f 6e 73 20 28 78 29 0a 20 20 20 20 20 20 28 63 6c 2d 6f 6e 63 65 2d acro.my-cons.(x).......(cl-once-
25520 6f 6e 6c 79 20 28 78 29 0a 20 20 20 20 20 20 20 20 5c 5c 3d 60 28 63 6f 6e 73 20 2c 78 20 2c 78 only.(x).........\\=`(cons.,x.,x
25540 29 29 29 0a 0a 54 68 65 20 63 61 6c 6c 20 28 6d 79 2d 63 6f 6e 73 20 28 70 6f 70 20 79 29 29 20 )))..The.call.(my-cons.(pop.y)).
25560 77 69 6c 6c 20 65 78 70 61 6e 64 20 74 6f 20 73 6f 6d 65 74 68 69 6e 67 20 6c 69 6b 65 20 74 68 will.expand.to.something.like.th
25580 69 73 3a 0a 0a 20 20 20 20 28 6c 65 74 20 28 28 67 31 20 28 70 6f 70 20 79 29 29 29 0a 20 20 20 is:......(let.((g1.(pop.y)))....
255a0 20 20 20 28 63 6f 6e 73 20 67 31 20 67 31 29 29 0a 0a 54 68 65 20 75 73 65 20 6f 66 20 60 63 6c ...(cons.g1.g1))..The.use.of.`cl
255c0 2d 6f 6e 63 65 2d 6f 6e 6c 79 27 20 65 6e 73 75 72 65 73 20 74 68 61 74 20 74 68 65 20 70 6f 70 -once-only'.ensures.that.the.pop
255e0 20 69 73 20 70 65 72 66 6f 72 6d 65 64 20 6f 6e 6c 79 0a 6f 6e 63 65 2c 20 61 73 20 69 6e 74 65 .is.performed.only.once,.as.inte
25600 6e 64 65 64 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 60 6d 61 63 72 6f 65 78 70 2d 6c 65 74 32 27 2e nded...See.also.`macroexp-let2'.
25620 22 0a 20 20 3b 3b 20 4e 6f 20 3a 66 65 61 74 75 72 65 20 73 69 6e 63 65 20 6d 61 63 72 6f 20 69 "...;;.No.:feature.since.macro.i
25640 73 20 61 75 74 6f 6c 6f 61 64 65 64 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 s.autoloaded...(declare.(debug.(
25660 73 65 78 70 20 62 6f 64 79 29 29 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 73 65 74 71 20 sexp.body)).(indent.1))...(setq.
25680 6e 61 6d 65 73 20 28 6d 61 70 63 61 72 20 23 27 65 6e 73 75 72 65 2d 6c 69 73 74 20 6e 61 6d 65 names.(mapcar.#'ensure-list.name
256a0 73 29 29 0a 20 20 28 6c 65 74 20 28 28 6f 75 72 2d 67 65 6e 73 79 6d 73 20 28 63 6c 2d 6c 6f 6f s))...(let.((our-gensyms.(cl-loo
256c0 70 20 66 6f 72 20 5f 20 69 6e 20 6e 61 6d 65 73 20 63 6f 6c 6c 65 63 74 20 28 67 65 6e 73 79 6d p.for._.in.names.collect.(gensym
256e0 29 29 29 29 0a 20 20 20 20 60 28 6c 65 74 20 2c 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 73 79 6d )))).....`(let.,(cl-loop.for.sym
25700 20 69 6e 20 6f 75 72 2d 67 65 6e 73 79 6d 73 20 63 6f 6c 6c 65 63 74 20 60 28 2c 73 79 6d 20 28 .in.our-gensyms.collect.`(,sym.(
25720 67 65 6e 73 79 6d 29 29 29 0a 20 20 20 20 20 20 20 60 28 6c 65 74 20 2c 28 6c 69 73 74 0a 20 20 gensym)))........`(let.,(list...
25740 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 40 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 6e 61 6d 65 .............,@(cl-loop.for.name
25760 20 69 6e 20 6e 61 6d 65 73 20 66 6f 72 20 67 65 6e 73 79 6d 20 69 6e 20 6f 75 72 2d 67 65 6e 73 .in.names.for.gensym.in.our-gens
25780 79 6d 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f yms...........................fo
257a0 72 20 74 6f 2d 65 76 61 6c 20 3d 20 28 6f 72 20 28 63 61 64 72 20 6e 61 6d 65 29 20 28 63 61 72 r.to-eval.=.(or.(cadr.name).(car
257c0 20 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .name)).........................
257e0 20 20 63 6f 6c 6c 65 63 74 20 60 60 28 2c 2c 67 65 6e 73 79 6d 20 2c 2c 74 6f 2d 65 76 61 6c 29 ..collect.``(,,gensym.,,to-eval)
25800 29 29 0a 20 20 20 20 20 20 20 20 20 20 2c 28 6c 65 74 20 2c 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 ))...........,(let.,(cl-loop.for
25820 20 6e 61 6d 65 20 69 6e 20 6e 61 6d 65 73 20 66 6f 72 20 67 65 6e 73 79 6d 20 69 6e 20 6f 75 72 .name.in.names.for.gensym.in.our
25840 2d 67 65 6e 73 79 6d 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -gensyms........................
25860 20 20 20 63 6f 6c 6c 65 63 74 20 60 28 2c 28 63 61 72 20 6e 61 6d 65 29 20 2c 67 65 6e 73 79 6d ...collect.`(,(car.name).,gensym
25880 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 40 62 6f 64 79 29 29 29 29 29 0a 0a 3b 3b 3b ))..............,@body)))))..;;;
258a0 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 65 72 74 2d 78 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 ;.Defined.in.ert-x.el..(compat-d
258c0 65 66 6d 61 63 72 6f 20 65 72 74 2d 77 69 74 68 2d 74 65 6d 70 2d 66 69 6c 65 20 28 6e 61 6d 65 efmacro.ert-with-temp-file.(name
258e0 20 26 72 65 73 74 20 62 6f 64 79 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 65 72 .&rest.body).;;.<compat-tests:er
25900 74 2d 77 69 74 68 2d 74 65 6d 70 2d 66 69 6c 65 3e 0a 20 20 22 42 69 6e 64 20 4e 41 4d 45 20 74 t-with-temp-file>..."Bind.NAME.t
25920 6f 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 20 6e 65 77 20 74 65 6d 70 6f 72 61 72 79 20 66 69 o.the.name.of.a.new.temporary.fi
25940 6c 65 20 61 6e 64 20 65 76 61 6c 75 61 74 65 20 42 4f 44 59 2e 0a 44 65 6c 65 74 65 20 74 68 65 le.and.evaluate.BODY..Delete.the
25960 20 74 65 6d 70 6f 72 61 72 79 20 66 69 6c 65 20 61 66 74 65 72 20 42 4f 44 59 20 65 78 69 74 73 .temporary.file.after.BODY.exits
25980 20 6e 6f 72 6d 61 6c 6c 79 20 6f 72 0a 6e 6f 6e 2d 6c 6f 63 61 6c 6c 79 2e 20 20 4e 41 4d 45 20 .normally.or.non-locally...NAME.
259a0 77 69 6c 6c 20 62 65 20 62 6f 75 6e 64 20 74 6f 20 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 20 6f will.be.bound.to.the.file.name.o
259c0 66 20 74 68 65 20 74 65 6d 70 6f 72 61 72 79 0a 66 69 6c 65 2e 0a 0a 54 68 65 20 66 6f 6c 6c 6f f.the.temporary.file...The.follo
259e0 77 69 6e 67 20 6b 65 79 77 6f 72 64 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 73 75 70 70 6f wing.keyword.arguments.are.suppo
25a00 72 74 65 64 3a 0a 0a 3a 70 72 65 66 69 78 20 53 54 52 49 4e 47 20 20 49 66 20 6e 6f 6e 2d 6e 69 rted:..:prefix.STRING..If.non-ni
25a20 6c 2c 20 70 61 73 73 20 53 54 52 49 4e 47 20 74 6f 20 60 6d 61 6b 65 2d 74 65 6d 70 2d 66 69 6c l,.pass.STRING.to.`make-temp-fil
25a40 65 27 20 61 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 50 52 45 46 49 58 e'.as.................the.PREFIX
25a60 20 61 72 67 75 6d 65 6e 74 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 75 73 65 20 74 68 65 20 76 .argument...Otherwise,.use.the.v
25a80 61 6c 75 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 65 72 74 2d 74 65 6d alue.of.................`ert-tem
25aa0 70 2d 66 69 6c 65 2d 70 72 65 66 69 78 27 2e 0a 0a 3a 73 75 66 66 69 78 20 53 54 52 49 4e 47 20 p-file-prefix'...:suffix.STRING.
25ac0 20 49 66 20 6e 6f 6e 2d 6e 69 6c 2c 20 70 61 73 73 20 53 54 52 49 4e 47 20 74 6f 20 60 6d 61 6b .If.non-nil,.pass.STRING.to.`mak
25ae0 65 2d 74 65 6d 70 2d 66 69 6c 65 27 20 61 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 e-temp-file'.as.the.............
25b00 20 20 20 20 53 55 46 46 49 58 20 61 72 67 75 6d 65 6e 74 2e 20 20 4f 74 68 65 72 77 69 73 65 2c ....SUFFIX.argument...Otherwise,
25b20 20 75 73 65 20 74 68 65 20 76 61 6c 75 65 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .use.the.value.of...............
25b40 20 20 60 65 72 74 2d 74 65 6d 70 2d 66 69 6c 65 2d 73 75 66 66 69 78 27 3b 20 69 66 20 74 68 65 ..`ert-temp-file-suffix';.if.the
25b60 20 76 61 6c 75 65 20 6f 66 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 .value.of.that.................v
25b80 61 72 69 61 62 6c 65 20 69 73 20 6e 69 6c 2c 20 67 65 6e 65 72 61 74 65 20 61 20 73 75 66 66 69 ariable.is.nil,.generate.a.suffi
25ba0 78 20 62 61 73 65 64 20 6f 6e 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e x.based.on.the.................n
25bc0 61 6d 65 20 6f 66 20 74 68 65 20 66 69 6c 65 20 74 68 61 74 20 60 65 72 74 2d 77 69 74 68 2d 74 ame.of.the.file.that.`ert-with-t
25be0 65 6d 70 2d 66 69 6c 65 27 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 6c emp-file'.is.................cal
25c00 6c 65 64 20 66 72 6f 6d 2e 0a 0a 3a 74 65 78 74 20 53 54 52 49 4e 47 20 20 20 20 49 66 20 6e 6f led.from...:text.STRING....If.no
25c20 6e 2d 6e 69 6c 2c 20 70 61 73 73 20 53 54 52 49 4e 47 20 74 6f 20 60 6d 61 6b 65 2d 74 65 6d 70 n-nil,.pass.STRING.to.`make-temp
25c40 2d 66 69 6c 65 27 20 61 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 65 20 54 45 -file'.as.................the.TE
25c60 58 54 20 61 72 67 75 6d 65 6e 74 2e 0a 0a 3a 62 75 66 66 65 72 20 53 59 4d 42 4f 4c 20 20 4f 70 XT.argument...:buffer.SYMBOL..Op
25c80 65 6e 20 74 68 65 20 74 65 6d 70 6f 72 61 72 79 20 66 69 6c 65 20 75 73 69 6e 67 20 60 66 69 6e en.the.temporary.file.using.`fin
25ca0 64 2d 66 69 6c 65 2d 6e 6f 73 65 6c 65 63 74 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d-file-noselect'................
25cc0 20 61 6e 64 20 62 69 6e 64 20 53 59 4d 42 4f 4c 20 74 6f 20 74 68 65 20 62 75 66 66 65 72 2e 20 .and.bind.SYMBOL.to.the.buffer..
25ce0 20 4b 69 6c 6c 20 74 68 65 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .Kill.the.buffer................
25d00 20 61 66 74 65 72 20 42 4f 44 59 20 65 78 69 74 73 20 6e 6f 72 6d 61 6c 6c 79 20 6f 72 20 6e 6f .after.BODY.exits.normally.or.no
25d20 6e 2d 6c 6f 63 61 6c 6c 79 2e 0a 0a 3a 63 6f 64 69 6e 67 20 43 4f 44 49 4e 47 20 20 49 66 20 6e n-locally...:coding.CODING..If.n
25d40 6f 6e 2d 6e 69 6c 2c 20 62 69 6e 64 20 60 63 6f 64 69 6e 67 2d 73 79 73 74 65 6d 2d 66 6f 72 2d on-nil,.bind.`coding-system-for-
25d60 77 72 69 74 65 27 20 74 6f 20 43 4f 44 49 4e 47 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 write'.to.CODING................
25d80 20 77 68 65 6e 20 65 78 65 63 75 74 69 6e 67 20 42 4f 44 59 2e 20 20 54 68 69 73 20 69 73 20 68 .when.executing.BODY...This.is.h
25da0 61 6e 64 79 20 77 68 65 6e 20 53 54 52 49 4e 47 20 69 6e 63 6c 75 64 65 73 0a 20 20 20 20 20 20 andy.when.STRING.includes.......
25dc0 20 20 20 20 20 20 20 20 20 20 6e 6f 6e 2d 41 53 43 49 49 20 63 68 61 72 61 63 74 65 72 73 20 6f ..........non-ASCII.characters.o
25de0 72 20 74 68 65 20 74 65 6d 70 6f 72 61 72 79 20 66 69 6c 65 20 6d 75 73 74 20 68 61 76 65 20 61 r.the.temporary.file.must.have.a
25e00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 70 65 63 69 66 69 63 20 65 6e 63 6f 64 69 .................specific.encodi
25e20 6e 67 20 6f 72 20 65 6e 64 2d 6f 66 2d 6c 69 6e 65 20 66 6f 72 6d 61 74 2e 0a 0a 53 65 65 20 61 ng.or.end-of-line.format...See.a
25e40 6c 73 6f 20 60 65 72 74 2d 77 69 74 68 2d 74 65 6d 70 2d 64 69 72 65 63 74 6f 72 79 27 2e 22 0a lso.`ert-with-temp-directory'.".
25e60 20 20 3a 66 65 61 74 75 72 65 20 65 72 74 2d 78 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 ..:feature.ert-x...(declare.(ind
25e80 65 6e 74 20 31 29 20 28 64 65 62 75 67 20 28 73 79 6d 62 6f 6c 70 20 62 6f 64 79 29 29 29 0a 20 ent.1).(debug.(symbolp.body)))..
25ea0 20 28 63 6c 2d 63 68 65 63 6b 2d 74 79 70 65 20 6e 61 6d 65 20 73 79 6d 62 6f 6c 29 0a 20 20 28 .(cl-check-type.name.symbol)...(
25ec0 6c 65 74 20 28 6b 65 79 77 20 70 72 65 66 69 78 20 73 75 66 66 69 78 20 64 69 72 65 63 74 6f 72 let.(keyw.prefix.suffix.director
25ee0 79 20 74 65 78 74 20 65 78 74 72 61 2d 6b 65 79 77 6f 72 64 73 20 62 75 66 66 65 72 20 63 6f 64 y.text.extra-keywords.buffer.cod
25f00 69 6e 67 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 6b 65 79 77 6f 72 64 70 20 28 73 65 74 71 20 ing).....(while.(keywordp.(setq.
25f20 6b 65 79 77 20 28 63 61 72 20 62 6f 64 79 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 62 6f keyw.(car.body))).......(setq.bo
25f40 64 79 20 28 63 64 72 20 62 6f 64 79 29 29 0a 20 20 20 20 20 20 28 70 63 61 73 65 20 6b 65 79 77 dy.(cdr.body)).......(pcase.keyw
25f60 0a 20 20 20 20 20 20 20 20 28 3a 70 72 65 66 69 78 20 28 73 65 74 71 20 70 72 65 66 69 78 20 28 .........(:prefix.(setq.prefix.(
25f80 70 6f 70 20 62 6f 64 79 29 29 29 0a 20 20 20 20 20 20 20 20 28 3a 73 75 66 66 69 78 20 28 73 65 pop.body))).........(:suffix.(se
25fa0 74 71 20 73 75 66 66 69 78 20 28 70 6f 70 20 62 6f 64 79 29 29 29 0a 20 20 20 20 20 20 20 20 3b tq.suffix.(pop.body))).........;
25fc0 3b 20 54 68 69 73 20 69 73 20 6f 6e 6c 79 20 66 6f 72 20 69 6e 74 65 72 6e 61 6c 20 75 73 65 20 ;.This.is.only.for.internal.use.
25fe0 62 79 20 60 65 72 74 2d 77 69 74 68 2d 74 65 6d 70 2d 64 69 72 65 63 74 6f 72 79 27 0a 20 20 20 by.`ert-with-temp-directory'....
26000 20 20 20 20 20 3b 3b 20 61 6e 64 20 69 73 20 74 68 65 72 65 66 6f 72 65 20 6e 6f 74 20 64 6f 63 .....;;.and.is.therefore.not.doc
26020 75 6d 65 6e 74 65 64 2e 0a 20 20 20 20 20 20 20 20 28 3a 64 69 72 65 63 74 6f 72 79 20 28 73 65 umented..........(:directory.(se
26040 74 71 20 64 69 72 65 63 74 6f 72 79 20 28 70 6f 70 20 62 6f 64 79 29 29 29 0a 20 20 20 20 20 20 tq.directory.(pop.body))).......
26060 20 20 28 3a 74 65 78 74 20 28 73 65 74 71 20 74 65 78 74 20 28 70 6f 70 20 62 6f 64 79 29 29 29 ..(:text.(setq.text.(pop.body)))
26080 0a 20 20 20 20 20 20 20 20 28 3a 62 75 66 66 65 72 20 28 73 65 74 71 20 62 75 66 66 65 72 20 28 .........(:buffer.(setq.buffer.(
260a0 70 6f 70 20 62 6f 64 79 29 29 29 0a 20 20 20 20 20 20 20 20 28 3a 63 6f 64 69 6e 67 20 28 73 65 pop.body))).........(:coding.(se
260c0 74 71 20 63 6f 64 69 6e 67 20 28 70 6f 70 20 62 6f 64 79 29 29 29 0a 20 20 20 20 20 20 20 20 28 tq.coding.(pop.body))).........(
260e0 5f 20 28 70 75 73 68 20 6b 65 79 77 20 65 78 74 72 61 2d 6b 65 79 77 6f 72 64 73 29 20 28 70 6f _.(push.keyw.extra-keywords).(po
26100 70 20 62 6f 64 79 29 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 65 78 74 72 61 2d 6b 65 79 77 6f p.body)))).....(when.extra-keywo
26120 72 64 73 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 49 6e 76 61 6c 69 64 20 6b 65 79 77 6f 72 rds.......(error."Invalid.keywor
26140 64 73 3a 20 25 73 22 20 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 73 79 6d 62 6f 6c 2d 6e 61 6d 65 ds:.%s".(mapconcat.#'symbol-name
26160 20 65 78 74 72 61 2d 6b 65 79 77 6f 72 64 73 20 22 20 22 29 29 29 0a 20 20 20 20 28 6c 65 74 20 .extra-keywords."."))).....(let.
26180 28 28 74 65 6d 70 2d 66 69 6c 65 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 74 65 6d 70 2d 66 ((temp-file.(make-symbol."temp-f
261a0 69 6c 65 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 72 65 66 69 78 20 28 6f 72 20 70 72 65 ile"))...........(prefix.(or.pre
261c0 66 69 78 20 22 65 6d 61 63 73 2d 74 65 73 74 2d 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 fix."emacs-test-"))...........(s
261e0 75 66 66 69 78 20 28 6f 72 20 73 75 66 66 69 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 uffix.(or.suffix................
26200 20 20 20 20 20 20 20 28 74 68 72 65 61 64 2d 6c 61 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 .......(thread-last.............
26220 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 62 61 73 65 20 28 6f 72 20 ............(file-name-base.(or.
26240 28 6d 61 63 72 6f 65 78 70 2d 66 69 6c 65 2d 6e 61 6d 65 29 20 62 75 66 66 65 72 2d 66 69 6c 65 (macroexp-file-name).buffer-file
26260 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -name)).........................
26280 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 20 28 72 78 20 73 74 (replace-regexp-in-string.(rx.st
262a0 72 69 6e 67 2d 73 74 61 72 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ring-start......................
262c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
262e0 20 28 67 72 6f 75 70 20 28 2b 3f 20 6e 6f 74 2d 6e 65 77 6c 69 6e 65 29 29 0a 20 20 20 20 20 20 .(group.(+?.not-newline)).......
26300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
26320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 67 65 78 70 20 22 2d 3f 74 65 73 74 73 ................(regexp."-?tests
26340 3f 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ?").............................
26360 20 20 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 74 72 69 6e 67 ..........................string
26380 2d 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -end)...........................
263a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 5c 31 22 29 0a 20 ........................"\\1")..
263c0 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 63 61 74 20 22 .......................(concat."
263e0 2d 22 29 29 29 29 29 0a 20 20 20 20 20 20 60 28 6c 65 74 2a 20 28 28 63 6f 64 69 6e 67 2d 73 79 -"))))).......`(let*.((coding-sy
26400 73 74 65 6d 2d 66 6f 72 2d 77 72 69 74 65 20 2c 28 6f 72 20 63 6f 64 69 6e 67 20 63 6f 64 69 6e stem-for-write.,(or.coding.codin
26420 67 2d 73 79 73 74 65 6d 2d 66 6f 72 2d 77 72 69 74 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 g-system-for-write))............
26440 20 20 20 28 2c 74 65 6d 70 2d 66 69 6c 65 20 28 2c 28 69 66 20 64 69 72 65 63 74 6f 72 79 20 27 ...(,temp-file.(,(if.directory.'
26460 66 69 6c 65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72 65 63 74 6f 72 79 20 27 69 64 65 6e 74 69 74 79 file-name-as-directory.'identity
26480 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2c 28 )............................(,(
264a0 69 66 20 28 66 62 6f 75 6e 64 70 20 27 63 6f 6d 70 61 74 2d 2d 6d 61 6b 65 2d 74 65 6d 70 2d 66 if.(fboundp.'compat--make-temp-f
264c0 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ile)............................
264e0 20 20 20 20 20 20 27 63 6f 6d 70 61 74 2d 2d 6d 61 6b 65 2d 74 65 6d 70 2d 66 69 6c 65 20 27 6d ......'compat--make-temp-file.'m
26500 61 6b 65 2d 74 65 6d 70 2d 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ake-temp-file)..................
26520 20 20 20 20 20 20 20 20 20 20 20 2c 70 72 65 66 69 78 20 2c 64 69 72 65 63 74 6f 72 79 20 2c 73 ...........,prefix.,directory.,s
26540 75 66 66 69 78 20 2c 74 65 78 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2c 6e uffix.,text)))...............(,n
26560 61 6d 65 20 2c 28 69 66 20 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ame.,(if.directory..............
26580 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 66 69 6c 65 2d 6e 61 6d 65 2d 61 73 2d 64 69 72 65 .............`(file-name-as-dire
265a0 63 74 6f 72 79 20 2c 74 65 6d 70 2d 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ctory.,temp-file)...............
265c0 20 20 20 20 20 20 20 20 20 20 74 65 6d 70 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 ..........temp-file))...........
265e0 20 20 20 20 2c 40 28 77 68 65 6e 20 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ....,@(when.buffer..............
26600 20 20 20 20 20 28 6c 69 73 74 20 60 28 2c 62 75 66 66 65 72 20 28 66 69 6e 64 2d 66 69 6c 65 2d .....(list.`(,buffer.(find-file-
26620 6c 69 74 65 72 61 6c 6c 79 20 2c 74 65 6d 70 2d 66 69 6c 65 29 29 29 29 29 0a 20 20 20 20 20 20 literally.,temp-file))))).......
26640 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 20 20 20 20 20 ...(unwind-protect..............
26660 28 70 72 6f 67 6e 20 2c 40 62 6f 64 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 67 6e 6f 72 (progn.,@body)............(ignor
26680 65 2d 65 72 72 6f 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 40 28 77 68 65 6e 20 62 75 e-errors..............,@(when.bu
266a0 66 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 60 28 77 69 ffer..................(list.`(wi
266c0 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 2c 62 75 66 66 65 72 0a 20 20 20 20 20 20 th-current-buffer.,buffer.......
266e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 2d 62 75 66 66 65 72 2d ....................(set-buffer-
26700 6d 6f 64 69 66 69 65 64 2d 70 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 modified-p.nil))................
26720 20 20 20 20 20 20 20 20 60 28 6b 69 6c 6c 2d 62 75 66 66 65 72 20 2c 62 75 66 66 65 72 29 29 29 ........`(kill-buffer.,buffer)))
26740 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 0a 20 20 20 20 )............(ignore-errors.....
26760 20 20 20 20 20 20 20 20 20 2c 28 69 66 20 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 20 20 20 .........,(if.directory.........
26780 20 20 20 20 20 20 20 20 20 20 60 28 64 65 6c 65 74 65 2d 64 69 72 65 63 74 6f 72 79 20 2c 74 65 ..........`(delete-directory.,te
267a0 6d 70 2d 66 69 6c 65 20 3a 72 65 63 75 72 73 69 76 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 mp-file.:recursive).............
267c0 20 20 20 20 60 28 64 65 6c 65 74 65 2d 66 69 6c 65 20 2c 74 65 6d 70 2d 66 69 6c 65 29 29 29 29 ....`(delete-file.,temp-file))))
267e0 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 6d 61 63 72 6f 20 65 72 74 2d 77 69 74 68 2d ))))..(compat-defmacro.ert-with-
26800 74 65 6d 70 2d 64 69 72 65 63 74 6f 72 79 20 28 6e 61 6d 65 20 26 72 65 73 74 20 62 6f 64 79 29 temp-directory.(name.&rest.body)
26820 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 65 72 74 2d 77 69 74 68 2d 74 65 6d 70 2d .;;.<compat-tests:ert-with-temp-
26840 64 69 72 65 63 74 6f 72 79 3e 0a 20 20 22 42 69 6e 64 20 4e 41 4d 45 20 74 6f 20 74 68 65 20 6e directory>..."Bind.NAME.to.the.n
26860 61 6d 65 20 6f 66 20 61 20 6e 65 77 20 74 65 6d 70 6f 72 61 72 79 20 64 69 72 65 63 74 6f 72 79 ame.of.a.new.temporary.directory
26880 20 61 6e 64 20 65 76 61 6c 75 61 74 65 20 42 4f 44 59 2e 0a 44 65 6c 65 74 65 20 74 68 65 20 74 .and.evaluate.BODY..Delete.the.t
268a0 65 6d 70 6f 72 61 72 79 20 64 69 72 65 63 74 6f 72 79 20 61 66 74 65 72 20 42 4f 44 59 20 65 78 emporary.directory.after.BODY.ex
268c0 69 74 73 20 6e 6f 72 6d 61 6c 6c 79 20 6f 72 0a 6e 6f 6e 2d 6c 6f 63 61 6c 6c 79 2e 0a 0a 4e 41 its.normally.or.non-locally...NA
268e0 4d 45 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d ME.is.bound.to.the.directory.nam
26900 65 2c 20 6e 6f 74 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 0a 6e 61 6d 65 2e 20 e,.not.the.directory.file.name..
26920 20 28 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 69 74 20 77 69 6c 6c 20 65 6e 64 20 77 69 .(In.other.words,.it.will.end.wi
26940 74 68 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 64 65 6c 69 6d 69 74 65 72 3b 0a 6f 6e 20 55 th.the.directory.delimiter;.on.U
26960 6e 69 78 2d 6c 69 6b 65 20 73 79 73 74 65 6d 73 2c 20 69 74 20 77 69 6c 6c 20 65 6e 64 20 77 69 nix-like.systems,.it.will.end.wi
26980 74 68 20 5c 22 2f 5c 22 2e 29 0a 0a 54 68 65 20 73 61 6d 65 20 6b 65 79 77 6f 72 64 20 61 72 67 th.\"/\".)..The.same.keyword.arg
269a0 75 6d 65 6e 74 73 20 61 72 65 20 73 75 70 70 6f 72 74 65 64 20 61 73 20 69 6e 0a 60 65 72 74 2d uments.are.supported.as.in.`ert-
269c0 77 69 74 68 2d 74 65 6d 70 2d 66 69 6c 65 27 20 28 77 68 69 63 68 20 73 65 65 29 2c 20 65 78 63 with-temp-file'.(which.see),.exc
269e0 65 70 74 20 66 6f 72 20 3a 74 65 78 74 2e 22 0a 20 20 3a 66 65 61 74 75 72 65 20 65 72 74 2d 78 ept.for.:text."...:feature.ert-x
26a00 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 20 28 64 65 62 75 67 20 28 73 ...(declare.(indent.1).(debug.(s
26a20 79 6d 62 6f 6c 70 20 62 6f 64 79 29 29 29 0a 20 20 28 6c 65 74 20 28 28 74 61 69 6c 20 62 6f 64 ymbolp.body)))...(let.((tail.bod
26a40 79 29 20 6b 65 79 77 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 6b 65 79 77 6f 72 64 70 20 28 73 y).keyw).....(while.(keywordp.(s
26a60 65 74 71 20 6b 65 79 77 20 28 63 61 72 20 74 61 69 6c 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 etq.keyw.(car.tail))).......(set
26a80 71 20 74 61 69 6c 20 28 63 64 64 72 20 74 61 69 6c 29 29 0a 20 20 20 20 20 20 28 70 63 61 73 65 q.tail.(cddr.tail)).......(pcase
26aa0 20 6b 65 79 77 20 28 3a 74 65 78 74 20 28 65 72 72 6f 72 20 22 49 6e 76 61 6c 69 64 20 6b 65 79 .keyw.(:text.(error."Invalid.key
26ac0 77 6f 72 64 20 66 6f 72 20 64 69 72 65 63 74 6f 72 79 3a 20 3a 74 65 78 74 22 29 29 29 29 29 0a word.for.directory:.:text"))))).
26ae0 20 20 60 28 65 72 74 2d 77 69 74 68 2d 74 65 6d 70 2d 66 69 6c 65 20 2c 6e 61 6d 65 0a 20 20 20 ..`(ert-with-temp-file.,name....
26b00 20 20 3a 64 69 72 65 63 74 6f 72 79 20 74 0a 20 20 20 20 20 2c 40 62 6f 64 79 29 29 0a 0a 3b 3b ..:directory.t......,@body))..;;
26b20 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 77 69 64 2d 65 64 69 74 2e 65 6c 0a 0a 28 63 6f 6d 70 ;;.Defined.in.wid-edit.el..(comp
26b40 61 74 2d 67 75 61 72 64 20 28 6e 6f 74 20 28 66 62 6f 75 6e 64 70 20 27 77 69 64 67 65 74 2d 6b at-guard.(not.(fboundp.'widget-k
26b60 65 79 2d 76 61 6c 69 64 61 74 65 29 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 77 ey-validate)).;;.<compat-tests:w
26b80 69 64 67 65 74 2d 6b 65 79 3e 0a 20 20 3a 66 65 61 74 75 72 65 20 77 69 64 2d 65 64 69 74 0a 20 idget-key>...:feature.wid-edit..
26ba0 20 28 64 65 66 76 61 72 20 77 69 64 67 65 74 2d 6b 65 79 2d 70 72 6f 6d 70 74 2d 76 61 6c 75 65 .(defvar.widget-key-prompt-value
26bc0 2d 68 69 73 74 6f 72 79 20 6e 69 6c 0a 20 20 20 20 22 48 69 73 74 6f 72 79 20 6f 66 20 69 6e 70 -history.nil....."History.of.inp
26be0 75 74 20 74 6f 20 60 77 69 64 67 65 74 2d 6b 65 79 2d 70 72 6f 6d 70 74 2d 76 61 6c 75 65 27 2e ut.to.`widget-key-prompt-value'.
26c00 22 29 0a 20 20 28 64 65 66 69 6e 65 2d 77 69 64 67 65 74 20 27 6b 65 79 20 27 65 64 69 74 61 62 ")...(define-widget.'key.'editab
26c20 6c 65 2d 66 69 65 6c 64 0a 20 20 20 20 22 41 20 6b 65 79 20 73 65 71 75 65 6e 63 65 2e 22 0a 20 le-field....."A.key.sequence."..
26c40 20 20 20 3a 70 72 6f 6d 70 74 2d 76 61 6c 75 65 20 27 77 69 64 67 65 74 2d 66 69 65 6c 64 2d 70 ...:prompt-value.'widget-field-p
26c60 72 6f 6d 70 74 2d 76 61 6c 75 65 0a 20 20 20 20 3a 6d 61 74 63 68 20 27 77 69 64 67 65 74 2d 6b rompt-value.....:match.'widget-k
26c80 65 79 2d 76 61 6c 69 64 2d 70 0a 20 20 20 20 3a 66 6f 72 6d 61 74 20 22 25 7b 25 74 25 7d 3a 20 ey-valid-p.....:format."%{%t%}:.
26ca0 25 76 22 0a 20 20 20 20 3a 76 61 6c 69 64 61 74 65 20 27 77 69 64 67 65 74 2d 6b 65 79 2d 76 61 %v".....:validate.'widget-key-va
26cc0 6c 69 64 61 74 65 0a 20 20 20 20 3a 6b 65 79 6d 61 70 20 77 69 64 67 65 74 2d 6b 65 79 2d 73 65 lidate.....:keymap.widget-key-se
26ce0 71 75 65 6e 63 65 2d 6d 61 70 0a 20 20 20 20 3a 68 65 6c 70 2d 65 63 68 6f 20 22 43 2d 71 3a 20 quence-map.....:help-echo."C-q:.
26d00 69 6e 73 65 72 74 20 4b 45 59 2c 20 45 56 45 4e 54 2c 20 6f 72 20 43 4f 44 45 3b 20 52 45 54 3a insert.KEY,.EVENT,.or.CODE;.RET:
26d20 20 65 6e 74 65 72 20 76 61 6c 75 65 22 0a 20 20 20 20 3a 74 61 67 20 22 4b 65 79 22 29 0a 20 20 .enter.value".....:tag."Key")...
26d40 28 64 65 66 75 6e 20 77 69 64 67 65 74 2d 6b 65 79 2d 76 61 6c 69 64 2d 70 20 28 5f 77 69 64 67 (defun.widget-key-valid-p.(_widg
26d60 65 74 20 76 61 6c 75 65 29 0a 20 20 20 20 28 6b 65 79 2d 76 61 6c 69 64 2d 70 20 76 61 6c 75 65 et.value).....(key-valid-p.value
26d80 29 29 0a 20 20 28 64 65 66 75 6e 20 77 69 64 67 65 74 2d 6b 65 79 2d 76 61 6c 69 64 61 74 65 20 ))...(defun.widget-key-validate.
26da0 28 77 69 64 67 65 74 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28 61 6e 64 20 28 73 74 72 69 6e (widget).....(unless.(and.(strin
26dc0 67 70 20 28 77 69 64 67 65 74 2d 76 61 6c 75 65 20 77 69 64 67 65 74 29 29 0a 20 20 20 20 20 20 gp.(widget-value.widget)).......
26de0 20 20 20 20 20 20 20 20 20 20 20 28 6b 65 79 2d 76 61 6c 69 64 2d 70 20 28 77 69 64 67 65 74 2d ...........(key-valid-p.(widget-
26e00 76 61 6c 75 65 20 77 69 64 67 65 74 29 29 29 0a 20 20 20 20 20 20 28 77 69 64 67 65 74 2d 70 75 value.widget))).......(widget-pu
26e20 74 20 77 69 64 67 65 74 20 3a 65 72 72 6f 72 20 28 66 6f 72 6d 61 74 20 22 49 6e 76 61 6c 69 64 t.widget.:error.(format."Invalid
26e40 20 6b 65 79 3a 20 25 53 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .key:.%S".......................
26e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 64 67 65 74 2d 76 61 6c 75 65 20 ..................(widget-value.
26e80 77 69 64 67 65 74 29 29 29 0a 20 20 20 20 20 20 77 69 64 67 65 74 29 29 29 0a 0a 28 70 72 6f 76 widget))).......widget)))..(prov
26ea0 69 64 65 20 27 63 6f 6d 70 61 74 2d 32 39 29 0a 3b 3b 3b 20 63 6f 6d 70 61 74 2d 32 39 2e 65 6c ide.'compat-29).;;;.compat-29.el
26ec0 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ends.here......................
26ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
26fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27000 63 6f 6d 70 61 74 2d 33 30 2e 30 2e 30 2e 30 2f 63 6f 6d 70 61 74 2d 32 36 2e 65 6c 00 00 00 00 compat-30.0.0.0/compat-26.el....
27020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27060 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
27080 30 30 35 33 31 31 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 37 30 36 00 20 30 00 00 00 0053112.00000000000.013706..0...
270a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
270c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
270e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27100 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...................
27120 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...................
27140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
271a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
271c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
271e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
27200 3b 3b 3b 20 63 6f 6d 70 61 74 2d 32 36 2e 65 6c 20 2d 2d 2d 20 46 75 6e 63 74 69 6f 6e 61 6c 69 ;;;.compat-26.el.---.Functionali
27220 74 79 20 61 64 64 65 64 20 69 6e 20 45 6d 61 63 73 20 32 36 2e 31 20 2d 2a 2d 20 6c 65 78 69 63 ty.added.in.Emacs.26.1.-*-.lexic
27240 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 al-binding:.t;.-*-..;;.Copyright
27260 20 28 43 29 20 32 30 32 31 2d 32 30 32 34 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 .(C).2021-2024.Free.Software.Fou
27280 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 ndation,.Inc...;;.This.program.i
272a0 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 s.free.software;.you.can.redistr
272c0 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 ibute.it.and/or.modify.;;.it.und
272e0 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 er.the.terms.of.the.GNU.General.
27300 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 3b Public.License.as.published.by.;
27320 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 ;.the.Free.Software.Foundation,.
27340 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c either.version.3.of.the.License,
27360 20 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 .or.;;.(at.your.option).any.late
27380 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 r.version...;;.This.program.is.d
273a0 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 istributed.in.the.hope.that.it.w
273c0 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e ill.be.useful,.;;.but.WITHOUT.AN
273e0 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 Y.WARRANTY;.without.even.the.imp
27400 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c lied.warranty.of.;;.MERCHANTABIL
27420 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 ITY.or.FITNESS.FOR.A.PARTICULAR.
27440 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c PURPOSE...See.the.;;.GNU.General
27460 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 .Public.License.for.more.details
27480 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 ...;;.You.should.have.received.a
274a0 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 .copy.of.the.GNU.General.Public.
274c0 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 License.;;.along.with.this.progr
274e0 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e am...If.not,.see.<https://www.gn
27500 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 u.org/licenses/>...;;;.Commentar
27520 79 3a 0a 0a 3b 3b 20 46 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 61 64 64 65 64 20 69 6e 20 45 6d y:..;;.Functionality.added.in.Em
27540 61 63 73 20 32 36 2e 31 2c 20 6e 65 65 64 65 64 20 62 79 20 6f 6c 64 65 72 20 45 6d 61 63 73 20 acs.26.1,.needed.by.older.Emacs.
27560 76 65 72 73 69 6f 6e 73 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 65 76 61 6c 2d 77 68 65 6e versions...;;;.Code:..(eval-when
27580 2d 63 6f 6d 70 69 6c 65 20 28 6c 6f 61 64 20 22 63 6f 6d 70 61 74 2d 6d 61 63 73 2e 65 6c 22 20 -compile.(load."compat-macs.el".
275a0 6e 69 6c 20 74 20 74 29 29 0a 28 63 6f 6d 70 61 74 2d 72 65 71 75 69 72 65 20 63 6f 6d 70 61 74 nil.t.t)).(compat-require.compat
275c0 2d 32 35 20 22 32 35 2e 31 22 29 0a 0a 28 63 6f 6d 70 61 74 2d 76 65 72 73 69 6f 6e 20 22 32 36 -25."25.1")..(compat-version."26
275e0 2e 31 22 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 66 6e 73 2e 63 0a 0a 28 63 6f .1")..;;;;.Defined.in.fns.c..(co
27600 6d 70 61 74 2d 64 65 66 75 6e 20 62 75 66 66 65 72 2d 68 61 73 68 20 28 26 6f 70 74 69 6f 6e 61 mpat-defun.buffer-hash.(&optiona
27620 6c 20 62 75 66 66 65 72 2d 6f 72 2d 6e 61 6d 65 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 l.buffer-or-name).;;.<compat-tes
27640 74 73 3a 62 75 66 66 65 72 2d 68 61 73 68 3e 0a 20 20 20 22 52 65 74 75 72 6e 20 61 20 68 61 73 ts:buffer-hash>...."Return.a.has
27660 68 20 6f 66 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 42 55 46 46 45 52 2d 4f 52 2d 4e h.of.the.contents.of.BUFFER-OR-N
27680 41 4d 45 2e 0a 54 68 69 73 20 68 61 73 68 20 69 73 20 70 65 72 66 6f 72 6d 65 64 20 6f 6e 20 74 AME..This.hash.is.performed.on.t
276a0 68 65 20 72 61 77 20 69 6e 74 65 72 6e 61 6c 20 66 6f 72 6d 61 74 20 6f 66 20 74 68 65 20 62 75 he.raw.internal.format.of.the.bu
276c0 66 66 65 72 2c 0a 64 69 73 72 65 67 61 72 64 69 6e 67 20 61 6e 79 20 63 6f 64 69 6e 67 20 73 79 ffer,.disregarding.any.coding.sy
276e0 73 74 65 6d 73 2e 20 20 49 66 20 6e 69 6c 2c 20 75 73 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 stems...If.nil,.use.the.current.
27700 62 75 66 66 65 72 2e 0a 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 75 73 65 66 75 6c buffer...This.function.is.useful
27720 20 66 6f 72 20 63 6f 6d 70 61 72 69 6e 67 20 74 77 6f 20 62 75 66 66 65 72 73 20 72 75 6e 6e 69 .for.comparing.two.buffers.runni
27740 6e 67 20 69 6e 20 74 68 65 20 73 61 6d 65 0a 45 6d 61 63 73 2c 20 62 75 74 20 69 73 20 6e 6f 74 ng.in.the.same.Emacs,.but.is.not
27760 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 72 65 74 75 72 6e 20 74 68 65 20 73 61 6d 65 20 68 .guaranteed.to.return.the.same.h
27780 61 73 68 20 62 65 74 77 65 65 6e 20 64 69 66 66 65 72 65 6e 74 0a 45 6d 61 63 73 20 76 65 72 73 ash.between.different.Emacs.vers
277a0 69 6f 6e 73 2e 20 20 49 74 20 73 68 6f 75 6c 64 20 62 65 20 73 6f 6d 65 77 68 61 74 20 6d 6f 72 ions...It.should.be.somewhat.mor
277c0 65 20 65 66 66 69 63 69 65 6e 74 20 6f 6e 20 6c 61 72 67 65 72 0a 62 75 66 66 65 72 73 20 74 68 e.efficient.on.larger.buffers.th
277e0 61 6e 20 60 73 65 63 75 72 65 2d 68 61 73 68 27 20 69 73 2c 20 61 6e 64 20 73 68 6f 75 6c 64 20 an.`secure-hash'.is,.and.should.
27800 6e 6f 74 20 61 6c 6c 6f 63 61 74 65 20 6d 6f 72 65 20 6d 65 6d 6f 72 79 2e 0a 0a 49 74 20 73 68 not.allocate.more.memory...It.sh
27820 6f 75 6c 64 20 6e 6f 74 20 62 65 20 75 73 65 64 20 66 6f 72 20 61 6e 79 74 68 69 6e 67 20 73 65 ould.not.be.used.for.anything.se
27840 63 75 72 69 74 79 2d 72 65 6c 61 74 65 64 2e 20 20 53 65 65 0a 60 73 65 63 75 72 65 2d 68 61 73 curity-related...See.`secure-has
27860 68 27 20 66 6f 72 20 74 68 65 73 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 2e 22 0a 20 20 20 28 h'.for.these.applications."....(
27880 77 69 74 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 6f 72 20 62 75 66 66 65 72 2d 6f with-current-buffer.(or.buffer-o
278a0 72 2d 6e 61 6d 65 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 29 0a 20 20 20 20 20 28 73 r-name.(current-buffer))......(s
278c0 61 76 65 2d 72 65 73 74 72 69 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 28 77 69 64 65 6e 29 0a 20 ave-restriction........(widen)..
278e0 20 20 20 20 20 20 28 73 68 61 31 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 20 28 70 6f ......(sha1.(current-buffer).(po
27900 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 29 29 0a 0a 28 63 6f 6d 70 61 int-min).(point-max)))))..(compa
27920 74 2d 64 65 66 75 6e 20 6d 61 70 63 61 6e 20 28 66 75 6e 63 20 73 65 71 75 65 6e 63 65 29 20 3b t-defun.mapcan.(func.sequence).;
27940 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 6d 61 70 63 61 6e 3e 0a 20 20 22 41 70 70 6c 79 ;.<compat-tests:mapcan>..."Apply
27960 20 46 55 4e 43 20 74 6f 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 53 45 51 55 45 4e 43 .FUNC.to.each.element.of.SEQUENC
27980 45 2e 0a 43 6f 6e 63 61 74 65 6e 61 74 65 20 74 68 65 20 72 65 73 75 6c 74 73 20 62 79 20 61 6c E..Concatenate.the.results.by.al
279a0 74 65 72 69 6e 67 20 74 68 65 6d 20 28 75 73 69 6e 67 20 60 6e 63 6f 6e 63 27 29 2e 0a 53 45 51 tering.them.(using.`nconc')..SEQ
279c0 55 45 4e 43 45 20 6d 61 79 20 62 65 20 61 20 6c 69 73 74 2c 20 61 20 76 65 63 74 6f 72 2c 20 61 UENCE.may.be.a.list,.a.vector,.a
279e0 20 62 6f 6f 6c 65 61 6e 20 76 65 63 74 6f 72 2c 20 6f 72 20 61 20 73 74 72 69 6e 67 2e 22 0a 20 .boolean.vector,.or.a.string."..
27a00 20 28 61 70 70 6c 79 20 23 27 6e 63 6f 6e 63 20 28 6d 61 70 63 61 72 20 66 75 6e 63 20 73 65 71 .(apply.#'nconc.(mapcar.func.seq
27a20 75 65 6e 63 65 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 6c 69 6e 65 2d 6e 75 6d uence)))..(compat-defun.line-num
27a40 62 65 72 2d 61 74 2d 70 6f 73 20 28 26 6f 70 74 69 6f 6e 61 6c 20 70 6f 73 69 74 69 6f 6e 20 61 ber-at-pos.(&optional.position.a
27a60 62 73 6f 6c 75 74 65 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 6c 69 6e 65 2d 6e bsolute).;;.<compat-tests:line-n
27a80 75 6d 62 65 72 2d 61 74 2d 70 6f 73 3e 0a 20 20 22 48 61 6e 64 6c 65 20 6f 70 74 69 6f 6e 61 6c umber-at-pos>..."Handle.optional
27aa0 20 61 72 67 75 6d 65 6e 74 20 41 42 53 4f 4c 55 54 45 2e 22 0a 20 20 3a 65 78 74 65 6e 64 65 64 .argument.ABSOLUTE."...:extended
27ac0 20 74 0a 20 20 28 69 66 20 61 62 73 6f 6c 75 74 65 0a 20 20 20 20 20 20 28 73 61 76 65 2d 72 65 .t...(if.absolute.......(save-re
27ae0 73 74 72 69 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 28 77 69 64 65 6e 29 0a 20 20 20 20 20 20 striction.........(widen).......
27b00 20 20 28 6c 69 6e 65 2d 6e 75 6d 62 65 72 2d 61 74 2d 70 6f 73 20 70 6f 73 69 74 69 6f 6e 29 29 ..(line-number-at-pos.position))
27b20 0a 20 20 20 20 28 6c 69 6e 65 2d 6e 75 6d 62 65 72 2d 61 74 2d 70 6f 73 20 70 6f 73 69 74 69 6f .....(line-number-at-pos.positio
27b40 6e 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 73 69 6d 70 6c 65 2e 65 6c 0a n)))..;;;;.Defined.in.simple.el.
27b60 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 72 65 67 69 6f 6e 2d 62 6f 75 6e 64 73 20 28 29 20 .(compat-defun.region-bounds.().
27b80 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 72 65 67 69 6f 6e 2d 62 6f 75 6e 64 73 3e 0a ;;.<compat-tests:region-bounds>.
27ba0 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 62 6f 75 6e 64 61 72 69 65 73 20 6f 66 20 74 68 65 20 .."Return.the.boundaries.of.the.
27bc0 72 65 67 69 6f 6e 2e 0a 56 61 6c 75 65 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6f 6e 65 20 6f region..Value.is.a.list.of.one.o
27be0 72 20 6d 6f 72 65 20 63 6f 6e 73 20 63 65 6c 6c 73 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 28 53 r.more.cons.cells.of.the.form.(S
27c00 54 41 52 54 20 2e 20 45 4e 44 29 2e 0a 49 74 20 77 69 6c 6c 20 68 61 76 65 20 6d 6f 72 65 20 74 TART...END)..It.will.have.more.t
27c20 68 61 6e 20 6f 6e 65 20 63 6f 6e 73 20 63 65 6c 6c 20 77 68 65 6e 20 74 68 65 20 72 65 67 69 6f han.one.cons.cell.when.the.regio
27c40 6e 20 69 73 20 6e 6f 6e 2d 63 6f 6e 74 69 67 75 6f 75 73 2c 0a 73 65 65 20 60 72 65 67 69 6f 6e n.is.non-contiguous,.see.`region
27c60 2d 6e 6f 6e 63 6f 6e 74 69 67 75 6f 75 73 2d 70 27 20 61 6e 64 20 60 65 78 74 72 61 63 74 2d 72 -noncontiguous-p'.and.`extract-r
27c80 65 63 74 61 6e 67 6c 65 2d 62 6f 75 6e 64 73 27 2e 22 0a 20 20 28 69 66 20 28 65 76 61 6c 2d 77 ectangle-bounds'."...(if.(eval-w
27ca0 68 65 6e 2d 63 6f 6d 70 69 6c 65 20 28 3c 20 65 6d 61 63 73 2d 6d 61 6a 6f 72 2d 76 65 72 73 69 hen-compile.(<.emacs-major-versi
27cc0 6f 6e 20 32 35 29 29 0a 20 20 20 20 20 20 3b 3b 20 46 49 58 4d 45 3a 20 54 68 65 20 60 72 65 67 on.25)).......;;.FIXME:.The.`reg
27ce0 69 6f 6e 2d 65 78 74 72 61 63 74 2d 66 75 6e 63 74 69 6f 6e 27 20 6f 66 20 45 6d 61 63 73 20 32 ion-extract-function'.of.Emacs.2
27d00 34 20 68 61 73 20 6e 6f 20 73 75 70 70 6f 72 74 20 66 6f 72 20 74 68 65 0a 20 20 20 20 20 20 3b 4.has.no.support.for.the.......;
27d20 3b 20 62 6f 75 6e 64 73 20 61 72 67 75 6d 65 6e 74 2e 0a 20 20 20 20 20 20 28 6c 69 73 74 20 28 ;.bounds.argument........(list.(
27d40 63 6f 6e 73 20 28 72 65 67 69 6f 6e 2d 62 65 67 69 6e 6e 69 6e 67 29 20 28 72 65 67 69 6f 6e 2d cons.(region-beginning).(region-
27d60 65 6e 64 29 29 29 0a 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 72 65 67 69 6f 6e 2d 65 78 74 72 61 end))).....(funcall.region-extra
27d80 63 74 2d 66 75 6e 63 74 69 6f 6e 20 27 62 6f 75 6e 64 73 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 ct-function.'bounds)))..;;;;.Def
27da0 69 6e 65 64 20 69 6e 20 73 75 62 72 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 70 ined.in.subr.el..(compat-defun.p
27dc0 72 6f 76 69 64 65 64 2d 6d 6f 64 65 2d 64 65 72 69 76 65 64 2d 70 20 28 6d 6f 64 65 20 26 72 65 rovided-mode-derived-p.(mode.&re
27de0 73 74 20 6d 6f 64 65 73 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 70 72 6f 76 69 st.modes).;;.<compat-tests:provi
27e00 64 65 64 2d 6d 6f 64 65 2d 64 65 72 69 76 65 64 2d 70 3e 0a 20 20 22 4e 6f 6e 2d 6e 69 6c 20 69 ded-mode-derived-p>..."Non-nil.i
27e20 66 20 4d 4f 44 45 20 69 73 20 64 65 72 69 76 65 64 20 66 72 6f 6d 20 6f 6e 65 20 6f 66 20 4d 4f f.MODE.is.derived.from.one.of.MO
27e40 44 45 53 2e 0a 55 73 65 73 20 74 68 65 20 60 64 65 72 69 76 65 64 2d 6d 6f 64 65 2d 70 61 72 65 DES..Uses.the.`derived-mode-pare
27e60 6e 74 27 20 70 72 6f 70 65 72 74 79 20 6f 66 20 74 68 65 20 73 79 6d 62 6f 6c 20 74 6f 20 74 72 nt'.property.of.the.symbol.to.tr
27e80 61 63 65 20 62 61 63 6b 77 61 72 64 73 2e 0a 49 66 20 79 6f 75 20 6a 75 73 74 20 77 61 6e 74 20 ace.backwards..If.you.just.want.
27ea0 74 6f 20 63 68 65 63 6b 20 60 6d 61 6a 6f 72 2d 6d 6f 64 65 27 2c 20 75 73 65 20 60 64 65 72 69 to.check.`major-mode',.use.`deri
27ec0 76 65 64 2d 6d 6f 64 65 2d 70 27 2e 22 0a 20 20 3b 3b 20 49 66 20 4d 4f 44 45 20 69 73 20 61 6e ved-mode-p'."...;;.If.MODE.is.an
27ee0 20 61 6c 69 61 73 2c 20 74 68 65 6e 20 6c 6f 6f 6b 20 75 70 20 74 68 65 20 72 65 61 6c 20 6d 6f .alias,.then.look.up.the.real.mo
27f00 64 65 20 66 75 6e 63 74 69 6f 6e 20 66 69 72 73 74 2e 0a 20 20 28 6c 65 74 20 28 28 61 6c 69 61 de.function.first....(let.((alia
27f20 73 20 28 73 79 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f 6e 20 6d 6f 64 65 29 29 29 0a 20 20 20 20 28 s.(symbol-function.mode))).....(
27f40 77 68 65 6e 20 28 61 6e 64 20 61 6c 69 61 73 20 28 73 79 6d 62 6f 6c 70 20 61 6c 69 61 73 29 29 when.(and.alias.(symbolp.alias))
27f60 0a 20 20 20 20 20 20 28 73 65 74 71 20 6d 6f 64 65 20 61 6c 69 61 73 29 29 29 0a 20 20 28 77 68 .......(setq.mode.alias)))...(wh
27f80 69 6c 65 0a 20 20 20 20 20 20 28 61 6e 64 0a 20 20 20 20 20 20 20 28 6e 6f 74 20 28 6d 65 6d 71 ile.......(and........(not.(memq
27fa0 20 6d 6f 64 65 20 6d 6f 64 65 73 29 29 0a 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 70 61 72 .mode.modes))........(let*.((par
27fc0 65 6e 74 20 28 67 65 74 20 6d 6f 64 65 20 27 64 65 72 69 76 65 64 2d 6d 6f 64 65 2d 70 61 72 65 ent.(get.mode.'derived-mode-pare
27fe0 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 61 72 65 6e 74 66 6e 20 28 73 79 nt))...............(parentfn.(sy
28000 6d 62 6f 6c 2d 66 75 6e 63 74 69 6f 6e 20 70 61 72 65 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 mbol-function.parent))).........
28020 20 28 73 65 74 71 20 6d 6f 64 65 20 28 69 66 20 28 61 6e 64 20 70 61 72 65 6e 74 66 6e 20 28 73 .(setq.mode.(if.(and.parentfn.(s
28040 79 6d 62 6f 6c 70 20 70 61 72 65 6e 74 66 6e 29 29 20 70 61 72 65 6e 74 66 6e 20 70 61 72 65 6e ymbolp.parentfn)).parentfn.paren
28060 74 29 29 29 29 29 0a 20 20 6d 6f 64 65 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 61 73 t)))))...mode)..(compat-defun.as
28080 73 6f 63 20 28 6b 65 79 20 61 6c 69 73 74 20 26 6f 70 74 69 6f 6e 61 6c 20 74 65 73 74 66 6e 29 soc.(key.alist.&optional.testfn)
280a0 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 61 73 73 6f 63 3e 0a 20 20 22 48 61 6e 64 .;;.<compat-tests:assoc>..."Hand
280c0 6c 65 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 54 45 53 54 46 4e 2e 22 0a 20 20 3a 65 78 74 65 le.the.optional.TESTFN."...:exte
280e0 6e 64 65 64 20 74 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 6f 72 20 28 65 71 20 74 65 73 74 66 nded.t...(cond....((or.(eq.testf
28100 6e 20 23 27 65 71 29 0a 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 6e 6f 74 20 74 65 73 74 66 6e n.#'eq).........(and.(not.testfn
28120 29 20 28 6f 72 20 28 73 79 6d 62 6f 6c 70 20 6b 65 79 29 20 28 69 6e 74 65 67 65 72 70 20 6b 65 ).(or.(symbolp.key).(integerp.ke
28140 79 29 29 29 29 20 3b 3b 20 65 71 5f 63 6f 6d 70 61 72 61 62 6c 65 5f 76 61 6c 75 65 0a 20 20 20 y)))).;;.eq_comparable_value....
28160 20 28 61 73 73 71 20 6b 65 79 20 61 6c 69 73 74 29 29 0a 20 20 20 28 28 6f 72 20 28 65 71 20 74 .(assq.key.alist))....((or.(eq.t
28180 65 73 74 66 6e 20 23 27 65 71 75 61 6c 29 20 28 6e 6f 74 20 74 65 73 74 66 6e 29 29 0a 20 20 20 estfn.#'equal).(not.testfn))....
281a0 20 28 61 73 73 6f 63 20 6b 65 79 20 61 6c 69 73 74 29 29 0a 20 20 20 28 74 0a 20 20 20 20 28 63 .(assoc.key.alist))....(t.....(c
281c0 61 74 63 68 20 27 66 6f 75 6e 64 0a 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 65 6e 74 20 61 atch.'found.......(dolist.(ent.a
281e0 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 66 75 6e 63 61 6c 6c 20 74 65 73 list).........(when.(funcall.tes
28200 74 66 6e 20 28 63 61 72 20 65 6e 74 29 20 6b 65 79 29 0a 20 20 20 20 20 20 20 20 20 20 28 74 68 tfn.(car.ent).key)...........(th
28220 72 6f 77 20 27 66 6f 75 6e 64 20 65 6e 74 29 29 29 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 row.'found.ent)))))))..(compat-d
28240 65 66 75 6e 20 61 6c 69 73 74 2d 67 65 74 20 28 6b 65 79 20 61 6c 69 73 74 20 26 6f 70 74 69 6f efun.alist-get.(key.alist.&optio
28260 6e 61 6c 20 64 65 66 61 75 6c 74 20 72 65 6d 6f 76 65 20 74 65 73 74 66 6e 29 20 3b 3b 20 3c 63 nal.default.remove.testfn).;;.<c
28280 6f 6d 70 61 74 2d 74 65 73 74 73 3a 61 6c 69 73 74 2d 67 65 74 3e 0a 20 20 22 48 61 6e 64 6c 65 ompat-tests:alist-get>..."Handle
282a0 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 54 45 53 54 46 4e 2e 22 0a 20 20 3a 65 .optional.argument.TESTFN."...:e
282c0 78 74 65 6e 64 65 64 20 22 32 35 2e 31 22 0a 20 20 28 69 67 6e 6f 72 65 20 72 65 6d 6f 76 65 29 xtended."25.1"...(ignore.remove)
282e0 0a 20 20 28 6c 65 74 20 28 28 78 20 28 69 66 20 28 6e 6f 74 20 74 65 73 74 66 6e 29 0a 20 20 20 ...(let.((x.(if.(not.testfn)....
28300 20 20 20 20 20 20 20 20 20 20 20 20 28 61 73 73 71 20 6b 65 79 20 61 6c 69 73 74 29 0a 20 20 20 ............(assq.key.alist)....
28320 20 20 20 20 20 20 20 20 20 20 28 63 6f 6d 70 61 74 2d 2d 61 73 73 6f 63 20 6b 65 79 20 61 6c 69 ..........(compat--assoc.key.ali
28340 73 74 20 74 65 73 74 66 6e 29 29 29 29 0a 20 20 20 20 28 69 66 20 78 20 28 63 64 72 20 78 29 20 st.testfn)))).....(if.x.(cdr.x).
28360 64 65 66 61 75 6c 74 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 67 75 61 72 64 20 74 20 3b 3b 20 3c default)))..(compat-guard.t.;;.<
28380 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 61 6c 69 73 74 2d 67 65 74 2d 67 76 3e 0a 20 20 28 67 76 compat-tests:alist-get-gv>...(gv
283a0 2d 64 65 66 69 6e 65 2d 65 78 70 61 6e 64 65 72 20 63 6f 6d 70 61 74 2d 2d 61 6c 69 73 74 2d 67 -define-expander.compat--alist-g
283c0 65 74 0a 20 20 20 20 28 6c 61 6d 62 64 61 20 28 64 6f 20 6b 65 79 20 61 6c 69 73 74 20 26 6f 70 et.....(lambda.(do.key.alist.&op
283e0 74 69 6f 6e 61 6c 20 64 65 66 61 75 6c 74 20 72 65 6d 6f 76 65 20 74 65 73 74 66 6e 29 0a 20 20 tional.default.remove.testfn)...
28400 20 20 20 20 28 6d 61 63 72 6f 65 78 70 2d 6c 65 74 32 20 6d 61 63 72 6f 65 78 70 2d 63 6f 70 79 ....(macroexp-let2.macroexp-copy
28420 61 62 6c 65 2d 70 20 6b 20 6b 65 79 0a 20 20 20 20 20 20 20 20 28 67 76 2d 6c 65 74 70 6c 61 63 able-p.k.key.........(gv-letplac
28440 65 20 28 67 65 74 74 65 72 20 73 65 74 74 65 72 29 20 61 6c 69 73 74 0a 20 20 20 20 20 20 20 20 e.(getter.setter).alist.........
28460 20 20 28 6d 61 63 72 6f 65 78 70 2d 6c 65 74 32 20 6e 69 6c 20 70 20 60 28 63 6f 6d 70 61 74 2d ..(macroexp-let2.nil.p.`(compat-
28480 2d 61 73 73 6f 63 20 2c 6b 20 2c 67 65 74 74 65 72 20 2c 74 65 73 74 66 6e 29 0a 20 20 20 20 20 -assoc.,k.,getter.,testfn)......
284a0 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 64 6f 20 28 69 66 20 28 6e 75 6c 6c 20 64 65 66 .......(funcall.do.(if.(null.def
284c0 61 75 6c 74 29 20 60 28 63 64 72 20 2c 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ault).`(cdr.,p).................
284e0 20 20 20 20 20 20 20 20 20 20 60 28 69 66 20 2c 70 20 28 63 64 72 20 2c 70 29 20 2c 64 65 66 61 ..........`(if.,p.(cdr.,p).,defa
28500 75 6c 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 28 6c 61 6d 62 ult))......................(lamb
28520 64 61 20 28 76 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d da.(v)........................(m
28540 61 63 72 6f 65 78 70 2d 6c 65 74 32 20 6e 69 6c 20 76 20 76 0a 20 20 20 20 20 20 20 20 20 20 20 acroexp-let2.nil.v.v............
28560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 65 74 2d 65 78 70 0a 20 20 20 ..............(let.((set-exp....
28580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 69 .............................`(i
285a0 66 20 2c 70 20 28 73 65 74 63 64 72 20 2c 70 20 2c 76 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 f.,p.(setcdr.,p.,v).............
285c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 66 75 6e 63 61 6c 6c .......................,(funcall
285e0 20 73 65 74 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .setter.........................
28600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 63 6f 6e 73 20 28 73 65 74 .....................`(cons.(set
28620 71 20 2c 70 20 28 63 6f 6e 73 20 2c 6b 20 2c 76 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 q.,p.(cons.,k.,v))..............
28640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
28660 20 20 20 20 20 20 20 2c 67 65 74 74 65 72 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .......,getter))))).............
28680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 ...............`(progn..........
286a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 63 6f 6e 64 0a 20 20 20 20 .....................,(cond.....
286c0 20 20 20 20 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 28 6e 75 ............................((nu
286e0 6c 6c 20 72 65 6d 6f 76 65 29 20 73 65 74 2d 65 78 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ll.remove).set-exp).............
28700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 6f 72 20 28 65 71 6c 20 76 20 ....................((or.(eql.v.
28720 64 65 66 61 75 6c 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 default)........................
28740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 65 71 20 28 63 61 72 2d 73 61 66 65 ..............(and.(eq.(car-safe
28760 20 76 29 20 27 71 75 6f 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .v).'quote).....................
28780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 28 63 61 72 2d 73 ......................(eq.(car-s
287a0 61 66 65 20 64 65 66 61 75 6c 74 29 20 27 71 75 6f 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 afe.default).'quote)............
287c0 20 20 20 20 20 20 20 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 ...............................(
287e0 65 71 6c 20 28 63 61 64 72 20 76 29 20 28 63 61 64 72 20 64 65 66 61 75 6c 74 29 29 29 29 0a 20 eql.(cadr.v).(cadr.default))))..
28800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
28820 60 28 69 66 20 2c 70 20 2c 28 66 75 6e 63 61 6c 6c 20 73 65 74 74 65 72 20 60 28 64 65 6c 71 20 `(if.,p.,(funcall.setter.`(delq.
28840 2c 70 20 2c 67 65 74 74 65 72 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ,p.,getter))))..................
28860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............(t...............
28880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 63 6f 6e 64 0a 20 20 20 20 20 20 ...................`(cond.......
288a0 20 20 20 20 20 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 28 6e .............................((n
288c0 6f 74 20 28 65 71 6c 20 2c 64 65 66 61 75 6c 74 20 2c 76 29 29 20 2c 73 65 74 2d 65 78 70 29 0a ot.(eql.,default.,v)).,set-exp).
288e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
28900 20 20 20 28 2c 70 20 2c 28 66 75 6e 63 61 6c 6c 20 73 65 74 74 65 72 0a 20 20 20 20 20 20 20 20 ...(,p.,(funcall.setter.........
28920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
28940 20 20 20 20 20 20 20 20 20 60 28 64 65 6c 71 20 2c 70 20 2c 67 65 74 74 65 72 29 29 29 29 29 29 .........`(delq.,p.,getter))))))
28960 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 20 2c ...............................,
28980 76 29 29 29 29 29 29 29 29 29 29 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 28 67 65 74 20 27 61 6c v)))))))))).....(unless.(get.'al
289a0 69 73 74 2d 67 65 74 20 27 67 76 2d 65 78 70 61 6e 64 65 72 29 0a 20 20 20 20 20 20 28 70 75 74 ist-get.'gv-expander).......(put
289c0 20 27 61 6c 69 73 74 2d 67 65 74 20 27 67 76 2d 65 78 70 61 6e 64 65 72 20 28 67 65 74 20 27 63 .'alist-get.'gv-expander.(get.'c
289e0 6f 6d 70 61 74 2d 2d 61 6c 69 73 74 2d 67 65 74 20 27 67 76 2d 65 78 70 61 6e 64 65 72 29 29 29 ompat--alist-get.'gv-expander)))
28a00 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 73 74 72 69 6e 67 2d 74 72 69 6d 2d 6c 65 66 )..(compat-defun.string-trim-lef
28a20 74 20 28 73 74 72 69 6e 67 20 26 6f 70 74 69 6f 6e 61 6c 20 72 65 67 65 78 70 29 20 3b 3b 20 3c t.(string.&optional.regexp).;;.<
28a40 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 73 74 72 69 6e 67 2d 74 72 69 6d 2d 6c 65 66 74 3e 0a 20 compat-tests:string-trim-left>..
28a60 20 22 48 61 6e 64 6c 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 52 45 47 45 58 ."Handle.optional.argument.REGEX
28a80 50 2e 22 0a 20 20 3a 65 78 74 65 6e 64 65 64 20 74 0a 20 20 28 69 66 20 28 73 74 72 69 6e 67 2d P."...:extended.t...(if.(string-
28aa0 6d 61 74 63 68 20 28 63 6f 6e 63 61 74 20 22 5c 5c 60 5c 5c 28 3f 3a 22 20 28 6f 72 20 72 65 67 match.(concat."\\`\\(?:".(or.reg
28ac0 65 78 70 20 22 5b 20 5c 74 5c 6e 5c 72 5d 2b 22 29 20 22 5c 5c 29 22 29 20 73 74 72 69 6e 67 29 exp."[.\t\n\r]+")."\\)").string)
28ae0 0a 20 20 20 20 20 20 28 73 75 62 73 74 72 69 6e 67 20 73 74 72 69 6e 67 20 28 6d 61 74 63 68 2d .......(substring.string.(match-
28b00 65 6e 64 20 30 29 29 0a 20 20 20 20 73 74 72 69 6e 67 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 end.0)).....string))..(compat-de
28b20 66 75 6e 20 73 74 72 69 6e 67 2d 74 72 69 6d 2d 72 69 67 68 74 20 28 73 74 72 69 6e 67 20 26 6f fun.string-trim-right.(string.&o
28b40 70 74 69 6f 6e 61 6c 20 72 65 67 65 78 70 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 ptional.regexp).;;.<compat-tests
28b60 3a 73 74 72 69 6e 67 2d 74 72 69 6d 2d 72 69 67 68 74 3e 0a 20 20 22 48 61 6e 64 6c 65 20 6f 70 :string-trim-right>..."Handle.op
28b80 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 52 45 47 45 58 50 2e 22 0a 20 20 3a 65 78 74 65 tional.argument.REGEXP."...:exte
28ba0 6e 64 65 64 20 74 0a 20 20 28 6c 65 74 20 28 28 69 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d nded.t...(let.((i.(string-match-
28bc0 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 5c 5c 28 3f 3a 22 20 28 6f p.............(concat."\\(?:".(o
28be0 72 20 72 65 67 65 78 70 20 22 5b 20 5c 74 5c 6e 5c 72 5d 2b 22 29 20 22 5c 5c 29 5c 5c 27 22 29 r.regexp."[.\t\n\r]+")."\\)\\'")
28c00 0a 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 29 29 29 0a 20 20 20 20 28 69 66 20 69 .............string))).....(if.i
28c20 20 28 73 75 62 73 74 72 69 6e 67 20 73 74 72 69 6e 67 20 30 20 69 29 20 73 74 72 69 6e 67 29 29 .(substring.string.0.i).string))
28c40 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 73 74 72 69 6e 67 2d 74 72 69 6d 20 28 73 74 )..(compat-defun.string-trim.(st
28c60 72 69 6e 67 20 26 6f 70 74 69 6f 6e 61 6c 20 74 72 69 6d 2d 6c 65 66 74 20 74 72 69 6d 2d 72 69 ring.&optional.trim-left.trim-ri
28c80 67 68 74 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 73 74 72 69 6e 67 2d 74 72 69 ght).;;.<compat-tests:string-tri
28ca0 6d 3e 0a 20 20 22 48 61 6e 64 6c 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73 20 m>..."Handle.optional.arguments.
28cc0 54 52 49 4d 2d 4c 45 46 54 20 61 6e 64 20 54 52 49 4d 2d 52 49 47 48 54 2e 22 0a 20 20 3a 65 78 TRIM-LEFT.and.TRIM-RIGHT."...:ex
28ce0 74 65 6e 64 65 64 20 74 0a 20 20 28 63 6f 6d 70 61 74 2d 2d 73 74 72 69 6e 67 2d 74 72 69 6d 2d tended.t...(compat--string-trim-
28d00 6c 65 66 74 0a 20 20 20 28 63 6f 6d 70 61 74 2d 2d 73 74 72 69 6e 67 2d 74 72 69 6d 2d 72 69 67 left....(compat--string-trim-rig
28d20 68 74 0a 20 20 20 20 73 74 72 69 6e 67 0a 20 20 20 20 74 72 69 6d 2d 72 69 67 68 74 29 0a 20 20 ht.....string.....trim-right)...
28d40 20 74 72 69 6d 2d 6c 65 66 74 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 63 61 61 61 .trim-left))..(compat-defun.caaa
28d60 72 20 28 78 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 63 58 58 58 72 3e 0a 20 20 r.(x).;;.<compat-tests:cXXXr>...
28d80 22 52 65 74 75 72 6e 20 74 68 65 20 60 63 61 72 27 20 6f 66 20 74 68 65 20 60 63 61 72 27 20 6f "Return.the.`car'.of.the.`car'.o
28da0 66 20 74 68 65 20 60 63 61 72 27 20 6f 66 20 58 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 f.the.`car'.of.X."...(declare.(p
28dc0 75 72 65 20 74 29 29 0a 20 20 28 63 61 72 20 28 63 61 72 20 28 63 61 72 20 78 29 29 29 29 0a 0a ure.t))...(car.(car.(car.x))))..
28de0 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 63 61 61 64 72 20 28 78 29 20 3b 3b 20 3c 63 6f 6d 70 (compat-defun.caadr.(x).;;.<comp
28e00 61 74 2d 74 65 73 74 73 3a 63 58 58 58 72 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 60 63 at-tests:cXXXr>..."Return.the.`c
28e20 61 72 27 20 6f 66 20 74 68 65 20 60 63 61 72 27 20 6f 66 20 74 68 65 20 60 63 64 72 27 20 6f 66 ar'.of.the.`car'.of.the.`cdr'.of
28e40 20 58 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 29 0a 20 20 28 63 61 72 .X."...(declare.(pure.t))...(car
28e60 20 28 63 61 72 20 28 63 64 72 20 78 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 .(car.(cdr.x))))..(compat-defun.
28e80 63 61 64 61 72 20 28 78 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 63 58 58 58 72 cadar.(x).;;.<compat-tests:cXXXr
28ea0 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 60 63 61 72 27 20 6f 66 20 74 68 65 20 60 63 64 >..."Return.the.`car'.of.the.`cd
28ec0 72 27 20 6f 66 20 74 68 65 20 60 63 61 72 27 20 6f 66 20 58 2e 22 0a 20 20 28 64 65 63 6c 61 72 r'.of.the.`car'.of.X."...(declar
28ee0 65 20 28 70 75 72 65 20 74 29 29 0a 20 20 28 63 61 72 20 28 63 64 72 20 28 63 61 72 20 78 29 29 e.(pure.t))...(car.(cdr.(car.x))
28f00 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 63 61 64 64 72 20 28 78 29 20 3b 3b 20 3c ))..(compat-defun.caddr.(x).;;.<
28f20 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 63 58 58 58 72 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 68 compat-tests:cXXXr>..."Return.th
28f40 65 20 60 63 61 72 27 20 6f 66 20 74 68 65 20 60 63 64 72 27 20 6f 66 20 74 68 65 20 60 63 64 72 e.`car'.of.the.`cdr'.of.the.`cdr
28f60 27 20 6f 66 20 58 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 29 0a 20 20 '.of.X."...(declare.(pure.t))...
28f80 28 63 61 72 20 28 63 64 72 20 28 63 64 72 20 78 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 (car.(cdr.(cdr.x))))..(compat-de
28fa0 66 75 6e 20 63 64 61 61 72 20 28 78 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 63 fun.cdaar.(x).;;.<compat-tests:c
28fc0 58 58 58 72 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 60 63 64 72 27 20 6f 66 20 74 68 65 XXXr>..."Return.the.`cdr'.of.the
28fe0 20 60 63 61 72 27 20 6f 66 20 74 68 65 20 60 63 61 72 27 20 6f 66 20 58 2e 22 0a 20 20 28 64 65 .`car'.of.the.`car'.of.X."...(de
29000 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 29 0a 20 20 28 63 64 72 20 28 63 61 72 20 28 63 61 72 clare.(pure.t))...(cdr.(car.(car
29020 20 78 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 63 64 61 64 72 20 28 78 29 20 .x))))..(compat-defun.cdadr.(x).
29040 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 63 58 58 58 72 3e 0a 20 20 22 52 65 74 75 72 ;;.<compat-tests:cXXXr>..."Retur
29060 6e 20 74 68 65 20 60 63 64 72 27 20 6f 66 20 74 68 65 20 60 63 61 72 27 20 6f 66 20 74 68 65 20 n.the.`cdr'.of.the.`car'.of.the.
29080 60 63 64 72 27 20 6f 66 20 58 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 `cdr'.of.X."...(declare.(pure.t)
290a0 29 0a 20 20 28 63 64 72 20 28 63 61 72 20 28 63 64 72 20 78 29 29 29 29 0a 0a 28 63 6f 6d 70 61 )...(cdr.(car.(cdr.x))))..(compa
290c0 74 2d 64 65 66 75 6e 20 63 64 64 61 72 20 28 78 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 t-defun.cddar.(x).;;.<compat-tes
290e0 74 73 3a 63 58 58 58 72 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 60 63 64 72 27 20 6f 66 ts:cXXXr>..."Return.the.`cdr'.of
29100 20 74 68 65 20 60 63 64 72 27 20 6f 66 20 74 68 65 20 60 63 61 72 27 20 6f 66 20 58 2e 22 0a 20 .the.`cdr'.of.the.`car'.of.X."..
29120 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 29 0a 20 20 28 63 64 72 20 28 63 64 72 20 .(declare.(pure.t))...(cdr.(cdr.
29140 28 63 61 72 20 78 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 63 64 64 64 72 20 (car.x))))..(compat-defun.cdddr.
29160 28 78 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 63 58 58 58 72 3e 0a 20 20 22 52 (x).;;.<compat-tests:cXXXr>..."R
29180 65 74 75 72 6e 20 74 68 65 20 60 63 64 72 27 20 6f 66 20 74 68 65 20 60 63 64 72 27 20 6f 66 20 eturn.the.`cdr'.of.the.`cdr'.of.
291a0 74 68 65 20 60 63 64 72 27 20 6f 66 20 58 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 the.`cdr'.of.X."...(declare.(pur
291c0 65 20 74 29 29 0a 20 20 28 63 64 72 20 28 63 64 72 20 28 63 64 72 20 78 29 29 29 29 0a 0a 28 63 e.t))...(cdr.(cdr.(cdr.x))))..(c
291e0 6f 6d 70 61 74 2d 64 65 66 75 6e 20 63 61 61 61 61 72 20 28 78 29 20 3b 3b 20 3c 63 6f 6d 70 61 ompat-defun.caaaar.(x).;;.<compa
29200 74 2d 74 65 73 74 73 3a 63 58 58 58 58 72 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 60 63 t-tests:cXXXXr>..."Return.the.`c
29220 61 72 27 20 6f 66 20 74 68 65 20 60 63 61 72 27 20 6f 66 20 74 68 65 20 60 63 61 72 27 20 6f 66 ar'.of.the.`car'.of.the.`car'.of
29240 20 74 68 65 20 60 63 61 72 27 20 6f 66 20 58 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 .the.`car'.of.X."...(declare.(pu
29260 72 65 20 74 29 29 0a 20 20 28 63 61 72 20 28 63 61 72 20 28 63 61 72 20 28 63 61 72 20 78 29 29 re.t))...(car.(car.(car.(car.x))
29280 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 63 61 61 61 64 72 20 28 78 29 20 3b 3b )))..(compat-defun.caaadr.(x).;;
292a0 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 63 58 58 58 58 72 3e 0a 20 20 22 52 65 74 75 72 6e .<compat-tests:cXXXXr>..."Return
292c0 20 74 68 65 20 60 63 61 72 27 20 6f 66 20 74 68 65 20 60 63 61 72 27 20 6f 66 20 74 68 65 20 60 .the.`car'.of.the.`car'.of.the.`
292e0 63 61 72 27 20 6f 66 20 74 68 65 20 60 63 64 72 27 20 6f 66 20 58 2e 22 0a 20 20 28 64 65 63 6c car'.of.the.`cdr'.of.X."...(decl
29300 61 72 65 20 28 70 75 72 65 20 74 29 29 0a 20 20 28 63 61 72 20 28 63 61 72 20 28 63 61 72 20 28 are.(pure.t))...(car.(car.(car.(
29320 63 64 72 20 78 29 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 63 61 61 64 61 72 cdr.x)))))..(compat-defun.caadar
29340 20 28 78 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 63 58 58 58 58 72 3e 0a 20 20 .(x).;;.<compat-tests:cXXXXr>...
29360 22 52 65 74 75 72 6e 20 74 68 65 20 60 63 61 72 27 20 6f 66 20 74 68 65 20 60 63 61 72 27 20 6f "Return.the.`car'.of.the.`car'.o
29380 66 20 74 68 65 20 60 63 64 72 27 20 6f 66 20 74 68 65 20 60 63 61 72 27 20 6f 66 20 58 2e 22 0a f.the.`cdr'.of.the.`car'.of.X.".
293a0 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 29 0a 20 20 28 63 61 72 20 28 63 61 72 ..(declare.(pure.t))...(car.(car
293c0 20 28 63 64 72 20 28 63 61 72 20 78 29 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e .(cdr.(car.x)))))..(compat-defun
293e0 20 63 61 61 64 64 72 20 28 78 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 63 58 58 .caaddr.(x).;;.<compat-tests:cXX
29400 58 58 72 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 60 63 61 72 27 20 6f 66 20 74 68 65 20 XXr>..."Return.the.`car'.of.the.
29420 60 63 61 72 27 20 6f 66 20 74 68 65 20 60 63 64 72 27 20 6f 66 20 74 68 65 20 60 63 64 72 27 20 `car'.of.the.`cdr'.of.the.`cdr'.
29440 6f 66 20 58 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 29 0a 20 20 28 63 of.X."...(declare.(pure.t))...(c
29460 61 72 20 28 63 61 72 20 28 63 64 72 20 28 63 64 72 20 78 29 29 29 29 29 0a 0a 28 63 6f 6d 70 61 ar.(car.(cdr.(cdr.x)))))..(compa
29480 74 2d 64 65 66 75 6e 20 63 61 64 61 61 72 20 28 78 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 t-defun.cadaar.(x).;;.<compat-te
294a0 73 74 73 3a 63 58 58 58 58 72 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 60 63 61 72 27 20 sts:cXXXXr>..."Return.the.`car'.
294c0 6f 66 20 74 68 65 20 60 63 64 72 27 20 6f 66 20 74 68 65 20 60 63 61 72 27 20 6f 66 20 74 68 65 of.the.`cdr'.of.the.`car'.of.the
294e0 20 60 63 61 72 27 20 6f 66 20 58 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 .`car'.of.X."...(declare.(pure.t
29500 29 29 0a 20 20 28 63 61 72 20 28 63 64 72 20 28 63 61 72 20 28 63 61 72 20 78 29 29 29 29 29 0a ))...(car.(cdr.(car.(car.x))))).
29520 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 63 61 64 61 64 72 20 28 78 29 20 3b 3b 20 3c 63 6f .(compat-defun.cadadr.(x).;;.<co
29540 6d 70 61 74 2d 74 65 73 74 73 3a 63 58 58 58 58 72 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 mpat-tests:cXXXXr>..."Return.the
29560 20 60 63 61 72 27 20 6f 66 20 74 68 65 20 60 63 64 72 27 20 6f 66 20 74 68 65 20 60 63 61 72 27 .`car'.of.the.`cdr'.of.the.`car'
29580 20 6f 66 20 74 68 65 20 60 63 64 72 27 20 6f 66 20 58 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 .of.the.`cdr'.of.X."...(declare.
295a0 28 70 75 72 65 20 74 29 29 0a 20 20 28 63 61 72 20 28 63 64 72 20 28 63 61 72 20 28 63 64 72 20 (pure.t))...(car.(cdr.(car.(cdr.
295c0 78 29 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 63 61 64 64 61 72 20 28 78 29 x)))))..(compat-defun.caddar.(x)
295e0 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 63 58 58 58 58 72 3e 0a 20 20 22 52 65 74 .;;.<compat-tests:cXXXXr>..."Ret
29600 75 72 6e 20 74 68 65 20 60 63 61 72 27 20 6f 66 20 74 68 65 20 60 63 64 72 27 20 6f 66 20 74 68 urn.the.`car'.of.the.`cdr'.of.th
29620 65 20 60 63 64 72 27 20 6f 66 20 74 68 65 20 60 63 61 72 27 20 6f 66 20 58 2e 22 0a 20 20 28 64 e.`cdr'.of.the.`car'.of.X."...(d
29640 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 29 0a 20 20 28 63 61 72 20 28 63 64 72 20 28 63 64 eclare.(pure.t))...(car.(cdr.(cd
29660 72 20 28 63 61 72 20 78 29 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 63 61 64 r.(car.x)))))..(compat-defun.cad
29680 64 64 72 20 28 78 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 63 58 58 58 58 72 3e ddr.(x).;;.<compat-tests:cXXXXr>
296a0 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 60 63 61 72 27 20 6f 66 20 74 68 65 20 60 63 64 72 ..."Return.the.`car'.of.the.`cdr
296c0 27 20 6f 66 20 74 68 65 20 60 63 64 72 27 20 6f 66 20 74 68 65 20 60 63 64 72 27 20 6f 66 20 58 '.of.the.`cdr'.of.the.`cdr'.of.X
296e0 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 29 0a 20 20 28 63 61 72 20 28 ."...(declare.(pure.t))...(car.(
29700 63 64 72 20 28 63 64 72 20 28 63 64 72 20 78 29 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 cdr.(cdr.(cdr.x)))))..(compat-de
29720 66 75 6e 20 63 64 61 61 61 72 20 28 78 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a fun.cdaaar.(x).;;.<compat-tests:
29740 63 58 58 58 58 72 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 60 63 64 72 27 20 6f 66 20 74 cXXXXr>..."Return.the.`cdr'.of.t
29760 68 65 20 60 63 61 72 27 20 6f 66 20 74 68 65 20 60 63 61 72 27 20 6f 66 20 74 68 65 20 60 63 61 he.`car'.of.the.`car'.of.the.`ca
29780 72 27 20 6f 66 20 58 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 29 0a 20 r'.of.X."...(declare.(pure.t))..
297a0 20 28 63 64 72 20 28 63 61 72 20 28 63 61 72 20 28 63 61 72 20 78 29 29 29 29 29 0a 0a 28 63 6f .(cdr.(car.(car.(car.x)))))..(co
297c0 6d 70 61 74 2d 64 65 66 75 6e 20 63 64 61 61 64 72 20 28 78 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 mpat-defun.cdaadr.(x).;;.<compat
297e0 2d 74 65 73 74 73 3a 63 58 58 58 58 72 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 60 63 64 -tests:cXXXXr>..."Return.the.`cd
29800 72 27 20 6f 66 20 74 68 65 20 60 63 61 72 27 20 6f 66 20 74 68 65 20 60 63 61 72 27 20 6f 66 20 r'.of.the.`car'.of.the.`car'.of.
29820 74 68 65 20 60 63 64 72 27 20 6f 66 20 58 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 the.`cdr'.of.X."...(declare.(pur
29840 65 20 74 29 29 0a 20 20 28 63 64 72 20 28 63 61 72 20 28 63 61 72 20 28 63 64 72 20 78 29 29 29 e.t))...(cdr.(car.(car.(cdr.x)))
29860 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 63 64 61 64 61 72 20 28 78 29 20 3b 3b 20 ))..(compat-defun.cdadar.(x).;;.
29880 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 63 58 58 58 58 72 3e 0a 20 20 22 52 65 74 75 72 6e 20 <compat-tests:cXXXXr>..."Return.
298a0 74 68 65 20 60 63 64 72 27 20 6f 66 20 74 68 65 20 60 63 61 72 27 20 6f 66 20 74 68 65 20 60 63 the.`cdr'.of.the.`car'.of.the.`c
298c0 64 72 27 20 6f 66 20 74 68 65 20 60 63 61 72 27 20 6f 66 20 58 2e 22 0a 20 20 28 64 65 63 6c 61 dr'.of.the.`car'.of.X."...(decla
298e0 72 65 20 28 70 75 72 65 20 74 29 29 0a 20 20 28 63 64 72 20 28 63 61 72 20 28 63 64 72 20 28 63 re.(pure.t))...(cdr.(car.(cdr.(c
29900 61 72 20 78 29 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 63 64 61 64 64 72 20 ar.x)))))..(compat-defun.cdaddr.
29920 28 78 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 63 58 58 58 58 72 3e 0a 20 20 22 (x).;;.<compat-tests:cXXXXr>..."
29940 52 65 74 75 72 6e 20 74 68 65 20 60 63 64 72 27 20 6f 66 20 74 68 65 20 60 63 61 72 27 20 6f 66 Return.the.`cdr'.of.the.`car'.of
29960 20 74 68 65 20 60 63 64 72 27 20 6f 66 20 74 68 65 20 60 63 64 72 27 20 6f 66 20 58 2e 22 0a 20 .the.`cdr'.of.the.`cdr'.of.X."..
29980 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 29 0a 20 20 28 63 64 72 20 28 63 61 72 20 .(declare.(pure.t))...(cdr.(car.
299a0 28 63 64 72 20 28 63 64 72 20 78 29 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 (cdr.(cdr.x)))))..(compat-defun.
299c0 63 64 64 61 61 72 20 28 78 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 63 58 58 58 cddaar.(x).;;.<compat-tests:cXXX
299e0 58 72 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 60 63 64 72 27 20 6f 66 20 74 68 65 20 60 Xr>..."Return.the.`cdr'.of.the.`
29a00 63 64 72 27 20 6f 66 20 74 68 65 20 60 63 61 72 27 20 6f 66 20 74 68 65 20 60 63 61 72 27 20 6f cdr'.of.the.`car'.of.the.`car'.o
29a20 66 20 58 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 29 0a 20 20 28 63 64 f.X."...(declare.(pure.t))...(cd
29a40 72 20 28 63 64 72 20 28 63 61 72 20 28 63 61 72 20 78 29 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 r.(cdr.(car.(car.x)))))..(compat
29a60 2d 64 65 66 75 6e 20 63 64 64 61 64 72 20 28 78 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 -defun.cddadr.(x).;;.<compat-tes
29a80 74 73 3a 63 58 58 58 58 72 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 60 63 64 72 27 20 6f ts:cXXXXr>..."Return.the.`cdr'.o
29aa0 66 20 74 68 65 20 60 63 64 72 27 20 6f 66 20 74 68 65 20 60 63 61 72 27 20 6f 66 20 74 68 65 20 f.the.`cdr'.of.the.`car'.of.the.
29ac0 60 63 64 72 27 20 6f 66 20 58 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 `cdr'.of.X."...(declare.(pure.t)
29ae0 29 0a 20 20 28 63 64 72 20 28 63 64 72 20 28 63 61 72 20 28 63 64 72 20 78 29 29 29 29 29 0a 0a )...(cdr.(cdr.(car.(cdr.x)))))..
29b00 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 63 64 64 64 61 72 20 28 78 29 20 3b 3b 20 3c 63 6f 6d (compat-defun.cdddar.(x).;;.<com
29b20 70 61 74 2d 74 65 73 74 73 3a 63 58 58 58 58 72 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 pat-tests:cXXXXr>..."Return.the.
29b40 60 63 64 72 27 20 6f 66 20 74 68 65 20 60 63 64 72 27 20 6f 66 20 74 68 65 20 60 63 64 72 27 20 `cdr'.of.the.`cdr'.of.the.`cdr'.
29b60 6f 66 20 74 68 65 20 60 63 61 72 27 20 6f 66 20 58 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 of.the.`car'.of.X."...(declare.(
29b80 70 75 72 65 20 74 29 29 0a 20 20 28 63 64 72 20 28 63 64 72 20 28 63 64 72 20 28 63 61 72 20 78 pure.t))...(cdr.(cdr.(cdr.(car.x
29ba0 29 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 63 64 64 64 64 72 20 28 78 29 20 )))))..(compat-defun.cddddr.(x).
29bc0 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 63 58 58 58 58 72 3e 0a 20 20 22 52 65 74 75 ;;.<compat-tests:cXXXXr>..."Retu
29be0 72 6e 20 74 68 65 20 60 63 64 72 27 20 6f 66 20 74 68 65 20 60 63 64 72 27 20 6f 66 20 74 68 65 rn.the.`cdr'.of.the.`cdr'.of.the
29c00 20 60 63 64 72 27 20 6f 66 20 74 68 65 20 60 63 64 72 27 20 6f 66 20 58 2e 22 0a 20 20 28 64 65 .`cdr'.of.the.`cdr'.of.X."...(de
29c20 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 29 0a 20 20 28 63 64 72 20 28 63 64 72 20 28 63 64 72 clare.(pure.t))...(cdr.(cdr.(cdr
29c40 20 28 63 64 72 20 78 29 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 76 61 72 20 67 65 6e .(cdr.x)))))..(compat-defvar.gen
29c60 73 79 6d 2d 63 6f 75 6e 74 65 72 20 30 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 67 sym-counter.0.;;.<compat-tests:g
29c80 65 6e 73 79 6d 3e 0a 20 20 22 4e 75 6d 62 65 72 20 75 73 65 64 20 74 6f 20 63 6f 6e 73 74 72 75 ensym>..."Number.used.to.constru
29ca0 63 74 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 6e 65 78 74 20 73 79 6d 62 6f 6c 20 63 ct.the.name.of.the.next.symbol.c
29cc0 72 65 61 74 65 64 20 62 79 20 60 67 65 6e 73 79 6d 27 2e 22 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 reated.by.`gensym'.")..(compat-d
29ce0 65 66 75 6e 20 67 65 6e 73 79 6d 20 28 26 6f 70 74 69 6f 6e 61 6c 20 70 72 65 66 69 78 29 20 3b efun.gensym.(&optional.prefix).;
29d00 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 67 65 6e 73 79 6d 3e 0a 20 20 22 52 65 74 75 72 ;.<compat-tests:gensym>..."Retur
29d20 6e 20 61 20 6e 65 77 20 75 6e 69 6e 74 65 72 6e 65 64 20 73 79 6d 62 6f 6c 2e 0a 54 68 65 20 6e n.a.new.uninterned.symbol..The.n
29d40 61 6d 65 20 69 73 20 6d 61 64 65 20 62 79 20 61 70 70 65 6e 64 69 6e 67 20 60 67 65 6e 73 79 6d ame.is.made.by.appending.`gensym
29d60 2d 63 6f 75 6e 74 65 72 27 20 74 6f 20 50 52 45 46 49 58 2e 0a 50 52 45 46 49 58 20 69 73 20 61 -counter'.to.PREFIX..PREFIX.is.a
29d80 20 73 74 72 69 6e 67 2c 20 61 6e 64 20 64 65 66 61 75 6c 74 73 20 74 6f 20 5c 22 67 5c 22 2e 22 .string,.and.defaults.to.\"g\"."
29da0 0a 20 20 28 6c 65 74 20 28 28 6e 75 6d 20 28 70 72 6f 67 31 20 67 65 6e 73 79 6d 2d 63 6f 75 6e ...(let.((num.(prog1.gensym-coun
29dc0 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 67 65 6e 73 79 6d 2d ter................(setq.gensym-
29de0 63 6f 75 6e 74 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 31 2b counter......................(1+
29e00 20 67 65 6e 73 79 6d 2d 63 6f 75 6e 74 65 72 29 29 29 29 29 0a 20 20 20 20 28 6d 61 6b 65 2d 73 .gensym-counter))))).....(make-s
29e20 79 6d 62 6f 6c 20 28 66 6f 72 6d 61 74 20 22 25 73 25 64 22 20 28 6f 72 20 70 72 65 66 69 78 20 ymbol.(format."%s%d".(or.prefix.
29e40 22 67 22 29 20 6e 75 6d 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 6d 61 63 72 6f 20 69 "g").num))))..(compat-defmacro.i
29e60 66 2d 6c 65 74 2a 20 28 76 61 72 6c 69 73 74 20 74 68 65 6e 20 26 72 65 73 74 20 65 6c 73 65 29 f-let*.(varlist.then.&rest.else)
29e80 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 69 66 2d 6c 65 74 2a 3e 0a 20 20 22 42 69 .;;.<compat-tests:if-let*>..."Bi
29ea0 6e 64 20 76 61 72 69 61 62 6c 65 73 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 56 41 52 4c 49 53 nd.variables.according.to.VARLIS
29ec0 54 20 61 6e 64 20 65 76 61 6c 75 61 74 65 20 54 48 45 4e 20 6f 72 20 45 4c 53 45 2e 0a 54 68 69 T.and.evaluate.THEN.or.ELSE..Thi
29ee0 73 20 69 73 20 6c 69 6b 65 20 60 69 66 2d 6c 65 74 27 20 62 75 74 20 64 6f 65 73 6e 27 74 20 68 s.is.like.`if-let'.but.doesn't.h
29f00 61 6e 64 6c 65 20 61 20 56 41 52 4c 49 53 54 20 6f 66 20 74 68 65 20 66 6f 72 6d 0a 5c 28 53 59 andle.a.VARLIST.of.the.form.\(SY
29f20 4d 42 4f 4c 20 53 4f 4d 45 54 48 49 4e 47 29 20 73 70 65 63 69 61 6c 6c 79 2e 22 0a 20 20 28 64 MBOL.SOMETHING).specially."...(d
29f40 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 64 65 eclare.(indent.2)............(de
29f60 62 75 67 20 28 28 26 72 65 73 74 20 5b 26 6f 72 20 73 79 6d 62 6f 6c 70 20 28 73 79 6d 62 6f 6c bug.((&rest.[&or.symbolp.(symbol
29f80 70 20 66 6f 72 6d 29 20 28 66 6f 72 6d 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 p.form).(form)])................
29fa0 20 20 20 20 62 6f 64 79 29 29 29 0a 20 20 28 6c 65 74 20 28 28 65 6d 70 74 79 20 28 6d 61 6b 65 ....body)))...(let.((empty.(make
29fc0 2d 73 79 6d 62 6f 6c 20 22 73 22 29 29 0a 20 20 20 20 20 20 20 20 28 6c 61 73 74 20 74 29 20 6c -symbol."s")).........(last.t).l
29fe0 69 73 74 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 76 61 72 20 76 61 72 6c 69 73 74 29 0a 20 ist).....(dolist.(var.varlist)..
2a000 20 20 20 20 20 28 70 75 73 68 20 60 28 2c 28 69 66 20 28 63 64 72 20 76 61 72 29 20 28 63 61 72 .....(push.`(,(if.(cdr.var).(car
2a020 20 76 61 72 29 20 65 6d 70 74 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 .var).empty)...............(and.
2a040 2c 6c 61 73 74 20 2c 28 69 66 20 28 63 64 72 20 76 61 72 29 20 28 63 61 64 72 20 76 61 72 29 20 ,last.,(if.(cdr.var).(cadr.var).
2a060 28 63 61 72 20 76 61 72 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 29 0a 20 (car.var)))).............list)..
2a080 20 20 20 20 20 28 77 68 65 6e 20 28 6f 72 20 28 63 64 72 20 76 61 72 29 20 28 63 6f 6e 73 70 20 .....(when.(or.(cdr.var).(consp.
2a0a0 28 63 61 72 20 76 61 72 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6c 61 73 74 20 28 (car.var))).........(setq.last.(
2a0c0 63 61 61 72 20 6c 69 73 74 29 29 29 29 0a 20 20 20 20 60 28 6c 65 74 2a 20 2c 28 6e 72 65 76 65 caar.list)))).....`(let*.,(nreve
2a0e0 72 73 65 20 6c 69 73 74 29 0a 20 20 20 20 20 20 20 28 69 66 20 2c 28 63 61 61 72 20 6c 69 73 74 rse.list)........(if.,(caar.list
2a100 29 20 2c 74 68 65 6e 20 2c 40 65 6c 73 65 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 6d ).,then.,@else))))..(compat-defm
2a120 61 63 72 6f 20 77 68 65 6e 2d 6c 65 74 2a 20 28 76 61 72 6c 69 73 74 20 26 72 65 73 74 20 62 6f acro.when-let*.(varlist.&rest.bo
2a140 64 79 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 77 68 65 6e 2d 6c 65 74 2a 3e 0a dy).;;.<compat-tests:when-let*>.
2a160 20 20 22 42 69 6e 64 20 76 61 72 69 61 62 6c 65 73 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 56 .."Bind.variables.according.to.V
2a180 41 52 4c 49 53 54 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e 61 6c 6c 79 20 65 76 61 6c 75 61 74 ARLIST.and.conditionally.evaluat
2a1a0 65 20 42 4f 44 59 2e 0a 54 68 69 73 20 69 73 20 6c 69 6b 65 20 60 77 68 65 6e 2d 6c 65 74 27 20 e.BODY..This.is.like.`when-let'.
2a1c0 62 75 74 20 64 6f 65 73 6e 27 74 20 68 61 6e 64 6c 65 20 61 20 56 41 52 4c 49 53 54 20 6f 66 20 but.doesn't.handle.a.VARLIST.of.
2a1e0 74 68 65 20 66 6f 72 6d 0a 5c 28 53 59 4d 42 4f 4c 20 53 4f 4d 45 54 48 49 4e 47 29 20 73 70 65 the.form.\(SYMBOL.SOMETHING).spe
2a200 63 69 61 6c 6c 79 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 20 28 cially."...(declare.(indent.1).(
2a220 64 65 62 75 67 20 69 66 2d 6c 65 74 2a 29 29 0a 20 20 28 6c 69 73 74 20 27 69 66 2d 6c 65 74 2a debug.if-let*))...(list.'if-let*
2a240 20 76 61 72 6c 69 73 74 20 28 6d 61 63 72 6f 65 78 70 2d 70 72 6f 67 6e 20 62 6f 64 79 29 29 29 .varlist.(macroexp-progn.body)))
2a260 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 6d 61 63 72 6f 20 61 6e 64 2d 6c 65 74 2a 20 28 76 61 72 ..(compat-defmacro.and-let*.(var
2a280 6c 69 73 74 20 26 72 65 73 74 20 62 6f 64 79 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 list.&rest.body).;;.<compat-test
2a2a0 73 3a 61 6e 64 2d 6c 65 74 2a 3e 0a 20 20 22 42 69 6e 64 20 76 61 72 69 61 62 6c 65 73 20 61 63 s:and-let*>..."Bind.variables.ac
2a2c0 63 6f 72 64 69 6e 67 20 74 6f 20 56 41 52 4c 49 53 54 20 61 6e 64 20 63 6f 6e 64 69 74 69 6f 6e cording.to.VARLIST.and.condition
2a2e0 61 6c 6c 79 20 65 76 61 6c 75 61 74 65 20 42 4f 44 59 2e 0a 4c 69 6b 65 20 60 77 68 65 6e 2d 6c ally.evaluate.BODY..Like.`when-l
2a300 65 74 2a 27 2c 20 65 78 63 65 70 74 20 69 66 20 42 4f 44 59 20 69 73 20 65 6d 70 74 79 20 61 6e et*',.except.if.BODY.is.empty.an
2a320 64 20 61 6c 6c 20 74 68 65 20 62 69 6e 64 69 6e 67 73 0a 61 72 65 20 6e 6f 6e 2d 6e 69 6c 2c 20 d.all.the.bindings.are.non-nil,.
2a340 74 68 65 6e 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2e 22 0a 20 20 28 then.the.result.is.non-nil."...(
2a360 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 64 declare.(indent.1)............(d
2a380 65 62 75 67 20 28 28 26 72 65 73 74 20 5b 26 6f 72 20 73 79 6d 62 6f 6c 70 20 28 73 79 6d 62 6f ebug.((&rest.[&or.symbolp.(symbo
2a3a0 6c 70 20 66 6f 72 6d 29 20 28 66 6f 72 6d 29 5d 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lp.form).(form)])...............
2a3c0 20 20 20 20 20 62 6f 64 79 29 29 29 0a 20 20 28 6c 65 74 20 28 28 65 6d 70 74 79 20 28 6d 61 6b .....body)))...(let.((empty.(mak
2a3e0 65 2d 73 79 6d 62 6f 6c 20 22 73 22 29 29 0a 20 20 20 20 20 20 20 20 28 6c 61 73 74 20 74 29 20 e-symbol."s")).........(last.t).
2a400 6c 69 73 74 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 76 61 72 20 76 61 72 6c 69 73 74 29 0a list).....(dolist.(var.varlist).
2a420 20 20 20 20 20 20 28 70 75 73 68 20 60 28 2c 28 69 66 20 28 63 64 72 20 76 61 72 29 20 28 63 61 ......(push.`(,(if.(cdr.var).(ca
2a440 72 20 76 61 72 29 20 65 6d 70 74 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 r.var).empty)...............(and
2a460 20 2c 6c 61 73 74 20 2c 28 69 66 20 28 63 64 72 20 76 61 72 29 20 28 63 61 64 72 20 76 61 72 29 .,last.,(if.(cdr.var).(cadr.var)
2a480 20 28 63 61 72 20 76 61 72 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6c 69 73 74 29 0a .(car.var)))).............list).
2a4a0 20 20 20 20 20 20 28 77 68 65 6e 20 28 6f 72 20 28 63 64 72 20 76 61 72 29 20 28 63 6f 6e 73 70 ......(when.(or.(cdr.var).(consp
2a4c0 20 28 63 61 72 20 76 61 72 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6c 61 73 74 20 .(car.var))).........(setq.last.
2a4e0 28 63 61 61 72 20 6c 69 73 74 29 29 29 29 0a 20 20 20 20 60 28 6c 65 74 2a 20 2c 28 6e 72 65 76 (caar.list)))).....`(let*.,(nrev
2a500 65 72 73 65 20 6c 69 73 74 29 0a 20 20 20 20 20 20 20 28 69 66 20 2c 28 63 61 61 72 20 6c 69 73 erse.list)........(if.,(caar.lis
2a520 74 29 20 2c 28 6d 61 63 72 6f 65 78 70 2d 70 72 6f 67 6e 20 28 6f 72 20 62 6f 64 79 20 27 28 74 t).,(macroexp-progn.(or.body.'(t
2a540 29 29 29 29 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 66 69 6c 65 73 2e 65 )))))))..;;;;.Defined.in.files.e
2a560 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 76 61 72 20 6d 6f 75 6e 74 65 64 2d 66 69 6c 65 2d 73 l..(compat-defvar.mounted-file-s
2a580 79 73 74 65 6d 73 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 6d 6f 75 6e 74 65 64 2d ystems.;;.<compat-tests:mounted-
2a5a0 66 69 6c 65 2d 73 79 73 74 65 6d 73 3e 0a 20 20 20 20 28 65 76 61 6c 2d 77 68 65 6e 2d 63 6f 6d file-systems>.....(eval-when-com
2a5c0 70 69 6c 65 0a 20 20 20 20 20 20 28 69 66 20 28 6d 65 6d 71 20 73 79 73 74 65 6d 2d 74 79 70 65 pile.......(if.(memq.system-type
2a5e0 20 27 28 77 69 6e 64 6f 77 73 2d 6e 74 20 63 79 67 77 69 6e 29 29 0a 20 20 20 20 20 20 20 20 20 .'(windows-nt.cygwin))..........
2a600 20 22 5e 2f 2f 5b 5e 2f 5d 2b 2f 22 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 0a 20 20 20 ."^//[^/]+/".........(concat....
2a620 20 20 20 20 20 20 22 5e 22 20 28 72 65 67 65 78 70 2d 6f 70 74 20 27 28 22 2f 61 66 73 2f 22 20 ......"^".(regexp-opt.'("/afs/".
2a640 22 2f 6d 65 64 69 61 2f 22 20 22 2f 6d 6e 74 22 20 22 2f 6e 65 74 2f 22 20 22 2f 74 6d 70 5f 6d "/media/"."/mnt"."/net/"."/tmp_m
2a660 6e 74 2f 22 29 29 29 29 29 0a 20 20 22 46 69 6c 65 20 73 79 73 74 65 6d 73 20 74 68 61 74 20 6f nt/")))))..."File.systems.that.o
2a680 75 67 68 74 20 74 6f 20 62 65 20 6d 6f 75 6e 74 65 64 2e 22 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 ught.to.be.mounted.")..(compat-d
2a6a0 65 66 75 6e 20 66 69 6c 65 2d 6c 6f 63 61 6c 2d 6e 61 6d 65 20 28 66 69 6c 65 29 20 3b 3b 20 3c efun.file-local-name.(file).;;.<
2a6c0 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 66 69 6c 65 2d 6c 6f 63 61 6c 2d 6e 61 6d 65 3e 0a 20 20 compat-tests:file-local-name>...
2a6e0 22 52 65 74 75 72 6e 20 74 68 65 20 6c 6f 63 61 6c 20 6e 61 6d 65 20 63 6f 6d 70 6f 6e 65 6e 74 "Return.the.local.name.component
2a700 20 6f 66 20 46 49 4c 45 2e 0a 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 73 20 .of.FILE..This.function.removes.
2a720 66 72 6f 6d 20 46 49 4c 45 20 74 68 65 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 6f 66 20 74 from.FILE.the.specification.of.t
2a740 68 65 20 72 65 6d 6f 74 65 20 68 6f 73 74 0a 61 6e 64 20 74 68 65 20 6d 65 74 68 6f 64 20 6f 66 he.remote.host.and.the.method.of
2a760 20 61 63 63 65 73 73 69 6e 67 20 74 68 65 20 68 6f 73 74 2c 20 6c 65 61 76 69 6e 67 20 6f 6e 6c .accessing.the.host,.leaving.onl
2a780 79 20 74 68 65 20 70 61 72 74 20 74 68 61 74 0a 69 64 65 6e 74 69 66 69 65 73 20 46 49 4c 45 20 y.the.part.that.identifies.FILE.
2a7a0 6c 6f 63 61 6c 6c 79 20 6f 6e 20 74 68 65 20 72 65 6d 6f 74 65 20 73 79 73 74 65 6d 2e 0a 54 68 locally.on.the.remote.system..Th
2a7c0 65 20 72 65 74 75 72 6e 65 64 20 66 69 6c 65 20 6e 61 6d 65 20 63 61 6e 20 62 65 20 75 73 65 64 e.returned.file.name.can.be.used
2a7e0 20 64 69 72 65 63 74 6c 79 20 61 73 20 61 72 67 75 6d 65 6e 74 20 6f 66 0a 60 70 72 6f 63 65 73 .directly.as.argument.of.`proces
2a800 73 2d 66 69 6c 65 27 2c 20 60 73 74 61 72 74 2d 66 69 6c 65 2d 70 72 6f 63 65 73 73 27 2c 20 6f s-file',.`start-file-process',.o
2a820 72 20 60 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 27 2e 22 0a 20 20 28 6f 72 20 28 66 69 6c 65 2d r.`shell-command'."...(or.(file-
2a840 72 65 6d 6f 74 65 2d 70 20 66 69 6c 65 20 27 6c 6f 63 61 6c 6e 61 6d 65 29 20 66 69 6c 65 29 29 remote-p.file.'localname).file))
2a860 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 74 65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 2d 64 ..(compat-defun.temporary-file-d
2a880 69 72 65 63 74 6f 72 79 20 28 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 74 65 6d irectory.().;;.<compat-tests:tem
2a8a0 70 6f 72 61 72 79 2d 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 3e 0a 20 20 22 54 68 65 20 64 69 porary-file-directory>..."The.di
2a8c0 72 65 63 74 6f 72 79 20 66 6f 72 20 77 72 69 74 69 6e 67 20 74 65 6d 70 6f 72 61 72 79 20 66 69 rectory.for.writing.temporary.fi
2a8e0 6c 65 73 2e 0a 49 6e 20 63 61 73 65 20 6f 66 20 61 20 72 65 6d 6f 74 65 20 60 64 65 66 61 75 6c les..In.case.of.a.remote.`defaul
2a900 74 2d 64 69 72 65 63 74 6f 72 79 27 2c 20 74 68 69 73 20 69 73 20 61 20 64 69 72 65 63 74 6f 72 t-directory',.this.is.a.director
2a920 79 20 66 6f 72 0a 74 65 6d 70 6f 72 61 72 79 20 66 69 6c 65 73 20 6f 6e 20 74 68 61 74 20 72 65 y.for.temporary.files.on.that.re
2a940 6d 6f 74 65 20 68 6f 73 74 2e 20 20 49 66 20 73 75 63 68 20 61 20 64 69 72 65 63 74 6f 72 79 20 mote.host...If.such.a.directory.
2a960 64 6f 65 73 0a 6e 6f 74 20 65 78 69 73 74 2c 20 6f 72 20 60 64 65 66 61 75 6c 74 2d 64 69 72 65 does.not.exist,.or.`default-dire
2a980 63 74 6f 72 79 27 20 6f 75 67 68 74 20 74 6f 20 62 65 20 6c 6f 63 61 74 65 64 20 6f 6e 20 61 0a ctory'.ought.to.be.located.on.a.
2a9a0 6d 6f 75 6e 74 65 64 20 66 69 6c 65 20 73 79 73 74 65 6d 20 28 73 65 65 20 60 6d 6f 75 6e 74 65 mounted.file.system.(see.`mounte
2a9c0 64 2d 66 69 6c 65 2d 73 79 73 74 65 6d 73 27 29 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0a 72 d-file-systems'),.the.function.r
2a9e0 65 74 75 72 6e 73 20 60 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 27 2e 0a 46 6f 72 20 eturns.`default-directory'..For.
2aa00 61 20 6e 6f 6e 2d 72 65 6d 6f 74 65 20 61 6e 64 20 6e 6f 6e 2d 6d 6f 75 6e 74 65 64 20 60 64 65 a.non-remote.and.non-mounted.`de
2aa20 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 27 2c 20 74 68 65 20 76 61 6c 75 65 20 6f 66 0a 74 fault-directory',.the.value.of.t
2aa40 68 65 20 76 61 72 69 61 62 6c 65 20 60 74 65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 2d 64 69 72 65 he.variable.`temporary-file-dire
2aa60 63 74 6f 72 79 27 20 69 73 20 72 65 74 75 72 6e 65 64 2e 22 0a 20 20 3b 3b 20 4e 4f 54 45 3a 20 ctory'.is.returned."...;;.NOTE:.
2aa80 54 68 65 20 68 61 6e 64 6c 65 72 20 6d 61 79 20 66 61 69 6c 20 77 69 74 68 20 61 6e 20 65 72 72 The.handler.may.fail.with.an.err
2aaa0 6f 72 2c 20 73 69 6e 63 65 20 74 68 65 0a 20 20 3b 3b 20 60 74 65 6d 70 6f 72 61 72 79 2d 66 69 or,.since.the...;;.`temporary-fi
2aac0 6c 65 2d 64 69 72 65 63 74 6f 72 79 27 20 68 61 6e 64 6c 65 72 20 77 61 73 20 69 6e 74 72 6f 64 le-directory'.handler.was.introd
2aae0 75 63 65 64 20 69 6e 20 45 6d 61 63 73 20 32 36 2e 0a 20 20 28 6c 65 74 20 28 28 68 61 6e 64 6c uced.in.Emacs.26....(let.((handl
2ab00 65 72 20 28 66 69 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 2d 68 61 6e 64 6c 65 72 0a 20 20 20 20 20 er.(find-file-name-handler......
2ab20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 20 27 .............default-directory.'
2ab40 74 65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 29 29 29 0a 20 20 20 20 temporary-file-directory))).....
2ab60 28 6f 72 20 28 61 6e 64 20 68 61 6e 64 6c 65 72 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 20 (or.(and.handler.(ignore-errors.
2ab80 28 66 75 6e 63 61 6c 6c 20 68 61 6e 64 6c 65 72 20 27 74 65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 (funcall.handler.'temporary-file
2aba0 2d 64 69 72 65 63 74 6f 72 79 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 66 2d 6c 65 74 20 28 28 -directory))).........(if-let.((
2abc0 72 65 6d 6f 74 65 20 28 66 69 6c 65 2d 72 65 6d 6f 74 65 2d 70 20 64 65 66 61 75 6c 74 2d 64 69 remote.(file-remote-p.default-di
2abe0 72 65 63 74 6f 72 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 72 rectory))).............(concat.r
2ac00 65 6d 6f 74 65 20 22 2f 74 6d 70 2f 22 29 20 3b 3b 20 46 49 58 4d 45 3a 20 47 75 65 73 73 20 2f emote."/tmp/").;;.FIXME:.Guess./
2ac20 74 6d 70 20 6f 6e 20 72 65 6d 6f 74 65 20 68 6f 73 74 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 tmp.on.remote.host...........(if
2ac40 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 6d 6f 75 6e 74 65 64 2d 66 69 6c 65 2d 73 79 73 74 .(string-match.mounted-file-syst
2ac60 65 6d 73 20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 29 0a 20 20 20 20 20 20 20 20 20 ems.default-directory)..........
2ac80 20 20 20 20 20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 20 20 20 20 .....default-directory..........
2aca0 20 20 20 74 65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 29 29 29 29 29 ...temporary-file-directory)))))
2acc0 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 6d 61 6b 65 2d 74 65 6d 70 2d 66 69 6c 65 20 28 ..(compat-defun.make-temp-file.(
2ace0 70 72 65 66 69 78 20 26 6f 70 74 69 6f 6e 61 6c 20 64 69 72 2d 66 6c 61 67 20 73 75 66 66 69 78 prefix.&optional.dir-flag.suffix
2ad00 20 74 65 78 74 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 6d 61 6b 65 2d 74 65 6d .text).;;.<compat-tests:make-tem
2ad20 70 2d 66 69 6c 65 3e 0a 20 20 22 48 61 6e 64 6c 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d p-file>..."Handle.optional.argum
2ad40 65 6e 74 20 54 45 58 54 2e 22 0a 20 20 3a 65 78 74 65 6e 64 65 64 20 74 0a 20 20 28 6c 65 74 20 ent.TEXT."...:extended.t...(let.
2ad60 28 28 66 69 6c 65 20 28 6d 61 6b 65 2d 74 65 6d 70 2d 66 69 6c 65 20 70 72 65 66 69 78 20 64 69 ((file.(make-temp-file.prefix.di
2ad80 72 2d 66 6c 61 67 20 73 75 66 66 69 78 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 74 65 78 74 0a r-flag.suffix))).....(when.text.
2ada0 20 20 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 20 20 20 20 ......(with-temp-buffer.........
2adc0 28 69 6e 73 65 72 74 20 74 65 78 74 29 0a 20 20 20 20 20 20 20 20 28 77 72 69 74 65 2d 72 65 67 (insert.text).........(write-reg
2ade0 69 6f 6e 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 20 66 69 6c 65 ion.(point-min).(point-max).file
2ae00 29 29 29 0a 20 20 20 20 66 69 6c 65 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 6d 61 ))).....file))..(compat-defun.ma
2ae20 6b 65 2d 6e 65 61 72 62 79 2d 74 65 6d 70 2d 66 69 6c 65 20 28 70 72 65 66 69 78 20 26 6f 70 74 ke-nearby-temp-file.(prefix.&opt
2ae40 69 6f 6e 61 6c 20 64 69 72 2d 66 6c 61 67 20 73 75 66 66 69 78 29 20 3b 3b 20 3c 63 6f 6d 70 61 ional.dir-flag.suffix).;;.<compa
2ae60 74 2d 74 65 73 74 73 3a 6d 61 6b 65 2d 6e 65 61 72 62 79 2d 74 65 6d 70 2d 66 69 6c 65 3e 0a 20 t-tests:make-nearby-temp-file>..
2ae80 20 22 43 72 65 61 74 65 20 61 20 74 65 6d 70 6f 72 61 72 79 20 66 69 6c 65 20 61 73 20 63 6c 6f ."Create.a.temporary.file.as.clo
2aea0 73 65 20 61 73 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 60 64 65 66 61 75 6c 74 2d 64 69 72 65 63 se.as.possible.to.`default-direc
2aec0 74 6f 72 79 27 2e 0a 49 66 20 50 52 45 46 49 58 20 69 73 20 61 20 72 65 6c 61 74 69 76 65 20 66 tory'..If.PREFIX.is.a.relative.f
2aee0 69 6c 65 20 6e 61 6d 65 2c 20 61 6e 64 20 60 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 ile.name,.and.`default-directory
2af00 27 20 69 73 20 61 0a 72 65 6d 6f 74 65 20 66 69 6c 65 20 6e 61 6d 65 20 6f 72 20 6c 6f 63 61 74 '.is.a.remote.file.name.or.locat
2af20 65 64 20 6f 6e 20 61 20 6d 6f 75 6e 74 65 64 20 66 69 6c 65 20 73 79 73 74 65 6d 73 2c 20 74 68 ed.on.a.mounted.file.systems,.th
2af40 65 0a 74 65 6d 70 6f 72 61 72 79 20 66 69 6c 65 20 69 73 20 63 72 65 61 74 65 64 20 69 6e 20 74 e.temporary.file.is.created.in.t
2af60 68 65 20 64 69 72 65 63 74 6f 72 79 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 0a 66 75 6e he.directory.returned.by.the.fun
2af80 63 74 69 6f 6e 20 60 74 65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 27 ction.`temporary-file-directory'
2afa0 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0a 60 6d 61 6b 65 ...Otherwise,.the.function.`make
2afc0 2d 74 65 6d 70 2d 66 69 6c 65 27 20 69 73 20 75 73 65 64 2e 20 20 50 52 45 46 49 58 2c 20 44 49 -temp-file'.is.used...PREFIX,.DI
2afe0 52 2d 46 4c 41 47 20 61 6e 64 20 53 55 46 46 49 58 20 68 61 76 65 20 74 68 65 0a 73 61 6d 65 20 R-FLAG.and.SUFFIX.have.the.same.
2b000 6d 65 61 6e 69 6e 67 20 61 73 20 69 6e 20 60 6d 61 6b 65 2d 74 65 6d 70 2d 66 69 6c 65 27 2e 22 meaning.as.in.`make-temp-file'."
2b020 0a 20 20 3b 3b 20 4e 4f 54 45 3a 20 54 68 65 20 68 61 6e 64 6c 65 72 20 6d 61 79 20 66 61 69 6c ...;;.NOTE:.The.handler.may.fail
2b040 20 77 69 74 68 20 61 6e 20 65 72 72 6f 72 2c 20 73 69 6e 63 65 20 74 68 65 0a 20 20 3b 3b 20 60 .with.an.error,.since.the...;;.`
2b060 6d 61 6b 65 2d 6e 65 61 72 62 79 2d 74 65 6d 70 2d 66 69 6c 65 27 20 68 61 6e 64 6c 65 72 20 77 make-nearby-temp-file'.handler.w
2b080 61 73 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 45 6d 61 63 73 20 32 36 2e 0a 20 20 28 6c 65 as.introduced.in.Emacs.26....(le
2b0a0 74 20 28 28 68 61 6e 64 6c 65 72 20 28 61 6e 64 20 28 6e 6f 74 20 28 66 69 6c 65 2d 6e 61 6d 65 t.((handler.(and.(not.(file-name
2b0c0 2d 61 62 73 6f 6c 75 74 65 2d 70 20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 29 29 0a -absolute-p.default-directory)).
2b0e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6e 64 2d 66 69 6c 65 ......................(find-file
2b100 2d 6e 61 6d 65 2d 68 61 6e 64 6c 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -name-handler...................
2b120 20 20 20 20 20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 20 27 6d 61 6b 65 2d 6e 65 61 .....default-directory.'make-nea
2b140 72 62 79 2d 74 65 6d 70 2d 66 69 6c 65 29 29 29 29 0a 20 20 20 20 28 6f 72 20 28 61 6e 64 20 68 rby-temp-file)))).....(or.(and.h
2b160 61 6e 64 6c 65 72 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 20 28 66 75 6e 63 61 6c 6c 20 68 andler.(ignore-errors.(funcall.h
2b180 61 6e 64 6c 65 72 20 27 6d 61 6b 65 2d 6e 65 61 72 62 79 2d 74 65 6d 70 2d 66 69 6c 65 0a 20 20 andler.'make-nearby-temp-file...
2b1a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2b1c0 20 20 20 20 20 20 20 20 20 20 20 70 72 65 66 69 78 20 64 69 72 2d 66 6c 61 67 20 73 75 66 66 69 ...........prefix.dir-flag.suffi
2b1e0 78 29 29 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 74 65 6d 70 6f 72 61 72 79 2d 66 69 x))).........(let.((temporary-fi
2b200 6c 65 2d 64 69 72 65 63 74 6f 72 79 20 28 74 65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 2d 64 69 72 le-directory.(temporary-file-dir
2b220 65 63 74 6f 72 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 74 65 6d 70 2d 66 ectory)))...........(make-temp-f
2b240 69 6c 65 20 70 72 65 66 69 78 20 64 69 72 2d 66 6c 61 67 20 73 75 66 66 69 78 29 29 29 29 29 0a ile.prefix.dir-flag.suffix))))).
2b260 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 74 79 .(compat-defun.file-attribute-ty
2b280 70 65 20 28 61 74 74 72 69 62 75 74 65 73 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 pe.(attributes).;;.<compat-tests
2b2a0 3a 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 67 65 74 74 65 72 73 3e 0a 20 20 22 54 68 65 20 :file-attribute-getters>..."The.
2b2c0 74 79 70 65 20 66 69 65 6c 64 20 69 6e 20 41 54 54 52 49 42 55 54 45 53 20 72 65 74 75 72 6e 65 type.field.in.ATTRIBUTES.returne
2b2e0 64 20 62 79 20 60 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 73 27 2e 0a 54 68 65 20 76 61 6c 75 d.by.`file-attributes'..The.valu
2b300 65 20 69 73 20 65 69 74 68 65 72 20 74 20 66 6f 72 20 64 69 72 65 63 74 6f 72 79 2c 20 73 74 72 e.is.either.t.for.directory,.str
2b320 69 6e 67 20 28 6e 61 6d 65 20 6c 69 6e 6b 65 64 20 74 6f 29 20 66 6f 72 0a 73 79 6d 62 6f 6c 69 ing.(name.linked.to).for.symboli
2b340 63 20 6c 69 6e 6b 2c 20 6f 72 20 6e 69 6c 2e 22 0a 20 20 28 6e 74 68 20 30 20 61 74 74 72 69 62 c.link,.or.nil."...(nth.0.attrib
2b360 75 74 65 73 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 66 69 6c 65 2d 61 74 74 72 69 utes))..(compat-defun.file-attri
2b380 62 75 74 65 2d 6c 69 6e 6b 2d 6e 75 6d 62 65 72 20 28 61 74 74 72 69 62 75 74 65 73 29 20 3b 3b bute-link-number.(attributes).;;
2b3a0 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 67 65 .<compat-tests:file-attribute-ge
2b3c0 74 74 65 72 73 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6c tters>..."Return.the.number.of.l
2b3e0 69 6e 6b 73 20 69 6e 20 41 54 54 52 49 42 55 54 45 53 20 72 65 74 75 72 6e 65 64 20 62 79 20 60 inks.in.ATTRIBUTES.returned.by.`
2b400 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 73 27 2e 22 0a 20 20 28 6e 74 68 20 31 20 61 74 74 72 file-attributes'."...(nth.1.attr
2b420 69 62 75 74 65 73 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 66 69 6c 65 2d 61 74 74 ibutes))..(compat-defun.file-att
2b440 72 69 62 75 74 65 2d 75 73 65 72 2d 69 64 20 28 61 74 74 72 69 62 75 74 65 73 29 20 3b 3b 20 3c ribute-user-id.(attributes).;;.<
2b460 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 67 65 74 74 compat-tests:file-attribute-gett
2b480 65 72 73 3e 0a 20 20 22 54 68 65 20 55 49 44 20 66 69 65 6c 64 20 69 6e 20 41 54 54 52 49 42 55 ers>..."The.UID.field.in.ATTRIBU
2b4a0 54 45 53 20 72 65 74 75 72 6e 65 64 20 62 79 20 60 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 73 TES.returned.by.`file-attributes
2b4c0 27 2e 0a 54 68 69 73 20 69 73 20 65 69 74 68 65 72 20 61 20 73 74 72 69 6e 67 20 6f 72 20 61 20 '..This.is.either.a.string.or.a.
2b4e0 6e 75 6d 62 65 72 2e 20 20 49 66 20 61 20 73 74 72 69 6e 67 20 76 61 6c 75 65 20 63 61 6e 6e 6f number...If.a.string.value.canno
2b500 74 20 62 65 0a 6c 6f 6f 6b 65 64 20 75 70 2c 20 61 20 6e 75 6d 65 72 69 63 20 76 61 6c 75 65 2c t.be.looked.up,.a.numeric.value,
2b520 20 65 69 74 68 65 72 20 61 6e 20 69 6e 74 65 67 65 72 20 6f 72 20 61 20 66 6c 6f 61 74 2c 20 69 .either.an.integer.or.a.float,.i
2b540 73 0a 72 65 74 75 72 6e 65 64 2e 22 0a 20 20 28 6e 74 68 20 32 20 61 74 74 72 69 62 75 74 65 73 s.returned."...(nth.2.attributes
2b560 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 ))..(compat-defun.file-attribute
2b580 2d 67 72 6f 75 70 2d 69 64 20 28 61 74 74 72 69 62 75 74 65 73 29 20 3b 3b 20 3c 63 6f 6d 70 61 -group-id.(attributes).;;.<compa
2b5a0 74 2d 74 65 73 74 73 3a 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 67 65 74 74 65 72 73 3e 0a t-tests:file-attribute-getters>.
2b5c0 20 20 22 54 68 65 20 47 49 44 20 66 69 65 6c 64 20 69 6e 20 41 54 54 52 49 42 55 54 45 53 20 72 .."The.GID.field.in.ATTRIBUTES.r
2b5e0 65 74 75 72 6e 65 64 20 62 79 20 60 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 73 27 2e 0a 54 68 eturned.by.`file-attributes'..Th
2b600 69 73 20 69 73 20 65 69 74 68 65 72 20 61 20 73 74 72 69 6e 67 20 6f 72 20 61 20 6e 75 6d 62 65 is.is.either.a.string.or.a.numbe
2b620 72 2e 20 20 49 66 20 61 20 73 74 72 69 6e 67 20 76 61 6c 75 65 20 63 61 6e 6e 6f 74 20 62 65 0a r...If.a.string.value.cannot.be.
2b640 6c 6f 6f 6b 65 64 20 75 70 2c 20 61 20 6e 75 6d 65 72 69 63 20 76 61 6c 75 65 2c 20 65 69 74 68 looked.up,.a.numeric.value,.eith
2b660 65 72 20 61 6e 20 69 6e 74 65 67 65 72 20 6f 72 20 61 20 66 6c 6f 61 74 2c 20 69 73 0a 72 65 74 er.an.integer.or.a.float,.is.ret
2b680 75 72 6e 65 64 2e 22 0a 20 20 28 6e 74 68 20 33 20 61 74 74 72 69 62 75 74 65 73 29 29 0a 0a 28 urned."...(nth.3.attributes))..(
2b6a0 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 61 63 63 65 compat-defun.file-attribute-acce
2b6c0 73 73 2d 74 69 6d 65 20 28 61 74 74 72 69 62 75 74 65 73 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d ss-time.(attributes).;;.<compat-
2b6e0 74 65 73 74 73 3a 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 67 65 74 74 65 72 73 3e 0a 20 20 tests:file-attribute-getters>...
2b700 22 54 68 65 20 6c 61 73 74 20 61 63 63 65 73 73 20 74 69 6d 65 20 69 6e 20 41 54 54 52 49 42 55 "The.last.access.time.in.ATTRIBU
2b720 54 45 53 20 72 65 74 75 72 6e 65 64 20 62 79 20 60 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 73 TES.returned.by.`file-attributes
2b740 27 2e 0a 54 68 69 73 20 61 20 4c 69 73 70 20 74 69 6d 65 73 74 61 6d 70 20 69 6e 20 74 68 65 20 '..This.a.Lisp.timestamp.in.the.
2b760 73 74 79 6c 65 20 6f 66 20 60 63 75 72 72 65 6e 74 2d 74 69 6d 65 27 2e 22 0a 20 20 28 6e 74 68 style.of.`current-time'."...(nth
2b780 20 34 20 61 74 74 72 69 62 75 74 65 73 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 66 .4.attributes))..(compat-defun.f
2b7a0 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2d 74 69 6d 65 20 ile-attribute-modification-time.
2b7c0 28 61 74 74 72 69 62 75 74 65 73 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 66 69 (attributes).;;.<compat-tests:fi
2b7e0 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 67 65 74 74 65 72 73 3e 0a 20 20 22 54 68 65 20 6d 6f 64 le-attribute-getters>..."The.mod
2b800 69 66 69 63 61 74 69 6f 6e 20 74 69 6d 65 20 69 6e 20 41 54 54 52 49 42 55 54 45 53 20 72 65 74 ification.time.in.ATTRIBUTES.ret
2b820 75 72 6e 65 64 20 62 79 20 60 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 73 27 2e 0a 54 68 69 73 urned.by.`file-attributes'..This
2b840 20 69 73 20 74 68 65 20 74 69 6d 65 20 6f 66 20 74 68 65 20 6c 61 73 74 20 63 68 61 6e 67 65 20 .is.the.time.of.the.last.change.
2b860 74 6f 20 74 68 65 20 66 69 6c 65 27 73 20 63 6f 6e 74 65 6e 74 73 2c 20 61 6e 64 0a 69 73 20 61 to.the.file's.contents,.and.is.a
2b880 20 4c 69 73 70 20 74 69 6d 65 73 74 61 6d 70 20 69 6e 20 74 68 65 20 73 74 79 6c 65 20 6f 66 20 .Lisp.timestamp.in.the.style.of.
2b8a0 60 63 75 72 72 65 6e 74 2d 74 69 6d 65 27 2e 22 0a 20 20 28 6e 74 68 20 35 20 61 74 74 72 69 62 `current-time'."...(nth.5.attrib
2b8c0 75 74 65 73 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 66 69 6c 65 2d 61 74 74 72 69 utes))..(compat-defun.file-attri
2b8e0 62 75 74 65 2d 73 74 61 74 75 73 2d 63 68 61 6e 67 65 2d 74 69 6d 65 20 28 61 74 74 72 69 62 75 bute-status-change-time.(attribu
2b900 74 65 73 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 66 69 6c 65 2d 61 74 74 72 69 tes).;;.<compat-tests:file-attri
2b920 62 75 74 65 2d 67 65 74 74 65 72 73 3e 0a 20 20 22 54 68 65 20 73 74 61 74 75 73 20 6d 6f 64 69 bute-getters>..."The.status.modi
2b940 66 69 63 61 74 69 6f 6e 20 74 69 6d 65 20 69 6e 20 41 54 54 52 49 42 55 54 45 53 20 72 65 74 75 fication.time.in.ATTRIBUTES.retu
2b960 72 6e 65 64 20 62 79 20 60 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 73 27 2e 0a 54 68 69 73 20 rned.by.`file-attributes'..This.
2b980 69 73 20 74 68 65 20 74 69 6d 65 20 6f 66 20 6c 61 73 74 20 63 68 61 6e 67 65 20 74 6f 20 74 68 is.the.time.of.last.change.to.th
2b9a0 65 20 66 69 6c 65 27 73 20 61 74 74 72 69 62 75 74 65 73 3a 20 6f 77 6e 65 72 0a 61 6e 64 20 67 e.file's.attributes:.owner.and.g
2b9c0 72 6f 75 70 2c 20 61 63 63 65 73 73 20 6d 6f 64 65 20 62 69 74 73 2c 20 65 74 63 2e 2c 20 61 6e roup,.access.mode.bits,.etc.,.an
2b9e0 64 20 69 73 20 61 20 4c 69 73 70 20 74 69 6d 65 73 74 61 6d 70 20 69 6e 20 74 68 65 0a 73 74 79 d.is.a.Lisp.timestamp.in.the.sty
2ba00 6c 65 20 6f 66 20 60 63 75 72 72 65 6e 74 2d 74 69 6d 65 27 2e 22 0a 20 20 28 6e 74 68 20 36 20 le.of.`current-time'."...(nth.6.
2ba20 61 74 74 72 69 62 75 74 65 73 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 66 69 6c 65 attributes))..(compat-defun.file
2ba40 2d 61 74 74 72 69 62 75 74 65 2d 73 69 7a 65 20 28 61 74 74 72 69 62 75 74 65 73 29 20 3b 3b 20 -attribute-size.(attributes).;;.
2ba60 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 67 65 74 <compat-tests:file-attribute-get
2ba80 74 65 72 73 3e 0a 20 20 22 54 68 65 20 69 6e 74 65 67 65 72 20 73 69 7a 65 20 28 69 6e 20 62 79 ters>..."The.integer.size.(in.by
2baa0 74 65 73 29 20 69 6e 20 41 54 54 52 49 42 55 54 45 53 20 72 65 74 75 72 6e 65 64 20 62 79 20 60 tes).in.ATTRIBUTES.returned.by.`
2bac0 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 73 27 2e 22 0a 20 20 28 6e 74 68 20 37 20 61 74 74 72 file-attributes'."...(nth.7.attr
2bae0 69 62 75 74 65 73 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 66 69 6c 65 2d 61 74 74 ibutes))..(compat-defun.file-att
2bb00 72 69 62 75 74 65 2d 6d 6f 64 65 73 20 28 61 74 74 72 69 62 75 74 65 73 29 20 3b 3b 20 3c 63 6f ribute-modes.(attributes).;;.<co
2bb20 6d 70 61 74 2d 74 65 73 74 73 3a 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 67 65 74 74 65 72 mpat-tests:file-attribute-getter
2bb40 73 3e 0a 20 20 22 54 68 65 20 66 69 6c 65 20 6d 6f 64 65 73 20 69 6e 20 41 54 54 52 49 42 55 54 s>..."The.file.modes.in.ATTRIBUT
2bb60 45 53 20 72 65 74 75 72 6e 65 64 20 62 79 20 60 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 73 27 ES.returned.by.`file-attributes'
2bb80 2e 0a 54 68 69 73 20 69 73 20 61 20 73 74 72 69 6e 67 20 6f 66 20 74 65 6e 20 6c 65 74 74 65 72 ..This.is.a.string.of.ten.letter
2bba0 73 20 6f 72 20 64 61 73 68 65 73 20 61 73 20 69 6e 20 6c 73 20 2d 6c 2e 22 0a 20 20 28 6e 74 68 s.or.dashes.as.in.ls.-l."...(nth
2bbc0 20 38 20 61 74 74 72 69 62 75 74 65 73 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 66 .8.attributes))..(compat-defun.f
2bbe0 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 69 6e 6f 64 65 2d 6e 75 6d 62 65 72 20 28 61 74 74 72 ile-attribute-inode-number.(attr
2bc00 69 62 75 74 65 73 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 66 69 6c 65 2d 61 74 ibutes).;;.<compat-tests:file-at
2bc20 74 72 69 62 75 74 65 2d 67 65 74 74 65 72 73 3e 0a 20 20 22 54 68 65 20 69 6e 6f 64 65 20 6e 75 tribute-getters>..."The.inode.nu
2bc40 6d 62 65 72 20 69 6e 20 41 54 54 52 49 42 55 54 45 53 20 72 65 74 75 72 6e 65 64 20 62 79 20 60 mber.in.ATTRIBUTES.returned.by.`
2bc60 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 73 27 2e 0a 49 74 20 69 73 20 61 20 6e 6f 6e 6e 65 67 file-attributes'..It.is.a.nonneg
2bc80 61 74 69 76 65 20 69 6e 74 65 67 65 72 2e 22 0a 20 20 28 6e 74 68 20 31 30 20 61 74 74 72 69 62 ative.integer."...(nth.10.attrib
2bca0 75 74 65 73 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 66 69 6c 65 2d 61 74 74 72 69 utes))..(compat-defun.file-attri
2bcc0 62 75 74 65 2d 64 65 76 69 63 65 2d 6e 75 6d 62 65 72 20 28 61 74 74 72 69 62 75 74 65 73 29 20 bute-device-number.(attributes).
2bce0 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d ;;.<compat-tests:file-attribute-
2bd00 67 65 74 74 65 72 73 3e 0a 20 20 22 54 68 65 20 66 69 6c 65 20 73 79 73 74 65 6d 20 64 65 76 69 getters>..."The.file.system.devi
2bd20 63 65 20 6e 75 6d 62 65 72 20 69 6e 20 41 54 54 52 49 42 55 54 45 53 20 72 65 74 75 72 6e 65 64 ce.number.in.ATTRIBUTES.returned
2bd40 20 62 79 20 60 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 73 27 2e 0a 49 74 20 69 73 20 61 6e 20 .by.`file-attributes'..It.is.an.
2bd60 69 6e 74 65 67 65 72 2e 22 0a 20 20 28 6e 74 68 20 31 31 20 61 74 74 72 69 62 75 74 65 73 29 29 integer."...(nth.11.attributes))
2bd80 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 63 ..(compat-defun.file-attribute-c
2bda0 6f 6c 6c 65 63 74 20 28 61 74 74 72 69 62 75 74 65 73 20 26 72 65 73 74 20 61 74 74 72 2d 6e 61 ollect.(attributes.&rest.attr-na
2bdc0 6d 65 73 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 66 69 6c 65 2d 61 74 74 72 69 mes).;;.<compat-tests:file-attri
2bde0 62 75 74 65 2d 63 6f 6c 6c 65 63 74 3e 0a 20 20 22 52 65 74 75 72 6e 20 61 20 73 75 62 6c 69 73 bute-collect>..."Return.a.sublis
2be00 74 20 6f 66 20 41 54 54 52 49 42 55 54 45 53 20 72 65 74 75 72 6e 65 64 20 62 79 20 60 66 69 6c t.of.ATTRIBUTES.returned.by.`fil
2be20 65 2d 61 74 74 72 69 62 75 74 65 73 27 2e 0a 41 54 54 52 2d 4e 41 4d 45 53 20 61 72 65 20 73 79 e-attributes'..ATTR-NAMES.are.sy
2be40 6d 62 6f 6c 73 20 77 69 74 68 20 74 68 65 20 73 65 6c 65 63 74 65 64 20 61 74 74 72 69 62 75 74 mbols.with.the.selected.attribut
2be60 65 20 6e 61 6d 65 73 2e 0a 0a 56 61 6c 69 64 20 61 74 74 72 69 62 75 74 65 20 6e 61 6d 65 73 20 e.names...Valid.attribute.names.
2be80 61 72 65 3a 20 74 79 70 65 2c 20 6c 69 6e 6b 2d 6e 75 6d 62 65 72 2c 20 75 73 65 72 2d 69 64 2c are:.type,.link-number,.user-id,
2bea0 20 67 72 6f 75 70 2d 69 64 2c 0a 61 63 63 65 73 73 2d 74 69 6d 65 2c 20 6d 6f 64 69 66 69 63 61 .group-id,.access-time,.modifica
2bec0 74 69 6f 6e 2d 74 69 6d 65 2c 20 73 74 61 74 75 73 2d 63 68 61 6e 67 65 2d 74 69 6d 65 2c 20 73 tion-time,.status-change-time,.s
2bee0 69 7a 65 2c 20 6d 6f 64 65 73 2c 0a 69 6e 6f 64 65 2d 6e 75 6d 62 65 72 20 61 6e 64 20 64 65 76 ize,.modes,.inode-number.and.dev
2bf00 69 63 65 2d 6e 75 6d 62 65 72 2e 22 0a 20 20 28 6c 65 74 20 28 28 69 64 78 20 27 28 28 74 79 70 ice-number."...(let.((idx.'((typ
2bf20 65 20 2e 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 6b 2d 6e 75 6d 62 e...0)................(link-numb
2bf40 65 72 20 2e 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 73 65 72 2d 69 64 20 er...1)................(user-id.
2bf60 2e 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 72 6f 75 70 2d 69 64 20 2e 20 ..2)................(group-id...
2bf80 33 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 63 63 65 73 73 2d 74 69 6d 65 20 2e 3)................(access-time..
2bfa0 20 34 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 6f 64 69 66 69 63 61 74 69 6f 6e .4)................(modification
2bfc0 2d 74 69 6d 65 20 2e 20 35 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 74 61 74 75 -time...5)................(statu
2bfe0 73 2d 63 68 61 6e 67 65 2d 74 69 6d 65 20 2e 20 36 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 s-change-time...6)..............
2c000 20 20 28 73 69 7a 65 20 2e 20 37 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 6f 64 ..(size...7)................(mod
2c020 65 73 20 2e 20 38 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 6f 64 65 2d 6e 75 es...8)................(inode-nu
2c040 6d 62 65 72 20 2e 20 31 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 76 69 63 mber...10)................(devic
2c060 65 2d 6e 75 6d 62 65 72 20 2e 20 31 31 29 29 29 0a 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 29 e-number...11))).........result)
2c080 0a 20 20 20 20 28 77 68 69 6c 65 20 61 74 74 72 2d 6e 61 6d 65 73 0a 20 20 20 20 20 20 28 6c 65 .....(while.attr-names.......(le
2c0a0 74 20 28 28 61 74 74 72 20 28 70 6f 70 20 61 74 74 72 2d 6e 61 6d 65 73 29 29 29 0a 20 20 20 20 t.((attr.(pop.attr-names))).....
2c0c0 20 20 20 20 28 69 66 20 28 61 73 73 71 20 61 74 74 72 20 69 64 78 29 0a 20 20 20 20 20 20 20 20 ....(if.(assq.attr.idx).........
2c0e0 20 20 20 20 28 70 75 73 68 20 28 6e 74 68 20 28 63 64 72 20 28 61 73 73 71 20 61 74 74 72 20 69 ....(push.(nth.(cdr.(assq.attr.i
2c100 64 78 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 61 74 74 72 dx))........................attr
2c120 69 62 75 74 65 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 73 75 6c 74 ibutes)...................result
2c140 29 0a 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 57 72 6f 6e 67 20 61 74 74 72 69 62 )...........(error."Wrong.attrib
2c160 75 74 65 20 6e 61 6d 65 20 27 25 53 27 22 20 61 74 74 72 29 29 29 29 0a 20 20 20 20 28 6e 72 65 ute.name.'%S'".attr)))).....(nre
2c180 76 65 72 73 65 20 72 65 73 75 6c 74 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e verse.result)))..;;;;.Defined.in
2c1a0 20 6d 6f 75 73 65 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 76 61 72 20 6d 6f 75 73 65 2d .mouse.el..(compat-defvar.mouse-
2c1c0 73 65 6c 65 63 74 2d 72 65 67 69 6f 6e 2d 6d 6f 76 65 2d 74 6f 2d 62 65 67 69 6e 6e 69 6e 67 20 select-region-move-to-beginning.
2c1e0 6e 69 6c 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 74 68 69 6e 67 2d 61 74 2d 6d 6f nil.;;.<compat-tests:thing-at-mo
2c200 75 73 65 3e 0a 20 20 22 45 66 66 65 63 74 20 6f 66 20 73 65 6c 65 63 74 69 6e 67 20 61 20 72 65 use>..."Effect.of.selecting.a.re
2c220 67 69 6f 6e 20 65 78 74 65 6e 64 69 6e 67 20 62 61 63 6b 77 61 72 64 20 66 72 6f 6d 20 64 6f 75 gion.extending.backward.from.dou
2c240 62 6c 65 20 63 6c 69 63 6b 2e 0a 4e 69 6c 20 6d 65 61 6e 73 20 6b 65 65 70 20 70 6f 69 6e 74 20 ble.click..Nil.means.keep.point.
2c260 61 74 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 63 6c 69 63 6b 65 64 20 28 72 65 67 69 6f 6e 20 at.the.position.clicked.(region.
2c280 65 6e 64 29 3b 0a 6e 6f 6e 2d 6e 69 6c 20 6d 65 61 6e 73 20 6d 6f 76 65 20 70 6f 69 6e 74 20 74 end);.non-nil.means.move.point.t
2c2a0 6f 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 72 65 67 69 6f 6e 2e 22 29 0a 0a 3b 3b 3b 3b 20 44 o.beginning.of.region.")..;;;;.D
2c2c0 65 66 69 6e 65 64 20 69 6e 20 69 6d 61 67 65 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 efined.in.image.el..(compat-defu
2c2e0 6e 20 69 6d 61 67 65 2d 70 72 6f 70 65 72 74 79 20 28 69 6d 61 67 65 20 70 72 6f 70 65 72 74 79 n.image-property.(image.property
2c300 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 69 6d 61 67 65 2d 70 72 6f 70 65 72 74 ).;;.<compat-tests:image-propert
2c320 79 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 50 52 4f 50 45 52 y>..."Return.the.value.of.PROPER
2c340 54 59 20 69 6e 20 49 4d 41 47 45 2e 0a 50 72 6f 70 65 72 74 69 65 73 20 63 61 6e 20 62 65 20 73 TY.in.IMAGE..Properties.can.be.s
2c360 65 74 20 77 69 74 68 0a 0a 20 20 28 73 65 74 66 20 28 69 6d 61 67 65 2d 70 72 6f 70 65 72 74 79 et.with....(setf.(image-property
2c380 20 49 4d 41 47 45 20 50 52 4f 50 45 52 54 59 29 20 56 41 4c 55 45 29 0a 0a 49 66 20 56 41 4c 55 .IMAGE.PROPERTY).VALUE)..If.VALU
2c3a0 45 20 69 73 20 6e 69 6c 2c 20 50 52 4f 50 45 52 54 59 20 69 73 20 72 65 6d 6f 76 65 64 20 66 72 E.is.nil,.PROPERTY.is.removed.fr
2c3c0 6f 6d 20 49 4d 41 47 45 2e 22 0a 20 20 3a 66 65 61 74 75 72 65 20 69 6d 61 67 65 0a 20 20 28 70 om.IMAGE."...:feature.image...(p
2c3e0 6c 69 73 74 2d 67 65 74 20 28 63 64 72 20 69 6d 61 67 65 29 20 70 72 6f 70 65 72 74 79 29 29 0a list-get.(cdr.image).property)).
2c400 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 72 6d 63 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 .;;;;.Defined.in.rmc.el..(compat
2c420 2d 64 65 66 75 6e 20 72 65 61 64 2d 6d 75 6c 74 69 70 6c 65 2d 63 68 6f 69 63 65 20 28 70 72 6f -defun.read-multiple-choice.(pro
2c440 6d 70 74 20 63 68 6f 69 63 65 73 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 72 65 mpt.choices).;;.<compat-tests:re
2c460 61 64 2d 6d 75 6c 74 69 70 6c 65 2d 63 68 6f 69 63 65 3e 0a 20 20 22 41 73 6b 20 75 73 65 72 20 ad-multiple-choice>..."Ask.user.
2c480 74 6f 20 73 65 6c 65 63 74 20 61 6e 20 65 6e 74 72 79 20 66 72 6f 6d 20 43 48 4f 49 43 45 53 2c to.select.an.entry.from.CHOICES,
2c4a0 20 70 72 6f 6d 74 69 6e 67 20 77 69 74 68 20 50 52 4f 4d 50 54 2e 0a 54 68 69 73 20 66 75 6e 63 .promting.with.PROMPT..This.func
2c4c0 74 69 6f 6e 20 61 6c 6c 6f 77 73 20 74 6f 20 61 73 6b 20 74 68 65 20 75 73 65 72 20 61 20 6d 75 tion.allows.to.ask.the.user.a.mu
2c4e0 6c 74 69 70 6c 65 2d 63 68 6f 69 63 65 20 71 75 65 73 74 69 6f 6e 2e 0a 0a 43 48 4f 49 43 45 53 ltiple-choice.question...CHOICES
2c500 20 73 68 6f 75 6c 64 20 62 65 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 28 4b .should.be.a.list.of.the.form.(K
2c520 45 59 20 4e 41 4d 45 20 5b 44 45 53 43 52 49 50 54 49 4f 4e 5d 29 2e 0a 4b 45 59 20 69 73 20 61 EY.NAME.[DESCRIPTION])..KEY.is.a
2c540 20 63 68 61 72 61 63 74 65 72 20 74 68 65 20 75 73 65 72 20 73 68 6f 75 6c 64 20 74 79 70 65 20 .character.the.user.should.type.
2c560 74 6f 20 73 65 6c 65 63 74 20 74 68 65 20 65 6e 74 72 79 2e 0a 4e 41 4d 45 20 69 73 20 61 20 73 to.select.the.entry..NAME.is.a.s
2c580 68 6f 72 74 20 6e 61 6d 65 20 66 6f 72 20 74 68 65 20 65 6e 74 72 79 20 74 6f 20 62 65 20 64 69 hort.name.for.the.entry.to.be.di
2c5a0 73 70 6c 61 79 65 64 20 77 68 69 6c 65 20 70 72 6f 6d 70 74 69 6e 67 0a 5c 28 69 66 20 74 68 65 splayed.while.prompting.\(if.the
2c5c0 72 65 27 73 20 6e 6f 20 72 6f 6f 6d 2c 20 69 74 20 6d 69 67 68 74 20 62 65 20 73 68 6f 72 74 65 re's.no.room,.it.might.be.shorte
2c5e0 6e 65 64 29 2e 0a 0a 4e 4f 54 45 3a 20 54 68 69 73 20 69 73 20 61 20 70 61 72 74 69 61 6c 20 69 ned)...NOTE:.This.is.a.partial.i
2c600 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 60 72 65 61 64 2d 6d 75 6c 74 69 70 6c 65 2d mplementation.of.`read-multiple-
2c620 63 68 6f 69 63 65 27 2c 20 74 68 61 74 0a 61 6d 6f 6e 67 20 6f 74 68 65 72 20 74 68 69 6e 67 73 choice',.that.among.other.things
2c640 20 64 6f 65 73 6e 27 74 20 6f 66 66 65 72 20 61 6e 79 20 68 65 6c 70 20 61 6e 64 20 69 67 6e 6f .doesn't.offer.any.help.and.igno
2c660 72 65 73 20 74 68 65 0a 6f 70 74 69 6f 6e 61 6c 20 44 45 53 43 52 49 50 54 49 4f 4e 20 66 69 65 res.the.optional.DESCRIPTION.fie
2c680 6c 64 2e 22 0a 20 20 28 6c 65 74 20 28 28 6f 70 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 28 ld."...(let.((options..........(
2c6a0 6d 61 70 63 6f 6e 63 61 74 0a 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 6f 70 74 mapconcat...........(lambda.(opt
2c6c0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 20 ).............(format...........
2c6e0 20 20 20 22 5b 25 73 5d 20 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6b 65 79 2d 64 ..."[%s].%s"..............(key-d
2c700 65 73 63 72 69 70 74 69 6f 6e 20 28 73 74 72 69 6e 67 20 28 63 61 72 20 6f 70 74 29 29 29 0a 20 escription.(string.(car.opt)))..
2c720 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 64 72 20 6f 70 74 29 29 29 0a 20 20 20 20 20 20 20 ............(cadr.opt)))........
2c740 20 20 20 63 68 6f 69 63 65 73 20 22 20 22 29 29 0a 20 20 20 20 20 20 20 20 63 68 6f 69 63 65 29 ...choices.".")).........choice)
2c760 0a 20 20 20 20 28 73 65 74 71 20 70 72 6f 6d 70 74 20 28 63 6f 6e 63 61 74 20 70 72 6f 6d 70 74 .....(setq.prompt.(concat.prompt
2c780 20 22 20 28 22 20 6f 70 74 69 6f 6e 73 20 22 29 3a 20 22 29 29 0a 20 20 20 20 28 77 68 69 6c 65 .".(".options."):.")).....(while
2c7a0 20 28 6e 6f 74 20 28 73 65 74 71 20 63 68 6f 69 63 65 20 28 61 73 73 71 20 28 72 65 61 64 2d 65 .(not.(setq.choice.(assq.(read-e
2c7c0 76 65 6e 74 20 70 72 6f 6d 70 74 29 20 63 68 6f 69 63 65 73 29 29 29 0a 20 20 20 20 20 20 28 6d vent.prompt).choices))).......(m
2c7e0 65 73 73 61 67 65 20 22 49 6e 76 61 6c 69 64 20 63 68 6f 69 63 65 22 29 0a 20 20 20 20 20 20 28 essage."Invalid.choice").......(
2c800 73 69 74 2d 66 6f 72 20 31 29 29 0a 20 20 20 20 63 68 6f 69 63 65 29 29 0a 0a 28 70 72 6f 76 69 sit-for.1)).....choice))..(provi
2c820 64 65 20 27 63 6f 6d 70 61 74 2d 32 36 29 0a 3b 3b 3b 20 63 6f 6d 70 61 74 2d 32 36 2e 65 6c 20 de.'compat-26).;;;.compat-26.el.
2c840 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ends.here.......................
2c860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ca00 63 6f 6d 70 61 74 2d 33 30 2e 30 2e 30 2e 30 2f 63 6f 6d 70 61 74 2e 69 6e 66 6f 00 00 00 00 00 compat-30.0.0.0/compat.info.....
2ca20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ca40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ca60 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
2ca80 30 34 34 32 32 35 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 30 33 30 00 20 30 00 00 00 0442257.00000000000.014030..0...
2caa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2cac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2cae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2cb00 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...................
2cb20 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...................
2cb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2cb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2cb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2cba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2cbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2cbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2cc00 54 68 69 73 20 69 73 20 64 6f 63 32 33 47 70 47 36 2e 69 6e 66 6f 2c 20 70 72 6f 64 75 63 65 64 This.is.doc23GpG6.info,.produced
2cc20 20 62 79 20 6d 61 6b 65 69 6e 66 6f 20 76 65 72 73 69 6f 6e 20 36 2e 38 20 66 72 6f 6d 0a 63 6f .by.makeinfo.version.6.8.from.co
2cc40 6d 70 61 74 2e 74 65 78 69 2e 0a 0a 43 6f 70 79 72 69 67 68 74 20 c2 a9 20 32 30 32 32 2d 32 30 mpat.texi...Copyright....2022-20
2cc60 32 34 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 24.Free.Software.Foundation,.Inc
2cc80 2e 0a 0a 20 20 20 20 20 50 65 72 6d 69 73 73 69 6f 6e 20 69 73 20 67 72 61 6e 74 65 64 20 74 6f ........Permission.is.granted.to
2cca0 20 63 6f 70 79 2c 20 64 69 73 74 72 69 62 75 74 65 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 20 .copy,.distribute.and/or.modify.
2ccc0 74 68 69 73 0a 20 20 20 20 20 64 6f 63 75 6d 65 6e 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 this......document.under.the.ter
2cce0 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e ms.of.the.GNU.Free.Documentation
2cd00 20 4c 69 63 65 6e 73 65 2c 0a 20 20 20 20 20 56 65 72 73 69 6f 6e 20 31 2e 33 20 6f 72 20 61 6e .License,......Version.1.3.or.an
2cd20 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 y.later.version.published.by.the
2cd40 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 0a 20 20 20 20 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 .Free.Software......Foundation;.
2cd60 77 69 74 68 20 6e 6f 20 49 6e 76 61 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 2c 20 77 69 74 68 with.no.Invariant.Sections,.with
2cd80 20 74 68 65 20 46 72 6f 6e 74 2d 43 6f 76 65 72 20 54 65 78 74 73 0a 20 20 20 20 20 62 65 69 6e .the.Front-Cover.Texts......bein
2cda0 67 20 e2 80 9c 41 20 47 4e 55 20 4d 61 6e 75 61 6c 2c e2 80 9d 20 61 6e 64 20 77 69 74 68 20 74 g....A.GNU.Manual,....and.with.t
2cdc0 68 65 20 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 73 20 61 73 20 69 6e 20 28 61 29 0a 20 20 he.Back-Cover.Texts.as.in.(a)...
2cde0 20 20 20 62 65 6c 6f 77 2e 20 20 41 20 63 6f 70 79 20 6f 66 20 74 68 65 20 6c 69 63 65 6e 73 65 ...below...A.copy.of.the.license
2ce00 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 73 65 63 74 69 6f 6e 20 65 6e 74 69 .is.included.in.the.section.enti
2ce20 74 6c 65 64 0a 20 20 20 20 20 e2 80 9c 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 tled.........GNU.Free.Documentat
2ce40 69 6f 6e 20 4c 69 63 65 6e 73 65 2e e2 80 9d 0a 0a 20 20 20 20 20 28 61 29 20 54 68 65 20 46 53 ion.License...........(a).The.FS
2ce60 46 e2 80 99 73 20 42 61 63 6b 2d 43 6f 76 65 72 20 54 65 78 74 20 69 73 3a 20 e2 80 9c 59 6f 75 F...s.Back-Cover.Text.is:....You
2ce80 20 68 61 76 65 20 74 68 65 20 66 72 65 65 64 6f 6d 20 74 6f 20 63 6f 70 79 20 61 6e 64 0a 20 20 .have.the.freedom.to.copy.and...
2cea0 20 20 20 6d 6f 64 69 66 79 20 74 68 69 73 20 47 4e 55 20 6d 61 6e 75 61 6c 2e e2 80 9d 0a 0a 49 ...modify.this.GNU.manual......I
2cec0 4e 46 4f 2d 44 49 52 2d 53 45 43 54 49 4f 4e 20 45 6d 61 63 73 0a 53 54 41 52 54 2d 49 4e 46 4f NFO-DIR-SECTION.Emacs.START-INFO
2cee0 2d 44 49 52 2d 45 4e 54 52 59 0a 2a 20 43 6f 6d 70 61 74 3a 20 28 63 6f 6d 70 61 74 29 2e 20 20 -DIR-ENTRY.*.Compat:.(compat)...
2cf00 20 20 20 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 4c 69 62 72 61 72 79 20 66 6f 72 20 45 6d 61 ...Compatibility.Library.for.Ema
2cf20 63 73 20 4c 69 73 70 2e 0a 45 4e 44 2d 49 4e 46 4f 2d 44 49 52 2d 45 4e 54 52 59 0a 0a 1f 0a 46 cs.Lisp..END-INFO-DIR-ENTRY....F
2cf40 69 6c 65 3a 20 64 6f 63 32 33 47 70 47 36 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 54 6f 70 2c ile:.doc23GpG6.info,..Node:.Top,
2cf60 20 20 4e 65 78 74 3a 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 2c 20 20 55 70 3a 20 28 64 69 72 29 ..Next:.Introduction,..Up:.(dir)
2cf80 0a 0a 22 43 6f 6d 70 61 74 22 20 4d 61 6e 75 61 6c 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a .."Compat".Manual.**************
2cfa0 2a 0a 0a 54 68 69 73 20 6d 61 6e 75 61 6c 20 64 6f 63 75 6d 65 6e 74 73 20 74 68 65 20 75 73 61 *..This.manual.documents.the.usa
2cfc0 67 65 20 6f 66 20 74 68 65 20 22 43 6f 6d 70 61 74 22 20 45 6d 61 63 73 20 6c 69 73 70 20 6c 69 ge.of.the."Compat".Emacs.lisp.li
2cfe0 62 72 61 72 79 2c 20 74 68 65 0a 66 6f 72 77 61 72 64 2d 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 brary,.the.forward-compatibility
2d000 20 6c 69 62 72 61 72 79 20 66 6f 72 20 45 6d 61 63 73 20 4c 69 73 70 2c 20 63 6f 72 72 65 73 70 .library.for.Emacs.Lisp,.corresp
2d020 6f 6e 64 69 6e 67 20 74 6f 20 76 65 72 73 69 6f 6e 0a 33 30 2e 30 2e 30 2e 30 2e 0a 0a 20 20 20 onding.to.version.30.0.0.0......
2d040 43 6f 70 79 72 69 67 68 74 20 c2 a9 20 32 30 32 32 2d 32 30 32 34 20 46 72 65 65 20 53 6f 66 74 Copyright....2022-2024.Free.Soft
2d060 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 20 20 20 20 20 50 65 72 6d ware.Foundation,.Inc........Perm
2d080 69 73 73 69 6f 6e 20 69 73 20 67 72 61 6e 74 65 64 20 74 6f 20 63 6f 70 79 2c 20 64 69 73 74 72 ission.is.granted.to.copy,.distr
2d0a0 69 62 75 74 65 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 20 74 68 69 73 0a 20 20 20 20 20 64 6f ibute.and/or.modify.this......do
2d0c0 63 75 6d 65 6e 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e cument.under.the.terms.of.the.GN
2d0e0 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 2c 0a 20 20 U.Free.Documentation.License,...
2d100 20 20 20 56 65 72 73 69 6f 6e 20 31 2e 33 20 6f 72 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 ...Version.1.3.or.any.later.vers
2d120 69 6f 6e 20 70 75 62 6c 69 73 68 65 64 20 62 79 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 ion.published.by.the.Free.Softwa
2d140 72 65 0a 20 20 20 20 20 46 6f 75 6e 64 61 74 69 6f 6e 3b 20 77 69 74 68 20 6e 6f 20 49 6e 76 61 re......Foundation;.with.no.Inva
2d160 72 69 61 6e 74 20 53 65 63 74 69 6f 6e 73 2c 20 77 69 74 68 20 74 68 65 20 46 72 6f 6e 74 2d 43 riant.Sections,.with.the.Front-C
2d180 6f 76 65 72 20 54 65 78 74 73 0a 20 20 20 20 20 62 65 69 6e 67 20 e2 80 9c 41 20 47 4e 55 20 4d over.Texts......being....A.GNU.M
2d1a0 61 6e 75 61 6c 2c e2 80 9d 20 61 6e 64 20 77 69 74 68 20 74 68 65 20 42 61 63 6b 2d 43 6f 76 65 anual,....and.with.the.Back-Cove
2d1c0 72 20 54 65 78 74 73 20 61 73 20 69 6e 20 28 61 29 0a 20 20 20 20 20 62 65 6c 6f 77 2e 20 20 41 r.Texts.as.in.(a)......below...A
2d1e0 20 63 6f 70 79 20 6f 66 20 74 68 65 20 6c 69 63 65 6e 73 65 20 69 73 20 69 6e 63 6c 75 64 65 64 .copy.of.the.license.is.included
2d200 20 69 6e 20 74 68 65 20 73 65 63 74 69 6f 6e 20 65 6e 74 69 74 6c 65 64 0a 20 20 20 20 20 e2 80 .in.the.section.entitled........
2d220 9c 47 4e 55 20 46 72 65 65 20 44 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 4c 69 63 65 6e 73 65 2e .GNU.Free.Documentation.License.
2d240 e2 80 9d 0a 0a 20 20 20 20 20 28 61 29 20 54 68 65 20 46 53 46 e2 80 99 73 20 42 61 63 6b 2d 43 ..........(a).The.FSF...s.Back-C
2d260 6f 76 65 72 20 54 65 78 74 20 69 73 3a 20 e2 80 9c 59 6f 75 20 68 61 76 65 20 74 68 65 20 66 72 over.Text.is:....You.have.the.fr
2d280 65 65 64 6f 6d 20 74 6f 20 63 6f 70 79 20 61 6e 64 0a 20 20 20 20 20 6d 6f 64 69 66 79 20 74 68 eedom.to.copy.and......modify.th
2d2a0 69 73 20 47 4e 55 20 6d 61 6e 75 61 6c 2e e2 80 9d 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 49 6e is.GNU.manual......*.Menu:..*.In
2d2c0 74 72 6f 64 75 63 74 69 6f 6e 3a 3a 0a 2a 20 53 75 70 70 6f 72 74 3a 3a 0a 2a 20 44 65 76 65 6c troduction::.*.Support::.*.Devel
2d2e0 6f 70 6d 65 6e 74 3a 3a 0a 2a 20 46 75 6e 63 74 69 6f 6e 20 49 6e 64 65 78 3a 3a 0a 2a 20 56 61 opment::.*.Function.Index::.*.Va
2d300 72 69 61 62 6c 65 20 49 6e 64 65 78 3a 3a 0a 0a e2 80 94 20 54 68 65 20 44 65 74 61 69 6c 65 64 riable.Index::......The.Detailed
2d320 20 4e 6f 64 65 20 4c 69 73 74 69 6e 67 20 e2 80 94 0a 0a 49 6e 74 72 6f 64 75 63 74 69 6f 6e 0a .Node.Listing......Introduction.
2d340 0a 2a 20 4f 76 65 72 76 69 65 77 3a 3a 0a 2a 20 55 73 61 67 65 3a 3a 0a 2a 20 4c 69 6d 69 74 61 .*.Overview::.*.Usage::.*.Limita
2d360 74 69 6f 6e 73 3a 3a 0a 0a 53 75 70 70 6f 72 74 0a 0a 2a 20 45 6d 61 63 73 20 32 35 2e 31 3a 3a tions::..Support..*.Emacs.25.1::
2d380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 ...................Compatibility
2d3a0 20 73 75 70 70 6f 72 74 20 66 6f 72 20 45 6d 61 63 73 20 32 35 2e 31 0a 2a 20 45 6d 61 63 73 20 .support.for.Emacs.25.1.*.Emacs.
2d3c0 32 36 2e 31 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 6f 6d 70 61 74 69 26.1::...................Compati
2d3e0 62 69 6c 69 74 79 20 73 75 70 70 6f 72 74 20 66 6f 72 20 45 6d 61 63 73 20 32 36 2e 31 0a 2a 20 bility.support.for.Emacs.26.1.*.
2d400 45 6d 61 63 73 20 32 37 2e 31 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 Emacs.27.1::...................C
2d420 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 73 75 70 70 6f 72 74 20 66 6f 72 20 45 6d 61 63 73 20 32 ompatibility.support.for.Emacs.2
2d440 37 2e 31 0a 2a 20 45 6d 61 63 73 20 32 38 2e 31 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7.1.*.Emacs.28.1::..............
2d460 20 20 20 20 20 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 73 75 70 70 6f 72 74 20 66 6f 72 20 45 .....Compatibility.support.for.E
2d480 6d 61 63 73 20 32 38 2e 31 0a 2a 20 45 6d 61 63 73 20 32 39 2e 31 3a 3a 20 20 20 20 20 20 20 20 macs.28.1.*.Emacs.29.1::........
2d4a0 20 20 20 20 20 20 20 20 20 20 20 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 73 75 70 70 6f 72 74 ...........Compatibility.support
2d4c0 20 66 6f 72 20 45 6d 61 63 73 20 32 39 2e 31 0a 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 32 33 47 .for.Emacs.29.1.....File:.doc23G
2d4e0 70 47 36 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 2c 20 20 pG6.info,..Node:.Introduction,..
2d500 4e 65 78 74 3a 20 53 75 70 70 6f 72 74 2c 20 20 50 72 65 76 3a 20 54 6f 70 2c 20 20 55 70 3a 20 Next:.Support,..Prev:.Top,..Up:.
2d520 54 6f 70 0a 0a 31 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a Top..1.Introduction.************
2d540 2a 2a 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 4f 76 65 72 76 69 65 77 3a 3a 0a 2a 20 55 73 61 67 **..*.Menu:..*.Overview::.*.Usag
2d560 65 3a 3a 0a 2a 20 4c 69 6d 69 74 61 74 69 6f 6e 73 3a 3a 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 e::.*.Limitations::....File:.doc
2d580 32 33 47 70 47 36 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 4f 76 65 72 76 69 65 77 2c 20 20 4e 23GpG6.info,..Node:.Overview,..N
2d5a0 65 78 74 3a 20 55 73 61 67 65 2c 20 20 55 70 3a 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 0a 0a 31 ext:.Usage,..Up:.Introduction..1
2d5c0 2e 31 20 4f 76 65 72 76 69 65 77 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 54 68 65 20 6f 62 .1.Overview.============..The.ob
2d5e0 6a 65 63 74 69 76 65 20 6f 66 20 43 6f 6d 70 61 74 20 69 73 20 74 6f 20 70 72 6f 76 69 64 65 20 jective.of.Compat.is.to.provide.
2d600 22 66 6f 72 77 61 72 64 73 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 22 20 6c 69 62 72 61 72 79 "forwards.compatibility".library
2d620 0a 66 6f 72 20 45 6d 61 63 73 20 4c 69 73 70 2e 20 20 42 79 20 75 73 69 6e 67 20 43 6f 6d 70 61 .for.Emacs.Lisp...By.using.Compa
2d640 74 2c 20 61 6e 20 45 6c 69 73 70 20 70 61 63 6b 61 67 65 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 t,.an.Elisp.package.does.not.hav
2d660 65 20 74 6f 20 6d 61 6b 65 0a 74 68 65 20 64 65 63 69 73 69 6f 6e 20 74 6f 20 65 69 74 68 65 72 e.to.make.the.decision.to.either
2d680 20 75 73 65 20 6e 65 77 20 61 6e 64 20 75 73 65 66 75 6c 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 .use.new.and.useful.functionalit
2d6a0 79 20 6f 72 20 73 75 70 70 6f 72 74 20 6f 6c 64 0a 76 65 72 73 69 6f 6e 73 20 6f 66 20 45 6d 61 y.or.support.old.versions.of.Ema
2d6c0 63 73 2e 0a 0a 20 20 20 54 68 65 20 6c 69 62 72 61 72 79 20 70 72 6f 76 69 64 65 73 20 73 75 70 cs......The.library.provides.sup
2d6e0 70 6f 72 74 20 62 61 63 6b 20 75 6e 74 69 6c 20 45 6d 61 63 73 20 32 34 2e 34 2e 20 20 54 68 65 port.back.until.Emacs.24.4...The
2d700 20 69 6e 74 65 6e 64 65 64 0a 61 75 64 69 65 6e 63 65 20 61 72 65 20 70 61 63 6b 61 67 65 20 64 .intended.audience.are.package.d
2d720 65 76 65 6c 6f 70 65 72 73 20 74 68 61 74 20 61 72 65 20 69 6e 74 65 72 65 73 74 65 64 20 69 6e evelopers.that.are.interested.in
2d740 20 75 73 69 6e 67 20 6e 65 77 65 72 0a 64 65 76 65 6c 6f 70 6d 65 6e 74 73 2c 20 77 69 74 68 6f .using.newer.developments,.witho
2d760 75 74 20 68 61 76 69 6e 67 20 74 6f 20 62 72 65 61 6b 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 ut.having.to.break.compatibility
2d780 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 32 33 47 70 47 36 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 .....File:.doc23GpG6.info,..Node
2d7a0 3a 20 55 73 61 67 65 2c 20 20 4e 65 78 74 3a 20 4c 69 6d 69 74 61 74 69 6f 6e 73 2c 20 20 50 72 :.Usage,..Next:.Limitations,..Pr
2d7c0 65 76 3a 20 4f 76 65 72 76 69 65 77 2c 20 20 55 70 3a 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 0a ev:.Overview,..Up:.Introduction.
2d7e0 0a 31 2e 32 20 55 73 61 67 65 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 54 68 65 20 69 6e 74 65 6e 64 .1.2.Usage.=========..The.intend
2d800 65 64 20 75 73 65 2d 63 61 73 65 20 66 6f 72 20 74 68 69 73 20 6c 69 62 72 61 72 79 20 69 73 20 ed.use-case.for.this.library.is.
2d820 66 6f 72 20 70 61 63 6b 61 67 65 20 64 65 76 65 6c 6f 70 65 72 73 20 74 6f 20 61 64 64 0a 61 73 for.package.developers.to.add.as
2d840 20 61 20 64 65 70 65 6e 64 65 6e 63 79 20 69 6e 20 74 68 65 20 68 65 61 64 65 72 2e 20 20 54 68 .a.dependency.in.the.header...Th
2d860 65 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 43 6f 6d 70 61 74 20 6c 69 62 72 61 72 79 0a e.version.of.the.Compat.library.
2d880 6d 69 72 72 6f 72 73 20 74 68 65 20 76 65 72 73 69 6f 6e 20 6f 66 20 45 6d 61 63 73 20 72 65 6c mirrors.the.version.of.Emacs.rel
2d8a0 65 61 73 65 73 2e 20 20 54 68 65 20 63 75 72 72 65 6e 74 20 76 65 72 73 69 6f 6e 20 6f 66 20 43 eases...The.current.version.of.C
2d8c0 6f 6d 70 61 74 0a 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 ompat.corresponds.to.the.current
2d8e0 20 45 6d 61 63 73 20 72 65 6c 65 61 73 65 2e 0a 0a 20 20 20 20 20 3b 3b 20 50 61 63 6b 61 67 65 .Emacs.release........;;.Package
2d900 2d 52 65 71 75 69 72 65 73 3a 20 28 28 65 6d 61 63 73 20 22 32 34 2e 34 22 29 20 28 63 6f 6d 70 -Requires:.((emacs."24.4").(comp
2d920 61 74 20 22 33 30 2e 30 2e 30 2e 30 22 29 29 0a 0a 20 20 20 54 68 65 72 65 20 69 73 20 6e 6f 20 at."30.0.0.0")).....There.is.no.
2d940 6e 65 65 64 20 74 6f 20 64 65 70 65 6e 64 20 6f 6e 20 e2 80 98 65 6d 61 63 73 20 32 34 2e 34 e2 need.to.depend.on....emacs.24.4.
2d960 80 99 20 73 70 65 63 69 66 69 63 61 6c 6c 79 2e 20 20 4f 6e 65 20 63 61 6e 0a 63 68 6f 6f 73 65 ...specifically...One.can.choose
2d980 20 61 6e 79 20 6e 65 77 65 72 20 76 65 72 73 69 6f 6e 2c 20 69 66 20 66 65 61 74 75 72 65 73 20 .any.newer.version,.if.features.
2d9a0 6e 6f 74 20 70 72 6f 76 69 64 65 64 20 62 79 20 43 6f 6d 70 61 74 20 6e 65 63 65 73 73 69 74 61 not.provided.by.Compat.necessita
2d9c0 74 65 0a 69 74 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 62 75 67 20 66 69 78 65 73 20 6f 72 20 te.it,.for.example.bug.fixes.or.
2d9e0 55 49 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 2e 0a 0a 20 20 20 49 6e 20 61 6e 79 20 66 69 6c 65 UI.improvements......In.any.file
2da00 20 77 68 65 72 65 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 66 6f 72 6d 73 20 61 72 65 20 75 .where.compatibility.forms.are.u
2da20 73 65 64 2c 20 61 0a 0a 20 20 20 20 20 28 72 65 71 75 69 72 65 20 27 63 6f 6d 70 61 74 29 0a 0a sed,.a.......(require.'compat)..
2da40 20 20 20 73 68 6f 75 6c 64 20 62 65 20 61 64 64 65 64 20 65 61 72 6c 79 20 6f 6e 2e 20 20 54 68 ...should.be.added.early.on...Th
2da60 69 73 20 77 69 6c 6c 20 6c 6f 61 64 20 61 6c 6c 20 6e 65 63 65 73 73 61 72 79 20 43 6f 6d 70 61 is.will.load.all.necessary.Compa
2da80 74 0a 64 65 66 69 6e 69 74 69 6f 6e 73 2e 20 20 43 6f 6d 70 61 74 20 6c 6f 61 64 73 20 74 68 65 t.definitions...Compat.loads.the
2daa0 20 e2 80 98 73 65 71 e2 80 99 20 6c 69 62 72 61 72 79 20 77 68 69 63 68 20 69 73 20 70 72 65 6c ....seq....library.which.is.prel
2dac0 6f 61 64 65 64 20 62 79 0a 64 65 66 61 75 6c 74 20 6f 6e 20 45 6d 61 63 73 20 32 39 2e 20 20 4e oaded.by.default.on.Emacs.29...N
2dae0 6f 74 65 20 74 68 61 74 20 69 66 20 43 6f 6d 70 61 74 20 69 73 20 69 6e 73 74 61 6c 6c 65 64 20 ote.that.if.Compat.is.installed.
2db00 6f 6e 20 61 20 72 65 63 65 6e 74 0a 76 65 72 73 69 6f 6e 20 6f 66 20 45 6d 61 63 73 2c 20 61 6c on.a.recent.version.of.Emacs,.al
2db20 6c 20 6f 66 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 61 72 65 20 64 69 73 61 62 6c 65 l.of.the.definitions.are.disable
2db40 64 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2c 0a 73 75 63 68 20 74 68 61 74 20 6e 6f 20 d.at.compile.time,.such.that.no.
2db60 6e 65 67 61 74 69 76 65 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 69 6d 70 61 63 74 20 69 73 20 69 negative.performance.impact.is.i
2db80 6e 63 75 72 72 65 64 2e 0a 0a 20 20 20 41 20 6d 69 6e 69 6d 61 6c 20 76 65 72 73 69 6f 6e 20 6f ncurred......A.minimal.version.o
2dba0 66 20 43 6f 6d 70 61 74 20 77 69 6c 6c 20 62 65 20 70 72 65 73 65 6e 74 20 69 6e 20 45 6d 61 63 f.Compat.will.be.present.in.Emac
2dbc0 73 20 76 65 72 73 69 6f 6e 20 33 30 20 61 6e 64 0a 6e 65 77 65 72 2e 20 20 50 61 63 6b 61 67 65 s.version.30.and.newer...Package
2dbe0 73 20 77 68 69 63 68 20 61 72 65 20 70 61 72 74 20 6f 66 20 45 6d 61 63 73 20 69 74 73 65 6c 66 s.which.are.part.of.Emacs.itself
2dc00 20 61 6e 64 20 77 61 6e 74 20 74 6f 20 74 61 6b 65 0a 61 64 76 61 6e 74 61 67 65 20 6f 66 20 43 .and.want.to.take.advantage.of.C
2dc20 6f 6d 70 61 74 2c 20 63 61 6e 20 61 6c 73 6f 20 75 73 65 20 e2 80 98 28 72 65 71 75 69 72 65 20 ompat,.can.also.use....(require.
2dc40 27 63 6f 6d 70 61 74 29 e2 80 99 2e 20 20 54 68 65 20 61 64 76 61 6e 74 61 67 65 20 6f 66 0a 74 'compat)......The.advantage.of.t
2dc60 68 65 20 69 6e 63 6c 75 73 69 6f 6e 20 6f 66 20 61 20 6d 69 6e 69 6d 61 6c 20 43 6f 6d 70 61 74 he.inclusion.of.a.minimal.Compat
2dc80 20 69 6e 20 45 6d 61 63 73 20 69 73 20 74 68 61 74 20 43 6f 6d 70 61 74 20 77 69 6c 6c 20 6e 6f .in.Emacs.is.that.Compat.will.no
2dca0 74 20 62 65 0a 69 6e 73 74 61 6c 6c 65 64 20 69 66 20 79 6f 75 20 72 65 71 75 69 72 65 20 61 20 t.be.installed.if.you.require.a.
2dcc0 76 65 72 73 69 6f 6e 20 6e 65 77 65 72 20 6f 72 20 65 71 75 61 6c 20 74 68 61 6e 20 74 68 65 20 version.newer.or.equal.than.the.
2dce0 63 75 72 72 65 6e 74 20 45 6d 61 63 73 0a 76 65 72 73 69 6f 6e 2e 20 20 46 6f 72 20 65 78 61 6d current.Emacs.version...For.exam
2dd00 70 6c 65 2c 20 69 66 20 61 20 70 61 63 6b 61 67 65 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 45 ple,.if.a.package.depending.on.E
2dd20 6d 61 63 73 20 32 35 2e 31 20 61 6e 64 20 43 6f 6d 70 61 74 0a 32 39 2e 31 20 69 73 20 69 6e 73 macs.25.1.and.Compat.29.1.is.ins
2dd40 74 61 6c 6c 65 64 20 6f 6e 20 45 6d 61 63 73 20 33 30 2e 31 2c 20 43 6f 6d 70 61 74 20 77 69 6c talled.on.Emacs.30.1,.Compat.wil
2dd60 6c 20 6e 6f 74 20 62 65 20 70 75 6c 6c 65 64 20 69 6e 20 61 73 0a 64 65 70 65 6e 64 65 6e 63 79 l.not.be.pulled.in.as.dependency
2dd80 2c 20 73 69 6e 63 65 20 45 6d 61 63 73 20 33 30 2e 31 20 61 6c 72 65 61 64 79 20 70 72 6f 76 69 ,.since.Emacs.30.1.already.provi
2dda0 64 65 73 20 74 68 65 20 72 65 71 75 69 72 65 64 0a 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 2e 0a des.the.required.functionality..
2ddc0 0a 20 20 20 43 6f 6d 70 61 74 20 70 72 6f 76 69 64 65 73 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 ....Compat.provides.replacement.
2dde0 66 75 6e 63 74 69 6f 6e 73 20 77 69 74 68 20 65 78 74 65 6e 64 65 64 20 66 75 6e 63 74 69 6f 6e functions.with.extended.function
2de00 61 6c 69 74 79 20 66 6f 72 0a 66 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 61 72 65 20 61 6c 72 ality.for.functions.that.are.alr
2de20 65 61 64 79 20 64 65 66 69 6e 65 64 2c 20 65 2e 67 2e 2c 20 e2 80 98 73 6f 72 74 e2 80 99 20 6f eady.defined,.e.g.,....sort....o
2de40 72 20 e2 80 98 61 73 73 6f 63 e2 80 99 2e 20 20 54 68 65 73 65 0a 66 75 6e 63 74 69 6f 6e 73 20 r....assoc......These.functions.
2de60 6d 61 79 20 68 61 76 65 20 63 68 61 6e 67 65 64 20 74 68 65 69 72 20 63 61 6c 6c 69 6e 67 20 63 may.have.changed.their.calling.c
2de80 6f 6e 76 65 6e 74 69 6f 6e 20 28 61 64 64 69 74 69 6f 6e 61 6c 20 6f 70 74 69 6f 6e 61 6c 0a 61 onvention.(additional.optional.a
2dea0 72 67 75 6d 65 6e 74 73 29 20 6f 72 20 6d 61 79 20 68 61 76 65 20 63 68 61 6e 67 65 64 20 74 68 rguments).or.may.have.changed.th
2dec0 65 69 72 20 62 65 68 61 76 69 6f 72 2e 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 6d eir.behavior...These.functions.m
2dee0 75 73 74 20 62 65 0a 6c 6f 6f 6b 65 64 20 75 70 20 65 78 70 6c 69 63 69 74 6c 79 20 77 69 74 68 ust.be.looked.up.explicitly.with
2df00 20 e2 80 98 63 6f 6d 70 61 74 2d 66 75 6e 63 74 69 6f 6e e2 80 99 20 6f 72 20 63 61 6c 6c 65 64 ....compat-function....or.called
2df20 20 65 78 70 6c 69 63 69 74 6c 79 20 77 69 74 68 0a e2 80 98 63 6f 6d 70 61 74 2d 63 61 6c 6c e2 .explicitly.with....compat-call.
2df40 80 99 2e 20 20 57 65 20 63 61 6c 6c 20 74 68 65 6d 20 e2 80 9c 45 78 74 65 6e 64 65 64 20 44 65 .....We.call.them....Extended.De
2df60 66 69 6e 69 74 69 6f 6e 73 e2 80 9d 2e 20 20 49 6e 20 63 6f 6e 74 72 61 73 74 2c 20 6e 65 77 6c finitions......In.contrast,.newl
2df80 79 0a e2 80 9c 41 64 64 65 64 20 44 65 66 69 6e 69 74 69 6f 6e 73 e2 80 9d 20 63 61 6e 20 62 65 y....Added.Definitions....can.be
2dfa0 20 63 61 6c 6c 65 64 20 61 73 20 75 73 75 61 6c 2e 20 20 54 68 65 20 43 6f 6d 70 61 74 20 6d 61 .called.as.usual...The.Compat.ma
2dfc0 6e 75 61 6c 0a 65 78 70 6c 69 63 69 74 6c 79 20 64 6f 63 75 6d 65 6e 74 73 20 74 68 65 20 63 61 nual.explicitly.documents.the.ca
2dfe0 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 6f 66 20 65 61 63 68 20 63 6f 6d 70 61 74 69 lling.convention.of.each.compati
2e000 62 69 6c 69 74 79 0a 66 75 6e 63 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 28 63 6f 6d 70 61 74 2d 63 bility.function........(compat-c
2e020 61 6c 6c 20 61 73 73 6f 63 20 6b 65 79 20 61 6c 69 73 74 20 74 65 73 74 66 6e 29 20 3b 3b 20 43 all.assoc.key.alist.testfn).;;.C
2e040 61 6c 6c 20 65 78 74 65 6e 64 65 64 20 60 61 73 73 6f 63 27 0a 20 20 20 20 20 28 6d 61 70 63 61 all.extended.`assoc'......(mapca
2e060 6e 20 66 75 6e 20 73 65 71 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b n.fun.seq).....................;
2e080 3b 20 43 61 6c 6c 20 6e 65 77 6c 79 20 61 64 64 65 64 20 60 6d 61 70 63 61 6e 27 0a 0a 20 2d 2d ;.Call.newly.added.`mapcan'...--
2e0a0 20 4d 61 63 72 6f 3a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 66 75 6e 20 26 72 65 73 74 20 61 72 .Macro:.compat-call.fun.&rest.ar
2e0c0 67 73 0a 20 20 20 20 20 54 68 69 73 20 6d 61 63 72 6f 20 63 61 6c 6c 73 20 74 68 65 20 63 6f 6d gs......This.macro.calls.the.com
2e0e0 70 61 74 69 62 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 20 46 55 4e 20 77 69 74 68 20 41 52 47 patibility.function.FUN.with.ARG
2e100 53 2e 20 20 4d 61 6e 79 0a 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 73 20 70 72 6f 76 69 64 65 64 S...Many......functions.provided
2e120 20 62 79 20 43 6f 6d 70 61 74 20 63 61 6e 20 62 65 20 63 61 6c 6c 65 64 20 64 69 72 65 63 74 6c .by.Compat.can.be.called.directl
2e140 79 20 77 69 74 68 6f 75 74 20 74 68 69 73 0a 20 20 20 20 20 6d 61 63 72 6f 2e 20 20 48 6f 77 65 y.without.this......macro...Howe
2e160 76 65 72 20 69 6e 20 74 68 65 20 63 61 73 65 20 77 68 65 72 65 20 43 6f 6d 70 61 74 20 70 72 6f ver.in.the.case.where.Compat.pro
2e180 76 69 64 65 73 20 61 6e 20 61 6c 74 65 72 6e 61 74 69 76 65 0a 20 20 20 20 20 76 65 72 73 69 6f vides.an.alternative......versio
2e1a0 6e 20 6f 66 20 61 6e 20 65 78 69 73 74 69 6e 67 20 66 75 6e 63 74 69 6f 6e 2c 20 74 68 65 20 66 n.of.an.existing.function,.the.f
2e1c0 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 68 61 73 20 74 6f 20 67 6f 0a 20 20 20 20 20 74 68 72 6f unction.call.has.to.go......thro
2e1e0 75 67 68 20 e2 80 98 63 6f 6d 70 61 74 2d 63 61 6c 6c e2 80 99 2e 20 20 54 68 69 73 20 68 61 70 ugh....compat-call......This.hap
2e200 70 65 6e 73 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 77 68 65 6e 20 74 68 65 20 63 61 6c 6c 69 6e pens.for.example.when.the.callin
2e220 67 0a 20 20 20 20 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 6f 66 20 61 20 66 75 6e 63 74 69 6f 6e 20 g......convention.of.a.function.
2e240 68 61 73 20 63 68 61 6e 67 65 64 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 63 6f 6d 70 61 74 2d has.changed....--.Macro:.compat-
2e260 66 75 6e 63 74 69 6f 6e 20 66 75 6e 0a 20 20 20 20 20 54 68 69 73 20 6d 61 63 72 6f 20 72 65 74 function.fun......This.macro.ret
2e280 75 72 6e 73 20 74 68 65 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 20 urns.the.compatibility.function.
2e2a0 73 79 6d 62 6f 6c 20 66 6f 72 20 46 55 4e 2e 20 20 53 65 65 0a 20 20 20 20 20 e2 80 98 63 6f 6d symbol.for.FUN...See.........com
2e2c0 70 61 74 2d 63 61 6c 6c e2 80 99 20 66 6f 72 20 61 20 6d 6f 72 65 20 63 6f 6e 76 65 6e 69 65 6e pat-call....for.a.more.convenien
2e2e0 74 20 6d 61 63 72 6f 20 74 6f 20 64 69 72 65 63 74 6c 79 20 63 61 6c 6c 0a 20 20 20 20 20 63 6f t.macro.to.directly.call......co
2e300 6d 70 61 74 69 62 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 0a 20 20 20 49 66 20 43 6f mpatibility.functions......If.Co
2e320 6d 70 61 74 20 69 73 20 75 73 65 64 20 69 6e 20 45 6d 61 63 73 20 63 6f 72 65 20 70 61 63 6b 61 mpat.is.used.in.Emacs.core.packa
2e340 67 65 73 2c 20 74 68 65 20 6d 61 63 72 6f 73 20 e2 80 98 63 6f 6d 70 61 74 2d 63 61 6c 6c e2 80 ges,.the.macros....compat-call..
2e360 99 0a 61 6e 64 20 e2 80 98 63 6f 6d 70 61 74 2d 66 75 6e 63 74 69 6f 6e e2 80 99 20 77 69 6c 6c ..and....compat-function....will
2e380 20 62 65 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 20 33 .be.available.in.Emacs.version.3
2e3a0 30 20 61 6e 64 20 6e 65 77 65 72 2e 0a 0a 20 20 20 54 68 65 20 6d 61 63 72 6f 73 20 e2 80 98 63 0.and.newer......The.macros....c
2e3c0 6f 6d 70 61 74 2d 63 61 6c 6c e2 80 99 20 61 6e 64 20 e2 80 98 63 6f 6d 70 61 74 2d 66 75 6e 63 ompat-call....and....compat-func
2e3e0 74 69 6f 6e e2 80 99 20 61 72 65 20 69 6e 74 72 6f 64 75 63 65 64 20 62 79 0a 43 6f 6d 70 61 74 tion....are.introduced.by.Compat
2e400 2c 20 73 69 6e 63 65 20 43 6f 6d 70 61 74 20 64 6f 65 73 20 6e 6f 74 20 61 64 76 69 73 65 20 6f ,.since.Compat.does.not.advise.o
2e420 72 20 6f 76 65 72 72 69 64 65 20 65 78 69 73 74 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 47 r.override.existing.functions..G
2e440 65 6e 65 72 61 6c 6c 79 20 43 6f 6d 70 61 74 20 69 73 20 77 72 69 74 74 65 6e 20 69 6e 20 64 65 enerally.Compat.is.written.in.de
2e460 66 65 6e 73 69 76 65 20 73 74 79 6c 65 20 77 68 69 63 68 20 69 73 20 73 75 70 70 6f 73 65 64 20 fensive.style.which.is.supposed.
2e480 74 6f 0a 72 65 64 75 63 65 20 70 6f 74 65 6e 74 69 61 6c 20 62 72 65 61 6b 61 67 65 2c 20 61 6e to.reduce.potential.breakage,.an
2e4a0 64 20 74 6f 20 69 6e 63 72 65 61 73 65 20 74 68 65 20 63 68 61 6e 63 65 73 20 6f 66 20 73 74 61 d.to.increase.the.chances.of.sta
2e4c0 79 69 6e 67 20 62 69 6e 61 72 79 0a 63 6f 6d 70 61 74 69 62 6c 65 20 61 63 72 6f 73 73 20 72 65 ying.binary.compatible.across.re
2e4e0 6c 65 61 73 65 73 2e 20 20 54 68 65 20 65 78 74 65 6e 73 69 76 65 20 74 65 73 74 20 63 6f 76 65 leases...The.extensive.test.cove
2e500 72 61 67 65 20 65 6e 73 75 72 65 73 20 74 68 61 74 20 77 65 0a 63 61 6e 20 6d 61 69 6e 74 61 69 rage.ensures.that.we.can.maintai
2e520 6e 20 68 69 67 68 20 71 75 61 6c 69 74 79 2c 20 77 68 69 63 68 20 69 73 20 63 72 75 63 69 61 6c n.high.quality,.which.is.crucial
2e540 20 66 6f 72 20 43 6f 6d 70 61 74 20 77 68 69 63 68 20 69 73 20 6e 6f 74 0a 72 65 73 74 72 69 63 .for.Compat.which.is.not.restric
2e560 74 65 64 20 74 6f 20 61 20 6e 61 6d 65 73 70 61 63 65 20 6c 69 6b 65 20 75 73 75 61 6c 20 6c 69 ted.to.a.namespace.like.usual.li
2e580 62 72 61 72 69 65 73 2e 0a 0a 20 20 20 49 66 20 79 6f 75 20 69 6e 74 65 6e 64 20 74 6f 20 75 73 braries......If.you.intend.to.us
2e5a0 65 20 61 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 20 69 6e 20 79 6f e.a.compatibility.function.in.yo
2e5c0 75 72 20 63 6f 64 65 20 69 74 20 69 73 0a 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 68 61 74 20 79 ur.code.it.is.recommended.that.y
2e5e0 6f 75 20 74 61 6b 65 20 61 20 6c 6f 6f 6b 20 61 74 20 74 68 65 20 74 65 73 74 20 73 75 69 74 65 ou.take.a.look.at.the.test.suite
2e600 20 e2 80 98 63 6f 6d 70 61 74 2d 74 65 73 74 73 2e 65 6c e2 80 99 2e 0a 54 68 65 72 65 20 79 6f ....compat-tests.el.....There.yo
2e620 75 20 63 61 6e 20 73 65 65 20 74 68 65 20 73 75 70 70 6f 72 74 65 64 20 63 61 6c 6c 69 6e 67 20 u.can.see.the.supported.calling.
2e640 63 6f 6e 76 65 6e 74 69 6f 6e 73 2c 20 77 68 69 63 68 20 61 72 65 0a 67 75 61 72 61 6e 74 65 65 conventions,.which.are.guarantee
2e660 64 20 74 6f 20 77 6f 72 6b 20 6f 6e 20 74 68 65 20 73 75 70 70 6f 72 74 65 64 20 45 6d 61 63 73 d.to.work.on.the.supported.Emacs
2e680 20 76 65 72 73 69 6f 6e 73 2e 20 20 57 65 20 65 6e 73 75 72 65 20 74 68 69 73 0a 75 73 69 6e 67 .versions...We.ensure.this.using
2e6a0 20 63 6f 6e 74 69 6e 75 6f 75 73 20 69 6e 74 65 67 72 61 74 69 6f 6e 2e 20 20 41 6c 6c 20 66 75 .continuous.integration...All.fu
2e6c0 6e 63 74 69 6f 6e 73 20 70 72 6f 76 69 64 65 64 20 62 79 20 43 6f 6d 70 61 74 20 61 72 65 0a 63 nctions.provided.by.Compat.are.c
2e6e0 6f 76 65 72 65 64 20 62 79 20 74 68 65 20 74 65 73 74 20 73 75 69 74 65 2e 20 20 54 68 65 72 65 overed.by.the.test.suite...There
2e700 20 69 73 20 61 20 6c 69 6e 6b 20 74 6f 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 .is.a.link.to.the.corresponding.
2e720 74 65 73 74 20 6f 6e 0a 74 68 65 20 66 69 72 73 74 20 6c 69 6e 65 20 6f 66 20 65 61 63 68 20 64 test.on.the.first.line.of.each.d
2e740 65 66 69 6e 69 74 69 6f 6e 2e 0a 0a 20 20 20 59 6f 75 20 6d 61 79 20 77 61 6e 74 20 74 6f 20 73 efinition......You.may.want.to.s
2e760 75 62 73 63 72 69 62 65 20 74 6f 20 74 68 65 20 63 6f 6d 70 61 74 2d 61 6e 6e 6f 75 6e 63 65 0a ubscribe.to.the.compat-announce.
2e780 28 68 74 74 70 73 3a 2f 2f 6c 69 73 74 73 2e 73 72 2e 68 74 2f 7e 70 6b 61 6c 2f 63 6f 6d 70 61 (https://lists.sr.ht/~pkal/compa
2e7a0 74 2d 61 6e 6e 6f 75 6e 63 65 29 20 6d 61 69 6c 69 6e 67 20 6c 69 73 74 20 74 6f 20 62 65 20 6e t-announce).mailing.list.to.be.n
2e7c0 6f 74 69 66 69 65 64 0a 77 68 65 6e 20 6e 65 77 20 76 65 72 73 69 6f 6e 73 20 61 72 65 20 72 65 otified.when.new.versions.are.re
2e7e0 6c 65 61 73 65 64 20 6f 72 20 72 65 6c 65 76 61 6e 74 20 63 68 61 6e 67 65 73 20 61 72 65 20 6d leased.or.relevant.changes.are.m
2e800 61 64 65 2e 20 20 57 65 20 61 6c 73 6f 0a 70 72 6f 76 69 64 65 20 61 20 64 65 76 65 6c 6f 70 6d ade...We.also.provide.a.developm
2e820 65 6e 74 20 6d 61 69 6c 69 6e 67 20 6c 69 73 74 0a 28 68 74 74 70 73 3a 2f 2f 6c 69 73 74 73 2e ent.mailing.list.(https://lists.
2e840 73 72 2e 68 74 2f 7e 70 6b 61 6c 2f 63 6f 6d 70 61 74 2d 64 65 76 65 6c 29 20 28 7e 70 6b 61 6c sr.ht/~pkal/compat-devel).(~pkal
2e860 2f 63 6f 6d 70 61 74 2d 64 65 76 65 6c 40 6c 69 73 74 73 2e 73 72 2e 68 74 0a 3c 7e 70 6b 61 6c /compat-devel@lists.sr.ht.<~pkal
2e880 2f 63 6f 6d 70 61 74 2d 64 65 76 65 6c 40 6c 69 73 74 73 2e 73 72 2e 68 74 3e 29 2e 0a 0a 1f 0a /compat-devel@lists.sr.ht>).....
2e8a0 46 69 6c 65 3a 20 64 6f 63 32 33 47 70 47 36 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 4c 69 6d File:.doc23GpG6.info,..Node:.Lim
2e8c0 69 74 61 74 69 6f 6e 73 2c 20 20 50 72 65 76 3a 20 55 73 61 67 65 2c 20 20 55 70 3a 20 49 6e 74 itations,..Prev:.Usage,..Up:.Int
2e8e0 72 6f 64 75 63 74 69 6f 6e 0a 0a 31 2e 33 20 4c 69 6d 69 74 61 74 69 6f 6e 73 0a 3d 3d 3d 3d 3d roduction..1.3.Limitations.=====
2e900 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 54 68 65 20 43 6f 6d 70 61 74 20 6c 69 62 72 61 72 79 20 68 ==========..The.Compat.library.h
2e920 61 73 20 61 20 6e 75 6d 62 65 72 20 6f 66 20 6c 69 6d 69 74 61 74 69 6f 6e 73 2e 20 20 43 6f 6d as.a.number.of.limitations...Com
2e940 70 6c 65 74 65 20 62 61 63 6b 77 61 72 64 73 0a 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 63 61 plete.backwards.compatibility.ca
2e960 6e 6e 6f 74 20 62 65 20 70 72 6f 76 69 64 65 64 20 64 75 65 20 74 6f 20 74 68 65 20 73 63 6f 70 nnot.be.provided.due.to.the.scop
2e980 65 20 6f 66 20 43 6f 6d 70 61 74 20 61 6e 64 20 66 6f 72 0a 74 65 63 68 6e 69 63 61 6c 20 72 65 e.of.Compat.and.for.technical.re
2e9a0 61 73 6f 6e 73 2e 20 20 54 68 65 20 73 63 6f 70 65 20 69 73 20 69 6e 74 65 6e 74 69 6f 6e 61 6c asons...The.scope.is.intentional
2e9c0 6c 79 20 72 65 73 74 72 69 63 74 65 64 20 69 6e 20 6f 72 64 65 72 20 74 6f 0a 6c 69 6d 69 74 20 ly.restricted.in.order.to.limit.
2e9e0 74 68 65 20 73 69 7a 65 20 6f 66 20 43 6f 6d 70 61 74 20 61 6e 64 20 74 6f 20 65 6e 73 75 72 65 the.size.of.Compat.and.to.ensure
2ea00 20 74 68 61 74 20 74 68 65 20 6c 69 62 72 61 72 79 20 73 74 61 79 73 0a 6d 61 69 6e 74 61 69 6e .that.the.library.stays.maintain
2ea20 61 62 6c 65 2e 0a 0a 20 20 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 20 32 34 2e 34 20 69 73 20 able......Emacs.version.24.4.is.
2ea40 63 68 6f 73 65 6e 20 61 73 20 74 68 65 20 6f 6c 64 65 73 74 20 76 65 72 73 69 6f 6e 20 73 75 70 chosen.as.the.oldest.version.sup
2ea60 70 6f 72 74 65 64 20 62 79 0a 43 6f 6d 70 61 74 2c 20 73 69 6e 63 65 20 45 6c 69 73 70 20 68 61 ported.by.Compat,.since.Elisp.ha
2ea80 73 20 73 65 65 6e 20 73 69 67 6e 69 66 69 63 61 6e 74 20 63 68 61 6e 67 65 73 20 61 74 20 74 68 s.seen.significant.changes.at.th
2eaa0 61 74 20 76 65 72 73 69 6f 6e 2e 20 20 53 69 6e 63 65 0a 32 34 2e 34 20 45 6d 61 63 73 20 6d 61 at.version...Since.24.4.Emacs.ma
2eac0 6a 6f 72 20 76 65 72 73 69 6f 6e 73 20 63 6f 6e 73 69 73 74 65 6e 74 6c 79 20 62 75 6d 70 20 74 jor.versions.consistently.bump.t
2eae0 68 65 20 6d 61 6a 6f 72 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 2e 0a 4f 6e 20 74 68 65 20 he.major.version.number..On.the.
2eb00 6c 69 62 72 61 72 79 20 6c 65 76 65 6c 2c 20 73 75 62 72 2d 78 20 77 61 73 20 69 6e 74 72 6f 64 library.level,.subr-x.was.introd
2eb20 75 63 65 64 20 69 6e 20 32 34 2e 34 2e 20 20 4d 6f 73 74 20 70 6f 70 75 6c 61 72 20 45 6d 61 63 uced.in.24.4...Most.popular.Emac
2eb40 73 0a 70 61 63 6b 61 67 65 73 20 61 6c 72 65 61 64 79 20 72 65 71 75 69 72 65 20 32 34 2e 34 20 s.packages.already.require.24.4.
2eb60 6f 72 20 65 76 65 6e 20 6e 65 77 65 72 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 45 6d 61 63 73 2e or.even.newer.versions.of.Emacs.
2eb80 0a 53 75 70 70 6f 72 74 69 6e 67 20 66 6f 72 20 6d 6f 72 65 20 68 69 73 74 6f 72 69 63 61 6c 20 .Supporting.for.more.historical.
2eba0 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 73 20 77 6f 75 6c 64 20 63 6f 6d 70 6c 69 63 61 74 65 0a Emacs.versions.would.complicate.
2ebc0 6d 61 69 6e 74 65 6e 61 6e 63 65 20 77 68 69 6c 65 20 6f 6e 6c 79 20 66 65 77 20 70 61 63 6b 61 maintenance.while.only.few.packa
2ebe0 67 65 73 20 61 6e 64 20 75 73 65 72 73 20 77 6f 75 6c 64 20 62 65 6e 65 66 69 74 2e 0a 0a 20 20 ges.and.users.would.benefit.....
2ec00 20 42 65 6c 6f 77 20 77 65 20 6c 69 73 74 20 61 20 6e 75 6d 62 65 72 20 6f 66 20 72 65 61 73 6f .Below.we.list.a.number.of.reaso
2ec20 6e 73 20 77 68 79 20 63 65 72 74 61 69 6e 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 63 61 6e ns.why.certain.functionality.can
2ec40 6e 6f 74 20 62 65 0a 70 72 6f 76 69 64 65 64 2e 20 20 4e 6f 74 65 20 74 68 61 74 20 69 6e 20 73 not.be.provided...Note.that.in.s
2ec60 6f 6d 65 20 73 70 65 63 69 61 6c 20 63 61 73 65 73 20 65 78 63 65 70 74 69 6f 6e 73 20 63 61 6e ome.special.cases.exceptions.can
2ec80 20 62 65 20 6d 61 64 65 20 61 6e 64 0a 66 75 6e 63 74 69 6f 6e 73 20 63 61 6e 20 73 74 69 6c 6c .be.made.and.functions.can.still
2eca0 20 62 65 20 61 64 64 65 64 20 74 6f 20 43 6f 6d 70 61 74 20 65 76 65 6e 20 69 66 20 74 68 65 79 .be.added.to.Compat.even.if.they
2ecc0 20 73 61 74 69 73 66 79 20 74 68 65 20 63 72 69 74 65 72 69 61 0a 66 72 6f 6d 20 74 68 65 20 6c .satisfy.the.criteria.from.the.l
2ece0 69 73 74 2e 20 20 49 6e 20 63 61 73 65 20 79 6f 75 20 6d 69 73 73 20 66 75 6e 63 74 69 6f 6e 61 ist...In.case.you.miss.functiona
2ed00 6c 69 74 79 20 77 68 69 63 68 20 79 6f 75 20 74 68 69 6e 6b 20 73 68 6f 75 6c 64 0a 62 65 6c 6f lity.which.you.think.should.belo
2ed20 6e 67 20 68 65 72 65 2c 20 61 20 2a 6e 6f 74 65 20 72 65 70 6f 72 74 3a 20 44 65 76 65 6c 6f 70 ng.here,.a.*note.report:.Develop
2ed40 6d 65 6e 74 2e 20 77 6f 75 6c 64 20 62 65 20 6d 75 63 68 20 61 70 70 72 65 63 69 61 74 65 64 2e ment..would.be.much.appreciated.
2ed60 0a 0a 20 20 20 e2 80 a2 20 54 68 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 66 75 6e 63 74 69 6f 6e .........The.additional.function
2ed80 61 6c 69 74 79 20 69 73 20 61 20 63 6f 6d 6d 61 6e 64 20 6f 72 20 61 20 75 73 65 72 2d 66 61 63 ality.is.a.command.or.a.user-fac
2eda0 69 6e 67 20 6d 69 6e 6f 72 20 6f 72 0a 20 20 20 20 20 6d 61 6a 6f 72 20 6d 6f 64 65 2e 20 20 43 ing.minor.or......major.mode...C
2edc0 6f 6d 70 61 74 20 69 73 20 6c 69 6d 69 74 65 64 20 74 6f 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 ompat.is.limited.to.functionalit
2ede0 79 20 6f 6e 20 74 68 65 20 e2 80 9c 6c 69 62 72 61 72 79 0a 20 20 20 20 20 6c 65 76 65 6c e2 80 y.on.the....library......level..
2ee00 9d 2e 20 20 47 65 6e 65 72 61 6c 6c 79 20 66 75 6e 63 74 69 6f 6e 73 20 70 72 6f 76 69 64 65 64 ....Generally.functions.provided
2ee20 20 62 79 20 43 6f 6d 70 61 74 20 61 72 65 0a 20 20 20 20 20 6e 6f 6e 2d 69 6e 74 65 72 61 63 74 .by.Compat.are......non-interact
2ee40 69 76 65 2c 20 73 75 63 68 20 74 68 61 74 20 74 68 65 20 75 73 65 72 20 69 6e 74 65 72 66 61 63 ive,.such.that.the.user.interfac
2ee60 65 20 28 4d 2d 78 29 20 69 73 20 75 6e 61 66 66 65 63 74 65 64 0a 20 20 20 20 20 62 79 20 74 68 e.(M-x).is.unaffected......by.th
2ee80 65 20 70 72 65 73 65 6e 63 65 20 6f 66 20 43 6f 6d 70 61 74 2e 0a 0a 20 20 20 e2 80 a2 20 54 68 e.presence.of.Compat..........Th
2eea0 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6e 6f 74 20 75 73 65 66 75 6c 20 66 6f 72 20 70 61 63 e.function.is.not.useful.for.pac
2eec0 6b 61 67 65 20 61 75 74 68 6f 72 73 20 6f 72 20 6e 6f 74 20 69 6e 74 65 6e 64 65 64 20 74 6f 0a kage.authors.or.not.intended.to.
2eee0 20 20 20 20 20 62 65 20 75 73 65 64 20 62 79 20 70 61 63 6b 61 67 65 73 2c 20 62 75 74 20 69 73 .....be.used.by.packages,.but.is
2ef00 20 6f 6e 6c 79 20 75 73 65 66 75 6c 20 6f 6e 20 74 68 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f .only.useful.on.the.configuratio
2ef20 6e 20 6c 65 76 65 6c 2e 0a 20 20 20 20 20 54 68 65 20 6d 61 63 72 6f 20 e2 80 98 73 65 74 6f 70 n.level.......The.macro....setop
2ef40 74 e2 80 99 20 69 73 20 73 75 63 68 20 61 6e 20 65 78 61 6d 70 6c 65 2e 0a 0a 20 20 20 e2 80 a2 t....is.such.an.example.........
2ef60 20 50 72 69 76 61 74 65 20 28 64 6f 75 62 6c 65 20 64 61 73 68 65 64 29 20 66 75 6e 63 74 69 6f .Private.(double.dashed).functio
2ef80 6e 73 20 61 72 65 20 6e 6f 74 20 70 6f 72 74 65 64 20 62 61 63 6b 2e 20 20 49 66 20 43 6f 6d 70 ns.are.not.ported.back...If.Comp
2efa0 61 74 0a 20 20 20 20 20 69 6e 63 6c 75 64 65 73 20 73 6f 6d 65 20 70 72 69 76 61 74 65 20 66 75 at......includes.some.private.fu
2efc0 6e 63 74 69 6f 6e 73 2c 20 74 68 65 79 20 61 72 65 20 6d 65 61 6e 74 20 70 75 72 65 6c 79 20 66 nctions,.they.are.meant.purely.f
2efe0 6f 72 20 69 6e 74 65 72 6e 61 6c 0a 20 20 20 20 20 75 73 61 67 65 2e 0a 0a 20 20 20 e2 80 a2 20 or.internal......usage..........
2f000 54 68 65 20 61 64 64 65 64 20 6f 72 20 65 78 74 65 6e 64 65 64 20 66 75 6e 63 74 69 6f 6e 20 62 The.added.or.extended.function.b
2f020 65 6c 6f 6e 67 73 20 74 6f 20 74 68 65 20 e2 80 9c 61 70 70 6c 69 63 61 74 69 6f 6e 20 6c 65 76 elongs.to.the....application.lev
2f040 65 6c e2 80 9d 0a 20 20 20 20 20 61 6e 64 20 6e 6f 74 20 74 68 65 20 e2 80 9c 6c 69 62 72 61 72 el.........and.not.the....librar
2f060 79 20 6c 65 76 65 6c e2 80 9d 2e 20 20 46 65 61 74 75 72 65 73 20 77 68 69 63 68 20 61 72 65 20 y.level......Features.which.are.
2f080 6e 6f 74 20 70 72 65 6c 6f 61 64 65 64 0a 20 20 20 20 20 6f 66 74 65 6e 20 62 65 6c 6f 6e 67 20 not.preloaded......often.belong.
2f0a0 74 6f 20 74 68 65 20 e2 80 9c 61 70 70 6c 69 63 61 74 69 6f 6e 20 6c 65 76 65 6c e2 80 9d 2e 20 to.the....application.level.....
2f0c0 20 41 70 70 6c 69 63 61 74 69 6f 6e 20 65 78 61 6d 70 6c 65 73 20 61 72 65 0a 20 20 20 20 20 70 .Application.examples.are......p
2f0e0 72 6f 67 72 61 6d 6d 69 6e 67 20 6d 6f 64 65 73 20 6f 72 20 6d 6f 64 65 73 20 6c 69 6b 65 20 44 rogramming.modes.or.modes.like.D
2f100 69 72 65 64 2c 20 49 52 43 20 61 6e 64 20 47 6e 75 73 2e 20 20 49 66 20 74 68 65 73 65 0a 20 20 ired,.IRC.and.Gnus...If.these...
2f120 20 20 20 6d 6f 64 65 73 20 61 72 65 20 65 78 74 65 6e 64 65 64 20 77 69 74 68 20 6e 65 77 20 66 ...modes.are.extended.with.new.f
2f140 75 6e 63 74 69 6f 6e 73 2c 20 74 68 65 73 65 20 61 72 65 20 6e 6f 74 20 70 6f 72 74 65 64 20 62 unctions,.these.are.not.ported.b
2f160 61 63 6b 2e 0a 0a 20 20 20 e2 80 a2 20 41 6e 20 65 78 69 73 74 69 6e 67 20 66 75 6e 63 74 69 6f ack..........An.existing.functio
2f180 6e 20 6f 72 20 6d 61 63 72 6f 20 77 61 73 20 65 78 74 65 6e 64 65 64 20 62 79 20 73 6f 6d 65 20 n.or.macro.was.extended.by.some.
2f1a0 6e 65 77 0a 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 2e 20 20 54 6f 20 73 75 70 70 new......functionality...To.supp
2f1c0 6f 72 74 20 74 68 65 73 65 20 63 61 73 65 73 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 6f 72 ort.these.cases,.the.function.or
2f1e0 20 6d 61 63 72 6f 20 77 6f 75 6c 64 0a 20 20 20 20 20 68 61 76 65 20 74 6f 20 62 65 20 61 64 76 .macro.would......have.to.be.adv
2f200 69 73 65 64 2e 20 20 53 69 6e 63 65 20 74 68 69 73 20 69 73 20 69 6e 76 61 73 69 76 65 20 61 6e ised...Since.this.is.invasive.an
2f220 64 20 61 64 64 73 20 73 69 67 6e 69 66 69 63 61 6e 74 0a 20 20 20 20 20 6f 76 65 72 68 65 61 64 d.adds.significant......overhead
2f240 2c 20 65 76 65 6e 20 77 68 65 6e 20 74 68 65 20 6e 65 77 20 66 65 61 74 75 72 65 20 69 73 20 6e ,.even.when.the.new.feature.is.n
2f260 6f 74 20 75 73 65 64 2c 20 43 6f 6d 70 61 74 20 64 6f 65 73 20 6e 6f 74 0a 20 20 20 20 20 75 73 ot.used,.Compat.does.not......us
2f280 65 20 61 64 76 69 63 65 73 2e 20 20 41 73 20 61 20 63 6f 6d 70 72 6f 6d 69 73 65 2c 20 63 6f 6d e.advices...As.a.compromise,.com
2f2a0 70 61 74 69 62 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 6d 61 63 72 6f 73 0a patibility.functions.and.macros.
2f2c0 20 20 20 20 20 77 69 74 68 20 61 20 63 68 61 6e 67 65 64 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 .....with.a.changed.calling.conv
2f2e0 65 6e 74 69 6f 6e 20 6f 72 20 62 65 68 61 76 69 6f 72 20 63 61 6e 20 62 65 20 61 63 63 65 73 73 ention.or.behavior.can.be.access
2f300 65 64 20 76 69 61 0a 20 20 20 20 20 74 68 65 20 e2 80 98 63 6f 6d 70 61 74 2d 66 75 6e 63 74 69 ed.via......the....compat-functi
2f320 6f 6e e2 80 99 20 61 6e 64 20 e2 80 98 63 6f 6d 70 61 74 2d 63 61 6c 6c e2 80 99 20 6d 61 63 72 on....and....compat-call....macr
2f340 6f 73 2e 20 20 49 6e 20 74 68 69 73 20 6d 61 6e 75 61 6c 20 77 65 0a 20 20 20 20 20 63 61 6c 6c os...In.this.manual.we......call
2f360 20 73 75 63 68 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 e2 80 9c 45 78 74 65 6e 64 65 64 20 44 65 .such.definitions....Extended.De
2f380 66 69 6e 69 74 69 6f 6e 73 e2 80 9d 2e 20 20 41 6e 20 65 78 61 6d 70 6c 65 20 69 73 20 74 68 65 finitions......An.example.is.the
2f3a0 0a 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 70 6c 69 73 74 2d 67 65 74 e2 80 99 2e 20 ......function....plist-get.....
2f3c0 20 4e 6f 74 65 20 74 68 61 74 20 65 78 74 65 6e 64 65 64 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 .Note.that.extended.functions.ar
2f3e0 65 20 73 75 62 6a 65 63 74 20 74 6f 0a 20 20 20 20 20 63 6c 6f 73 65 72 20 73 63 72 75 74 69 6e e.subject.to......closer.scrutin
2f400 79 2c 20 73 69 6e 63 65 20 74 68 65 69 72 20 75 73 61 67 65 20 76 69 61 20 e2 80 98 63 6f 6d 70 y,.since.their.usage.via....comp
2f420 61 74 2d 63 61 6c 6c e2 80 99 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 63 6f 6d 70 6c 65 74 65 6c at-call....is.not......completel
2f440 79 20 70 61 69 6e 6c 65 73 73 2e 20 20 49 66 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 65 78 74 y.painless...If.a.particular.ext
2f460 65 6e 64 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 0a 20 20 20 20 20 73 65 65 ended.function.does.not......see
2f480 20 6d 75 63 68 20 75 73 61 67 65 20 6f 72 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 79 69 65 .much.usage.or.the.extension.yie
2f4a0 6c 64 73 20 6f 6e 6c 79 20 6d 61 72 67 69 6e 61 6c 20 62 65 6e 65 66 69 74 73 2c 20 77 65 0a 20 lds.only.marginal.benefits,.we..
2f4c0 20 20 20 20 6d 61 79 20 6e 6f 74 20 70 72 6f 76 69 64 65 20 69 74 20 61 73 20 70 61 72 74 20 6f ....may.not.provide.it.as.part.o
2f4e0 66 20 43 6f 6d 70 61 74 2e 0a 0a 20 20 20 e2 80 a2 20 42 75 67 20 66 69 78 65 73 20 61 72 65 20 f.Compat..........Bug.fixes.are.
2f500 75 73 75 61 6c 6c 79 20 6e 6f 74 20 70 6f 72 74 65 64 20 62 61 63 6b 20 61 73 20 70 61 72 74 20 usually.not.ported.back.as.part.
2f520 6f 66 20 43 6f 6d 70 61 74 2e 20 20 53 6f 6d 65 74 69 6d 65 73 0a 20 20 20 20 20 6c 69 62 72 61 of.Compat...Sometimes......libra
2f540 72 79 20 66 75 6e 63 74 69 6f 6e 73 20 73 68 6f 77 20 77 72 6f 6e 67 20 62 65 68 61 76 69 6f 72 ry.functions.show.wrong.behavior
2f560 20 66 6f 72 20 65 64 67 65 20 63 61 73 65 73 2e 20 20 49 6e 20 74 68 6f 73 65 0a 20 20 20 20 20 .for.edge.cases...In.those......
2f580 63 61 73 65 73 20 43 6f 6d 70 61 74 20 63 6f 75 6c 64 20 69 6e 20 70 72 69 6e 63 69 70 6c 65 20 cases.Compat.could.in.principle.
2f5a0 70 72 6f 76 69 64 65 20 61 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e provide.a.compatibility.function
2f5c0 0a 20 20 20 20 20 77 68 69 63 68 20 69 73 20 69 6e 76 6f 6b 65 64 20 76 69 61 20 e2 80 98 63 6f ......which.is.invoked.via....co
2f5e0 6d 70 61 74 2d 63 61 6c 6c e2 80 99 2e 20 20 53 75 63 68 20 65 78 74 65 6e 64 65 64 20 64 65 66 mpat-call......Such.extended.def
2f600 69 6e 69 74 69 6f 6e 73 0a 20 20 20 20 20 77 6f 75 6c 64 20 69 6e 63 72 65 61 73 65 20 74 68 65 initions......would.increase.the
2f620 20 6d 61 69 6e 74 65 6e 61 6e 63 65 20 62 75 72 64 65 6e 20 6f 66 20 43 6f 6d 70 61 74 2e 20 20 .maintenance.burden.of.Compat...
2f640 41 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 0a 20 20 20 20 20 74 68 65 20 62 65 6e 65 66 69 At.the.same.time......the.benefi
2f660 74 73 20 77 6f 75 6c 64 20 62 65 20 73 6d 61 6c 6c 20 67 69 76 65 6e 20 74 68 61 74 20 43 6f 6d ts.would.be.small.given.that.Com
2f680 70 61 74 20 64 6f 65 73 20 6e 6f 74 20 6f 76 65 72 72 69 64 65 0a 20 20 20 20 20 65 78 69 73 74 pat.does.not.override......exist
2f6a0 69 6e 67 20 64 65 66 69 6e 69 74 69 6f 6e 73 2e 0a 0a 20 20 20 e2 80 a2 20 54 68 65 20 64 65 66 ing.definitions..........The.def
2f6c0 69 6e 69 74 69 6f 6e 20 62 65 6c 6f 6e 67 73 20 74 6f 20 61 6e 20 45 6d 61 63 73 20 63 6f 72 65 inition.belongs.to.an.Emacs.core
2f6e0 20 70 61 63 6b 61 67 65 2c 20 77 68 69 63 68 20 69 73 20 61 6c 73 6f 0a 20 20 20 20 20 64 69 73 .package,.which.is.also......dis
2f700 74 72 69 62 75 74 65 64 20 76 69 61 20 45 4c 50 41 2e 20 43 6f 6d 70 61 74 20 64 6f 65 73 20 6e tributed.via.ELPA..Compat.does.n
2f720 6f 74 20 68 61 76 65 20 74 6f 20 70 72 6f 76 69 64 65 20 62 61 63 6b 77 61 72 64 0a 20 20 20 20 ot.have.to.provide.backward.....
2f740 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 66 6f 72 20 63 6f 72 65 20 70 61 63 6b 61 67 65 73 .compatibility.for.core.packages
2f760 20 73 69 6e 63 65 20 74 68 65 20 75 70 64 61 74 65 64 20 70 61 63 6b 61 67 65 20 63 61 6e 20 62 .since.the.updated.package.can.b
2f780 65 0a 20 20 20 20 20 69 6e 73 74 61 6c 6c 65 64 20 64 69 72 65 63 74 6c 79 20 66 72 6f 6d 20 45 e......installed.directly.from.E
2f7a0 4c 50 41 2e 20 45 78 61 6d 70 6c 65 73 20 69 6e 63 6c 75 64 65 20 74 68 65 20 6c 69 62 72 61 72 LPA..Examples.include.the.librar
2f7c0 69 65 73 20 78 72 65 66 2c 0a 20 20 20 20 20 70 72 6f 6a 65 63 74 2c 20 73 65 71 2c 20 6d 61 70 ies.xref,......project,.seq,.map
2f7e0 20 61 6e 64 20 74 72 61 6e 73 69 65 6e 74 2e 0a 0a 20 20 20 e2 80 a2 20 4e 65 77 20 66 75 6e 63 .and.transient..........New.func
2f800 74 69 6f 6e 61 6c 69 74 79 20 64 65 70 65 6e 64 73 20 6f 6e 20 61 6e 20 65 6e 74 69 72 65 20 6e tionality.depends.on.an.entire.n
2f820 65 77 2c 20 6e 6f 6e 2d 74 72 69 76 69 61 6c 20 63 6f 72 65 0a 20 20 20 20 20 6c 69 62 72 61 72 ew,.non-trivial.core......librar
2f840 79 2c 20 77 68 69 63 68 20 69 73 20 69 6e 66 65 61 73 69 62 6c 65 20 74 6f 20 64 75 70 6c 69 63 y,.which.is.infeasible.to.duplic
2f860 61 74 65 20 77 69 74 68 69 6e 20 43 6f 6d 70 61 74 2e 20 20 49 66 20 61 0a 20 20 20 20 20 62 61 ate.within.Compat...If.a......ba
2f880 63 6b 70 6f 72 74 20 6f 66 20 73 75 63 68 20 61 20 6c 69 62 72 61 72 79 20 69 73 20 72 65 71 75 ckport.of.such.a.library.is.requ
2f8a0 69 72 65 64 2c 20 74 68 65 20 70 72 65 66 65 72 72 65 64 20 61 70 70 72 6f 61 63 68 20 69 73 0a ired,.the.preferred.approach.is.
2f8c0 20 20 20 20 20 74 6f 20 65 69 74 68 65 72 20 72 65 6c 65 61 73 65 20 74 68 65 20 6c 69 62 72 61 .....to.either.release.the.libra
2f8e0 72 79 20 73 65 70 61 72 61 74 65 6c 79 20 6f 6e 20 47 4e 55 20 45 4c 50 41 20 61 73 20 61 20 63 ry.separately.on.GNU.ELPA.as.a.c
2f900 6f 72 65 0a 20 20 20 20 20 70 61 63 6b 61 67 65 20 6f 72 20 61 73 20 61 20 73 65 70 61 72 61 74 ore......package.or.as.a.separat
2f920 65 6c 79 20 6d 61 69 6e 74 61 69 6e 65 64 20 47 4e 55 20 45 4c 50 41 20 70 61 63 6b 61 67 65 2e ely.maintained.GNU.ELPA.package.
2f940 20 20 41 6e 20 65 78 61 6d 70 6c 65 0a 20 20 20 20 20 69 73 20 74 68 65 20 69 73 6f 38 36 30 31 ..An.example......is.the.iso8601
2f960 20 6c 69 62 72 61 72 79 2e 0a 0a 20 20 20 e2 80 a2 20 4e 65 77 20 66 75 6e 63 74 69 6f 6e 61 6c .library..........New.functional
2f980 69 74 79 20 77 61 73 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 69 6e 20 74 68 65 20 43 20 63 6f 72 ity.was.implemented.in.the.C.cor
2f9a0 65 2c 20 6f 72 20 64 65 70 65 6e 64 73 20 6f 6e 0a 20 20 20 20 20 65 78 74 65 72 6e 61 6c 20 6c e,.or.depends.on......external.l
2f9c0 69 62 72 61 72 69 65 73 20 74 68 61 74 20 63 61 6e 6e 6f 74 20 62 65 20 72 65 61 73 6f 6e 61 62 ibraries.that.cannot.be.reasonab
2f9e0 6c 79 20 64 75 70 6c 69 63 61 74 65 64 20 69 6e 20 74 68 65 0a 20 20 20 20 20 73 63 6f 70 65 20 ly.duplicated.in.the......scope.
2fa00 6f 66 20 61 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 6c 69 62 72 61 72 79 2e 20 20 53 6f 6d of.a.compatibility.library...Som
2fa20 65 74 69 6d 65 73 20 6e 65 77 20 66 75 6e 63 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20 43 0a 20 20 etimes.new.functions.on.the.C...
2fa40 20 20 20 6c 65 76 65 6c 20 72 65 6c 79 20 6f 6e 20 69 6e 74 65 72 6e 61 6c 20 64 61 74 61 20 73 ...level.rely.on.internal.data.s
2fa60 74 72 75 63 74 75 72 65 73 2c 20 77 68 69 63 68 20 77 65 20 63 61 6e 6e 6f 74 20 61 63 63 65 73 tructures,.which.we.cannot.acces
2fa80 73 2c 0a 20 20 20 20 20 72 65 6e 64 65 72 69 6e 67 20 61 20 62 61 63 6b 70 6f 72 74 20 69 6d 70 s,......rendering.a.backport.imp
2faa0 6f 73 73 69 62 6c 65 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 20 61 20 6d 69 73 73 69 6e 67 20 ossible...For.example.a.missing.
2fac0 6c 69 62 78 6d 6c 20 6f 72 0a 20 20 20 20 20 6c 69 62 74 72 65 65 73 69 74 74 65 72 20 63 61 6e libxml.or......libtreesitter.can
2fae0 6e 6f 74 20 62 65 20 65 6d 75 6c 61 74 65 64 2e 0a 0a 20 20 20 e2 80 a2 20 54 68 65 20 73 65 6d not.be.emulated..........The.sem
2fb00 61 6e 74 69 63 73 20 6f 66 20 45 6c 69 73 70 20 63 68 61 6e 67 65 64 20 6f 6e 20 61 20 64 65 65 antics.of.Elisp.changed.on.a.dee
2fb20 70 20 6c 65 76 65 6c 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 20 74 68 65 0a 20 20 20 20 20 61 p.level...For.example.the......a
2fb40 64 64 69 74 69 6f 6e 20 6f 66 20 62 69 67 20 69 6e 74 65 67 65 72 20 73 75 70 70 6f 72 74 20 69 ddition.of.big.integer.support.i
2fb60 6e 20 45 6d 61 63 73 20 32 37 2e 31 20 63 61 6e 6e 6f 74 20 62 65 20 72 65 70 6c 69 63 61 74 65 n.Emacs.27.1.cannot.be.replicate
2fb80 64 0a 20 20 20 20 20 6f 6e 20 74 68 65 20 6c 65 76 65 6c 20 6f 66 20 43 6f 6d 70 61 74 2e 0a 0a d......on.the.level.of.Compat...
2fba0 1f 0a 46 69 6c 65 3a 20 64 6f 63 32 33 47 70 47 36 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 53 ..File:.doc23GpG6.info,..Node:.S
2fbc0 75 70 70 6f 72 74 2c 20 20 4e 65 78 74 3a 20 44 65 76 65 6c 6f 70 6d 65 6e 74 2c 20 20 50 72 65 upport,..Next:.Development,..Pre
2fbe0 76 3a 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 32 20 53 75 70 v:.Introduction,..Up:.Top..2.Sup
2fc00 70 6f 72 74 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 54 68 69 73 20 73 65 63 74 69 6f 6e 20 67 6f 65 port.*********..This.section.goe
2fc20 73 20 69 6e 74 6f 20 74 68 65 20 66 65 61 74 75 72 65 73 20 74 68 61 74 20 43 6f 6d 70 61 74 20 s.into.the.features.that.Compat.
2fc40 6d 61 6e 61 67 65 73 20 61 6e 64 20 64 6f 65 73 6e e2 80 99 74 0a 6d 61 6e 61 67 65 20 74 6f 20 manages.and.doesn...t.manage.to.
2fc60 70 72 6f 76 69 64 65 20 66 6f 72 20 65 61 63 68 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 2e 0a provide.for.each.Emacs.version..
2fc80 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 45 6d 61 63 73 20 32 35 2e 31 3a 3a 20 20 20 20 20 20 20 20 .*.Menu:..*.Emacs.25.1::........
2fca0 20 20 20 20 20 20 20 20 20 20 20 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 73 75 70 70 6f 72 74 ...........Compatibility.support
2fcc0 20 66 6f 72 20 45 6d 61 63 73 20 32 35 2e 31 0a 2a 20 45 6d 61 63 73 20 32 36 2e 31 3a 3a 20 20 .for.Emacs.25.1.*.Emacs.26.1::..
2fce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 73 .................Compatibility.s
2fd00 75 70 70 6f 72 74 20 66 6f 72 20 45 6d 61 63 73 20 32 36 2e 31 0a 2a 20 45 6d 61 63 73 20 32 37 upport.for.Emacs.26.1.*.Emacs.27
2fd20 2e 31 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 6f 6d 70 61 74 69 62 69 .1::...................Compatibi
2fd40 6c 69 74 79 20 73 75 70 70 6f 72 74 20 66 6f 72 20 45 6d 61 63 73 20 32 37 2e 31 0a 2a 20 45 6d lity.support.for.Emacs.27.1.*.Em
2fd60 61 63 73 20 32 38 2e 31 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 6f 6d acs.28.1::...................Com
2fd80 70 61 74 69 62 69 6c 69 74 79 20 73 75 70 70 6f 72 74 20 66 6f 72 20 45 6d 61 63 73 20 32 38 2e patibility.support.for.Emacs.28.
2fda0 31 0a 2a 20 45 6d 61 63 73 20 32 39 2e 31 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 1.*.Emacs.29.1::................
2fdc0 20 20 20 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 73 75 70 70 6f 72 74 20 66 6f 72 20 45 6d 61 ...Compatibility.support.for.Ema
2fde0 63 73 20 32 39 2e 31 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 32 33 47 70 47 36 2e 69 6e 66 6f 2c cs.29.1....File:.doc23GpG6.info,
2fe00 20 20 4e 6f 64 65 3a 20 45 6d 61 63 73 20 32 35 2e 31 2c 20 20 4e 65 78 74 3a 20 45 6d 61 63 73 ..Node:.Emacs.25.1,..Next:.Emacs
2fe20 20 32 36 2e 31 2c 20 20 55 70 3a 20 53 75 70 70 6f 72 74 0a 0a 32 2e 31 20 45 6d 61 63 73 20 32 .26.1,..Up:.Support..2.1.Emacs.2
2fe40 35 2e 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 32 2e 31 2e 31 20 41 64 64 65 64 20 5.1.==============..2.1.1.Added.
2fe60 44 65 66 69 6e 69 74 69 6f 6e 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d Definitions.--------------------
2fe80 2d 2d 2d 0a 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 ---..The.following.functions.and
2fea0 20 6d 61 63 72 6f 73 20 61 72 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 69 6e 20 45 6d 61 63 73 .macros.are.implemented.in.Emacs
2fec0 20 32 35 2e 31 2e 20 20 54 68 65 73 65 0a 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 6d 61 64 65 .25.1...These.functions.are.made
2fee0 20 61 76 61 69 6c 61 62 6c 65 20 62 79 20 43 6f 6d 70 61 74 20 6f 6e 20 45 6d 61 63 73 20 76 65 .available.by.Compat.on.Emacs.ve
2ff00 72 73 69 6f 6e 73 20 6f 6c 64 65 72 20 74 68 61 6e 0a 32 35 2e 31 2e 0a 0a 20 2d 2d 20 55 73 65 rsions.older.than.25.1....--.Use
2ff20 72 20 4f 70 74 69 6f 6e 3a 20 74 65 78 74 2d 71 75 6f 74 69 6e 67 2d 73 74 79 6c 65 0a 20 20 20 r.Option:.text-quoting-style....
2ff40 20 20 54 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 69 73 20 75 73 65 72 20 6f 70 74 69 6f 6e 20 ..The.value.of.this.user.option.
2ff60 69 73 20 61 20 73 79 6d 62 6f 6c 20 74 68 61 74 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20 73 is.a.symbol.that.specifies.the.s
2ff80 74 79 6c 65 0a 20 20 20 20 20 45 6d 61 63 73 20 73 68 6f 75 6c 64 20 75 73 65 20 66 6f 72 20 73 tyle......Emacs.should.use.for.s
2ffa0 69 6e 67 6c 65 20 71 75 6f 74 65 73 20 69 6e 20 74 68 65 20 77 6f 72 64 69 6e 67 20 6f 66 20 68 ingle.quotes.in.the.wording.of.h
2ffc0 65 6c 70 20 61 6e 64 0a 20 20 20 20 20 6d 65 73 73 61 67 65 73 2e 20 20 49 66 20 74 68 65 20 6f elp.and......messages...If.the.o
2ffe0 70 74 69 6f 6e e2 80 99 73 20 76 61 6c 75 65 20 69 73 20 e2 80 98 63 75 72 76 65 e2 80 99 2c 20 ption...s.value.is....curve...,.
30000 74 68 65 20 73 74 79 6c 65 20 69 73 20 e2 80 98 6c 69 6b 65 0a 20 20 20 20 20 74 68 69 73 e2 80 the.style.is....like......this..
30020 99 20 77 69 74 68 20 63 75 72 76 65 64 20 73 69 6e 67 6c 65 20 71 75 6f 74 65 73 2e 20 20 49 66 ..with.curved.single.quotes...If
30040 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 e2 80 98 73 74 72 61 69 67 68 74 e2 80 99 2c 20 74 68 .the.value.is....straight...,.th
30060 65 0a 20 20 20 20 20 73 74 79 6c 65 20 69 73 20 27 6c 69 6b 65 20 74 68 69 73 27 20 77 69 74 68 e......style.is.'like.this'.with
30080 20 73 74 72 61 69 67 68 74 20 61 70 6f 73 74 72 6f 70 68 65 73 2e 20 20 49 66 20 74 68 65 20 76 .straight.apostrophes...If.the.v
300a0 61 6c 75 65 20 69 73 0a 20 20 20 20 20 e2 80 98 67 72 61 76 65 e2 80 99 2c 20 71 75 6f 74 65 73 alue.is.........grave...,.quotes
300c0 20 61 72 65 20 6e 6f 74 20 74 72 61 6e 73 6c 61 74 65 64 20 61 6e 64 20 74 68 65 20 73 74 79 6c .are.not.translated.and.the.styl
300e0 65 20 69 73 20 60 6c 69 6b 65 20 74 68 69 73 27 0a 20 20 20 20 20 77 69 74 68 20 67 72 61 76 65 e.is.`like.this'......with.grave
30100 20 61 63 63 65 6e 74 20 61 6e 64 20 61 70 6f 73 74 72 6f 70 68 65 2c 20 74 68 65 20 73 74 61 6e .accent.and.apostrophe,.the.stan
30120 64 61 72 64 20 73 74 79 6c 65 20 62 65 66 6f 72 65 20 45 6d 61 63 73 0a 20 20 20 20 20 76 65 72 dard.style.before.Emacs......ver
30140 73 69 6f 6e 20 32 35 2e 20 20 54 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 e2 80 98 6e sion.25...The.default.value....n
30160 69 6c e2 80 99 20 61 63 74 73 20 6c 69 6b 65 20 e2 80 98 63 75 72 76 65 e2 80 99 20 69 66 20 63 il....acts.like....curve....if.c
30180 75 72 76 65 64 0a 20 20 20 20 20 73 69 6e 67 6c 65 20 71 75 6f 74 65 73 20 73 65 65 6d 20 74 6f urved......single.quotes.seem.to
301a0 20 62 65 20 64 69 73 70 6c 61 79 61 62 6c 65 2c 20 61 6e 64 20 6c 69 6b 65 20 e2 80 98 67 72 61 .be.displayable,.and.like....gra
301c0 76 65 e2 80 99 20 6f 74 68 65 72 77 69 73 65 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 6f 70 74 69 ve....otherwise........This.opti
301e0 6f 6e 20 69 73 20 75 73 65 66 75 6c 20 6f 6e 20 70 6c 61 74 66 6f 72 6d 73 20 74 68 61 74 20 68 on.is.useful.on.platforms.that.h
30200 61 76 65 20 70 72 6f 62 6c 65 6d 73 20 77 69 74 68 20 63 75 72 76 65 64 0a 20 20 20 20 20 71 75 ave.problems.with.curved......qu
30220 6f 74 65 73 2e 20 20 59 6f 75 20 63 61 6e 20 63 75 73 74 6f 6d 69 7a 65 20 69 74 20 66 72 65 65 otes...You.can.customize.it.free
30240 6c 79 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 79 6f 75 72 20 70 65 72 73 6f 6e 61 6c 0a 20 20 ly.according.to.your.personal...
30260 20 20 20 70 72 65 66 65 72 65 6e 63 65 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 72 65 ...preference....--.Function:.re
30280 67 69 6f 6e 2d 62 6f 75 6e 64 73 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 62 6f 75 6e gion-bounds......Return.the.boun
302a0 64 61 72 69 65 73 20 6f 66 20 74 68 65 20 72 65 67 69 6f 6e 2e 20 20 56 61 6c 75 65 20 69 73 20 daries.of.the.region...Value.is.
302c0 61 20 6c 69 73 74 20 6f 66 20 6f 6e 65 20 6f 72 0a 20 20 20 20 20 6d 6f 72 65 20 63 6f 6e 73 20 a.list.of.one.or......more.cons.
302e0 63 65 6c 6c 73 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 e2 80 98 28 73 74 61 72 74 20 2e 20 65 6e cells.of.the.form....(start...en
30300 64 29 e2 80 99 2e 20 20 49 74 20 77 69 6c 6c 20 68 61 76 65 20 6d 6f 72 65 0a 20 20 20 20 20 74 d)......It.will.have.more......t
30320 68 61 6e 20 6f 6e 65 20 63 6f 6e 73 20 63 65 6c 6c 20 77 68 65 6e 20 74 68 65 20 72 65 67 69 6f han.one.cons.cell.when.the.regio
30340 6e 20 69 73 20 6e 6f 6e 2d 63 6f 6e 74 69 67 75 6f 75 73 2c 20 73 65 65 0a 20 20 20 20 20 e2 80 n.is.non-contiguous,.see........
30360 98 72 65 67 69 6f 6e 2d 6e 6f 6e 63 6f 6e 74 69 67 75 6f 75 73 2d 70 e2 80 99 20 61 6e 64 20 e2 .region-noncontiguous-p....and..
30380 80 98 65 78 74 72 61 63 74 2d 72 65 63 74 61 6e 67 6c 65 2d 62 6f 75 6e 64 73 e2 80 99 2e 0a 0a ..extract-rectangle-bounds......
303a0 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 72 65 67 69 6f 6e 2d 6e 6f 6e 63 6f 6e 74 69 67 75 6f .--.Function:.region-noncontiguo
303c0 75 73 2d 70 0a 20 20 20 20 20 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 74 68 65 20 us-p......Return.non-nil.if.the.
303e0 72 65 67 69 6f 6e 20 63 6f 6e 74 61 69 6e 73 20 73 65 76 65 72 61 6c 20 70 69 65 63 65 73 2e 20 region.contains.several.pieces..
30400 20 41 6e 20 65 78 61 6d 70 6c 65 0a 20 20 20 20 20 69 73 20 61 20 72 65 63 74 61 6e 67 75 6c 61 .An.example......is.a.rectangula
30420 72 20 72 65 67 69 6f 6e 20 68 61 6e 64 6c 65 64 20 61 73 20 61 20 6c 69 73 74 20 6f 66 20 73 65 r.region.handled.as.a.list.of.se
30440 70 61 72 61 74 65 20 63 6f 6e 74 69 67 75 6f 75 73 0a 20 20 20 20 20 72 65 67 69 6f 6e 73 20 66 parate.contiguous......regions.f
30460 6f 72 20 65 61 63 68 20 6c 69 6e 65 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 73 61 76 65 2d 6d or.each.line....--.Macro:.save-m
30480 61 72 6b 2d 61 6e 64 2d 65 78 63 75 72 73 69 6f 6e 20 62 6f 64 79 2e 2e 2e 0a 20 20 20 20 20 54 ark-and-excursion.body.........T
304a0 68 69 73 20 6d 61 63 72 6f 20 69 73 20 6c 69 6b 65 20 e2 80 98 73 61 76 65 2d 65 78 63 75 72 73 his.macro.is.like....save-excurs
304c0 69 6f 6e e2 80 99 2c 20 62 75 74 20 61 6c 73 6f 20 73 61 76 65 73 20 61 6e 64 20 72 65 73 74 6f ion...,.but.also.saves.and.resto
304e0 72 65 73 0a 20 20 20 20 20 74 68 65 20 6d 61 72 6b 20 6c 6f 63 61 74 69 6f 6e 20 61 6e 64 20 e2 res......the.mark.location.and..
30500 80 98 6d 61 72 6b 2d 61 63 74 69 76 65 e2 80 99 2e 20 20 54 68 69 73 20 6d 61 63 72 6f 20 64 6f ..mark-active......This.macro.do
30520 65 73 20 77 68 61 74 0a 20 20 20 20 20 e2 80 98 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e e2 80 es.what.........save-excursion..
30540 99 20 64 69 64 20 62 65 66 6f 72 65 20 45 6d 61 63 73 20 32 35 2e 31 2e 0a 0a 20 2d 2d 20 46 75 ..did.before.Emacs.25.1....--.Fu
30560 6e 63 74 69 6f 6e 3a 20 66 6f 72 6d 61 74 2d 6d 65 73 73 61 67 65 20 73 74 72 69 6e 67 20 26 72 nction:.format-message.string.&r
30580 65 73 74 20 6f 62 6a 65 63 74 73 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 est.objects......This.function.a
305a0 63 74 73 20 6c 69 6b 65 20 e2 80 98 66 6f 72 6d 61 74 e2 80 99 2c 20 65 78 63 65 70 74 20 69 74 cts.like....format...,.except.it
305c0 20 61 6c 73 6f 20 63 6f 6e 76 65 72 74 73 20 61 6e 79 20 67 72 61 76 65 0a 20 20 20 20 20 61 63 .also.converts.any.grave......ac
305e0 63 65 6e 74 73 20 28 60 29 20 61 6e 64 20 61 70 6f 73 74 72 6f 70 68 65 73 20 28 27 29 20 69 6e cents.(`).and.apostrophes.(').in
30600 20 53 54 52 49 4e 47 20 61 73 20 70 65 72 20 74 68 65 20 76 61 6c 75 65 20 6f 66 0a 20 20 20 20 .STRING.as.per.the.value.of.....
30620 20 e2 80 98 74 65 78 74 2d 71 75 6f 74 69 6e 67 2d 73 74 79 6c 65 e2 80 99 2e 0a 0a 20 20 20 20 ....text-quoting-style..........
30640 20 54 79 70 69 63 61 6c 6c 79 20 67 72 61 76 65 20 61 63 63 65 6e 74 20 61 6e 64 20 61 70 6f 73 .Typically.grave.accent.and.apos
30660 74 72 6f 70 68 65 20 69 6e 20 74 68 65 20 66 6f 72 6d 61 74 20 74 72 61 6e 73 6c 61 74 65 20 74 trophe.in.the.format.translate.t
30680 6f 0a 20 20 20 20 20 6d 61 74 63 68 69 6e 67 20 63 75 72 76 65 64 20 71 75 6f 74 65 73 2c 20 65 o......matching.curved.quotes,.e
306a0 2e 67 2e 2c 20 22 4d 69 73 73 69 6e 67 20 60 25 73 27 22 20 6d 69 67 68 74 20 72 65 73 75 6c 74 .g.,."Missing.`%s'".might.result
306c0 20 69 6e 0a 20 20 20 20 20 22 4d 69 73 73 69 6e 67 20 e2 80 98 66 6f 6f e2 80 99 22 2e 20 20 2a .in......"Missing....foo..."...*
306e0 4e 6f 74 65 20 28 65 6c 69 73 70 29 54 65 78 74 20 51 75 6f 74 69 6e 67 20 53 74 79 6c 65 3a 3a Note.(elisp)Text.Quoting.Style::
30700 2c 20 66 6f 72 20 68 6f 77 20 74 6f 0a 20 20 20 20 20 69 6e 66 6c 75 65 6e 63 65 20 6f 72 20 69 ,.for.how.to......influence.or.i
30720 6e 68 69 62 69 74 20 74 68 69 73 20 74 72 61 6e 73 6c 61 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 2a nhibit.this.translation........*
30740 6e 6f 74 65 20 28 65 6c 69 73 70 29 46 6f 72 6d 61 74 74 69 6e 67 20 53 74 72 69 6e 67 73 3a 3a note.(elisp)Formatting.Strings::
30760 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 64 69 72 65 63 74 6f 72 79 2d 6e 61 6d 65 2d ....--.Function:.directory-name-
30780 70 20 66 69 6c 65 6e 61 6d 65 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 p.filename......This.function.re
307a0 74 75 72 6e 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 69 66 20 46 49 4c 45 4e 41 4d 45 20 turns.non-...nil....if.FILENAME.
307c0 65 6e 64 73 20 77 69 74 68 20 61 20 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 73 65 70 61 72 ends.with.a.directory......separ
307e0 61 74 6f 72 20 63 68 61 72 61 63 74 65 72 2e 20 20 54 68 69 73 20 69 73 20 74 68 65 20 66 6f 72 ator.character...This.is.the.for
30800 77 61 72 64 20 73 6c 61 73 68 20 e2 80 98 2f e2 80 99 20 6f 6e 20 47 4e 55 20 61 6e 64 0a 20 20 ward.slash..../....on.GNU.and...
30820 20 20 20 6f 74 68 65 72 20 50 4f 53 49 58 2d 6c 69 6b 65 20 73 79 73 74 65 6d 73 3b 20 4d 53 2d ...other.POSIX-like.systems;.MS-
30840 57 69 6e 64 6f 77 73 20 61 6e 64 20 4d 53 2d 44 4f 53 20 72 65 63 6f 67 6e 69 7a 65 20 62 6f 74 Windows.and.MS-DOS.recognize.bot
30860 68 20 74 68 65 0a 20 20 20 20 20 66 6f 72 77 61 72 64 20 73 6c 61 73 68 20 61 6e 64 20 74 68 65 h.the......forward.slash.and.the
30880 20 62 61 63 6b 73 6c 61 73 68 20 e2 80 98 5c e2 80 99 20 61 73 20 64 69 72 65 63 74 6f 72 79 20 .backslash....\....as.directory.
308a0 73 65 70 61 72 61 74 6f 72 73 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 44 separators........*Note.(elisp)D
308c0 69 72 65 63 74 6f 72 79 20 4e 61 6d 65 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a irectory.Names::....--.Function:
308e0 20 73 74 72 69 6e 67 2d 67 72 65 61 74 65 72 70 20 73 74 72 69 6e 67 31 20 73 74 72 69 6e 67 32 .string-greaterp.string1.string2
30900 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 ......This.function.returns.the.
30920 72 65 73 75 6c 74 20 6f 66 20 63 6f 6d 70 61 72 69 6e 67 20 53 54 52 49 4e 47 31 20 61 6e 64 20 result.of.comparing.STRING1.and.
30940 53 54 52 49 4e 47 32 0a 20 20 20 20 20 69 6e 20 74 68 65 20 6f 70 70 6f 73 69 74 65 20 6f 72 64 STRING2......in.the.opposite.ord
30960 65 72 2c 20 69 2e 65 2e 2c 20 69 74 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 63 61 er,.i.e.,.it.is.equivalent.to.ca
30980 6c 6c 69 6e 67 0a 20 20 20 20 20 e2 80 98 28 73 74 72 69 6e 67 2d 6c 65 73 73 70 20 53 54 52 49 lling.........(string-lessp.STRI
309a0 4e 47 32 20 53 54 52 49 4e 47 31 29 e2 80 99 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c NG2.STRING1)...........*Note.(el
309c0 69 73 70 29 54 65 78 74 20 43 6f 6d 70 61 72 69 73 6f 6e 3a 3a 2e 0a 0a 20 2d 2d 20 4d 61 63 72 isp)Text.Comparison::....--.Macr
309e0 6f 3a 20 77 69 74 68 2d 66 69 6c 65 2d 6d 6f 64 65 73 20 6d 6f 64 65 20 62 6f 64 79 2e 2e 2e 0a o:.with-file-modes.mode.body....
30a00 20 20 20 20 20 54 68 69 73 20 6d 61 63 72 6f 20 65 76 61 6c 75 61 74 65 73 20 74 68 65 20 42 4f .....This.macro.evaluates.the.BO
30a20 44 59 20 66 6f 72 6d 73 20 77 69 74 68 20 74 68 65 20 64 65 66 61 75 6c 74 20 70 65 72 6d 69 73 DY.forms.with.the.default.permis
30a40 73 69 6f 6e 73 0a 20 20 20 20 20 66 6f 72 20 6e 65 77 20 66 69 6c 65 73 20 74 65 6d 70 6f 72 61 sions......for.new.files.tempora
30a60 72 69 6c 79 20 73 65 74 20 74 6f 20 4d 4f 44 45 53 20 28 77 68 6f 73 65 20 76 61 6c 75 65 20 69 rily.set.to.MODES.(whose.value.i
30a80 73 20 61 73 20 66 6f 72 0a 20 20 20 20 20 e2 80 98 73 65 74 2d 66 69 6c 65 2d 6d 6f 64 65 73 e2 s.as.for.........set-file-modes.
30aa0 80 99 20 61 62 6f 76 65 29 2e 20 20 57 68 65 6e 20 66 69 6e 69 73 68 65 64 2c 20 69 74 20 72 65 ...above)...When.finished,.it.re
30ac0 73 74 6f 72 65 73 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 0a 20 20 20 20 20 64 65 66 61 75 6c 74 stores.the.original......default
30ae0 20 66 69 6c 65 20 70 65 72 6d 69 73 73 69 6f 6e 73 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 .file.permissions,.and.returns.t
30b00 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 6c 61 73 74 20 66 6f 72 6d 20 69 6e 0a 20 20 20 he.value.of.the.last.form.in....
30b20 20 20 42 4f 44 59 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 69 73 20 75 73 65 66 75 6c 20 66 6f 72 ..BODY........This.is.useful.for
30b40 20 63 72 65 61 74 69 6e 67 20 70 72 69 76 61 74 65 20 66 69 6c 65 73 2c 20 66 6f 72 20 65 78 61 .creating.private.files,.for.exa
30b60 6d 70 6c 65 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 43 68 61 6e 67 69 6e mple........*Note.(elisp)Changin
30b80 67 20 46 69 6c 65 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 61 6c 69 73 74 2d g.Files::....--.Function:.alist-
30ba0 67 65 74 20 6b 65 79 20 61 6c 69 73 74 20 26 6f 70 74 69 6f 6e 61 6c 20 64 65 66 61 75 6c 74 20 get.key.alist.&optional.default.
30bc0 72 65 6d 6f 76 65 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d remove......This.function.is.sim
30be0 69 6c 61 72 20 74 6f 20 e2 80 98 61 73 73 71 e2 80 99 2e 20 20 49 74 20 66 69 6e 64 73 20 74 68 ilar.to....assq......It.finds.th
30c00 65 20 66 69 72 73 74 20 61 73 73 6f 63 69 61 74 69 6f 6e 0a 20 20 20 20 20 e2 80 98 28 4b 45 59 e.first.association.........(KEY
30c20 20 2e 20 56 41 4c 55 45 29 e2 80 99 20 62 79 20 63 6f 6d 70 61 72 69 6e 67 20 4b 45 59 20 77 69 ...VALUE)....by.comparing.KEY.wi
30c40 74 68 20 41 4c 49 53 54 20 65 6c 65 6d 65 6e 74 73 2c 20 61 6e 64 2c 20 69 66 0a 20 20 20 20 20 th.ALIST.elements,.and,.if......
30c60 66 6f 75 6e 64 2c 20 72 65 74 75 72 6e 73 20 74 68 65 20 56 41 4c 55 45 20 6f 66 20 74 68 61 74 found,.returns.the.VALUE.of.that
30c80 20 61 73 73 6f 63 69 61 74 69 6f 6e 2e 20 20 49 66 20 6e 6f 20 61 73 73 6f 63 69 61 74 69 6f 6e .association...If.no.association
30ca0 20 69 73 0a 20 20 20 20 20 66 6f 75 6e 64 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 .is......found,.the.function.ret
30cc0 75 72 6e 73 20 44 45 46 41 55 4c 54 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 69 73 20 61 20 67 65 urns.DEFAULT........This.is.a.ge
30ce0 6e 65 72 61 6c 69 7a 65 64 20 76 61 72 69 61 62 6c 65 20 28 2a 6e 6f 74 65 20 28 65 6c 69 73 70 neralized.variable.(*note.(elisp
30d00 29 47 65 6e 65 72 61 6c 69 7a 65 64 0a 20 20 20 20 20 56 61 72 69 61 62 6c 65 73 3a 3a 29 20 74 )Generalized......Variables::).t
30d20 68 61 74 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 63 68 61 6e 67 65 20 61 20 76 61 6c 75 hat.can.be.used.to.change.a.valu
30d40 65 20 77 69 74 68 20 e2 80 98 73 65 74 66 e2 80 99 2e 20 20 57 68 65 6e 0a 20 20 20 20 20 75 73 e.with....setf......When......us
30d60 69 6e 67 20 69 74 20 74 6f 20 73 65 74 20 61 20 76 61 6c 75 65 2c 20 6f 70 74 69 6f 6e 61 6c 20 ing.it.to.set.a.value,.optional.
30d80 61 72 67 75 6d 65 6e 74 20 52 45 4d 4f 56 45 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 6d 65 argument.REMOVE.non-...nil....me
30da0 61 6e 73 0a 20 20 20 20 20 74 6f 20 72 65 6d 6f 76 65 20 4b 45 59 e2 80 99 73 20 61 73 73 6f 63 ans......to.remove.KEY...s.assoc
30dc0 69 61 74 69 6f 6e 20 66 72 6f 6d 20 41 4c 49 53 54 20 69 66 20 74 68 65 20 6e 65 77 20 76 61 6c iation.from.ALIST.if.the.new.val
30de0 75 65 20 69 73 20 e2 80 98 65 71 6c e2 80 99 20 74 6f 0a 20 20 20 20 20 44 45 46 41 55 4c 54 2e ue.is....eql....to......DEFAULT.
30e00 0a 0a 20 20 20 20 20 2a 6e 6f 74 65 20 28 65 6c 69 73 70 29 41 73 73 6f 63 69 61 74 69 6f 6e 20 .......*note.(elisp)Association.
30e20 4c 69 73 74 73 3a 3a 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 69 66 2d 6c 65 74 20 28 62 69 6e Lists::....--.Macro:.if-let.(bin
30e40 64 69 6e 67 73 2e 2e 2e 29 20 74 68 65 6e 20 26 72 65 73 74 20 65 6c 73 65 2e 2e 2e 0a 20 20 20 dings...).then.&rest.else.......
30e60 20 20 41 73 20 77 69 74 68 20 e2 80 98 6c 65 74 2a e2 80 99 2c 20 42 49 4e 44 49 4e 47 53 20 77 ..As.with....let*...,.BINDINGS.w
30e80 69 6c 6c 20 63 6f 6e 73 69 73 74 20 6f 66 20 e2 80 98 28 53 59 4d 42 4f 4c 20 56 41 4c 55 45 2d ill.consist.of....(SYMBOL.VALUE-
30ea0 46 4f 52 4d 29 e2 80 99 0a 20 20 20 20 20 65 6e 74 72 69 65 73 20 74 68 61 74 20 61 72 65 20 65 FORM).........entries.that.are.e
30ec0 76 61 6c 75 61 74 65 64 20 61 6e 64 20 62 6f 75 6e 64 20 73 65 71 75 65 6e 74 69 61 6c 6c 79 2e valuated.and.bound.sequentially.
30ee0 20 20 49 66 20 61 6c 6c 0a 20 20 20 20 20 56 41 4c 55 45 2d 46 4f 52 4d 20 65 76 61 6c 75 61 74 ..If.all......VALUE-FORM.evaluat
30f00 65 20 74 6f 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 76 61 6c 75 65 73 2c 20 74 68 65 6e 20 e.to.non-...nil....values,.then.
30f20 54 48 45 4e 20 69 73 20 65 76 61 6c 75 61 74 65 64 20 61 73 0a 20 20 20 20 20 77 65 72 65 20 74 THEN.is.evaluated.as......were.t
30f40 68 65 20 63 61 73 65 20 77 69 74 68 20 61 20 72 65 67 75 6c 61 72 20 e2 80 98 6c 65 74 2a e2 80 he.case.with.a.regular....let*..
30f60 99 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 77 69 74 68 20 61 6c 6c 20 74 68 65 0a 20 20 20 20 20 ..expression,.with.all.the......
30f80 76 61 72 69 61 62 6c 65 73 20 62 6f 75 6e 64 2e 20 20 49 66 20 61 6e 79 20 56 41 4c 55 45 2d 46 variables.bound...If.any.VALUE-F
30fa0 4f 52 4d 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 e2 80 98 6e 69 6c e2 80 99 2c 20 45 4c 53 45 ORM.evaluates.to....nil...,.ELSE
30fc0 20 69 73 0a 20 20 20 20 20 65 76 61 6c 75 61 74 65 64 2c 20 77 69 74 68 6f 75 74 20 61 6e 79 20 .is......evaluated,.without.any.
30fe0 62 6f 75 6e 64 20 76 61 72 69 61 62 6c 65 73 2e 0a 0a 20 20 20 20 20 41 20 62 69 6e 64 69 6e 67 bound.variables........A.binding
31000 20 6d 61 79 20 61 6c 73 6f 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 64 72 6f 70 20 74 68 65 20 53 59 .may.also.optionally.drop.the.SY
31020 4d 42 4f 4c 2c 20 61 6e 64 20 73 69 6d 70 6c 69 66 79 20 74 6f 0a 20 20 20 20 20 e2 80 98 28 56 MBOL,.and.simplify.to.........(V
31040 41 4c 55 45 2d 46 4f 52 4d 29 e2 80 99 20 69 66 20 6f 6e 6c 79 20 74 68 65 20 74 65 73 74 20 69 ALUE-FORM)....if.only.the.test.i
31060 73 20 6f 66 20 69 6e 74 65 72 65 73 74 2e 0a 0a 20 20 20 20 20 46 6f 72 20 74 68 65 20 73 61 6b s.of.interest........For.the.sak
31080 65 20 6f 66 20 62 61 63 6b 77 61 72 64 73 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 2c 20 69 74 e.of.backwards.compatibility,.it
310a0 20 69 73 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 77 72 69 74 65 20 61 0a 20 20 20 20 20 73 69 6e .is.possible.to.write.a......sin
310c0 67 6c 65 20 62 69 6e 64 69 6e 67 20 77 69 74 68 6f 75 74 20 61 20 62 69 6e 64 69 6e 67 20 6c 69 gle.binding.without.a.binding.li
310e0 73 74 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 2d 6c 65 74 2a 20 28 53 59 4d 42 4f 4c 20 st:............(if-let*.(SYMBOL.
31100 28 74 65 73 74 29 29 20 66 6f 6f 20 62 61 72 29 0a 20 20 20 20 20 20 20 20 20 20 e2 89 a1 0a 20 (test)).foo.bar)................
31120 20 20 20 20 20 20 20 20 20 28 69 66 2d 6c 65 74 2a 20 28 28 53 59 4d 42 4f 4c 20 28 74 65 73 74 .........(if-let*.((SYMBOL.(test
31140 29 29 29 20 66 6f 6f 20 62 61 72 29 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 77 68 65 6e 2d 6c 65 ))).foo.bar)...--.Macro:.when-le
31160 74 20 28 62 69 6e 64 69 6e 67 73 2e 2e 2e 29 20 26 72 65 73 74 20 62 6f 64 79 0a 20 20 20 20 20 t.(bindings...).&rest.body......
31180 41 73 20 77 69 74 68 20 e2 80 98 77 68 65 6e e2 80 99 2c 20 69 66 20 6f 6e 65 20 69 73 20 6f 6e As.with....when...,.if.one.is.on
311a0 6c 79 20 69 6e 74 65 72 65 73 74 65 64 20 69 6e 20 74 68 65 20 63 61 73 65 20 77 68 65 72 65 20 ly.interested.in.the.case.where.
311c0 61 6c 6c 0a 20 20 20 20 20 42 49 4e 44 49 4e 47 53 20 61 72 65 20 6e 6f 6e 2d 6e 69 6c 2e 20 20 all......BINDINGS.are.non-nil...
311e0 4f 74 68 65 72 77 69 73 65 20 42 49 4e 44 49 4e 47 53 20 61 72 65 20 69 6e 74 65 72 70 72 65 74 Otherwise.BINDINGS.are.interpret
31200 65 64 20 6a 75 73 74 20 61 73 0a 20 20 20 20 20 74 68 65 79 20 61 72 65 20 62 79 20 e2 80 98 69 ed.just.as......they.are.by....i
31220 66 2d 6c 65 74 2a e2 80 99 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 68 61 73 68 2d 74 f-let*.......--.Function:.hash-t
31240 61 62 6c 65 2d 65 6d 70 74 79 20 68 61 73 68 2d 74 61 62 6c 65 0a 20 20 20 20 20 43 68 65 63 6b able-empty.hash-table......Check
31260 20 77 68 65 74 68 65 72 20 48 41 53 48 2d 54 41 42 4c 45 20 69 73 20 65 6d 70 74 79 20 28 68 61 .whether.HASH-TABLE.is.empty.(ha
31280 73 20 30 20 65 6c 65 6d 65 6e 74 73 29 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 74 68 72 65 61 s.0.elements)....--.Macro:.threa
312a0 64 2d 66 69 72 73 74 20 26 72 65 73 74 20 66 6f 72 6d 73 0a 20 20 20 20 20 43 6f 6d 62 69 6e 65 d-first.&rest.forms......Combine
312c0 20 46 4f 52 4d 53 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c 65 20 65 78 70 72 65 73 73 69 6f 6e 20 .FORMS.into.a.single.expression.
312e0 62 79 20 e2 80 9c 74 68 72 65 61 64 69 6e 67 e2 80 9d 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 0a by....threading....each.element.
31300 20 20 20 20 20 61 73 20 74 68 65 20 5f 66 69 72 73 74 5f 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 .....as.the._first_.argument.of.
31320 74 68 65 69 72 20 73 75 63 63 65 73 73 6f 72 2e 20 20 45 6c 65 6d 65 6e 74 73 20 6f 66 20 46 4f their.successor...Elements.of.FO
31340 52 4d 53 20 63 61 6e 0a 20 20 20 20 20 65 69 74 68 65 72 20 62 65 20 61 6e 20 6c 69 73 74 20 6f RMS.can......either.be.an.list.o
31360 66 20 61 6e 20 61 74 6f 6d 2e 0a 0a 20 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 63 6f f.an.atom........For.example,.co
31380 6e 73 69 64 65 72 20 74 68 65 20 74 68 72 65 61 64 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 20 nsider.the.threading.expression.
313a0 61 6e 64 20 69 74 e2 80 99 73 20 65 71 75 69 76 61 6c 65 6e 74 0a 20 20 20 20 20 6d 61 63 72 6f and.it...s.equivalent......macro
313c0 20 65 78 70 61 6e 73 69 6f 6e 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 28 74 68 72 65 61 64 2d 66 .expansion:............(thread-f
313e0 69 72 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 35 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 irst.............5.............(
31400 2b 20 32 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 2f 20 32 35 29 0a 20 20 20 20 20 20 20 +.20).............(/.25)........
31420 20 20 20 20 20 2d 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 34 30 29 29 0a 20 20 20 20 20 .....-.............(+.40))......
31440 20 20 20 20 20 e2 89 a1 0a 20 20 20 20 20 20 20 20 20 20 28 2b 20 28 2d 20 28 2f 20 28 2b 20 35 ...................(+.(-.(/.(+.5
31460 20 32 30 29 20 32 35 29 29 20 34 30 29 0a 0a 20 20 20 20 20 4e 6f 74 65 20 68 6f 77 20 74 68 65 .20).25)).40).......Note.how.the
31480 20 73 69 6e 67 6c 65 20 e2 80 98 2d e2 80 99 20 67 6f 74 20 63 6f 6e 76 65 72 74 65 64 20 69 6e .single....-....got.converted.in
314a0 74 6f 20 61 20 6c 69 73 74 20 62 65 66 6f 72 65 20 74 68 72 65 61 64 69 6e 67 2e 0a 20 20 20 20 to.a.list.before.threading......
314c0 20 54 68 69 73 20 65 78 61 6d 70 6c 65 20 75 73 65 73 20 61 72 69 74 68 6d 65 74 69 63 20 66 75 .This.example.uses.arithmetic.fu
314e0 6e 63 74 69 6f 6e 73 2c 20 62 75 74 20 e2 80 98 74 68 72 65 61 64 2d 66 69 72 73 74 e2 80 99 20 nctions,.but....thread-first....
31500 69 73 20 6e 6f 74 0a 20 20 20 20 20 72 65 73 74 72 69 63 74 65 64 20 74 6f 20 61 72 69 74 68 6d is.not......restricted.to.arithm
31520 65 74 69 63 20 6f 72 20 73 69 64 65 2d 65 66 66 65 63 74 20 66 72 65 65 20 63 6f 64 65 2e 0a 0a etic.or.side-effect.free.code...
31540 20 2d 2d 20 4d 61 63 72 6f 3a 20 74 68 72 65 61 64 2d 6c 61 73 74 20 26 72 65 73 74 20 66 6f 72 .--.Macro:.thread-last.&rest.for
31560 6d 73 0a 20 20 20 20 20 43 6f 6d 62 69 6e 65 20 46 4f 52 4d 53 20 69 6e 74 6f 20 61 20 73 69 6e ms......Combine.FORMS.into.a.sin
31580 67 6c 65 20 65 78 70 72 65 73 73 69 6f 6e 20 62 79 20 e2 80 9c 74 68 72 65 61 64 69 6e 67 e2 80 gle.expression.by....threading..
315a0 9d 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 0a 20 20 20 20 20 61 73 20 74 68 65 20 5f 6c 61 73 74 ..each.element......as.the._last
315c0 5f 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 74 68 65 69 72 20 73 75 63 63 65 73 73 6f 72 2e 20 20 _.argument.of.their.successor...
315e0 45 6c 65 6d 65 6e 74 73 20 6f 66 20 46 4f 52 4d 53 20 63 61 6e 0a 20 20 20 20 20 65 69 74 68 65 Elements.of.FORMS.can......eithe
31600 72 20 62 65 20 61 6e 20 6c 69 73 74 20 6f 66 20 61 6e 20 61 74 6f 6d 2e 0a 0a 20 20 20 20 20 46 r.be.an.list.of.an.atom........F
31620 6f 72 20 65 78 61 6d 70 6c 65 2c 20 63 6f 6e 73 69 64 65 72 20 74 68 65 20 74 68 72 65 61 64 69 or.example,.consider.the.threadi
31640 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 20 61 6e 64 20 69 74 e2 80 99 73 20 65 71 75 69 76 61 6c ng.expression.and.it...s.equival
31660 65 6e 74 0a 20 20 20 20 20 6d 61 63 72 6f 20 65 78 70 61 6e 73 69 6f 6e 3a 0a 0a 20 20 20 20 20 ent......macro.expansion:.......
31680 20 20 20 20 20 28 74 68 72 65 61 64 2d 66 69 72 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 35 .....(thread-first.............5
316a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 32 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .............(+.20).............
316c0 28 2f 20 32 35 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 0a 20 20 20 20 20 20 20 20 20 20 20 (/.25).............-............
316e0 20 28 2b 20 34 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 e2 89 a1 0a 20 20 20 20 20 20 20 20 20 .(+.40))........................
31700 20 28 2b 20 34 30 20 28 2d 20 28 2f 20 32 35 20 28 2b 20 32 30 20 35 29 29 29 29 0a 0a 20 20 20 .(+.40.(-.(/.25.(+.20.5)))).....
31720 20 20 4e 6f 74 65 20 68 6f 77 20 74 68 65 20 73 69 6e 67 6c 65 20 e2 80 98 2d e2 80 99 20 67 6f ..Note.how.the.single....-....go
31740 74 20 63 6f 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 62 65 66 6f 72 65 20 74 t.converted.into.a.list.before.t
31760 68 72 65 61 64 69 6e 67 2e 0a 20 20 20 20 20 54 68 69 73 20 65 78 61 6d 70 6c 65 20 75 73 65 73 hreading.......This.example.uses
31780 20 61 72 69 74 68 6d 65 74 69 63 20 66 75 6e 63 74 69 6f 6e 73 2c 20 62 75 74 20 e2 80 98 74 68 .arithmetic.functions,.but....th
317a0 72 65 61 64 2d 6c 61 73 74 e2 80 99 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 72 65 73 74 72 69 63 read-last....is.not......restric
317c0 74 65 64 20 74 6f 20 61 72 69 74 68 6d 65 74 69 63 20 6f 72 20 73 69 64 65 2d 65 66 66 65 63 74 ted.to.arithmetic.or.side-effect
317e0 20 66 72 65 65 20 63 6f 64 65 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6d 61 63 72 6f .free.code....--.Function:.macro
31800 65 78 70 61 6e 64 2d 31 20 66 6f 72 6d 20 26 6f 70 74 69 6f 6e 61 6c 20 65 6e 76 69 72 6f 6e 6d expand-1.form.&optional.environm
31820 65 6e 74 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 65 78 70 61 6e 64 73 20 6d ent......This.function.expands.m
31840 61 63 72 6f 73 20 6c 69 6b 65 20 e2 80 98 6d 61 63 72 6f 65 78 70 61 6e 64 e2 80 99 2c 20 62 75 acros.like....macroexpand...,.bu
31860 74 20 69 74 20 6f 6e 6c 79 0a 20 20 20 20 20 70 65 72 66 6f 72 6d 73 20 6f 6e 65 20 73 74 65 70 t.it.only......performs.one.step
31880 20 6f 66 20 74 68 65 20 65 78 70 61 6e 73 69 6f 6e 3a 20 69 66 20 74 68 65 20 72 65 73 75 6c 74 .of.the.expansion:.if.the.result
318a0 20 69 73 20 61 6e 6f 74 68 65 72 20 6d 61 63 72 6f 0a 20 20 20 20 20 63 61 6c 6c 2c 20 e2 80 98 .is.another.macro......call,....
318c0 6d 61 63 72 6f 65 78 70 61 6e 64 2d 31 e2 80 99 20 77 69 6c 6c 20 6e 6f 74 20 65 78 70 61 6e 64 macroexpand-1....will.not.expand
318e0 20 69 74 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 45 78 70 61 6e 73 69 6f 6e 3a 20 28 65 6c 69 .it........*Note.Expansion:.(eli
31900 73 70 29 45 78 70 61 6e 73 69 6f 6e 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6d 61 63 sp)Expansion....--.Function:.mac
31920 72 6f 65 78 70 2d 71 75 6f 74 65 20 65 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 6e 20 65 78 70 roexp-quote.e......Return.an.exp
31940 72 65 73 73 69 6f 6e 20 45 20 73 75 63 68 20 74 68 61 74 20 e2 80 98 28 65 76 61 6c 20 65 29 e2 ression.E.such.that....(eval.e).
31960 80 99 20 69 73 20 56 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6d 61 63 72 6f 65 78 70 ...is.V....--.Function:.macroexp
31980 2d 70 61 72 73 65 20 62 6f 64 79 0a 20 20 20 20 20 50 61 72 73 65 20 61 20 66 75 6e 63 74 69 6f -parse.body......Parse.a.functio
319a0 6e 20 42 4f 44 59 20 69 6e 74 6f 20 e2 80 98 28 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 2e 20 65 n.BODY.into....(declarations...e
319c0 78 70 73 29 e2 80 99 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 62 6f 6f 6c 2d 76 65 63 xps).......--.Function:.bool-vec
319e0 74 6f 72 20 26 72 65 73 74 20 6f 62 6a 65 63 74 73 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 tor.&rest.objects......This.func
31a00 74 69 6f 6e 20 63 72 65 61 74 65 73 20 61 6e 64 20 72 65 74 75 72 6e 73 20 61 20 62 6f 6f 6c 2d tion.creates.and.returns.a.bool-
31a20 76 65 63 74 6f 72 20 77 68 6f 73 65 20 65 6c 65 6d 65 6e 74 73 20 61 72 65 0a 20 20 20 20 20 74 vector.whose.elements.are......t
31a40 68 65 20 61 72 67 75 6d 65 6e 74 73 2c 20 4f 42 4a 45 43 54 53 2e 0a 0a 20 20 20 20 20 2a 4e 6f he.arguments,.OBJECTS........*No
31a60 74 65 20 28 65 6c 69 73 70 29 42 6f 6f 6c 2d 56 65 63 74 6f 72 73 3a 3a 2e 0a 0a 32 2e 31 2e 32 te.(elisp)Bool-Vectors::...2.1.2
31a80 20 4d 69 73 73 69 6e 67 20 44 65 66 69 6e 69 74 69 6f 6e 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .Missing.Definitions.-----------
31aa0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 43 6f 6d 70 61 74 20 64 6f 65 73 20 6e 6f 74 20 --------------..Compat.does.not.
31ac0 70 72 6f 76 69 64 65 20 73 75 70 70 6f 72 74 20 66 6f 72 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e provide.support.for.the.followin
31ae0 67 20 4c 69 73 70 20 66 65 61 74 75 72 65 73 0a 69 6d 70 6c 65 6d 65 6e 74 65 64 20 69 6e 20 32 g.Lisp.features.implemented.in.2
31b00 35 2e 31 3a 0a 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 6d 61 63 5.1:.........The.function....mac
31b20 72 6f 65 78 70 2d 6d 61 63 72 6f 65 78 70 61 6e 64 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 roexp-macroexpand............The
31b40 20 6d 61 63 72 6f 20 e2 80 98 6d 61 63 72 6f 65 78 70 2d 6c 65 74 32 2a e2 80 99 2e 0a 20 20 20 .macro....macroexp-let2*........
31b60 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 64 69 72 65 63 74 6f 72 79 2d 66 69 ....The.function....directory-fi
31b80 6c 65 73 2d 72 65 63 75 72 73 69 76 65 6c 79 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 4e 65 77 20 e2 les-recursively............New..
31ba0 80 98 70 63 61 73 65 e2 80 99 20 70 61 74 74 65 72 6e 73 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 ..pcase....patterns.........The.
31bc0 68 6f 6f 6b 20 e2 80 98 70 72 65 66 69 78 2d 63 6f 6d 6d 61 6e 64 2d 65 63 68 6f 2d 6b 65 79 73 hook....prefix-command-echo-keys
31be0 74 72 6f 6b 65 73 2d 66 75 6e 63 74 69 6f 6e 73 e2 80 99 20 61 6e 64 0a 20 20 20 20 20 e2 80 98 trokes-functions....and.........
31c00 70 72 65 66 69 78 2d 63 6f 6d 6d 61 6e 64 2d 70 72 65 73 65 72 76 65 2d 73 74 61 74 65 2d 68 6f prefix-command-preserve-state-ho
31c20 6f 6b e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 68 6f 6f 6b 20 e2 80 98 70 72 65 2d 72 65 ok............The.hook....pre-re
31c40 64 69 73 70 6c 61 79 2d 66 75 6e 63 74 69 6f 6e 73 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 display-functions............The
31c60 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 6d 61 6b 65 2d 70 72 6f 63 65 73 73 e2 80 99 2e 0a 20 20 .function....make-process.......
31c80 20 e2 80 a2 20 53 75 70 70 6f 72 74 20 66 6f 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 e2 80 .....Support.for.the.variable...
31ca0 98 69 6e 68 69 62 69 74 2d 6d 65 73 73 61 67 65 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 .inhibit-message............The.
31cc0 e2 80 98 64 65 66 69 6e 65 2d 69 6e 6c 69 6e 65 e2 80 99 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 ...define-inline....functionalit
31ce0 79 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 73 20 e2 80 98 73 74 72 69 6e y.........The.functions....strin
31d00 67 2d 63 6f 6c 6c 61 74 65 2d 6c 65 73 73 70 e2 80 99 20 61 6e 64 20 e2 80 98 73 74 72 69 6e 67 g-collate-lessp....and....string
31d20 2d 63 6f 6c 6c 61 74 65 2d 65 71 75 61 6c 70 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 -collate-equalp............The.f
31d40 75 6e 63 74 69 6f 6e 20 e2 80 98 66 75 6e 63 61 6c 6c 2d 69 6e 74 65 72 61 63 74 69 76 65 6c 79 unction....funcall-interactively
31d60 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 62 75 66 66 ............The.function....buff
31d80 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 77 69 74 68 2d 62 69 64 69 2d 63 6f 6e 74 65 78 74 e2 80 er-substring-with-bidi-context..
31da0 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 66 6f 6e 74 2d 69 ..........The.function....font-i
31dc0 6e 66 6f e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 64 nfo............The.function....d
31de0 65 66 61 75 6c 74 2d 66 6f 6e 74 2d 77 69 64 74 68 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 efault-font-width............The
31e00 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 77 69 6e 64 6f 77 2d 66 6f 6e 74 2d 68 65 69 67 68 74 e2 .function....window-font-height.
31e20 80 99 20 61 6e 64 20 e2 80 98 77 69 6e 64 6f 77 2d 66 6f 6e 74 2d 77 69 64 74 68 e2 80 99 2e 0a ...and....window-font-width.....
31e40 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 77 69 6e 64 6f 77 2d 6d 61 .......The.function....window-ma
31e60 78 2d 63 68 61 72 73 2d 70 65 72 2d 6c 69 6e 65 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 x-chars-per-line............The.
31e80 66 75 6e 63 74 69 6f 6e 20 e2 80 98 73 65 74 2d 62 69 6e 61 72 79 2d 6d 6f 64 65 e2 80 99 2e 0a function....set-binary-mode.....
31ea0 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 73 20 e2 80 98 62 75 66 66 65 72 70 6f .......The.functions....bufferpo
31ec0 73 2d 74 6f 2d 66 69 6c 65 70 6f 73 e2 80 99 20 61 6e 64 20 e2 80 98 66 69 6c 65 70 6f 73 2d 74 s-to-filepos....and....filepos-t
31ee0 6f 2d 62 75 66 66 65 72 70 6f 73 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 e2 80 98 74 68 o-bufferpos............The....th
31f00 75 6e 6b e2 80 99 20 6c 69 62 72 61 72 79 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 32 33 47 70 unk....library.....File:.doc23Gp
31f20 47 36 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 45 6d 61 63 73 20 32 36 2e 31 2c 20 20 4e 65 78 G6.info,..Node:.Emacs.26.1,..Nex
31f40 74 3a 20 45 6d 61 63 73 20 32 37 2e 31 2c 20 20 50 72 65 76 3a 20 45 6d 61 63 73 20 32 35 2e 31 t:.Emacs.27.1,..Prev:.Emacs.25.1
31f60 2c 20 20 55 70 3a 20 53 75 70 70 6f 72 74 0a 0a 32 2e 32 20 45 6d 61 63 73 20 32 36 2e 31 0a 3d ,..Up:.Support..2.2.Emacs.26.1.=
31f80 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 32 2e 32 2e 31 20 41 64 64 65 64 20 44 65 66 69 6e =============..2.2.1.Added.Defin
31fa0 69 74 69 6f 6e 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a itions.-----------------------..
31fc0 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 6d 61 63 72 The.following.functions.and.macr
31fe0 6f 73 20 61 72 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 69 6e 20 45 6d 61 63 73 20 32 36 2e 31 os.are.implemented.in.Emacs.26.1
32000 2e 20 20 54 68 65 73 65 0a 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 6d 61 64 65 20 61 76 61 69 ...These.functions.are.made.avai
32020 6c 61 62 6c 65 20 62 79 20 43 6f 6d 70 61 74 20 6f 6e 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e lable.by.Compat.on.Emacs.version
32040 73 20 6f 6c 64 65 72 20 74 68 61 6e 0a 32 36 2e 31 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e s.older.than.26.1....--.Function
32060 3a 20 61 73 73 6f 63 2d 64 65 6c 65 74 65 2d 61 6c 6c 20 6b 65 79 20 61 6c 69 73 74 0a 20 20 20 :.assoc-delete-all.key.alist....
32080 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 e2 80 98 61 73 73 71 2d ..This.function.is.like....assq-
320a0 64 65 6c 65 74 65 2d 61 6c 6c e2 80 99 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 75 73 65 delete-all....except.that.it.use
320c0 73 20 e2 80 98 65 71 75 61 6c e2 80 99 0a 20 20 20 20 20 74 6f 20 63 6f 6d 70 61 72 65 20 65 6c s....equal.........to.compare.el
320e0 65 6d 65 6e 74 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 72 65 61 64 2d 61 6e 73 77 ements....--.Function:.read-answ
32100 65 72 20 71 75 65 73 74 69 6f 6e 20 61 6e 73 77 65 72 73 0a 20 20 20 20 20 54 68 69 73 20 66 75 er.question.answers......This.fu
32120 6e 63 74 69 6f 6e 20 70 72 6f 6d 70 74 73 20 74 68 65 20 75 73 65 72 20 77 69 74 68 20 74 65 78 nction.prompts.the.user.with.tex
32140 74 20 69 6e 20 51 55 45 53 54 49 4f 4e 2c 20 77 68 69 63 68 20 73 68 6f 75 6c 64 0a 20 20 20 20 t.in.QUESTION,.which.should.....
32160 20 65 6e 64 20 69 6e 20 74 68 65 20 e2 80 98 53 50 43 e2 80 99 20 63 68 61 72 61 63 74 65 72 2e .end.in.the....SPC....character.
32180 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 6e 63 6c 75 64 65 73 20 69 6e 20 74 68 65 20 70 ..The.function.includes.in.the.p
321a0 72 6f 6d 70 74 0a 20 20 20 20 20 74 68 65 20 70 6f 73 73 69 62 6c 65 20 72 65 73 70 6f 6e 73 65 rompt......the.possible.response
321c0 73 20 69 6e 20 41 4e 53 57 45 52 53 20 62 79 20 61 70 70 65 6e 64 69 6e 67 20 74 68 65 6d 20 74 s.in.ANSWERS.by.appending.them.t
321e0 6f 20 74 68 65 20 65 6e 64 20 6f 66 0a 20 20 20 20 20 51 55 45 53 54 49 4f 4e 2e 20 20 54 68 65 o.the.end.of......QUESTION...The
32200 20 70 6f 73 73 69 62 6c 65 20 72 65 73 70 6f 6e 73 65 73 20 61 72 65 20 70 72 6f 76 69 64 65 64 .possible.responses.are.provided
32220 20 69 6e 20 41 4e 53 57 45 52 53 20 61 73 20 61 6e 0a 20 20 20 20 20 61 6c 69 73 74 20 77 68 6f .in.ANSWERS.as.an......alist.who
32240 73 65 20 65 6c 65 6d 65 6e 74 73 20 61 72 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 se.elements.are.of.the.following
32260 20 66 6f 72 6d 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 28 4c 4f 4e 47 2d 41 4e 53 57 45 52 20 53 .form:............(LONG-ANSWER.S
32280 48 4f 52 54 2d 41 4e 53 57 45 52 20 48 45 4c 50 2d 4d 45 53 53 41 47 45 29 0a 0a 20 20 20 20 20 HORT-ANSWER.HELP-MESSAGE).......
322a0 77 68 65 72 65 20 4c 4f 4e 47 2d 41 4e 53 57 45 52 20 69 73 20 74 68 65 20 63 6f 6d 70 6c 65 74 where.LONG-ANSWER.is.the.complet
322c0 65 20 74 65 78 74 20 6f 66 20 74 68 65 20 75 73 65 72 20 72 65 73 70 6f 6e 73 65 2c 20 61 0a 20 e.text.of.the.user.response,.a..
322e0 20 20 20 20 73 74 72 69 6e 67 3b 20 53 48 4f 52 54 2d 41 4e 53 57 45 52 20 69 73 20 61 20 73 68 ....string;.SHORT-ANSWER.is.a.sh
32300 6f 72 74 20 66 6f 72 6d 20 6f 66 20 74 68 65 20 73 61 6d 65 20 72 65 73 70 6f 6e 73 65 2c 20 61 ort.form.of.the.same.response,.a
32320 20 73 69 6e 67 6c 65 0a 20 20 20 20 20 63 68 61 72 61 63 74 65 72 20 6f 72 20 61 20 66 75 6e 63 .single......character.or.a.func
32340 74 69 6f 6e 20 6b 65 79 3b 20 61 6e 64 20 48 45 4c 50 2d 4d 45 53 53 41 47 45 20 69 73 20 74 68 tion.key;.and.HELP-MESSAGE.is.th
32360 65 20 74 65 78 74 20 74 68 61 74 0a 20 20 20 20 20 64 65 73 63 72 69 62 65 73 20 74 68 65 20 6d e.text.that......describes.the.m
32380 65 61 6e 69 6e 67 20 6f 66 20 74 68 65 20 61 6e 73 77 65 72 2e 20 20 49 66 20 74 68 65 20 76 61 eaning.of.the.answer...If.the.va
323a0 72 69 61 62 6c 65 0a 20 20 20 20 20 e2 80 98 72 65 61 64 2d 61 6e 73 77 65 72 2d 73 68 6f 72 74 riable.........read-answer-short
323c0 e2 80 99 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 74 68 65 20 70 72 6f 6d 70 74 ....is.non-...nil...,.the.prompt
323e0 20 77 69 6c 6c 20 73 68 6f 77 20 74 68 65 20 73 68 6f 72 74 0a 20 20 20 20 20 76 61 72 69 61 6e .will.show.the.short......varian
32400 74 73 20 6f 66 20 74 68 65 20 70 6f 73 73 69 62 6c 65 20 61 6e 73 77 65 72 73 20 61 6e 64 20 74 ts.of.the.possible.answers.and.t
32420 68 65 20 75 73 65 72 20 69 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 74 79 70 65 0a 20 20 20 20 he.user.is.expected.to.type.....
32440 20 74 68 65 20 73 69 6e 67 6c 65 20 63 68 61 72 61 63 74 65 72 73 2f 6b 65 79 73 20 73 68 6f 77 .the.single.characters/keys.show
32460 6e 20 69 6e 20 74 68 65 20 70 72 6f 6d 70 74 3b 20 6f 74 68 65 72 77 69 73 65 20 74 68 65 0a 20 n.in.the.prompt;.otherwise.the..
32480 20 20 20 20 70 72 6f 6d 70 74 20 77 69 6c 6c 20 73 68 6f 77 20 74 68 65 20 6c 6f 6e 67 20 76 61 ....prompt.will.show.the.long.va
324a0 72 69 61 6e 74 73 20 6f 66 20 74 68 65 20 61 6e 73 77 65 72 73 2c 20 61 6e 64 20 74 68 65 20 75 riants.of.the.answers,.and.the.u
324c0 73 65 72 20 69 73 0a 20 20 20 20 20 65 78 70 65 63 74 65 64 20 74 6f 20 74 79 70 65 20 74 68 65 ser.is......expected.to.type.the
324e0 20 66 75 6c 6c 20 74 65 78 74 20 6f 66 20 6f 6e 65 20 6f 66 20 74 68 65 20 61 6e 73 77 65 72 73 .full.text.of.one.of.the.answers
32500 20 61 6e 64 20 65 6e 64 20 62 79 0a 20 20 20 20 20 70 72 65 73 73 69 6e 67 20 3c 52 45 54 3e 2e .and.end.by......pressing.<RET>.
32520 20 20 49 66 20 e2 80 98 75 73 65 2d 64 69 61 6c 6f 67 2d 62 6f 78 e2 80 99 20 69 73 20 6e 6f 6e ..If....use-dialog-box....is.non
32540 2d e2 80 98 6e 69 6c e2 80 99 2c 20 61 6e 64 20 74 68 69 73 0a 20 20 20 20 20 66 75 6e 63 74 69 -...nil...,.and.this......functi
32560 6f 6e 20 77 61 73 20 69 6e 76 6f 6b 65 64 20 62 79 20 6d 6f 75 73 65 20 65 76 65 6e 74 73 2c 20 on.was.invoked.by.mouse.events,.
32580 74 68 65 20 71 75 65 73 74 69 6f 6e 20 61 6e 64 20 74 68 65 20 61 6e 73 77 65 72 73 0a 20 20 20 the.question.and.the.answers....
325a0 20 20 77 69 6c 6c 20 62 65 20 64 69 73 70 6c 61 79 65 64 20 69 6e 20 61 20 47 55 49 20 64 69 61 ..will.be.displayed.in.a.GUI.dia
325c0 6c 6f 67 20 62 6f 78 2e 0a 0a 20 20 20 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 log.box........The.function.retu
325e0 72 6e 73 20 74 68 65 20 74 65 78 74 20 6f 66 20 74 68 65 20 4c 4f 4e 47 2d 41 4e 53 57 45 52 20 rns.the.text.of.the.LONG-ANSWER.
32600 73 65 6c 65 63 74 65 64 20 62 79 20 74 68 65 0a 20 20 20 20 20 75 73 65 72 2c 20 72 65 67 61 72 selected.by.the......user,.regar
32620 64 6c 65 73 73 20 6f 66 20 77 68 65 74 68 65 72 20 6c 6f 6e 67 20 6f 72 20 73 68 6f 72 74 20 61 dless.of.whether.long.or.short.a
32640 6e 73 77 65 72 73 20 77 65 72 65 20 73 68 6f 77 6e 20 69 6e 20 74 68 65 0a 20 20 20 20 20 70 72 nswers.were.shown.in.the......pr
32660 6f 6d 70 74 20 61 6e 64 20 74 79 70 65 64 20 62 79 20 74 68 65 20 75 73 65 72 2e 0a 0a 20 20 20 ompt.and.typed.by.the.user......
32680 20 20 48 65 72 65 20 69 73 20 61 6e 20 65 78 61 6d 70 6c 65 20 6f 66 20 75 73 69 6e 67 20 74 68 ..Here.is.an.example.of.using.th
326a0 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 72 is.function:............(let.((r
326c0 65 61 64 2d 61 6e 73 77 65 72 2d 73 68 6f 72 74 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ead-answer-short.t))............
326e0 20 28 72 65 61 64 2d 61 6e 73 77 65 72 20 22 46 6f 6f 20 22 0a 20 20 20 20 20 20 20 20 20 20 20 .(read-answer."Foo."............
32700 20 20 20 20 27 28 28 22 79 65 73 22 20 20 3f 79 20 22 70 65 72 66 6f 72 6d 20 74 68 65 20 61 63 ....'(("yes"..?y."perform.the.ac
32720 74 69 6f 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 22 6e 6f 22 20 20 20 tion")..................("no"...
32740 3f 6e 20 22 73 6b 69 70 20 74 6f 20 74 68 65 20 6e 65 78 74 22 29 0a 20 20 20 20 20 20 20 20 20 ?n."skip.to.the.next")..........
32760 20 20 20 20 20 20 20 20 28 22 61 6c 6c 22 20 20 3f 21 20 22 70 65 72 66 6f 72 6d 20 66 6f 72 20 ........("all"..?!."perform.for.
32780 74 68 65 20 72 65 73 74 20 77 69 74 68 6f 75 74 20 6d 6f 72 65 20 71 75 65 73 74 69 6f 6e 73 22 the.rest.without.more.questions"
327a0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 22 68 65 6c 70 22 20 3f 68 20 22 73 )..................("help".?h."s
327c0 68 6f 77 20 68 65 6c 70 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 22 71 75 how.help")..................("qu
327e0 69 74 22 20 3f 71 20 22 65 78 69 74 22 29 29 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a it".?q."exit"))))...--.Function:
32800 20 6d 61 70 63 61 6e 20 66 75 6e 63 74 69 6f 6e 20 73 65 71 75 65 6e 63 65 0a 20 20 20 20 20 54 .mapcan.function.sequence......T
32820 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 70 70 6c 69 65 73 20 46 55 4e 43 54 49 4f 4e 20 74 6f his.function.applies.FUNCTION.to
32840 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 53 45 51 55 45 4e 43 45 2c 20 6c 69 6b 65 0a .each.element.of.SEQUENCE,.like.
32860 20 20 20 20 20 e2 80 98 6d 61 70 63 61 72 e2 80 99 2c 20 62 75 74 20 69 6e 73 74 65 61 64 20 6f ........mapcar...,.but.instead.o
32880 66 20 63 6f 6c 6c 65 63 74 69 6e 67 20 74 68 65 20 72 65 73 75 6c 74 73 20 69 6e 74 6f 20 61 20 f.collecting.the.results.into.a.
328a0 6c 69 73 74 2c 20 69 74 0a 20 20 20 20 20 72 65 74 75 72 6e 73 20 61 20 73 69 6e 67 6c 65 20 6c list,.it......returns.a.single.l
328c0 69 73 74 20 77 69 74 68 20 61 6c 6c 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 74 68 65 ist.with.all.the.elements.of.the
328e0 20 72 65 73 75 6c 74 73 20 28 77 68 69 63 68 0a 20 20 20 20 20 6d 75 73 74 20 62 65 20 6c 69 73 .results.(which......must.be.lis
32900 74 73 29 2c 20 62 79 20 61 6c 74 65 72 69 6e 67 20 74 68 65 20 72 65 73 75 6c 74 73 20 28 75 73 ts),.by.altering.the.results.(us
32920 69 6e 67 20 e2 80 98 6e 63 6f 6e 63 e2 80 99 3b 20 2a 6e 6f 74 65 0a 20 20 20 20 20 28 65 6c 69 ing....nconc...;.*note......(eli
32940 73 70 29 52 65 61 72 72 61 6e 67 65 6d 65 6e 74 3a 3a 29 2e 20 20 4c 69 6b 65 20 77 69 74 68 20 sp)Rearrangement::)...Like.with.
32960 e2 80 98 6d 61 70 63 61 72 e2 80 99 2c 20 53 45 51 55 45 4e 43 45 20 63 61 6e 20 62 65 20 6f 66 ...mapcar...,.SEQUENCE.can.be.of
32980 0a 20 20 20 20 20 61 6e 79 20 74 79 70 65 20 65 78 63 65 70 74 20 61 20 63 68 61 72 2d 74 61 62 ......any.type.except.a.char-tab
329a0 6c 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 43 6f 6e 74 72 61 73 74 20 74 68 69 73 3a le.............;;.Contrast.this:
329c0 20 28 6d 61 70 63 61 72 20 23 27 6c 69 73 74 20 27 28 61 20 62 20 63 20 64 29 29 20 e2 87 92 20 .(mapcar.#'list.'(a.b.c.d)).....
329e0 28 28 61 29 20 28 62 29 20 28 63 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 29 29 20 3b 3b 20 77 ((a).(b).(c)...........(d)).;;.w
32a00 69 74 68 20 74 68 69 73 3a 20 28 6d 61 70 63 61 6e 20 23 27 6c 69 73 74 20 27 28 61 20 62 20 63 ith.this:.(mapcan.#'list.'(a.b.c
32a20 20 64 29 29 20 e2 87 92 20 28 61 20 62 20 63 20 64 29 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 .d)).....(a.b.c.d).......*Note.(
32a40 65 6c 69 73 70 29 4d 61 70 70 69 6e 67 20 46 75 6e 63 74 69 6f 6e 73 3a 3a 2e 0a 0a 20 2d 2d 20 elisp)Mapping.Functions::....--.
32a60 46 75 6e 63 74 69 6f 6e 3a 20 63 58 58 58 72 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 63 58 Function:.cXXXr..--.Function:.cX
32a80 58 58 58 72 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 4c 69 73 74 20 45 6c 65 6d XXXr......*Note.(elisp)List.Elem
32aa0 65 6e 74 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 67 65 6e 73 79 6d 20 26 6f ents::....--.Function:.gensym.&o
32ac0 70 74 69 6f 6e 61 6c 20 70 72 65 66 69 78 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f ptional.prefix......This.functio
32ae0 6e 20 72 65 74 75 72 6e 73 20 61 20 73 79 6d 62 6f 6c 20 75 73 69 6e 67 20 e2 80 98 6d 61 6b 65 n.returns.a.symbol.using....make
32b00 2d 73 79 6d 62 6f 6c e2 80 99 2c 20 77 68 6f 73 65 20 6e 61 6d 65 20 69 73 0a 20 20 20 20 20 6d -symbol...,.whose.name.is......m
32b20 61 64 65 20 62 79 20 61 70 70 65 6e 64 69 6e 67 20 e2 80 98 67 65 6e 73 79 6d 2d 63 6f 75 6e 74 ade.by.appending....gensym-count
32b40 65 72 e2 80 99 20 74 6f 20 50 52 45 46 49 58 20 61 6e 64 20 69 6e 63 72 65 6d 65 6e 74 69 6e 67 er....to.PREFIX.and.incrementing
32b60 20 74 68 61 74 0a 20 20 20 20 20 63 6f 75 6e 74 65 72 2c 20 67 75 61 72 61 6e 74 65 65 69 6e 67 .that......counter,.guaranteeing
32b80 20 74 68 61 74 20 6e 6f 20 74 77 6f 20 63 61 6c 6c 73 20 74 6f 20 74 68 69 73 20 66 75 6e 63 74 .that.no.two.calls.to.this.funct
32ba0 69 6f 6e 20 77 69 6c 6c 0a 20 20 20 20 20 67 65 6e 65 72 61 74 65 20 61 20 73 79 6d 62 6f 6c 20 ion.will......generate.a.symbol.
32bc0 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 6e 61 6d 65 2e 20 20 54 68 65 20 70 72 65 66 69 78 20 with.the.same.name...The.prefix.
32be0 64 65 66 61 75 6c 74 73 20 74 6f 0a 20 20 20 20 20 e2 80 98 22 67 22 e2 80 99 2e 0a 0a 20 2d 2d defaults.to........."g".......--
32c00 20 56 61 72 69 61 62 6c 65 3a 20 67 65 6e 73 79 6d 2d 63 6f 75 6e 74 65 72 0a 20 20 20 20 20 53 .Variable:.gensym-counter......S
32c20 65 65 20 e2 80 98 67 65 6e 73 79 6d e2 80 99 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 ee....gensym.......--.Function:.
32c40 62 75 66 66 65 72 2d 68 61 73 68 20 26 6f 70 74 69 6f 6e 61 6c 20 62 75 66 66 65 72 2d 6f 72 2d buffer-hash.&optional.buffer-or-
32c60 6e 61 6d 65 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 68 61 73 68 20 6f 66 20 42 55 46 46 45 name......Return.a.hash.of.BUFFE
32c80 52 2d 4f 52 2d 4e 41 4d 45 2e 20 20 49 66 20 e2 80 98 6e 69 6c e2 80 99 2c 20 74 68 69 73 20 64 R-OR-NAME...If....nil...,.this.d
32ca0 65 66 61 75 6c 74 73 20 74 6f 20 74 68 65 0a 20 20 20 20 20 63 75 72 72 65 6e 74 20 62 75 66 66 efaults.to.the......current.buff
32cc0 65 72 2e 20 20 41 73 20 6f 70 70 6f 73 65 64 20 74 6f 20 e2 80 98 73 65 63 75 72 65 2d 68 61 73 er...As.opposed.to....secure-has
32ce0 68 e2 80 99 2c 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 63 6f 6d 70 75 74 65 h...,.this.function......compute
32d00 73 20 74 68 65 20 68 61 73 68 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 69 6e 74 65 72 6e 61 6c s.the.hash.based.on.the.internal
32d20 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 0a 20 20 20 20 20 62 75 66 66 .representation.of.the......buff
32d40 65 72 2c 20 64 69 73 72 65 67 61 72 64 69 6e 67 20 61 6e 79 20 63 6f 64 69 6e 67 20 73 79 73 74 er,.disregarding.any.coding.syst
32d60 65 6d 73 2e 20 20 49 74 e2 80 99 73 20 74 68 65 72 65 66 6f 72 65 20 6f 6e 6c 79 0a 20 20 20 20 ems...It...s.therefore.only.....
32d80 20 75 73 65 66 75 6c 20 77 68 65 6e 20 63 6f 6d 70 61 72 69 6e 67 20 74 77 6f 20 62 75 66 66 65 .useful.when.comparing.two.buffe
32da0 72 73 20 72 75 6e 6e 69 6e 67 20 69 6e 20 74 68 65 20 73 61 6d 65 20 45 6d 61 63 73 2c 20 61 6e rs.running.in.the.same.Emacs,.an
32dc0 64 20 69 73 0a 20 20 20 20 20 6e 6f 74 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 72 65 74 75 d.is......not.guaranteed.to.retu
32de0 72 6e 20 74 68 65 20 73 61 6d 65 20 68 61 73 68 20 62 65 74 77 65 65 6e 20 64 69 66 66 65 72 65 rn.the.same.hash.between.differe
32e00 6e 74 20 45 6d 61 63 73 0a 20 20 20 20 20 76 65 72 73 69 6f 6e 73 2e 20 20 49 74 20 73 68 6f 75 nt.Emacs......versions...It.shou
32e20 6c 64 20 62 65 20 73 6f 6d 65 77 68 61 74 20 6d 6f 72 65 20 65 66 66 69 63 69 65 6e 74 20 6f 6e ld.be.somewhat.more.efficient.on
32e40 20 6c 61 72 67 65 72 20 62 75 66 66 65 72 73 0a 20 20 20 20 20 74 68 61 6e 20 e2 80 98 73 65 63 .larger.buffers......than....sec
32e60 75 72 65 2d 68 61 73 68 e2 80 99 20 69 73 2c 20 61 6e 64 20 73 68 6f 75 6c 64 20 6e 6f 74 20 61 ure-hash....is,.and.should.not.a
32e80 6c 6c 6f 63 61 74 65 20 6d 6f 72 65 20 6d 65 6d 6f 72 79 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a llocate.more.memory....--.Macro:
32ea0 20 66 69 6c 65 2d 6e 61 6d 65 2d 75 6e 71 75 6f 74 65 20 6e 61 6d 65 0a 20 20 20 20 20 54 68 69 .file-name-unquote.name......Thi
32ec0 73 20 6d 61 63 72 6f 20 72 65 6d 6f 76 65 73 20 74 68 65 20 71 75 6f 74 61 74 69 6f 6e 20 70 72 s.macro.removes.the.quotation.pr
32ee0 65 66 69 78 20 e2 80 98 2f 3a e2 80 99 20 66 72 6f 6d 20 74 68 65 20 66 69 6c 65 20 4e 41 4d 45 efix..../:....from.the.file.NAME
32f00 2c 20 69 66 0a 20 20 20 20 20 61 6e 79 2e 20 20 49 66 20 4e 41 4d 45 20 69 73 20 61 20 72 65 6d ,.if......any...If.NAME.is.a.rem
32f20 6f 74 65 20 66 69 6c 65 20 6e 61 6d 65 2c 20 74 68 65 20 6c 6f 63 61 6c 20 70 61 72 74 20 6f 66 ote.file.name,.the.local.part.of
32f40 20 4e 41 4d 45 20 69 73 0a 20 20 20 20 20 75 6e 71 75 6f 74 65 64 2e 0a 0a 20 2d 2d 20 46 75 6e .NAME.is......unquoted....--.Fun
32f60 63 74 69 6f 6e 3a 20 66 69 6c 65 2d 6e 61 6d 65 2d 71 75 6f 74 65 64 2d 70 20 6e 61 6d 65 0a 20 ction:.file-name-quoted-p.name..
32f80 20 20 20 20 54 68 69 73 20 6d 61 63 72 6f 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d e2 80 98 6e 69 ....This.macro.returns.non-...ni
32fa0 6c e2 80 99 2c 20 77 68 65 6e 20 4e 41 4d 45 20 69 73 20 71 75 6f 74 65 64 20 77 69 74 68 20 74 l...,.when.NAME.is.quoted.with.t
32fc0 68 65 20 70 72 65 66 69 78 0a 20 20 20 20 20 e2 80 98 2f 3a e2 80 99 2e 20 20 49 66 20 4e 41 4d he.prefix........./:......If.NAM
32fe0 45 20 69 73 20 61 20 72 65 6d 6f 74 65 20 66 69 6c 65 20 6e 61 6d 65 2c 20 74 68 65 20 6c 6f 63 E.is.a.remote.file.name,.the.loc
33000 61 6c 20 70 61 72 74 20 6f 66 20 4e 41 4d 45 20 69 73 0a 20 20 20 20 20 63 68 65 63 6b 65 64 2e al.part.of.NAME.is......checked.
33020 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 46 69 6c 65 20 4e 61 6d 65 20 45 78 .......*Note.(elisp)File.Name.Ex
33040 70 61 6e 73 69 6f 6e 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 66 69 6c 65 2d 6e pansion::....--.Function:.file-n
33060 61 6d 65 2d 71 75 6f 74 65 20 6e 61 6d 65 0a 20 20 20 20 20 54 68 69 73 20 6d 61 63 72 6f 20 61 ame-quote.name......This.macro.a
33080 64 64 73 20 74 68 65 20 71 75 6f 74 61 74 69 6f 6e 20 70 72 65 66 69 78 20 e2 80 98 2f 3a e2 80 dds.the.quotation.prefix..../:..
330a0 99 20 74 6f 20 74 68 65 20 66 69 6c 65 20 4e 41 4d 45 2e 20 20 46 6f 72 20 61 0a 20 20 20 20 20 ..to.the.file.NAME...For.a......
330c0 6c 6f 63 61 6c 20 66 69 6c 65 20 4e 41 4d 45 2c 20 69 74 20 70 72 65 66 69 78 65 73 20 4e 41 4d local.file.NAME,.it.prefixes.NAM
330e0 45 20 77 69 74 68 20 e2 80 98 2f 3a e2 80 99 2e 20 20 49 66 20 4e 41 4d 45 20 69 73 20 61 20 72 E.with..../:......If.NAME.is.a.r
33100 65 6d 6f 74 65 0a 20 20 20 20 20 66 69 6c 65 20 6e 61 6d 65 2c 20 74 68 65 20 6c 6f 63 61 6c 20 emote......file.name,.the.local.
33120 70 61 72 74 20 6f 66 20 4e 41 4d 45 20 28 2a 6e 6f 74 65 20 28 65 6c 69 73 70 29 4d 61 67 69 63 part.of.NAME.(*note.(elisp)Magic
33140 20 46 69 6c 65 20 4e 61 6d 65 73 3a 3a 29 0a 20 20 20 20 20 69 73 20 71 75 6f 74 65 64 2e 20 20 .File.Names::)......is.quoted...
33160 49 66 20 4e 41 4d 45 20 69 73 20 61 6c 72 65 61 64 79 20 61 20 71 75 6f 74 65 64 20 66 69 6c 65 If.NAME.is.already.a.quoted.file
33180 20 6e 61 6d 65 2c 20 4e 41 4d 45 20 69 73 20 72 65 74 75 72 6e 65 64 0a 20 20 20 20 20 75 6e 63 .name,.NAME.is.returned......unc
331a0 68 61 6e 67 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 73 75 62 73 74 69 74 75 74 65 2d 69 hanged.............(substitute-i
331c0 6e 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 66 69 6c 65 2d 6e 61 n-file-name.(compat-call.file-na
331e0 6d 65 2d 71 75 6f 74 65 20 22 62 61 72 2f 7e 2f 66 6f 6f 22 29 29 20 e2 87 92 0a 20 20 20 20 20 me-quote."bar/~/foo"))..........
33200 20 20 20 20 20 20 20 20 20 20 22 2f 3a 62 61 72 2f 7e 2f 66 6f 6f 22 0a 0a 20 20 20 20 20 20 20 .........."/:bar/~/foo".........
33220 20 20 20 28 73 75 62 73 74 69 74 75 74 65 2d 69 6e 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 63 6f 6d ...(substitute-in-file-name.(com
33240 70 61 74 2d 63 61 6c 6c 20 66 69 6c 65 2d 6e 61 6d 65 2d 71 75 6f 74 65 20 22 2f 73 73 68 3a 68 pat-call.file-name-quote."/ssh:h
33260 6f 73 74 3a 62 61 72 2f 7e 2f 66 6f 6f 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ost:bar/~/foo"))................
33280 e2 87 92 20 22 2f 73 73 68 3a 68 6f 73 74 3a 2f 3a 62 61 72 2f 7e 2f 66 6f 6f 22 0a 0a 20 20 20 ...."/ssh:host:/:bar/~/foo".....
332a0 20 20 54 68 65 20 6d 61 63 72 6f 20 63 61 6e 6e 6f 74 20 62 65 20 75 73 65 64 20 74 6f 20 73 75 ..The.macro.cannot.be.used.to.su
332c0 70 70 72 65 73 73 20 66 69 6c 65 20 6e 61 6d 65 20 68 61 6e 64 6c 65 72 73 20 66 72 6f 6d 20 6d ppress.file.name.handlers.from.m
332e0 61 67 69 63 0a 20 20 20 20 20 66 69 6c 65 20 6e 61 6d 65 73 20 28 2a 6e 6f 74 65 20 28 65 6c 69 agic......file.names.(*note.(eli
33300 73 70 29 4d 61 67 69 63 20 46 69 6c 65 20 4e 61 6d 65 73 3a 3a 29 2e 0a 0a 20 20 20 20 20 2a 4e sp)Magic.File.Names::)........*N
33320 6f 74 65 20 28 65 6c 69 73 70 29 46 69 6c 65 20 4e 61 6d 65 20 45 78 70 61 6e 73 69 6f 6e 3a 3a ote.(elisp)File.Name.Expansion::
33340 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6d 61 6b 65 2d 6e 65 61 72 62 79 2d 74 65 6d ....--.Function:.make-nearby-tem
33360 70 2d 66 69 6c 65 20 70 72 65 66 69 78 20 26 6f 70 74 69 6f 6e 61 6c 20 64 69 72 2d 66 6c 61 67 p-file.prefix.&optional.dir-flag
33380 20 73 75 66 66 69 78 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 .suffix......This.function.is.si
333a0 6d 69 6c 61 72 20 74 6f 20 e2 80 98 6d 61 6b 65 2d 74 65 6d 70 2d 66 69 6c 65 e2 80 99 2c 20 62 milar.to....make-temp-file...,.b
333c0 75 74 20 69 74 20 63 72 65 61 74 65 73 20 61 0a 20 20 20 20 20 74 65 6d 70 6f 72 61 72 79 20 66 ut.it.creates.a......temporary.f
333e0 69 6c 65 20 61 73 20 63 6c 6f 73 65 20 61 73 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 e2 80 98 64 ile.as.close.as.possible.to....d
33400 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 e2 80 99 2e 20 20 49 66 0a 20 20 20 20 20 50 52 efault-directory......If......PR
33420 45 46 49 58 20 69 73 20 61 20 72 65 6c 61 74 69 76 65 20 66 69 6c 65 20 6e 61 6d 65 2c 20 61 6e EFIX.is.a.relative.file.name,.an
33440 64 20 e2 80 98 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 e2 80 99 20 69 73 20 61 20 72 d....default-directory....is.a.r
33460 65 6d 6f 74 65 0a 20 20 20 20 20 66 69 6c 65 20 6e 61 6d 65 20 6f 72 20 6c 6f 63 61 74 65 64 20 emote......file.name.or.located.
33480 6f 6e 20 61 20 6d 6f 75 6e 74 65 64 20 66 69 6c 65 20 73 79 73 74 65 6d 73 2c 20 74 68 65 20 74 on.a.mounted.file.systems,.the.t
334a0 65 6d 70 6f 72 61 72 79 20 66 69 6c 65 0a 20 20 20 20 20 69 73 20 63 72 65 61 74 65 64 20 69 6e emporary.file......is.created.in
334c0 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 72 65 74 75 72 6e 65 64 20 62 79 20 74 68 65 20 66 .the.directory.returned.by.the.f
334e0 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 e2 80 98 74 65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 2d 64 unction.........temporary-file-d
33500 69 72 65 63 74 6f 72 79 e2 80 99 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 66 75 6e irectory......Otherwise,.the.fun
33520 63 74 69 6f 6e 0a 20 20 20 20 20 e2 80 98 6d 61 6b 65 2d 74 65 6d 70 2d 66 69 6c 65 e2 80 99 20 ction.........make-temp-file....
33540 69 73 20 75 73 65 64 2e 20 20 50 52 45 46 49 58 2c 20 44 49 52 2d 46 4c 41 47 20 61 6e 64 20 53 is.used...PREFIX,.DIR-FLAG.and.S
33560 55 46 46 49 58 20 68 61 76 65 20 74 68 65 0a 20 20 20 20 20 73 61 6d 65 20 6d 65 61 6e 69 6e 67 UFFIX.have.the......same.meaning
33580 20 61 73 20 69 6e 20 e2 80 98 6d 61 6b 65 2d 74 65 6d 70 2d 66 69 6c 65 e2 80 99 2e 0a 0a 20 20 .as.in....make-temp-file........
335a0 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 ........(let.((default-directory
335c0 20 22 2f 73 73 68 3a 72 65 6d 6f 74 65 68 6f 73 74 3a 22 29 29 20 28 6d 61 6b 65 2d 6e 65 61 72 ."/ssh:remotehost:")).(make-near
335e0 62 79 2d 74 65 6d 70 2d 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 66 6f 6f 22 29 29 by-temp-file............."foo"))
33600 20 e2 87 92 20 22 2f 73 73 68 3a 72 65 6d 6f 74 65 68 6f 73 74 3a 2f 74 6d 70 2f 66 6f 6f 32 33 ....."/ssh:remotehost:/tmp/foo23
33620 32 4a 36 76 22 0a 0a 20 2d 2d 20 56 61 72 69 61 62 6c 65 3a 20 6d 6f 75 6e 74 65 64 2d 66 69 6c 2J6v"...--.Variable:.mounted-fil
33640 65 2d 73 79 73 74 65 6d 73 0a 20 20 20 20 20 41 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 e-systems......A.regular.express
33660 69 6f 6e 20 6d 61 74 63 68 69 6e 67 20 66 69 6c 65 73 20 6e 61 6d 65 73 20 74 68 61 74 20 61 72 ion.matching.files.names.that.ar
33680 65 20 70 72 6f 62 61 62 6c 79 20 6f 6e 20 61 0a 20 20 20 20 20 6d 6f 75 6e 74 65 64 20 66 69 6c e.probably.on.a......mounted.fil
336a0 65 20 73 79 73 74 65 6d 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 74 65 6d 70 6f 72 61 e.system....--.Function:.tempora
336c0 72 79 2d 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 54 68 65 20 64 69 72 65 63 ry-file-directory......The.direc
336e0 74 6f 72 79 20 66 6f 72 20 77 72 69 74 69 6e 67 20 74 65 6d 70 6f 72 61 72 79 20 66 69 6c 65 73 tory.for.writing.temporary.files
33700 20 76 69 61 0a 20 20 20 20 20 e2 80 98 6d 61 6b 65 2d 6e 65 61 72 62 79 2d 74 65 6d 70 2d 66 69 .via.........make-nearby-temp-fi
33720 6c 65 e2 80 99 2e 20 20 49 6e 20 63 61 73 65 20 6f 66 20 61 20 72 65 6d 6f 74 65 20 e2 80 98 64 le......In.case.of.a.remote....d
33740 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 e2 80 99 2c 0a 20 20 20 20 20 74 68 69 73 20 69 efault-directory...,......this.i
33760 73 20 61 20 64 69 72 65 63 74 6f 72 79 20 66 6f 72 20 74 65 6d 70 6f 72 61 72 79 20 66 69 6c 65 s.a.directory.for.temporary.file
33780 73 20 6f 6e 20 74 68 61 74 20 72 65 6d 6f 74 65 20 68 6f 73 74 2e 20 20 49 66 0a 20 20 20 20 20 s.on.that.remote.host...If......
337a0 73 75 63 68 20 61 20 64 69 72 65 63 74 6f 72 79 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2c such.a.directory.does.not.exist,
337c0 20 6f 72 20 e2 80 98 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 e2 80 99 20 6f 75 67 68 .or....default-directory....ough
337e0 74 20 74 6f 20 62 65 0a 20 20 20 20 20 6c 6f 63 61 74 65 64 20 6f 6e 20 61 20 6d 6f 75 6e 74 65 t.to.be......located.on.a.mounte
33800 64 20 66 69 6c 65 20 73 79 73 74 65 6d 20 28 73 65 65 20 e2 80 98 6d 6f 75 6e 74 65 64 2d 66 69 d.file.system.(see....mounted-fi
33820 6c 65 2d 73 79 73 74 65 6d 73 e2 80 99 29 2c 20 74 68 65 0a 20 20 20 20 20 66 75 6e 63 74 69 6f le-systems...),.the......functio
33840 6e 20 72 65 74 75 72 6e 73 20 e2 80 98 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 e2 80 n.returns....default-directory..
33860 99 2e 20 20 46 6f 72 20 61 20 6e 6f 6e 2d 72 65 6d 6f 74 65 20 61 6e 64 0a 20 20 20 20 20 6e 6f ....For.a.non-remote.and......no
33880 6e 2d 6d 6f 75 6e 74 65 64 20 e2 80 98 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 e2 80 n-mounted....default-directory..
338a0 99 2c 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 76 61 72 69 61 62 6c 65 0a 20 20 20 .,.the.value.of.the.variable....
338c0 20 20 e2 80 98 74 65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 e2 80 99 .....temporary-file-directory...
338e0 20 69 73 20 72 65 74 75 72 6e 65 64 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 .is.returned........*Note.(elisp
33900 29 55 6e 69 71 75 65 20 46 69 6c 65 20 4e 61 6d 65 73 3a 3a 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f )Unique.File.Names::....--.Macro
33920 3a 20 69 66 2d 6c 65 74 2a 20 28 62 69 6e 64 69 6e 67 73 2e 2e 2e 29 20 74 68 65 6e 20 26 72 65 :.if-let*.(bindings...).then.&re
33940 73 74 20 65 6c 73 65 0a 20 20 20 20 20 e2 80 98 69 66 2d 6c 65 74 2a e2 80 99 20 69 73 20 6d 6f st.else.........if-let*....is.mo
33960 73 74 6c 79 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 e2 80 98 69 66 2d 6c 65 74 e2 80 99 2c stly.equivalent.to....if-let...,
33980 20 77 69 74 68 20 74 68 65 20 65 78 63 65 70 74 69 6f 6e 20 74 68 61 74 0a 20 20 20 20 20 74 68 .with.the.exception.that......th
339a0 65 20 6c 65 67 61 63 79 20 e2 80 98 28 69 66 20 28 56 41 52 20 28 74 65 73 74 29 29 20 66 6f 6f e.legacy....(if.(VAR.(test)).foo
339c0 20 62 61 72 29 e2 80 99 20 73 79 6e 74 61 78 20 69 73 20 6e 6f 74 20 70 65 72 6d 69 74 74 65 64 .bar)....syntax.is.not.permitted
339e0 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 77 68 65 6e 2d 6c 65 74 2a 20 28 62 69 6e 64 69 6e 67 ....--.Macro:.when-let*.(binding
33a00 73 2e 2e 2e 29 20 74 68 65 6e 20 26 72 65 73 74 20 65 6c 73 65 0a 20 20 20 20 20 e2 80 98 77 68 s...).then.&rest.else.........wh
33a20 65 6e 2d 6c 65 74 2a e2 80 99 20 69 73 20 6d 6f 73 74 6c 79 20 65 71 75 69 76 61 6c 65 6e 74 20 en-let*....is.mostly.equivalent.
33a40 74 6f 20 e2 80 98 77 68 65 6e 2d 6c 65 74 e2 80 99 2c 20 77 69 74 68 20 74 68 65 20 65 78 63 65 to....when-let...,.with.the.exce
33a60 70 74 69 6f 6e 0a 20 20 20 20 20 74 68 61 74 20 74 68 65 20 6c 65 67 61 63 79 20 e2 80 98 28 77 ption......that.the.legacy....(w
33a80 68 65 6e 2d 6c 65 74 20 28 56 41 52 20 28 74 65 73 74 29 29 20 66 6f 6f 20 62 61 72 29 e2 80 99 hen-let.(VAR.(test)).foo.bar)...
33aa0 20 73 79 6e 74 61 78 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 70 65 72 6d 69 74 74 65 64 2e 0a 0a .syntax.is.not......permitted...
33ac0 20 2d 2d 20 4d 61 63 72 6f 3a 20 61 6e 64 2d 6c 65 74 2a 20 28 62 69 6e 64 69 6e 67 73 2e 2e 2e .--.Macro:.and-let*.(bindings...
33ae0 29 20 26 72 65 73 74 20 62 6f 64 79 0a 20 20 20 20 20 41 20 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 ).&rest.body......A.combination.
33b00 6f 66 20 4c 45 54 2a 20 61 6e 64 20 41 4e 44 2c 20 61 6e 61 6c 6f 67 6f 75 73 20 74 6f 20 e2 80 of.LET*.and.AND,.analogous.to...
33b20 98 77 68 65 6e 2d 6c 65 74 2a e2 80 99 2e 20 20 49 66 20 61 6c 6c 0a 20 20 20 20 20 42 49 4e 44 .when-let*......If.all......BIND
33b40 49 4e 47 53 20 61 72 65 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 61 6e 64 20 42 4f 44 59 20 INGS.are.non-...nil....and.BODY.
33b60 69 73 20 e2 80 98 6e 69 6c e2 80 99 2c 20 74 68 65 6e 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 is....nil...,.then.the.result.of
33b80 20 74 68 65 0a 20 20 20 20 20 e2 80 98 61 6e 64 2d 6c 65 74 2a e2 80 99 20 66 6f 72 6d 20 77 69 .the.........and-let*....form.wi
33ba0 6c 6c 20 62 65 20 74 68 65 20 6c 61 73 74 20 76 61 6c 75 65 20 62 6f 75 6e 64 20 69 6e 20 42 49 ll.be.the.last.value.bound.in.BI
33bc0 4e 44 49 4e 47 53 2e 0a 0a 20 20 20 20 20 2a 2a 50 6c 65 61 73 65 20 4e 6f 74 65 3a 2a 2a 20 54 NDINGS........**Please.Note:**.T
33be0 68 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 70 72 6f 76 69 64 65 64 20 62 79 20 43 6f he.implementation.provided.by.Co
33c00 6d 70 61 74 20 64 6f 65 73 20 6e 6f 74 0a 20 20 20 20 20 69 6e 63 6c 75 64 65 20 61 20 62 75 67 mpat.does.not......include.a.bug
33c20 20 74 68 61 74 20 77 61 73 20 6f 62 73 65 72 76 65 64 20 77 69 74 68 20 45 6d 61 63 73 20 32 36 .that.was.observed.with.Emacs.26
33c40 20 28 73 65 65 0a 20 20 20 20 20 3c 68 74 74 70 73 3a 2f 2f 64 65 62 62 75 67 73 2e 67 6e 75 2e .(see......<https://debbugs.gnu.
33c60 6f 72 67 2f 63 67 69 2f 62 75 67 72 65 70 6f 72 74 2e 63 67 69 3f 62 75 67 3d 33 31 38 34 30 3e org/cgi/bugreport.cgi?bug=31840>
33c80 29 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 66 69 6c 65 2d 6c 6f 63 61 6c 2d 6e 61 6d )....--.Function:.file-local-nam
33ca0 65 20 66 69 6c 65 6e 61 6d 65 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 e.filename......This.function.re
33cc0 74 75 72 6e 73 20 74 68 65 20 5f 6c 6f 63 61 6c 20 70 61 72 74 5f 20 6f 66 20 46 49 4c 45 4e 41 turns.the._local.part_.of.FILENA
33ce0 4d 45 2e 20 20 54 68 69 73 20 69 73 20 74 68 65 0a 20 20 20 20 20 70 61 72 74 20 6f 66 20 74 68 ME...This.is.the......part.of.th
33d00 65 20 66 69 6c 65 e2 80 99 73 20 6e 61 6d 65 20 74 68 61 74 20 69 64 65 6e 74 69 66 69 65 73 20 e.file...s.name.that.identifies.
33d20 69 74 20 6f 6e 20 74 68 65 20 72 65 6d 6f 74 65 20 68 6f 73 74 2c 20 61 6e 64 0a 20 20 20 20 20 it.on.the.remote.host,.and......
33d40 69 73 20 74 79 70 69 63 61 6c 6c 79 20 6f 62 74 61 69 6e 65 64 20 62 79 20 72 65 6d 6f 76 69 6e is.typically.obtained.by.removin
33d60 67 20 66 72 6f 6d 20 74 68 65 20 72 65 6d 6f 74 65 20 66 69 6c 65 20 6e 61 6d 65 20 74 68 65 0a g.from.the.remote.file.name.the.
33d80 20 20 20 20 20 70 61 72 74 73 20 74 68 61 74 20 73 70 65 63 69 66 79 20 74 68 65 20 72 65 6d 6f .....parts.that.specify.the.remo
33da0 74 65 20 68 6f 73 74 20 61 6e 64 20 74 68 65 20 6d 65 74 68 6f 64 20 6f 66 20 61 63 63 65 73 73 te.host.and.the.method.of.access
33dc0 69 6e 67 20 69 74 2e 0a 20 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 0a 20 20 20 20 20 ing.it.......For.example:.......
33de0 20 20 20 20 20 28 66 69 6c 65 2d 6c 6f 63 61 6c 2d 6e 61 6d 65 20 22 2f 73 73 68 3a 55 53 45 52 .....(file-local-name."/ssh:USER
33e00 40 48 4f 53 54 3a 2f 66 6f 6f 2f 62 61 72 22 29 20 e2 87 92 0a 20 20 20 20 20 20 20 20 20 20 20 @HOST:/foo/bar")................
33e20 20 20 20 20 22 2f 66 6f 6f 2f 62 61 72 22 0a 0a 20 20 20 20 20 46 6f 72 20 61 20 72 65 6d 6f 74 ...."/foo/bar".......For.a.remot
33e40 65 20 46 49 4c 45 4e 41 4d 45 2c 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e e.FILENAME,.this.function.return
33e60 73 20 61 20 66 69 6c 65 20 6e 61 6d 65 20 77 68 69 63 68 0a 20 20 20 20 20 63 6f 75 6c 64 20 62 s.a.file.name.which......could.b
33e80 65 20 75 73 65 64 20 64 69 72 65 63 74 6c 79 20 61 73 20 61 6e 20 61 72 67 75 6d 65 6e 74 20 6f e.used.directly.as.an.argument.o
33ea0 66 20 61 20 72 65 6d 6f 74 65 20 70 72 6f 63 65 73 73 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 28 f.a.remote.process.(*note......(
33ec0 65 6c 69 73 70 29 41 73 79 6e 63 68 72 6f 6e 6f 75 73 20 50 72 6f 63 65 73 73 65 73 3a 3a 2c 20 elisp)Asynchronous.Processes::,.
33ee0 61 6e 64 20 2a 6e 6f 74 65 20 28 65 6c 69 73 70 29 53 79 6e 63 68 72 6f 6e 6f 75 73 0a 20 20 20 and.*note.(elisp)Synchronous....
33f00 20 20 50 72 6f 63 65 73 73 65 73 3a 3a 29 2c 20 61 6e 64 20 61 73 20 74 68 65 20 70 72 6f 67 72 ..Processes::),.and.as.the.progr
33f20 61 6d 20 74 6f 20 72 75 6e 20 6f 6e 20 74 68 65 20 72 65 6d 6f 74 65 20 68 6f 73 74 2e 20 20 49 am.to.run.on.the.remote.host...I
33f40 66 0a 20 20 20 20 20 46 49 4c 45 4e 41 4d 45 20 69 73 20 6c 6f 63 61 6c 2c 20 74 68 69 73 20 66 f......FILENAME.is.local,.this.f
33f60 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 69 74 20 75 6e 63 68 61 6e 67 65 64 2e 0a 0a 20 unction.returns.it.unchanged....
33f80 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 4d 61 67 69 63 20 46 69 6c 65 20 4e 61 6d 65 ....*Note.(elisp)Magic.File.Name
33fa0 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 72 65 61 64 2d 6d 75 6c 74 69 70 6c s::....--.Function:.read-multipl
33fc0 65 2d 63 68 6f 69 63 65 20 70 72 6f 6d 70 74 20 63 68 6f 69 63 65 73 0a 20 20 20 20 20 41 73 6b e-choice.prompt.choices......Ask
33fe0 20 75 73 65 72 20 61 20 6d 75 6c 74 69 70 6c 65 20 63 68 6f 69 63 65 20 71 75 65 73 74 69 6f 6e .user.a.multiple.choice.question
34000 2e 20 20 50 52 4f 4d 50 54 20 73 68 6f 75 6c 64 20 62 65 20 61 20 73 74 72 69 6e 67 0a 20 20 20 ...PROMPT.should.be.a.string....
34020 20 20 74 68 61 74 20 77 69 6c 6c 20 62 65 20 64 69 73 70 6c 61 79 65 64 20 61 73 20 74 68 65 20 ..that.will.be.displayed.as.the.
34040 70 72 6f 6d 70 74 2e 0a 0a 20 20 20 20 20 43 48 4f 49 43 45 53 20 69 73 20 61 6e 20 61 6c 69 73 prompt........CHOICES.is.an.alis
34060 74 20 77 68 65 72 65 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 69 6e 20 65 61 63 t.where.the.first.element.in.eac
34080 68 20 65 6e 74 72 79 20 69 73 20 61 0a 20 20 20 20 20 63 68 61 72 61 63 74 65 72 20 74 6f 20 62 h.entry.is.a......character.to.b
340a0 65 20 65 6e 74 65 72 65 64 2c 20 74 68 65 20 73 65 63 6f 6e 64 20 65 6c 65 6d 65 6e 74 20 69 73 e.entered,.the.second.element.is
340c0 20 61 20 73 68 6f 72 74 20 6e 61 6d 65 20 66 6f 72 20 74 68 65 0a 20 20 20 20 20 65 6e 74 72 79 .a.short.name.for.the......entry
340e0 20 74 6f 20 62 65 20 64 69 73 70 6c 61 79 65 64 20 77 68 69 6c 65 20 70 72 6f 6d 70 74 69 6e 67 .to.be.displayed.while.prompting
34100 20 28 69 66 20 74 68 65 72 65 e2 80 99 73 20 72 6f 6f 6d 2c 20 69 74 20 6d 69 67 68 74 20 62 65 .(if.there...s.room,.it.might.be
34120 0a 20 20 20 20 20 73 68 6f 72 74 65 6e 65 64 29 2c 20 61 6e 64 20 74 68 65 20 74 68 69 72 64 2c ......shortened),.and.the.third,
34140 20 6f 70 74 69 6f 6e 61 6c 20 65 6e 74 72 79 20 69 73 20 61 20 6c 6f 6e 67 65 72 20 65 78 70 6c .optional.entry.is.a.longer.expl
34160 61 6e 61 74 69 6f 6e 0a 20 20 20 20 20 74 68 61 74 20 77 69 6c 6c 20 62 65 20 64 69 73 70 6c 61 anation......that.will.be.displa
34180 79 65 64 20 69 6e 20 61 20 68 65 6c 70 20 62 75 66 66 65 72 20 69 66 20 74 68 65 20 75 73 65 72 yed.in.a.help.buffer.if.the.user
341a0 20 72 65 71 75 65 73 74 73 20 6d 6f 72 65 0a 20 20 20 20 20 68 65 6c 70 2e 0a 0a 20 20 20 20 20 .requests.more......help........
341c0 53 65 65 20 2a 6e 6f 74 65 20 52 65 61 64 69 6e 67 20 4f 6e 65 20 45 76 65 6e 74 3a 20 28 65 6c See.*note.Reading.One.Event:.(el
341e0 69 73 70 29 52 65 61 64 69 6e 67 20 4f 6e 65 20 45 76 65 6e 74 2e 0a 0a 20 2d 2d 20 46 75 6e 63 isp)Reading.One.Event....--.Func
34200 74 69 6f 6e 3a 20 69 6d 61 67 65 2d 70 72 6f 70 65 72 74 79 0a 20 20 20 20 20 44 65 66 69 6e 65 tion:.image-property......Define
34220 64 20 69 6e 20 e2 80 98 69 6d 61 67 65 2e 65 6c e2 80 99 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 d.in....image.el...........This.
34240 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 75 73 65 64 20 61 73 20 61 20 67 function.can.also.be.used.as.a.g
34260 65 6e 65 72 61 6c 69 73 65 64 20 76 61 72 69 61 62 6c 65 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 eneralised.variable....--.Functi
34280 6f 6e 3a 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 74 79 70 65 0a 20 20 20 20 20 52 65 74 on:.file-attribute-type......Ret
342a0 75 72 6e 20 74 68 65 20 66 69 65 6c 64 20 5f 74 79 70 65 5f 20 61 73 20 67 65 6e 65 72 61 74 65 urn.the.field._type_.as.generate
342c0 64 20 62 79 20 e2 80 98 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 73 e2 80 99 2e 0a 0a 20 20 20 d.by....file-attributes.........
342e0 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 46 69 6c 65 20 41 74 74 72 69 62 75 74 65 73 3a 3a ..*Note.(elisp)File.Attributes::
34300 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d ....--.Function:.file-attribute-
34320 6c 69 6e 6b 2d 6e 75 6d 62 65 72 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 66 69 65 6c link-number......Return.the.fiel
34340 64 20 5f 6c 69 6e 6b 2d 6e 75 6d 62 65 72 5f 20 61 73 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 d._link-number_.as.generated.by.
34360 e2 80 98 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 73 e2 80 99 2e 0a 0a 20 20 20 20 20 2a 4e 6f ...file-attributes...........*No
34380 74 65 20 28 65 6c 69 73 70 29 46 69 6c 65 20 41 74 74 72 69 62 75 74 65 73 3a 3a 2e 0a 0a 20 2d te.(elisp)File.Attributes::....-
343a0 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 75 73 65 72 2d -.Function:.file-attribute-user-
343c0 69 64 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 66 69 65 6c 64 20 5f 75 73 65 72 2d 69 id......Return.the.field._user-i
343e0 64 5f 20 61 73 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 e2 80 98 66 69 6c 65 2d 61 74 74 72 69 d_.as.generated.by....file-attri
34400 62 75 74 65 73 e2 80 99 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 46 69 6c butes...........*Note.(elisp)Fil
34420 65 20 41 74 74 72 69 62 75 74 65 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 66 e.Attributes::....--.Function:.f
34440 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 67 72 6f 75 70 2d 69 64 0a 20 20 20 20 20 52 65 74 75 ile-attribute-group-id......Retu
34460 72 6e 20 74 68 65 20 66 69 65 6c 64 20 5f 67 72 6f 75 70 2d 69 64 5f 20 61 73 20 67 65 6e 65 72 rn.the.field._group-id_.as.gener
34480 61 74 65 64 20 62 79 20 e2 80 98 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 73 e2 80 99 2e 0a 0a ated.by....file-attributes......
344a0 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 46 69 6c 65 20 41 74 74 72 69 62 75 74 65 .....*Note.(elisp)File.Attribute
344c0 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 66 69 6c 65 2d 61 74 74 72 69 62 75 s::....--.Function:.file-attribu
344e0 74 65 2d 61 63 63 65 73 73 2d 74 69 6d 65 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 66 te-access-time......Return.the.f
34500 69 65 6c 64 20 5f 61 63 63 65 73 73 2d 74 69 6d 65 5f 20 61 73 20 67 65 6e 65 72 61 74 65 64 20 ield._access-time_.as.generated.
34520 62 79 20 e2 80 98 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 73 e2 80 99 2e 0a 0a 20 20 20 20 20 by....file-attributes...........
34540 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 46 69 6c 65 20 41 74 74 72 69 62 75 74 65 73 3a 3a 2e 0a *Note.(elisp)File.Attributes::..
34560 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 6d 6f ..--.Function:.file-attribute-mo
34580 64 69 66 69 63 61 74 69 6f 6e 2d 74 69 6d 65 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 dification-time......Return.the.
345a0 66 69 65 6c 64 20 5f 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2d 74 69 6d 65 5f 20 61 73 20 67 65 6e field._modification-time_.as.gen
345c0 65 72 61 74 65 64 20 62 79 0a 20 20 20 20 20 e2 80 98 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 erated.by.........file-attribute
345e0 73 e2 80 99 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 46 69 6c 65 20 41 74 s...........*Note.(elisp)File.At
34600 74 72 69 62 75 74 65 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 66 69 6c 65 2d tributes::....--.Function:.file-
34620 61 74 74 72 69 62 75 74 65 2d 73 74 61 74 75 73 2d 63 68 61 6e 67 65 2d 74 69 6d 65 0a 20 20 20 attribute-status-change-time....
34640 20 20 52 65 74 75 72 6e 20 74 68 65 20 66 69 65 6c 64 20 5f 6d 6f 64 69 66 69 63 61 74 69 6f 6e ..Return.the.field._modification
34660 2d 74 69 6d 65 5f 20 61 73 20 67 65 6e 65 72 61 74 65 64 20 62 79 0a 20 20 20 20 20 e2 80 98 66 -time_.as.generated.by.........f
34680 69 6c 65 2d 61 74 74 72 69 62 75 74 65 73 e2 80 99 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 ile-attributes...........*Note.(
346a0 65 6c 69 73 70 29 46 69 6c 65 20 41 74 74 72 69 62 75 74 65 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 elisp)File.Attributes::....--.Fu
346c0 6e 63 74 69 6f 6e 3a 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 73 69 7a 65 0a 20 20 20 20 nction:.file-attribute-size.....
346e0 20 52 65 74 75 72 6e 20 74 68 65 20 66 69 65 6c 64 20 5f 73 69 7a 65 5f 20 61 73 20 67 65 6e 65 .Return.the.field._size_.as.gene
34700 72 61 74 65 64 20 62 79 20 e2 80 98 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 73 e2 80 99 2e 0a rated.by....file-attributes.....
34720 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 46 69 6c 65 20 41 74 74 72 69 62 75 74 ......*Note.(elisp)File.Attribut
34740 65 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 66 69 6c 65 2d 61 74 74 72 69 62 es::....--.Function:.file-attrib
34760 75 74 65 2d 6d 6f 64 65 73 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 66 69 65 6c 64 20 ute-modes......Return.the.field.
34780 5f 6d 6f 64 65 73 5f 20 61 73 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 e2 80 98 66 69 6c 65 2d _modes_.as.generated.by....file-
347a0 61 74 74 72 69 62 75 74 65 73 e2 80 99 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 attributes...........*Note.(elis
347c0 70 29 46 69 6c 65 20 41 74 74 72 69 62 75 74 65 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 p)File.Attributes::....--.Functi
347e0 6f 6e 3a 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 69 6e 6f 64 65 2d 6e 75 6d 62 65 72 0a on:.file-attribute-inode-number.
34800 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 66 69 65 6c 64 20 5f 69 6e 6f 64 65 2d 6e 75 6d .....Return.the.field._inode-num
34820 62 65 72 5f 20 61 73 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 e2 80 98 66 69 6c 65 2d 61 74 74 ber_.as.generated.by....file-att
34840 72 69 62 75 74 65 73 e2 80 99 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 46 ributes...........*Note.(elisp)F
34860 69 6c 65 20 41 74 74 72 69 62 75 74 65 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a ile.Attributes::....--.Function:
34880 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 64 65 76 69 63 65 2d 6e 75 6d 62 65 72 0a 20 20 .file-attribute-device-number...
348a0 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 66 69 65 6c 64 20 5f 64 65 76 69 63 65 2d 6e 75 6d 62 ...Return.the.field._device-numb
348c0 65 72 5f 20 61 73 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 e2 80 98 66 69 6c 65 2d 61 74 74 72 er_.as.generated.by....file-attr
348e0 69 62 75 74 65 73 e2 80 99 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 46 69 ibutes...........*Note.(elisp)Fi
34900 6c 65 20 41 74 74 72 69 62 75 74 65 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 le.Attributes::....--.Function:.
34920 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 63 6f 6c 6c 65 63 74 20 61 74 74 72 69 62 75 74 65 file-attribute-collect.attribute
34940 73 20 26 72 65 73 74 20 61 74 74 72 2d 6e 61 6d 65 73 0a 20 20 20 20 20 46 69 6c 74 65 72 20 74 s.&rest.attr-names......Filter.t
34960 68 65 20 66 69 6c 65 20 61 74 74 72 69 62 75 74 65 73 20 41 54 54 52 49 42 55 54 45 53 2c 20 61 he.file.attributes.ATTRIBUTES,.a
34980 73 20 67 65 6e 65 72 61 74 65 64 20 62 79 0a 20 20 20 20 20 e2 80 98 66 69 6c 65 2d 61 74 74 72 s.generated.by.........file-attr
349a0 69 62 75 74 65 73 e2 80 99 2c 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 41 54 54 52 2d 4e 41 4d ibutes...,.according.to.ATTR-NAM
349c0 45 53 2e 0a 0a 20 20 20 20 20 56 61 6c 69 64 20 61 74 74 72 69 62 75 74 65 20 6e 61 6d 65 73 20 ES........Valid.attribute.names.
349e0 66 6f 72 20 41 54 54 52 2d 4e 41 4d 45 53 20 61 72 65 3a 20 74 79 70 65 2c 20 6c 69 6e 6b 2d 6e for.ATTR-NAMES.are:.type,.link-n
34a00 75 6d 62 65 72 2c 0a 20 20 20 20 20 75 73 65 72 2d 69 64 2c 20 67 72 6f 75 70 2d 69 64 2c 20 61 umber,......user-id,.group-id,.a
34a20 63 63 65 73 73 2d 74 69 6d 65 2c 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2d 74 69 6d 65 2c 0a 20 ccess-time,.modification-time,..
34a40 20 20 20 20 73 74 61 74 75 73 2d 63 68 61 6e 67 65 2d 74 69 6d 65 2c 20 73 69 7a 65 2c 20 6d 6f ....status-change-time,.size,.mo
34a60 64 65 73 2c 20 69 6e 6f 64 65 2d 6e 75 6d 62 65 72 20 61 6e 64 20 64 65 76 69 63 65 2d 6e 75 6d des,.inode-number.and.device-num
34a80 62 65 72 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 73 ber.............(file-attributes
34aa0 20 22 2e 22 29 20 e2 87 92 20 28 74 20 31 20 31 30 30 30 20 31 30 30 30 20 28 32 35 33 32 39 20 .".").....(t.1.1000.1000.(25329.
34ac0 31 38 32 31 35 20 33 32 35 34 38 31 20 39 36 30 30 30 29 20 28 32 35 33 32 35 20 31 35 33 36 34 18215.325481.96000).(25325.15364
34ae0 20 35 33 30 32 36 33 20 38 34 30 30 30 30 29 20 28 32 35 33 32 35 20 31 35 33 36 34 20 35 33 30 .530263.840000).(25325.15364.530
34b00 32 36 33 20 38 34 30 30 30 30 29 20 37 38 38 20 22 64 72 77 78 72 2d 78 72 2d 78 22 20 74 20 31 263.840000).788."drwxr-xr-x".t.1
34b20 33 37 38 31 39 20 34 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 61 74 74 72 69 62 37819.40)...........(file-attrib
34b40 75 74 65 2d 63 6f 6c 6c 65 63 74 20 28 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 73 20 22 2e 22 ute-collect.(file-attributes."."
34b60 29 20 27 74 79 70 65 20 27 6d 6f 64 65 73 0a 20 20 20 20 20 20 20 20 20 20 27 69 6e 6f 64 65 2d ).'type.'modes...........'inode-
34b80 6e 75 6d 62 65 72 29 20 e2 87 92 20 28 74 20 22 64 72 77 78 72 2d 78 72 2d 78 22 20 31 33 37 38 number).....(t."drwxr-xr-x".1378
34ba0 31 39 29 0a 0a 32 2e 32 2e 32 20 45 78 74 65 6e 64 65 64 20 44 65 66 69 6e 69 74 69 6f 6e 73 0a 19)..2.2.2.Extended.Definitions.
34bc0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 54 68 65 73 --------------------------..Thes
34be0 65 20 66 75 6e 63 74 69 6f 6e 73 20 6d 75 73 74 20 62 65 20 63 61 6c 6c 65 64 20 65 78 70 6c 69 e.functions.must.be.called.expli
34c00 63 69 74 6c 79 20 76 69 61 20 e2 80 98 63 6f 6d 70 61 74 2d 63 61 6c 6c e2 80 99 2c 20 73 69 6e citly.via....compat-call...,.sin
34c20 63 65 20 74 68 65 69 72 0a 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 6f 72 20 62 ce.their.calling.convention.or.b
34c40 65 68 61 76 69 6f 72 20 77 61 73 20 65 78 74 65 6e 64 65 64 20 69 6e 20 45 6d 61 63 73 20 32 36 ehavior.was.extended.in.Emacs.26
34c60 2e 31 3a 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 6d .1:...--.Function:.compat-call.m
34c80 61 6b 65 2d 74 65 6d 70 2d 66 69 6c 65 20 70 72 65 66 69 78 20 26 6f 70 74 69 6f 6e 61 6c 20 64 ake-temp-file.prefix.&optional.d
34ca0 69 72 2d 66 6c 61 67 0a 20 20 20 20 20 20 20 20 20 20 73 75 66 66 69 78 20 74 65 78 74 0a 20 20 ir-flag...........suffix.text...
34cc0 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 73 20 61 20 74 65 6d 70 6f ...This.function.creates.a.tempo
34ce0 72 61 72 79 20 66 69 6c 65 20 61 6e 64 20 72 65 74 75 72 6e 73 20 69 74 73 20 6e 61 6d 65 2e 20 rary.file.and.returns.its.name..
34d00 20 45 6d 61 63 73 0a 20 20 20 20 20 63 72 65 61 74 65 73 20 74 68 65 20 74 65 6d 70 6f 72 61 72 .Emacs......creates.the.temporar
34d20 79 20 66 69 6c 65 e2 80 99 73 20 6e 61 6d 65 20 62 79 20 61 64 64 69 6e 67 20 74 6f 20 50 52 45 y.file...s.name.by.adding.to.PRE
34d40 46 49 58 20 73 6f 6d 65 20 72 61 6e 64 6f 6d 0a 20 20 20 20 20 63 68 61 72 61 63 74 65 72 73 20 FIX.some.random......characters.
34d60 74 68 61 74 20 61 72 65 20 64 69 66 66 65 72 65 6e 74 20 69 6e 20 65 61 63 68 20 45 6d 61 63 73 that.are.different.in.each.Emacs
34d80 20 6a 6f 62 2e 20 20 54 68 65 20 72 65 73 75 6c 74 20 69 73 0a 20 20 20 20 20 67 75 61 72 61 6e .job...The.result.is......guaran
34da0 74 65 65 64 20 74 6f 20 62 65 20 61 20 6e 65 77 6c 79 20 63 72 65 61 74 65 64 20 66 69 6c 65 2c teed.to.be.a.newly.created.file,
34dc0 20 63 6f 6e 74 61 69 6e 69 6e 67 20 54 45 58 54 20 69 66 20 74 68 61 74 e2 80 99 73 0a 20 20 20 .containing.TEXT.if.that...s....
34de0 20 20 67 69 76 65 6e 20 61 73 20 61 20 73 74 72 69 6e 67 20 61 6e 64 20 65 6d 70 74 79 20 6f 74 ..given.as.a.string.and.empty.ot
34e00 68 65 72 77 69 73 65 2e 20 20 4f 6e 20 4d 53 2d 44 4f 53 2c 20 74 68 69 73 20 66 75 6e 63 74 69 herwise...On.MS-DOS,.this.functi
34e20 6f 6e 0a 20 20 20 20 20 63 61 6e 20 74 72 75 6e 63 61 74 65 20 50 52 45 46 49 58 20 74 6f 20 66 on......can.truncate.PREFIX.to.f
34e40 69 74 20 69 6e 74 6f 20 74 68 65 20 38 2b 33 20 66 69 6c 65 2d 6e 61 6d 65 20 6c 69 6d 69 74 73 it.into.the.8+3.file-name.limits
34e60 2e 20 20 49 66 0a 20 20 20 20 20 50 52 45 46 49 58 20 69 73 20 61 20 72 65 6c 61 74 69 76 65 20 ...If......PREFIX.is.a.relative.
34e80 66 69 6c 65 20 6e 61 6d 65 2c 20 69 74 20 69 73 20 65 78 70 61 6e 64 65 64 20 61 67 61 69 6e 73 file.name,.it.is.expanded.agains
34ea0 74 0a 20 20 20 20 20 e2 80 98 74 65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 2d 64 69 72 65 63 74 6f t.........temporary-file-directo
34ec0 72 79 e2 80 99 2e 0a 0a 20 20 20 20 20 54 68 65 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 76 ry...........The.compatibility.v
34ee0 65 72 73 69 6f 6e 20 61 64 64 73 20 73 75 70 70 6f 72 74 20 66 6f 72 20 68 61 6e 64 6c 69 6e 67 ersion.adds.support.for.handling
34f00 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 20 54 45 58 54 .the.optional......argument.TEXT
34f20 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 74 65 6d 70 2d 66 69 6c 65 20 22 66 6f .............(make-temp-file."fo
34f40 6f 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 2f 74 6d 70 2f 66 6f 6f o")...................."/tmp/foo
34f60 32 33 32 4a 36 76 22 0a 0a 20 20 20 20 20 57 68 65 6e 20 e2 80 98 6d 61 6b 65 2d 74 65 6d 70 2d 232J6v".......When....make-temp-
34f80 66 69 6c 65 e2 80 99 20 72 65 74 75 72 6e 73 2c 20 74 68 65 20 66 69 6c 65 20 68 61 73 20 62 65 file....returns,.the.file.has.be
34fa0 65 6e 20 63 72 65 61 74 65 64 20 61 6e 64 20 69 73 0a 20 20 20 20 20 65 6d 70 74 79 2e 20 20 41 en.created.and.is......empty...A
34fc0 74 20 74 68 61 74 20 70 6f 69 6e 74 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 77 72 69 74 65 20 74 t.that.point,.you.should.write.t
34fe0 68 65 20 69 6e 74 65 6e 64 65 64 20 63 6f 6e 74 65 6e 74 73 20 69 6e 74 6f 0a 20 20 20 20 20 74 he.intended.contents.into......t
35000 68 65 20 66 69 6c 65 2e 0a 0a 20 20 20 20 20 49 66 20 44 49 52 2d 46 4c 41 47 20 69 73 20 6e 6f he.file........If.DIR-FLAG.is.no
35020 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 e2 80 98 6d 61 6b 65 2d 74 65 6d 70 2d 66 69 6c 65 e2 80 n-...nil...,....make-temp-file..
35040 99 20 63 72 65 61 74 65 73 20 61 6e 20 65 6d 70 74 79 0a 20 20 20 20 20 64 69 72 65 63 74 6f 72 ..creates.an.empty......director
35060 79 20 69 6e 73 74 65 61 64 20 6f 66 20 61 6e 20 65 6d 70 74 79 20 66 69 6c 65 2e 20 20 49 74 20 y.instead.of.an.empty.file...It.
35080 72 65 74 75 72 6e 73 20 74 68 65 20 66 69 6c 65 20 6e 61 6d 65 2c 20 6e 6f 74 0a 20 20 20 20 20 returns.the.file.name,.not......
350a0 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65 2c 20 6f 66 20 74 68 61 74 20 64 69 72 65 the.directory.name,.of.that.dire
350c0 63 74 6f 72 79 2e 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 44 69 72 65 63 74 6f 72 79 0a 20 ctory...*Note.(elisp)Directory..
350e0 20 20 20 20 4e 61 6d 65 73 3a 3a 2e 0a 0a 20 20 20 20 20 49 66 20 53 55 46 46 49 58 20 69 73 20 ....Names::........If.SUFFIX.is.
35100 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 e2 80 98 6d 61 6b 65 2d 74 65 6d 70 2d 66 69 6c 65 non-...nil...,....make-temp-file
35120 e2 80 99 20 61 64 64 73 20 69 74 20 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 0a 20 20 ....adds.it.at.the.end.of.the...
35140 20 20 20 66 69 6c 65 20 6e 61 6d 65 2e 0a 0a 20 20 20 20 20 49 66 20 54 45 58 54 20 69 73 20 61 ...file.name........If.TEXT.is.a
35160 20 73 74 72 69 6e 67 2c 20 e2 80 98 6d 61 6b 65 2d 74 65 6d 70 2d 66 69 6c 65 e2 80 99 20 69 6e .string,....make-temp-file....in
35180 73 65 72 74 73 20 69 74 20 69 6e 20 74 68 65 20 66 69 6c 65 2e 0a 0a 20 20 20 20 20 54 6f 20 70 serts.it.in.the.file........To.p
351a0 72 65 76 65 6e 74 20 63 6f 6e 66 6c 69 63 74 73 20 61 6d 6f 6e 67 20 64 69 66 66 65 72 65 6e 74 revent.conflicts.among.different
351c0 20 6c 69 62 72 61 72 69 65 73 20 72 75 6e 6e 69 6e 67 20 69 6e 20 74 68 65 20 73 61 6d 65 0a 20 .libraries.running.in.the.same..
351e0 20 20 20 20 45 6d 61 63 73 2c 20 65 61 63 68 20 4c 69 73 70 20 70 72 6f 67 72 61 6d 20 74 68 61 ....Emacs,.each.Lisp.program.tha
35200 74 20 75 73 65 73 20 e2 80 98 6d 61 6b 65 2d 74 65 6d 70 2d 66 69 6c 65 e2 80 99 20 73 68 6f 75 t.uses....make-temp-file....shou
35220 6c 64 20 68 61 76 65 20 69 74 73 0a 20 20 20 20 20 6f 77 6e 20 50 52 45 46 49 58 2e 20 20 54 68 ld.have.its......own.PREFIX...Th
35240 65 20 6e 75 6d 62 65 72 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 50 52 45 e.number.added.to.the.end.of.PRE
35260 46 49 58 20 64 69 73 74 69 6e 67 75 69 73 68 65 73 0a 20 20 20 20 20 62 65 74 77 65 65 6e 20 74 FIX.distinguishes......between.t
35280 68 65 20 73 61 6d 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 72 75 6e 6e 69 6e 67 20 69 6e 20 64 he.same.application.running.in.d
352a0 69 66 66 65 72 65 6e 74 20 45 6d 61 63 73 20 6a 6f 62 73 2e 0a 20 20 20 20 20 41 64 64 69 74 69 ifferent.Emacs.jobs.......Additi
352c0 6f 6e 61 6c 20 61 64 64 65 64 20 63 68 61 72 61 63 74 65 72 73 20 70 65 72 6d 69 74 20 61 20 6c onal.added.characters.permit.a.l
352e0 61 72 67 65 20 6e 75 6d 62 65 72 20 6f 66 20 64 69 73 74 69 6e 63 74 20 6e 61 6d 65 73 0a 20 20 arge.number.of.distinct.names...
35300 20 20 20 65 76 65 6e 20 69 6e 20 6f 6e 65 20 45 6d 61 63 73 20 6a 6f 62 2e 0a 0a 20 2d 2d 20 46 ...even.in.one.Emacs.job....--.F
35320 75 6e 63 74 69 6f 6e 3a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 61 73 73 6f 63 20 6b 65 79 20 61 unction:.compat-call.assoc.key.a
35340 6c 69 73 74 20 26 6f 70 74 69 6f 6e 61 6c 20 74 65 73 74 66 6e 0a 20 20 20 20 20 54 68 69 73 20 list.&optional.testfn......This.
35360 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 66 69 72 73 74 20 61 73 73 6f 63 function.returns.the.first.assoc
35380 69 61 74 69 6f 6e 20 66 6f 72 20 4b 45 59 20 69 6e 20 41 4c 49 53 54 2c 0a 20 20 20 20 20 63 6f iation.for.KEY.in.ALIST,......co
353a0 6d 70 61 72 69 6e 67 20 4b 45 59 20 61 67 61 69 6e 73 74 20 74 68 65 20 61 6c 69 73 74 20 65 6c mparing.KEY.against.the.alist.el
353c0 65 6d 65 6e 74 73 20 75 73 69 6e 67 20 54 45 53 54 46 4e 20 69 66 20 69 74 20 69 73 20 61 0a 20 ements.using.TESTFN.if.it.is.a..
353e0 20 20 20 20 66 75 6e 63 74 69 6f 6e 2c 20 61 6e 64 20 e2 80 98 65 71 75 61 6c e2 80 99 20 6f 74 ....function,.and....equal....ot
35400 68 65 72 77 69 73 65 20 28 2a 6e 6f 74 65 20 28 65 6c 69 73 70 29 45 71 75 61 6c 69 74 79 0a 20 herwise.(*note.(elisp)Equality..
35420 20 20 20 20 50 72 65 64 69 63 61 74 65 73 3a 3a 29 2e 20 20 49 66 20 54 45 53 54 46 4e 20 69 73 ....Predicates::)...If.TESTFN.is
35440 20 61 20 66 75 6e 63 74 69 6f 6e 2c 20 69 74 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 .a.function,.it.is.called.with.t
35460 77 6f 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 73 3a 20 74 68 65 20 43 41 52 20 6f 66 20 61 6e wo......arguments:.the.CAR.of.an
35480 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 41 4c 49 53 54 20 61 6e 64 20 4b 45 59 2e 20 20 54 68 .element.from.ALIST.and.KEY...Th
354a0 65 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 72 65 74 75 72 6e 73 20 e2 80 98 6e 69 6c e2 80 e.function......returns....nil..
354c0 99 20 69 66 20 6e 6f 20 61 73 73 6f 63 69 61 74 69 6f 6e 20 69 6e 20 41 4c 49 53 54 20 68 61 73 ..if.no.association.in.ALIST.has
354e0 20 61 20 43 41 52 20 65 71 75 61 6c 20 74 6f 20 4b 45 59 2c 20 61 73 0a 20 20 20 20 20 74 65 73 .a.CAR.equal.to.KEY,.as......tes
35500 74 65 64 20 62 79 20 54 45 53 54 46 4e 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 ted.by.TESTFN........*Note.(elis
35520 70 29 41 73 73 6f 63 69 61 74 69 6f 6e 20 4c 69 73 74 73 3a 3a 2e 0a 0a 20 20 20 20 20 54 68 65 p)Association.Lists::........The
35540 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 76 65 72 73 69 6f 6e 20 61 64 64 73 20 73 75 70 70 .compatibility.version.adds.supp
35560 6f 72 74 20 66 6f 72 20 68 61 6e 64 6c 69 6e 67 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 0a 20 20 ort.for.handling.the.optional...
35580 20 20 20 61 72 67 75 6d 65 6e 74 20 54 45 53 54 46 4e 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f ...argument.TESTFN....--.Functio
355a0 6e 3a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 6c 69 6e 65 2d 6e 75 6d 62 65 72 2d 61 74 2d 70 6f n:.compat-call.line-number-at-po
355c0 73 20 26 6f 70 74 69 6f 6e 61 6c 20 70 6f 73 20 61 62 73 6f 6c 75 74 65 0a 20 20 20 20 20 54 68 s.&optional.pos.absolute......Th
355e0 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 6c 69 6e 65 20 6e 75 6d is.function.returns.the.line.num
35600 62 65 72 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 0a 20 20 20 20 20 63 ber.in.the.current.buffer......c
35620 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 62 75 66 66 65 72 20 70 6f 73 69 74 orresponding.to.the.buffer.posit
35640 69 6f 6e 20 50 4f 53 2e 20 20 49 66 20 50 4f 53 20 69 73 20 e2 80 98 6e 69 6c e2 80 99 20 6f 72 ion.POS...If.POS.is....nil....or
35660 0a 20 20 20 20 20 6f 6d 69 74 74 65 64 2c 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 ......omitted,.the.current.buffe
35680 72 20 70 6f 73 69 74 69 6f 6e 20 69 73 20 75 73 65 64 2e 20 20 49 66 20 41 42 53 4f 4c 55 54 45 r.position.is.used...If.ABSOLUTE
356a0 20 69 73 0a 20 20 20 20 20 e2 80 98 6e 69 6c e2 80 99 2c 20 74 68 65 20 64 65 66 61 75 6c 74 2c .is.........nil...,.the.default,
356c0 20 63 6f 75 6e 74 69 6e 67 20 73 74 61 72 74 73 20 61 74 20 e2 80 98 28 70 6f 69 6e 74 2d 6d 69 .counting.starts.at....(point-mi
356e0 6e 29 e2 80 99 2c 20 73 6f 20 74 68 65 20 76 61 6c 75 65 0a 20 20 20 20 20 72 65 66 65 72 73 20 n)...,.so.the.value......refers.
35700 74 6f 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 68 65 20 61 63 63 65 73 73 69 62 6c to.the.contents.of.the.accessibl
35720 65 20 70 6f 72 74 69 6f 6e 20 6f 66 20 74 68 65 0a 20 20 20 20 20 28 70 6f 74 65 6e 74 69 61 6c e.portion.of.the......(potential
35740 6c 79 20 6e 61 72 72 6f 77 65 64 29 20 62 75 66 66 65 72 2e 20 20 49 66 20 41 42 53 4f 4c 55 54 ly.narrowed).buffer...If.ABSOLUT
35760 45 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 69 67 6e 6f 72 65 0a 20 20 20 20 20 E.is.non-...nil...,.ignore......
35780 61 6e 79 20 6e 61 72 72 6f 77 69 6e 67 20 61 6e 64 20 72 65 74 75 72 6e 0a 0a 20 20 20 20 20 2a any.narrowing.and.return.......*
357a0 4e 6f 74 65 20 28 65 6c 69 73 70 29 54 65 78 74 20 4c 69 6e 65 73 3a 3a 2e 0a 0a 20 20 20 20 20 Note.(elisp)Text.Lines::........
357c0 54 68 65 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 76 65 72 73 69 6f 6e 20 61 64 64 73 20 73 The.compatibility.version.adds.s
357e0 75 70 70 6f 72 74 20 66 6f 72 20 68 61 6e 64 6c 69 6e 67 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c upport.for.handling.the.optional
35800 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 20 41 42 53 4f 4c 55 54 45 2e 0a 0a 20 2d 2d 20 46 75 ......argument.ABSOLUTE....--.Fu
35820 6e 63 74 69 6f 6e 3a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 61 6c 69 73 74 2d 67 65 74 20 6b 65 nction:.compat-call.alist-get.ke
35840 79 20 61 6c 69 73 74 20 26 6f 70 74 69 6f 6e 61 6c 20 64 65 66 61 75 6c 74 20 72 65 6d 6f 76 65 y.alist.&optional.default.remove
35860 0a 20 20 20 20 20 20 20 20 20 20 74 65 73 74 66 6e 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c ...........testfn......*Note.(el
35880 69 73 70 29 41 73 73 6f 63 69 61 74 69 6f 6e 20 4c 69 73 74 73 3a 3a 2e 20 20 54 68 69 73 20 66 isp)Association.Lists::...This.f
358a0 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 0a 20 20 20 20 20 e2 80 98 61 73 unction.is.similar.to.........as
358c0 73 71 e2 80 99 2e 20 20 49 74 20 66 69 6e 64 73 20 74 68 65 20 66 69 72 73 74 20 61 73 73 6f 63 sq......It.finds.the.first.assoc
358e0 69 61 74 69 6f 6e 20 e2 80 98 28 4b 45 59 20 2e 20 56 41 4c 55 45 29 e2 80 99 20 62 79 0a 20 20 iation....(KEY...VALUE)....by...
35900 20 20 20 63 6f 6d 70 61 72 69 6e 67 20 4b 45 59 20 77 69 74 68 20 41 4c 49 53 54 20 65 6c 65 6d ...comparing.KEY.with.ALIST.elem
35920 65 6e 74 73 2c 20 61 6e 64 2c 20 69 66 20 66 6f 75 6e 64 2c 20 72 65 74 75 72 6e 73 20 74 68 65 ents,.and,.if.found,.returns.the
35940 20 56 41 4c 55 45 0a 20 20 20 20 20 6f 66 20 74 68 61 74 20 61 73 73 6f 63 69 61 74 69 6f 6e 2e .VALUE......of.that.association.
35960 20 20 49 66 20 6e 6f 20 61 73 73 6f 63 69 61 74 69 6f 6e 20 69 73 20 66 6f 75 6e 64 2c 20 74 68 ..If.no.association.is.found,.th
35980 65 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 72 65 74 75 72 6e 73 20 44 45 46 41 55 4c 54 2e e.function......returns.DEFAULT.
359a0 20 20 43 6f 6d 70 61 72 69 73 6f 6e 20 6f 66 20 4b 45 59 20 61 67 61 69 6e 73 74 20 41 4c 49 53 ..Comparison.of.KEY.against.ALIS
359c0 54 20 65 6c 65 6d 65 6e 74 73 20 75 73 65 73 20 74 68 65 0a 20 20 20 20 20 66 75 6e 63 74 69 6f T.elements.uses.the......functio
359e0 6e 20 73 70 65 63 69 66 69 65 64 20 62 79 20 54 45 53 54 46 4e 2c 20 64 65 66 61 75 6c 74 69 6e n.specified.by.TESTFN,.defaultin
35a00 67 20 74 6f 20 e2 80 98 65 71 e2 80 99 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 g.to....eq...........*Note.(elis
35a20 70 29 41 73 73 6f 63 69 61 74 69 6f 6e 20 4c 69 73 74 73 3a 3a 2e 0a 0a 20 20 20 20 20 54 68 65 p)Association.Lists::........The
35a40 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 76 65 72 73 69 6f 6e 20 68 61 6e 64 6c 65 73 20 74 .compatibility.version.handles.t
35a60 68 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 54 45 53 54 46 4e 2e 20 20 49 74 he.optional.argument.TESTFN...It
35a80 0a 20 20 20 20 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 75 73 65 64 20 61 73 20 61 20 2a 6e 6f 74 ......can.also.be.used.as.a.*not
35aa0 65 20 47 65 6e 65 72 61 6c 69 7a 65 64 20 56 61 72 69 61 62 6c 65 73 3a 0a 20 20 20 20 20 28 65 e.Generalized.Variables:......(e
35ac0 6c 69 73 70 29 67 65 6e 65 72 61 6c 69 73 65 64 20 76 61 72 69 61 62 6c 65 2e 0a 0a 20 2d 2d 20 lisp)generalised.variable....--.
35ae0 46 75 6e 63 74 69 6f 6e 3a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 73 74 72 69 6e 67 2d 74 72 69 Function:.compat-call.string-tri
35b00 6d 2d 6c 65 66 74 20 73 74 72 69 6e 67 20 26 6f 70 74 69 6f 6e 61 6c 20 72 65 67 65 78 70 0a 20 m-left.string.&optional.regexp..
35b20 20 20 20 20 52 65 6d 6f 76 65 20 74 68 65 20 6c 65 61 64 69 6e 67 20 74 65 78 74 20 74 68 61 74 ....Remove.the.leading.text.that
35b40 20 6d 61 74 63 68 65 73 20 52 45 47 45 58 50 20 66 72 6f 6d 20 53 54 52 49 4e 47 2e 20 20 52 45 .matches.REGEXP.from.STRING...RE
35b60 47 45 58 50 0a 20 20 20 20 20 64 65 66 61 75 6c 74 73 20 74 6f 20 e2 80 98 5b 20 5c 74 5c 6e 5c GEXP......defaults.to....[.\t\n\
35b80 72 5d 2b e2 80 99 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 43 72 65 61 74 r]+...........*Note.(elisp)Creat
35ba0 69 6e 67 20 53 74 72 69 6e 67 73 3a 3a 2e 0a 0a 20 20 20 20 20 54 68 65 20 63 6f 6d 70 61 74 69 ing.Strings::........The.compati
35bc0 62 69 6c 69 74 79 20 76 65 72 73 69 6f 6e 20 68 61 6e 64 6c 65 73 20 74 68 65 20 6f 70 74 69 6f bility.version.handles.the.optio
35be0 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 52 45 47 45 58 50 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 nal.argument.REGEXP....--.Functi
35c00 6f 6e 3a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 73 74 72 69 6e 67 2d 74 72 69 6d 2d 72 69 67 68 on:.compat-call.string-trim-righ
35c20 74 20 73 74 72 69 6e 67 20 26 6f 70 74 69 6f 6e 61 6c 20 72 65 67 65 78 70 0a 20 20 20 20 20 52 t.string.&optional.regexp......R
35c40 65 6d 6f 76 65 20 74 68 65 20 74 72 61 69 6c 69 6e 67 20 74 65 78 74 20 74 68 61 74 20 6d 61 74 emove.the.trailing.text.that.mat
35c60 63 68 65 73 20 52 45 47 45 58 50 20 66 72 6f 6d 20 53 54 52 49 4e 47 2e 20 20 52 45 47 45 58 50 ches.REGEXP.from.STRING...REGEXP
35c80 0a 20 20 20 20 20 64 65 66 61 75 6c 74 73 20 74 6f 20 e2 80 98 5b 20 5c 74 5c 6e 5c 72 5d 2b e2 ......defaults.to....[.\t\n\r]+.
35ca0 80 99 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 43 72 65 61 74 69 6e 67 20 ..........*Note.(elisp)Creating.
35cc0 53 74 72 69 6e 67 73 3a 3a 2e 0a 0a 20 20 20 20 20 54 68 65 20 63 6f 6d 70 61 74 69 62 69 6c 69 Strings::........The.compatibili
35ce0 74 79 20 76 65 72 73 69 6f 6e 20 68 61 6e 64 6c 65 73 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 ty.version.handles.the.optional.
35d00 61 72 67 75 6d 65 6e 74 20 52 45 47 45 58 50 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 argument.REGEXP....--.Function:.
35d20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 73 74 72 69 6e 67 2d 74 72 69 6d 20 73 74 72 69 6e 67 20 26 compat-call.string-trim.string.&
35d40 6f 70 74 69 6f 6e 61 6c 20 74 72 69 6d 2d 6c 65 66 74 0a 20 20 20 20 20 20 20 20 20 20 74 72 69 optional.trim-left...........tri
35d60 6d 2d 72 69 67 68 74 0a 20 20 20 20 20 52 65 6d 6f 76 65 20 74 68 65 20 6c 65 61 64 69 6e 67 20 m-right......Remove.the.leading.
35d80 74 65 78 74 20 74 68 61 74 20 6d 61 74 63 68 65 73 20 54 52 49 4d 2d 4c 45 46 54 20 61 6e 64 20 text.that.matches.TRIM-LEFT.and.
35da0 74 72 61 69 6c 69 6e 67 20 74 65 78 74 0a 20 20 20 20 20 74 68 61 74 20 6d 61 74 63 68 65 73 20 trailing.text......that.matches.
35dc0 54 52 49 4d 2d 52 49 47 48 54 20 66 72 6f 6d 20 53 54 52 49 4e 47 2e 20 20 42 6f 74 68 20 72 65 TRIM-RIGHT.from.STRING...Both.re
35de0 67 65 78 70 73 20 64 65 66 61 75 6c 74 20 74 6f 20 e2 80 98 5b 0a 20 20 20 20 20 5c 74 5c 6e 5c gexps.default.to....[......\t\n\
35e00 72 5d 2b e2 80 99 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 43 72 65 61 74 r]+...........*Note.(elisp)Creat
35e20 69 6e 67 20 53 74 72 69 6e 67 73 3a 3a 2e 0a 0a 20 20 20 20 20 54 68 65 20 63 6f 6d 70 61 74 69 ing.Strings::........The.compati
35e40 62 69 6c 69 74 79 20 76 65 72 73 69 6f 6e 20 68 61 6e 64 6c 65 73 20 74 68 65 20 6f 70 74 69 6f bility.version.handles.the.optio
35e60 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73 20 54 52 49 4d 2d 4c 45 46 54 0a 20 20 20 20 20 61 6e 64 nal.arguments.TRIM-LEFT......and
35e80 20 54 52 49 4d 2d 52 49 47 48 54 2e 0a 0a 32 2e 32 2e 33 20 4d 69 73 73 69 6e 67 20 44 65 66 69 .TRIM-RIGHT...2.2.3.Missing.Defi
35ea0 6e 69 74 69 6f 6e 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d nitions.------------------------
35ec0 2d 0a 0a 43 6f 6d 70 61 74 20 64 6f 65 73 20 6e 6f 74 20 70 72 6f 76 69 64 65 20 73 75 70 70 6f -..Compat.does.not.provide.suppo
35ee0 72 74 20 66 6f 72 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 4c 69 73 70 20 66 65 61 74 75 72 rt.for.the.following.Lisp.featur
35f00 65 73 0a 69 6d 70 6c 65 6d 65 6e 74 65 64 20 69 6e 20 32 36 2e 31 3a 0a 0a 20 20 20 e2 80 a2 20 es.implemented.in.26.1:.........
35f20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 66 75 6e 63 2d 61 72 69 74 79 e2 80 99 2e 0a 20 The.function....func-arity......
35f40 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 73 65 63 75 72 65 2d 68 61 73 ......The.function....secure-has
35f60 68 2d 61 6c 67 6f 72 69 74 68 6d 73 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 h-algorithms............The.func
35f80 74 69 6f 6e 20 e2 80 98 67 6e 75 74 6c 73 2d 61 76 61 69 6c 61 62 6c 65 2d 70 e2 80 99 2e 0a 20 tion....gnutls-available-p......
35fa0 20 20 e2 80 a2 20 53 75 70 70 6f 72 74 20 66 6f 72 20 72 65 63 6f 72 64 73 20 61 6e 64 20 72 65 ......Support.for.records.and.re
35fc0 63 6f 72 64 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 cord.functions.........The.funct
35fe0 69 6f 6e 20 e2 80 98 6d 61 70 62 61 63 6b 74 72 61 63 65 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 ion....mapbacktrace............T
36000 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 66 69 6c 65 2d 6e 61 6d 65 2d 63 61 73 65 2d 69 6e he.function....file-name-case-in
36020 73 65 6e 73 69 74 69 76 65 2d 70 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 61 64 64 69 74 sensitive-p............The.addit
36040 69 6f 6e 61 6c 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 e2 80 98 70 61 72 73 65 2d 70 61 72 74 69 ional.elements.of....parse-parti
36060 61 6c 2d 73 65 78 70 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 al-sexp............The.function.
36080 e2 80 98 61 64 64 2d 76 61 72 69 61 62 6c 65 2d 77 61 74 63 68 65 72 e2 80 99 2e 0a 20 20 20 e2 ...add-variable-watcher.........
360a0 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 75 6e 64 6f 2d 61 6d 61 6c 67 61 6d 61 ...The.function....undo-amalgama
360c0 74 65 2d 63 68 61 6e 67 65 2d 67 72 6f 75 70 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 te-change-group............The.f
360e0 75 6e 63 74 69 6f 6e 20 e2 80 98 63 68 61 72 2d 66 72 6f 6d 2d 6e 61 6d 65 e2 80 99 0a 20 20 20 unction....char-from-name.......
36100 e2 80 a2 20 53 69 67 6e 61 6c 6c 69 6e 67 20 65 72 72 6f 72 73 20 77 68 65 6e 20 e2 80 98 6c 65 ....Signalling.errors.when....le
36120 6e 67 74 68 e2 80 99 20 6f 72 20 e2 80 98 6d 65 6d 62 65 72 e2 80 99 20 64 65 61 6c 20 77 69 74 ngth....or....member....deal.wit
36140 68 20 6c 69 73 74 20 63 79 63 6c 65 73 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 h.list.cycles.........The.functi
36160 6f 6e 20 e2 80 98 66 72 61 6d 65 2d 6c 69 73 74 2d 7a 2d 6f 72 64 65 72 e2 80 99 2e 0a 20 20 20 on....frame-list-z-order........
36180 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 66 72 61 6d 65 2d 72 65 73 74 61 63 ....The.function....frame-restac
361a0 6b e2 80 99 2e 0a 20 20 20 e2 80 a2 20 41 6c 6c 20 63 68 61 6e 67 65 73 20 72 65 6c 61 74 65 64 k............All.changes.related
361c0 20 74 6f 20 e2 80 98 64 69 73 70 6c 61 79 2d 62 75 66 66 65 72 e2 80 99 2e 0a 20 20 20 e2 80 a2 .to....display-buffer...........
361e0 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 77 69 6e 64 6f 77 2d 73 77 61 70 2d 73 74 61 .The.function....window-swap-sta
36200 74 65 73 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 73 tes............The.function....s
36220 74 72 69 6e 67 2d 76 65 72 73 69 6f 6e 2d 6c 65 73 73 70 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 tring-version-lessp............T
36240 68 65 20 e2 80 98 78 64 67 e2 80 99 20 6c 69 62 72 61 72 79 2e 0a 20 20 20 e2 80 a2 20 54 68 65 he....xdg....library.........The
36260 20 e2 80 98 73 76 67 e2 80 99 20 6c 69 62 72 61 72 79 20 28 70 75 62 6c 69 73 68 65 64 20 73 65 ....svg....library.(published.se
36280 70 61 72 61 74 65 6c 79 20 61 73 20 61 20 3a 63 6f 72 65 20 70 61 63 6b 61 67 65 29 2e 0a 0a 1f parately.as.a.:core.package)....
362a0 0a 46 69 6c 65 3a 20 64 6f 63 32 33 47 70 47 36 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 45 6d .File:.doc23GpG6.info,..Node:.Em
362c0 61 63 73 20 32 37 2e 31 2c 20 20 4e 65 78 74 3a 20 45 6d 61 63 73 20 32 38 2e 31 2c 20 20 50 72 acs.27.1,..Next:.Emacs.28.1,..Pr
362e0 65 76 3a 20 45 6d 61 63 73 20 32 36 2e 31 2c 20 20 55 70 3a 20 53 75 70 70 6f 72 74 0a 0a 32 2e ev:.Emacs.26.1,..Up:.Support..2.
36300 33 20 45 6d 61 63 73 20 32 37 2e 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 32 2e 33 3.Emacs.27.1.==============..2.3
36320 2e 31 20 41 64 64 65 64 20 44 65 66 69 6e 69 74 69 6f 6e 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .1.Added.Definitions.-----------
36340 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 75 6e 63 ------------..The.following.func
36360 74 69 6f 6e 73 20 61 6e 64 20 6d 61 63 72 6f 73 20 61 72 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 tions.and.macros.are.implemented
36380 20 69 6e 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 54 68 65 73 65 0a 66 75 6e 63 74 69 6f 6e 73 .in.Emacs.27.1...These.functions
363a0 20 61 72 65 20 6d 61 64 65 20 61 76 61 69 6c 61 62 6c 65 20 62 79 20 43 6f 6d 70 61 74 20 6f 6e .are.made.available.by.Compat.on
363c0 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 73 20 6f 6c 64 65 72 20 74 68 61 6e 0a 32 37 2e 31 2e .Emacs.versions.older.than.27.1.
363e0 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6d 61 6a 6f 72 2d 6d 6f 64 65 2d 73 75 73 70 65 ...--.Function:.major-mode-suspe
36400 6e 64 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 6f 72 6b 73 20 6c 69 6b 65 nd......This.function.works.like
36420 20 e2 80 98 66 75 6e 64 61 6d 65 6e 74 61 6c 2d 6d 6f 64 65 e2 80 99 2c 20 69 6e 20 74 68 61 74 ....fundamental-mode...,.in.that
36440 20 69 74 20 6b 69 6c 6c 73 20 61 6c 6c 0a 20 20 20 20 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 .it.kills.all......buffer-local.
36460 76 61 72 69 61 62 6c 65 73 2c 20 62 75 74 20 69 74 20 61 6c 73 6f 20 72 65 63 6f 72 64 73 20 74 variables,.but.it.also.records.t
36480 68 65 20 6d 61 6a 6f 72 20 6d 6f 64 65 20 69 6e 0a 20 20 20 20 20 65 66 66 65 63 74 2c 20 73 6f he.major.mode.in......effect,.so
364a0 20 74 68 61 74 20 69 74 20 63 6f 75 6c 64 20 73 75 62 73 65 71 75 65 6e 74 6c 79 20 62 65 20 72 .that.it.could.subsequently.be.r
364c0 65 73 74 6f 72 65 64 2e 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 61 6e 64 estored...This.function......and
364e0 20 e2 80 98 6d 61 6a 6f 72 2d 6d 6f 64 65 2d 72 65 73 74 6f 72 65 e2 80 99 20 28 64 65 73 63 72 ....major-mode-restore....(descr
36500 69 62 65 64 20 6e 65 78 74 29 20 61 72 65 20 75 73 65 66 75 6c 20 77 68 65 6e 20 79 6f 75 20 6e ibed.next).are.useful.when.you.n
36520 65 65 64 0a 20 20 20 20 20 74 6f 20 70 75 74 20 61 20 62 75 66 66 65 72 20 75 6e 64 65 72 20 73 eed......to.put.a.buffer.under.s
36540 6f 6d 65 20 73 70 65 63 69 61 6c 69 7a 65 64 20 6d 6f 64 65 20 6f 74 68 65 72 20 74 68 61 6e 20 ome.specialized.mode.other.than.
36560 74 68 65 20 6f 6e 65 0a 20 20 20 20 20 45 6d 61 63 73 20 63 68 6f 6f 73 65 73 20 66 6f 72 20 69 the.one......Emacs.chooses.for.i
36580 74 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 2c 20 62 75 74 20 77 6f 75 6c 64 20 61 6c 73 6f 20 t.automatically,.but.would.also.
365a0 6c 69 6b 65 20 74 6f 20 62 65 20 61 62 6c 65 0a 20 20 20 20 20 74 6f 20 73 77 69 74 63 68 20 62 like.to.be.able......to.switch.b
365c0 61 63 6b 20 74 6f 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 6d 6f 64 65 20 6c 61 74 65 72 2e 0a ack.to.the.original.mode.later..
365e0 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6d 61 6a 6f 72 2d 6d 6f 64 65 2d 72 65 73 74 6f 72 ..--.Function:.major-mode-restor
36600 65 20 26 6f 70 74 69 6f 6e 61 6c 20 61 76 6f 69 64 65 64 2d 6d 6f 64 65 73 0a 20 20 20 20 20 54 e.&optional.avoided-modes......T
36620 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 73 74 6f 72 65 73 20 74 68 65 20 6d 61 6a 6f 72 20 his.function.restores.the.major.
36640 6d 6f 64 65 20 72 65 63 6f 72 64 65 64 20 62 79 0a 20 20 20 20 20 e2 80 98 6d 61 6a 6f 72 2d 6d mode.recorded.by.........major-m
36660 6f 64 65 2d 73 75 73 70 65 6e 64 e2 80 99 2e 20 20 49 66 20 6e 6f 20 6d 61 6a 6f 72 20 6d 6f 64 ode-suspend......If.no.major.mod
36680 65 20 77 61 73 20 72 65 63 6f 72 64 65 64 2c 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 0a 20 20 e.was.recorded,.this.function...
366a0 20 20 20 63 61 6c 6c 73 20 e2 80 98 6e 6f 72 6d 61 6c 2d 6d 6f 64 65 e2 80 99 2c 20 62 75 74 20 ...calls....normal-mode...,.but.
366c0 74 72 69 65 73 20 74 6f 20 66 6f 72 63 65 20 69 74 20 6e 6f 74 20 74 6f 20 63 68 6f 6f 73 65 20 tries.to.force.it.not.to.choose.
366e0 61 6e 79 20 6d 6f 64 65 73 0a 20 20 20 20 20 69 6e 20 41 56 4f 49 44 45 44 2d 4d 4f 44 45 53 2c any.modes......in.AVOIDED-MODES,
36700 20 69 66 20 74 68 61 74 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 .if.that.argument.is.non-...nil.
36720 80 99 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 72 69 6e 67 2d 72 65 73 69 7a 65 20 72 ......--.Function:.ring-resize.r
36740 69 6e 67 20 73 69 7a 65 0a 20 20 20 20 20 53 65 74 20 74 68 65 20 73 69 7a 65 20 6f 66 20 52 49 ing.size......Set.the.size.of.RI
36760 4e 47 20 74 6f 20 53 49 5a 45 2e 20 20 49 66 20 74 68 65 20 6e 65 77 20 73 69 7a 65 20 69 73 20 NG.to.SIZE...If.the.new.size.is.
36780 73 6d 61 6c 6c 65 72 2c 20 74 68 65 6e 20 74 68 65 0a 20 20 20 20 20 6f 6c 64 65 73 74 20 69 74 smaller,.then.the......oldest.it
367a0 65 6d 73 20 69 6e 20 74 68 65 20 72 69 6e 67 20 61 72 65 20 64 69 73 63 61 72 64 65 64 2e 0a 0a ems.in.the.ring.are.discarded...
367c0 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6d 69 6e 69 62 75 66 66 65 72 2d 68 69 73 74 6f 72 79 .--.Function:.minibuffer-history
367e0 2d 76 61 6c 75 65 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 -value......Return.the.value.of.
36800 74 68 65 20 6d 69 6e 69 62 75 66 66 65 72 20 69 6e 70 75 74 20 68 69 73 74 6f 72 79 20 6c 69 73 the.minibuffer.input.history.lis
36820 74 2e 20 20 49 66 0a 20 20 20 20 20 4d 49 4e 49 42 55 46 46 45 52 2d 48 49 53 54 4f 52 59 2d 56 t...If......MINIBUFFER-HISTORY-V
36840 41 52 49 41 42 4c 45 20 70 6f 69 6e 74 73 20 74 6f 20 61 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c ARIABLE.points.to.a.buffer-local
36860 20 76 61 72 69 61 62 6c 65 20 61 6e 64 0a 20 20 20 20 20 74 68 65 20 6d 69 6e 69 62 75 66 66 65 .variable.and......the.minibuffe
36880 72 20 69 73 20 61 63 74 69 76 65 2c 20 72 65 74 75 72 6e 20 74 68 65 20 62 75 66 66 65 72 2d 6c r.is.active,.return.the.buffer-l
368a0 6f 63 61 6c 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 0a 20 20 20 20 20 62 75 66 66 65 72 20 74 ocal.value.for.the......buffer.t
368c0 68 61 74 20 77 61 73 20 63 75 72 72 65 6e 74 20 77 68 65 6e 20 74 68 65 20 6d 69 6e 69 62 75 66 hat.was.current.when.the.minibuf
368e0 66 65 72 20 77 61 73 20 61 63 74 69 76 61 74 65 64 2e 22 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 fer.was.activated."...--.Macro:.
36900 77 69 74 68 2d 6d 69 6e 69 62 75 66 66 65 72 2d 73 65 6c 65 63 74 65 64 2d 77 69 6e 64 6f 77 20 with-minibuffer-selected-window.
36920 26 72 65 73 74 20 62 6f 64 79 0a 20 20 20 20 20 45 78 65 63 75 74 65 20 74 68 65 20 66 6f 72 6d &rest.body......Execute.the.form
36940 73 20 69 6e 20 42 4f 44 59 20 66 72 6f 6d 20 74 68 65 20 6d 69 6e 69 62 75 66 66 65 72 20 69 6e s.in.BODY.from.the.minibuffer.in
36960 20 69 74 73 20 6f 72 69 67 69 6e 61 6c 0a 20 20 20 20 20 77 69 6e 64 6f 77 2e 20 20 57 68 65 6e .its.original......window...When
36980 20 75 73 65 64 20 69 6e 20 61 20 6d 69 6e 69 62 75 66 66 65 72 20 77 69 6e 64 6f 77 2c 20 73 65 .used.in.a.minibuffer.window,.se
369a0 6c 65 63 74 20 74 68 65 20 77 69 6e 64 6f 77 0a 20 20 20 20 20 73 65 6c 65 63 74 65 64 20 6a 75 lect.the.window......selected.ju
369c0 73 74 20 62 65 66 6f 72 65 20 74 68 65 20 6d 69 6e 69 62 75 66 66 65 72 20 77 61 73 20 61 63 74 st.before.the.minibuffer.was.act
369e0 69 76 61 74 65 64 2c 20 61 6e 64 20 65 78 65 63 75 74 65 20 74 68 65 0a 20 20 20 20 20 66 6f 72 ivated,.and.execute.the......for
36a00 6d 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 72 65 61 64 2d 63 68 61 72 2d 66 72 6f ms....--.Function:.read-char-fro
36a20 6d 2d 6d 69 6e 69 62 75 66 66 65 72 20 70 72 6f 6d 70 74 20 26 6f 70 74 69 6f 6e 61 6c 20 63 68 m-minibuffer.prompt.&optional.ch
36a40 61 72 73 20 68 69 73 74 6f 72 79 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 75 ars.history......This.function.u
36a60 73 65 73 20 74 68 65 20 6d 69 6e 69 62 75 66 66 65 72 20 74 6f 20 72 65 61 64 20 61 6e 64 20 72 ses.the.minibuffer.to.read.and.r
36a80 65 74 75 72 6e 20 61 20 73 69 6e 67 6c 65 0a 20 20 20 20 20 63 68 61 72 61 63 74 65 72 2e 20 20 eturn.a.single......character...
36aa0 4f 70 74 69 6f 6e 61 6c 6c 79 2c 20 69 74 20 69 67 6e 6f 72 65 73 20 61 6e 79 20 69 6e 70 75 74 Optionally,.it.ignores.any.input
36ac0 20 74 68 61 74 20 69 73 20 6e 6f 74 20 61 20 6d 65 6d 62 65 72 0a 20 20 20 20 20 6f 66 20 43 48 .that.is.not.a.member......of.CH
36ae0 41 52 53 2c 20 61 20 6c 69 73 74 20 6f 66 20 61 63 63 65 70 74 65 64 20 63 68 61 72 61 63 74 65 ARS,.a.list.of.accepted.characte
36b00 72 73 2e 20 20 54 68 65 20 48 49 53 54 4f 52 59 20 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 20 73 rs...The.HISTORY.argument......s
36b20 70 65 63 69 66 69 65 73 20 74 68 65 20 68 69 73 74 6f 72 79 20 6c 69 73 74 20 73 79 6d 62 6f 6c pecifies.the.history.list.symbol
36b40 20 74 6f 20 75 73 65 3b 20 69 66 20 69 74 20 69 73 20 6f 6d 69 74 74 65 64 20 6f 72 0a 20 20 20 .to.use;.if.it.is.omitted.or....
36b60 20 20 e2 80 98 6e 69 6c e2 80 99 2c 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 64 6f 65 73 6e .....nil...,.this.function.doesn
36b80 e2 80 99 74 20 75 73 65 20 74 68 65 20 68 69 73 74 6f 72 79 2e 0a 0a 20 20 20 20 20 49 66 20 79 ...t.use.the.history........If.y
36ba0 6f 75 20 62 69 6e 64 20 e2 80 98 68 65 6c 70 2d 66 6f 72 6d e2 80 99 20 74 6f 20 61 20 6e 6f 6e ou.bind....help-form....to.a.non
36bc0 2d e2 80 98 6e 69 6c e2 80 99 20 76 61 6c 75 65 20 77 68 69 6c 65 20 63 61 6c 6c 69 6e 67 0a 20 -...nil....value.while.calling..
36be0 20 20 20 20 e2 80 98 72 65 61 64 2d 63 68 61 72 2d 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 66 65 72 .......read-char-from-minibuffer
36c00 e2 80 99 2c 20 74 68 65 6e 20 70 72 65 73 73 69 6e 67 20 e2 80 98 68 65 6c 70 2d 63 68 61 72 e2 ...,.then.pressing....help-char.
36c20 80 99 20 63 61 75 73 65 73 20 69 74 20 74 6f 0a 20 20 20 20 20 65 76 61 6c 75 61 74 65 20 e2 80 ...causes.it.to......evaluate...
36c40 98 68 65 6c 70 2d 66 6f 72 6d e2 80 99 20 61 6e 64 20 64 69 73 70 6c 61 79 20 74 68 65 20 72 65 .help-form....and.display.the.re
36c60 73 75 6c 74 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 62 69 67 6e 75 6d 70 20 6f 62 6a sult....--.Function:.bignump.obj
36c80 65 63 74 0a 20 20 20 20 20 54 68 69 73 20 70 72 65 64 69 63 61 74 65 20 74 65 73 74 73 20 77 68 ect......This.predicate.tests.wh
36ca0 65 74 68 65 72 20 69 74 73 20 61 72 67 75 6d 65 6e 74 20 69 73 20 61 20 6c 61 72 67 65 20 69 6e ether.its.argument.is.a.large.in
36cc0 74 65 67 65 72 2c 20 61 6e 64 0a 20 20 20 20 20 72 65 74 75 72 6e 73 20 e2 80 98 74 e2 80 99 20 teger,.and......returns....t....
36ce0 69 66 20 73 6f 2c 20 e2 80 98 6e 69 6c e2 80 99 20 6f 74 68 65 72 77 69 73 65 2e 20 20 55 6e 6c if.so,....nil....otherwise...Unl
36d00 69 6b 65 20 73 6d 61 6c 6c 20 69 6e 74 65 67 65 72 73 2c 20 6c 61 72 67 65 0a 20 20 20 20 20 69 ike.small.integers,.large......i
36d20 6e 74 65 67 65 72 73 20 63 61 6e 20 62 65 20 e2 80 98 3d e2 80 99 20 6f 72 20 e2 80 98 65 71 6c ntegers.can.be....=....or....eql
36d40 e2 80 99 20 65 76 65 6e 20 69 66 20 74 68 65 79 20 61 72 65 20 6e 6f 74 20 e2 80 98 65 71 e2 80 ....even.if.they.are.not....eq..
36d60 99 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 66 69 78 6e 75 6d 70 20 6f 62 6a 65 63 74 .....--.Function:.fixnump.object
36d80 0a 20 20 20 20 20 54 68 69 73 20 70 72 65 64 69 63 61 74 65 20 74 65 73 74 73 20 77 68 65 74 68 ......This.predicate.tests.wheth
36da0 65 72 20 69 74 73 20 61 72 67 75 6d 65 6e 74 20 69 73 20 61 20 73 6d 61 6c 6c 20 69 6e 74 65 67 er.its.argument.is.a.small.integ
36dc0 65 72 2c 20 61 6e 64 0a 20 20 20 20 20 72 65 74 75 72 6e 73 20 e2 80 98 74 e2 80 99 20 69 66 20 er,.and......returns....t....if.
36de0 73 6f 2c 20 e2 80 98 6e 69 6c e2 80 99 20 6f 74 68 65 72 77 69 73 65 2e 20 20 53 6d 61 6c 6c 20 so,....nil....otherwise...Small.
36e00 69 6e 74 65 67 65 72 73 20 63 61 6e 20 62 65 20 63 6f 6d 70 61 72 65 64 0a 20 20 20 20 20 77 69 integers.can.be.compared......wi
36e20 74 68 20 e2 80 98 65 71 e2 80 99 2e 0a 0a 20 2d 2d 20 53 70 65 63 69 61 6c 20 46 6f 72 6d 3a 20 th....eq.......--.Special.Form:.
36e40 77 69 74 68 2d 73 75 70 70 72 65 73 73 65 64 2d 77 61 72 6e 69 6e 67 73 20 77 61 72 6e 69 6e 67 with-suppressed-warnings.warning
36e60 73 20 62 6f 64 79 2e 2e 2e 0a 20 20 20 20 20 49 6e 20 65 78 65 63 75 74 69 6f 6e 2c 20 74 68 69 s.body.........In.execution,.thi
36e80 73 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 e2 80 98 28 70 72 6f 67 6e 20 42 4f 44 s.is.equivalent.to....(progn.BOD
36ea0 59 2e 2e 2e 29 e2 80 99 2c 20 62 75 74 20 74 68 65 0a 20 20 20 20 20 63 6f 6d 70 69 6c 65 72 20 Y...)...,.but.the......compiler.
36ec0 64 6f 65 73 20 6e 6f 74 20 69 73 73 75 65 20 77 61 72 6e 69 6e 67 73 20 66 6f 72 20 74 68 65 20 does.not.issue.warnings.for.the.
36ee0 73 70 65 63 69 66 69 65 64 20 63 6f 6e 64 69 74 69 6f 6e 73 20 69 6e 0a 20 20 20 20 20 42 4f 44 specified.conditions.in......BOD
36f00 59 2e 20 20 57 41 52 4e 49 4e 47 53 20 69 73 20 61 6e 20 61 73 73 6f 63 69 61 74 69 6f 6e 20 6c Y...WARNINGS.is.an.association.l
36f20 69 73 74 20 6f 66 20 77 61 72 6e 69 6e 67 20 73 79 6d 62 6f 6c 73 20 61 6e 64 0a 20 20 20 20 20 ist.of.warning.symbols.and......
36f40 66 75 6e 63 74 69 6f 6e 2f 76 61 72 69 61 62 6c 65 20 73 79 6d 62 6f 6c 73 20 74 68 65 79 20 61 function/variable.symbols.they.a
36f60 70 70 6c 79 20 74 6f 2e 20 20 46 6f 72 20 69 6e 73 74 61 6e 63 65 2c 20 69 66 20 79 6f 75 20 77 pply.to...For.instance,.if.you.w
36f80 69 73 68 0a 20 20 20 20 20 74 6f 20 63 61 6c 6c 20 61 6e 20 6f 62 73 6f 6c 65 74 65 20 66 75 6e ish......to.call.an.obsolete.fun
36fa0 63 74 69 6f 6e 20 63 61 6c 6c 65 64 20 e2 80 98 66 6f 6f e2 80 99 2c 20 62 75 74 20 77 61 6e 74 ction.called....foo...,.but.want
36fc0 20 74 6f 20 73 75 70 70 72 65 73 73 20 74 68 65 0a 20 20 20 20 20 63 6f 6d 70 69 6c 61 74 69 6f .to.suppress.the......compilatio
36fe0 6e 20 77 61 72 6e 69 6e 67 2c 20 73 61 79 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 n.warning,.say:............(with
37000 2d 73 75 70 70 72 65 73 73 65 64 2d 77 61 72 6e 69 6e 67 73 20 28 28 6f 62 73 6f 6c 65 74 65 20 -suppressed-warnings.((obsolete.
37020 66 6f 6f 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 6f 20 2e 2e 2e 29 29 0a 0a 20 2d foo)).............(foo....))...-
37040 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 70 72 6f 70 65 72 2d 6c 69 73 74 2d 70 20 6f 62 6a 65 63 74 -.Function:.proper-list-p.object
37060 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 ......This.function.returns.the.
37080 6c 65 6e 67 74 68 20 6f 66 20 4f 42 4a 45 43 54 20 69 66 20 69 74 20 69 73 20 61 20 70 72 6f 70 length.of.OBJECT.if.it.is.a.prop
370a0 65 72 20 6c 69 73 74 2c 0a 20 20 20 20 20 e2 80 98 6e 69 6c e2 80 99 20 6f 74 68 65 72 77 69 73 er.list,.........nil....otherwis
370c0 65 20 28 2a 6e 6f 74 65 20 28 65 6c 69 73 70 29 43 6f 6e 73 20 43 65 6c 6c 73 3a 3a 29 2e 20 20 e.(*note.(elisp)Cons.Cells::)...
370e0 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 0a 20 20 20 20 20 73 61 74 69 73 66 79 69 6e 67 20 e2 In.addition.to......satisfying..
37100 80 98 6c 69 73 74 70 e2 80 99 2c 20 61 20 70 72 6f 70 65 72 20 6c 69 73 74 20 69 73 20 6e 65 69 ..listp...,.a.proper.list.is.nei
37120 74 68 65 72 20 63 69 72 63 75 6c 61 72 20 6e 6f 72 20 64 6f 74 74 65 64 2e 0a 0a 20 20 20 20 20 ther.circular.nor.dotted........
37140 20 20 20 20 20 28 70 72 6f 70 65 72 2d 6c 69 73 74 2d 70 20 27 28 61 20 62 20 63 29 29 20 e2 87 .....(proper-list-p.'(a.b.c))...
37160 92 20 33 0a 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 70 65 72 2d 6c 69 73 74 2d 70 20 27 28 61 ..3...........(proper-list-p.'(a
37180 20 62 20 2e 20 63 29 29 20 e2 87 92 20 6e 69 6c 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c .b...c)).....nil.......*Note.(el
371a0 69 73 70 29 4c 69 73 74 2d 72 65 6c 61 74 65 64 20 50 72 65 64 69 63 61 74 65 73 3a 3a 2e 0a 0a isp)List-related.Predicates::...
371c0 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 73 74 72 69 6e 67 2d 64 69 73 74 61 6e 63 65 20 73 74 .--.Function:.string-distance.st
371e0 72 69 6e 67 31 20 73 74 72 69 6e 67 32 20 26 6f 70 74 69 6f 6e 61 6c 20 62 79 74 65 63 6f 6d 70 ring1.string2.&optional.bytecomp
37200 61 72 65 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 are......This.function.returns.t
37220 68 65 20 5f 4c 65 76 65 6e 73 68 74 65 69 6e 20 64 69 73 74 61 6e 63 65 5f 20 62 65 74 77 65 65 he._Levenshtein.distance_.betwee
37240 6e 20 74 68 65 20 73 6f 75 72 63 65 0a 20 20 20 20 20 73 74 72 69 6e 67 20 53 54 52 49 4e 47 31 n.the.source......string.STRING1
37260 20 61 6e 64 20 74 68 65 20 74 61 72 67 65 74 20 73 74 72 69 6e 67 20 53 54 52 49 4e 47 32 2e 20 .and.the.target.string.STRING2..
37280 20 54 68 65 20 4c 65 76 65 6e 73 68 74 65 69 6e 0a 20 20 20 20 20 64 69 73 74 61 6e 63 65 20 69 .The.Levenshtein......distance.i
372a0 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 73 69 6e 67 6c 65 2d 63 68 61 72 61 63 74 65 72 s.the.number.of.single-character
372c0 20 63 68 61 6e 67 65 73 e2 80 94 64 65 6c 65 74 69 6f 6e 73 2c 0a 20 20 20 20 20 69 6e 73 65 72 .changes...deletions,......inser
372e0 74 69 6f 6e 73 2c 20 6f 72 20 72 65 70 6c 61 63 65 6d 65 6e 74 73 e2 80 94 72 65 71 75 69 72 65 tions,.or.replacements...require
37300 64 20 74 6f 20 74 72 61 6e 73 66 6f 72 6d 20 74 68 65 20 73 6f 75 72 63 65 20 73 74 72 69 6e 67 d.to.transform.the.source.string
37320 0a 20 20 20 20 20 69 6e 74 6f 20 74 68 65 20 74 61 72 67 65 74 20 73 74 72 69 6e 67 3b 20 69 74 ......into.the.target.string;.it
37340 20 69 73 20 6f 6e 65 20 70 6f 73 73 69 62 6c 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 20 74 .is.one.possible.definition.of.t
37360 68 65 20 5f 65 64 69 74 0a 20 20 20 20 20 64 69 73 74 61 6e 63 65 5f 20 62 65 74 77 65 65 6e 20 he._edit......distance_.between.
37380 73 74 72 69 6e 67 73 2e 0a 0a 20 20 20 20 20 4c 65 74 74 65 72 2d 63 61 73 65 20 6f 66 20 74 68 strings........Letter-case.of.th
373a0 65 20 73 74 72 69 6e 67 73 20 69 73 20 73 69 67 6e 69 66 69 63 61 6e 74 20 66 6f 72 20 74 68 65 e.strings.is.significant.for.the
373c0 20 63 6f 6d 70 75 74 65 64 0a 20 20 20 20 20 64 69 73 74 61 6e 63 65 2c 20 62 75 74 20 74 68 65 .computed......distance,.but.the
373e0 69 72 20 74 65 78 74 20 70 72 6f 70 65 72 74 69 65 73 20 61 72 65 20 69 67 6e 6f 72 65 64 2e 20 ir.text.properties.are.ignored..
37400 20 49 66 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 20 42 .If.the.optional......argument.B
37420 59 54 45 43 4f 4d 50 41 52 45 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 74 68 65 YTECOMPARE.is.non-...nil...,.the
37440 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 63 75 6c 61 74 65 73 20 74 68 65 0a 20 20 20 20 20 64 69 .function.calculates.the......di
37460 73 74 61 6e 63 65 20 69 6e 20 74 65 72 6d 73 20 6f 66 20 62 79 74 65 73 20 69 6e 73 74 65 61 64 stance.in.terms.of.bytes.instead
37480 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 2e 20 20 54 68 65 20 62 79 74 65 2d 77 69 73 65 0a 20 .of.characters...The.byte-wise..
374a0 20 20 20 20 63 6f 6d 70 61 72 69 73 6f 6e 20 75 73 65 73 20 74 68 65 20 69 6e 74 65 72 6e 61 6c ....comparison.uses.the.internal
374c0 20 45 6d 61 63 73 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 63 68 61 72 61 63 74 .Emacs.representation.of.charact
374e0 65 72 73 2c 20 73 6f 0a 20 20 20 20 20 69 74 20 77 69 6c 6c 20 70 72 6f 64 75 63 65 20 69 6e 61 ers,.so......it.will.produce.ina
37500 63 63 75 72 61 74 65 20 72 65 73 75 6c 74 73 20 66 6f 72 20 6d 75 6c 74 69 62 79 74 65 20 73 74 ccurate.results.for.multibyte.st
37520 72 69 6e 67 73 20 74 68 61 74 0a 20 20 20 20 20 69 6e 63 6c 75 64 65 20 72 61 77 20 62 79 74 65 rings.that......include.raw.byte
37540 73 20 28 2a 6e 6f 74 65 20 28 65 6c 69 73 70 29 54 65 78 74 20 52 65 70 72 65 73 65 6e 74 61 74 s.(*note.(elisp)Text.Representat
37560 69 6f 6e 73 3a 3a 29 3b 20 6d 61 6b 65 20 74 68 65 0a 20 20 20 20 20 73 74 72 69 6e 67 73 20 75 ions::);.make.the......strings.u
37580 6e 69 62 79 74 65 20 62 79 20 65 6e 63 6f 64 69 6e 67 20 74 68 65 6d 20 28 2a 6e 6f 74 65 20 28 nibyte.by.encoding.them.(*note.(
375a0 65 6c 69 73 70 29 45 78 70 6c 69 63 69 74 20 45 6e 63 6f 64 69 6e 67 3a 3a 29 0a 20 20 20 20 20 elisp)Explicit.Encoding::)......
375c0 69 66 20 79 6f 75 20 6e 65 65 64 20 61 63 63 75 72 61 74 65 20 72 65 73 75 6c 74 73 20 77 69 74 if.you.need.accurate.results.wit
375e0 68 20 72 61 77 20 62 79 74 65 73 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 h.raw.bytes........*Note.(elisp)
37600 54 65 78 74 20 43 6f 6d 70 61 72 69 73 6f 6e 3a 3a 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 69 Text.Comparison::....--.Macro:.i
37620 67 6e 6f 72 65 2d 65 72 72 6f 72 73 20 62 6f 64 79 2e 2e 2e 0a 20 20 20 20 20 54 68 69 73 20 63 gnore-errors.body.........This.c
37640 6f 6e 73 74 72 75 63 74 20 65 78 65 63 75 74 65 73 20 42 4f 44 59 2c 20 69 67 6e 6f 72 69 6e 67 onstruct.executes.BODY,.ignoring
37660 20 61 6e 79 20 65 72 72 6f 72 73 20 74 68 61 74 20 6f 63 63 75 72 20 64 75 72 69 6e 67 0a 20 20 .any.errors.that.occur.during...
37680 20 20 20 69 74 73 20 65 78 65 63 75 74 69 6f 6e 2e 20 20 49 66 20 74 68 65 20 65 78 65 63 75 74 ...its.execution...If.the.execut
376a0 69 6f 6e 20 69 73 20 77 69 74 68 6f 75 74 20 65 72 72 6f 72 2c 20 e2 80 98 69 67 6e 6f 72 65 2d ion.is.without.error,....ignore-
376c0 65 72 72 6f 72 73 e2 80 99 0a 20 20 20 20 20 72 65 74 75 72 6e 73 20 74 68 65 20 76 61 6c 75 65 errors.........returns.the.value
376e0 20 6f 66 20 74 68 65 20 6c 61 73 74 20 66 6f 72 6d 20 69 6e 20 42 4f 44 59 3b 20 6f 74 68 65 72 .of.the.last.form.in.BODY;.other
37700 77 69 73 65 2c 20 69 74 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 e2 80 98 6e 69 6c e2 80 99 2e wise,.it.returns.........nil....
37720 0a 0a 20 20 20 20 20 48 65 72 65 e2 80 99 73 20 74 68 65 20 65 78 61 6d 70 6c 65 20 61 74 20 74 .......Here...s.the.example.at.t
37740 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 69 73 20 73 75 62 73 65 63 74 69 6f 6e 20 he.beginning.of.this.subsection.
37760 72 65 77 72 69 74 74 65 6e 0a 20 20 20 20 20 75 73 69 6e 67 20 e2 80 98 69 67 6e 6f 72 65 2d 65 rewritten......using....ignore-e
37780 72 72 6f 72 73 e2 80 99 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 67 6e 6f 72 65 2d 65 rrors...:..............(ignore-e
377a0 72 72 6f 72 73 20 28 64 65 6c 65 74 65 2d 66 69 6c 65 20 66 69 6c 65 6e 61 6d 65 29 29 0a 0a 20 rrors.(delete-file.filename))...
377c0 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 48 61 6e 64 6c 69 6e 67 20 45 72 72 6f 72 73 ....*Note.(elisp)Handling.Errors
377e0 3a 3a 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 64 6f 6c 69 73 74 2d 77 69 74 68 2d 70 72 6f 67 ::....--.Macro:.dolist-with-prog
37800 72 65 73 73 2d 72 65 70 6f 72 74 65 72 20 28 76 61 72 20 63 6f 75 6e 74 20 5b 72 65 73 75 6c 74 ress-reporter.(var.count.[result
37820 5d 29 0a 20 20 20 20 20 20 20 20 20 20 72 65 70 6f 72 74 65 72 2d 6f 72 2d 6d 65 73 73 61 67 65 ])...........reporter-or-message
37840 20 62 6f 64 79 2e 2e 2e 0a 20 20 20 20 20 54 68 69 73 20 69 73 20 61 6e 6f 74 68 65 72 20 63 6f .body.........This.is.another.co
37860 6e 76 65 6e 69 65 6e 63 65 20 6d 61 63 72 6f 20 74 68 61 74 20 77 6f 72 6b 73 20 74 68 65 20 73 nvenience.macro.that.works.the.s
37880 61 6d 65 20 77 61 79 20 61 73 0a 20 20 20 20 20 e2 80 98 64 6f 6c 69 73 74 e2 80 99 20 64 6f 65 ame.way.as.........dolist....doe
378a0 73 2c 20 62 75 74 20 61 6c 73 6f 20 72 65 70 6f 72 74 73 20 6c 6f 6f 70 20 70 72 6f 67 72 65 73 s,.but.also.reports.loop.progres
378c0 73 20 75 73 69 6e 67 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 64 65 73 63 72 s.using.the.functions......descr
378e0 69 62 65 64 20 61 62 6f 76 65 2e 20 20 41 73 20 69 6e 20 e2 80 98 64 6f 74 69 6d 65 73 2d 77 69 ibed.above...As.in....dotimes-wi
37900 74 68 2d 70 72 6f 67 72 65 73 73 2d 72 65 70 6f 72 74 65 72 e2 80 99 2c 0a 20 20 20 20 20 e2 80 th-progress-reporter...,........
37920 98 72 65 70 6f 72 74 65 72 2d 6f 72 2d 6d 65 73 73 61 67 65 e2 80 99 20 63 61 6e 20 62 65 20 61 .reporter-or-message....can.be.a
37940 20 70 72 6f 67 72 65 73 73 20 72 65 70 6f 72 74 65 72 20 6f 72 20 61 20 73 74 72 69 6e 67 2e 20 .progress.reporter.or.a.string..
37960 20 59 6f 75 0a 20 20 20 20 20 63 61 6e 20 72 65 77 72 69 74 65 20 74 68 65 20 70 72 65 76 69 6f .You......can.rewrite.the.previo
37980 75 73 20 65 78 61 6d 70 6c 65 20 77 69 74 68 20 74 68 69 73 20 6d 61 63 72 6f 20 61 73 20 66 6f us.example.with.this.macro.as.fo
379a0 6c 6c 6f 77 73 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 2d 77 69 74 68 2d 70 llows:............(dolist-with-p
379c0 72 6f 67 72 65 73 73 2d 72 65 70 6f 72 74 65 72 20 28 6b 20 28 6e 75 6d 62 65 72 2d 73 65 71 75 rogress-reporter.(k.(number-sequ
379e0 65 6e 63 65 20 30 20 35 30 30 29 29 20 22 43 6f 6c 6c 65 63 74 69 6e 67 0a 20 20 20 20 20 20 20 ence.0.500))."Collecting........
37a00 20 20 20 20 20 20 20 73 6f 6d 65 20 6d 61 6e 61 20 66 6f 72 20 45 6d 61 63 73 2e 2e 2e 22 20 20 .......some.mana.for.Emacs..."..
37a20 28 73 69 74 2d 66 6f 72 20 30 2e 30 31 29 29 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 (sit-for.0.01)).......*Note.(eli
37a40 73 70 29 50 72 6f 67 72 65 73 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 66 6c sp)Progress::....--.Function:.fl
37a60 61 74 74 65 6e 2d 74 72 65 65 20 74 72 65 65 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 atten-tree.tree......This.functi
37a80 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 e2 80 9c 66 6c 61 74 74 65 6e 65 64 e2 80 9d 20 63 6f 70 on.returns.a....flattened....cop
37aa0 79 20 6f 66 20 54 52 45 45 2c 20 74 68 61 74 20 69 73 2c 20 61 20 6c 69 73 74 0a 20 20 20 20 20 y.of.TREE,.that.is,.a.list......
37ac0 63 6f 6e 74 61 69 6e 69 6e 67 20 61 6c 6c 20 74 68 65 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 containing.all.the.non-...nil...
37ae0 20 74 65 72 6d 69 6e 61 6c 20 6e 6f 64 65 73 2c 20 6f 72 20 6c 65 61 76 65 73 2c 20 6f 66 20 74 .terminal.nodes,.or.leaves,.of.t
37b00 68 65 20 74 72 65 65 0a 20 20 20 20 20 6f 66 20 63 6f 6e 73 20 63 65 6c 6c 73 20 72 6f 6f 74 65 he.tree......of.cons.cells.roote
37b20 64 20 61 74 20 54 52 45 45 2e 20 20 4c 65 61 76 65 73 20 69 6e 20 74 68 65 20 72 65 74 75 72 6e d.at.TREE...Leaves.in.the.return
37b40 65 64 20 6c 69 73 74 20 61 72 65 20 69 6e 0a 20 20 20 20 20 74 68 65 20 73 61 6d 65 20 6f 72 64 ed.list.are.in......the.same.ord
37b60 65 72 20 61 73 20 69 6e 20 54 52 45 45 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 66 6c 61 74 74 er.as.in.TREE.............(flatt
37b80 65 6e 2d 74 72 65 65 20 27 28 31 20 28 32 20 2e 20 33 29 20 6e 69 6c 20 28 34 20 35 20 28 36 29 en-tree.'(1.(2...3).nil.(4.5.(6)
37ba0 29 20 37 29 29 20 e2 87 92 28 31 20 32 20 33 20 34 20 35 20 36 20 37 29 0a 0a 20 20 20 20 20 2a ).7))....(1.2.3.4.5.6.7).......*
37bc0 4e 6f 74 65 20 28 65 6c 69 73 70 29 42 75 69 6c 64 69 6e 67 20 4c 69 73 74 73 3a 3a 2e 0a 0a 20 Note.(elisp)Building.Lists::....
37be0 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 78 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 31 20 63 6f 6e 64 --.Function:.xor.condition1.cond
37c00 69 74 69 6f 6e 32 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e ition2......This.function.return
37c20 73 20 74 68 65 20 62 6f 6f 6c 65 61 6e 20 65 78 63 6c 75 73 69 76 65 2d 6f 72 20 6f 66 20 43 4f s.the.boolean.exclusive-or.of.CO
37c40 4e 44 49 54 49 4f 4e 31 20 61 6e 64 0a 20 20 20 20 20 43 4f 4e 44 49 54 49 4f 4e 32 2e 20 20 54 NDITION1.and......CONDITION2...T
37c60 68 61 74 20 69 73 2c 20 e2 80 98 78 6f 72 e2 80 99 20 72 65 74 75 72 6e 73 20 e2 80 98 6e 69 6c hat.is,....xor....returns....nil
37c80 e2 80 99 20 69 66 20 65 69 74 68 65 72 20 62 6f 74 68 20 61 72 67 75 6d 65 6e 74 73 0a 20 20 20 ....if.either.both.arguments....
37ca0 20 20 61 72 65 20 e2 80 98 6e 69 6c e2 80 99 2c 20 6f 72 20 62 6f 74 68 20 61 72 65 20 6e 6f 6e ..are....nil...,.or.both.are.non
37cc0 2d e2 80 98 6e 69 6c e2 80 99 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 69 74 20 72 65 74 75 72 -...nil......Otherwise,.it.retur
37ce0 6e 73 20 74 68 65 20 76 61 6c 75 65 0a 20 20 20 20 20 6f 66 20 74 68 61 74 20 61 72 67 75 6d 65 ns.the.value......of.that.argume
37d00 6e 74 20 77 68 69 63 68 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2e 0a 0a 20 20 20 20 nt.which.is.non-...nil..........
37d20 20 4e 6f 74 65 20 74 68 61 74 20 69 6e 20 63 6f 6e 74 72 61 73 74 20 74 6f 20 e2 80 98 6f 72 e2 .Note.that.in.contrast.to....or.
37d40 80 99 2c 20 62 6f 74 68 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 61 6c 77 61 79 73 20 65 76 ..,.both.arguments.are.always.ev
37d60 61 6c 75 61 74 65 64 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 43 6f 6d 62 aluated........*Note.(elisp)Comb
37d80 69 6e 69 6e 67 20 43 6f 6e 64 69 74 69 6f 6e 73 3a 3a 2e 0a 0a 20 2d 2d 20 56 61 72 69 61 62 6c ining.Conditions::....--.Variabl
37da0 65 3a 20 72 65 67 65 78 70 2d 75 6e 6d 61 74 63 68 61 62 6c 65 0a 20 20 20 20 20 54 68 69 73 20 e:.regexp-unmatchable......This.
37dc0 76 61 72 69 61 62 6c 65 20 63 6f 6e 74 61 69 6e 73 20 61 20 72 65 67 65 78 70 20 74 68 61 74 20 variable.contains.a.regexp.that.
37de0 69 73 20 67 75 61 72 61 6e 74 65 65 64 20 6e 6f 74 20 74 6f 20 6d 61 74 63 68 20 61 6e 79 0a 20 is.guaranteed.not.to.match.any..
37e00 20 20 20 20 73 74 72 69 6e 67 20 61 74 20 61 6c 6c 2e 20 20 49 74 20 69 73 20 70 61 72 74 69 63 ....string.at.all...It.is.partic
37e20 75 6c 61 72 6c 79 20 75 73 65 66 75 6c 20 61 73 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 66 ularly.useful.as.default.value.f
37e40 6f 72 0a 20 20 20 20 20 76 61 72 69 61 62 6c 65 73 20 74 68 61 74 20 6d 61 79 20 62 65 20 73 65 or......variables.that.may.be.se
37e60 74 20 74 6f 20 61 20 70 61 74 74 65 72 6e 20 74 68 61 74 20 61 63 74 75 61 6c 6c 79 20 6d 61 74 t.to.a.pattern.that.actually.mat
37e80 63 68 65 73 0a 20 20 20 20 20 73 6f 6d 65 74 68 69 6e 67 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 ches......something........*Note
37ea0 20 28 65 6c 69 73 70 29 52 65 67 65 78 70 20 46 75 6e 63 74 69 6f 6e 73 3a 3a 0a 0a 20 2d 2d 20 .(elisp)Regexp.Functions::...--.
37ec0 46 75 6e 63 74 69 6f 6e 3a 20 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 73 65 63 6f 6e 64 20 74 69 Function:.decoded-time-second.ti
37ee0 6d 65 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 53 45 43 4f 4e 44 53 20 66 69 65 6c 64 me......Return.the.SECONDS.field
37f00 20 6f 66 20 61 20 e2 80 98 64 65 63 6f 64 65 64 2d 74 69 6d 65 e2 80 99 20 72 65 63 6f 72 64 20 .of.a....decoded-time....record.
37f20 54 49 4d 45 2e 20 20 49 74 20 63 61 6e 0a 20 20 20 20 20 61 6c 73 6f 20 62 65 20 75 73 65 64 20 TIME...It.can......also.be.used.
37f40 61 73 20 61 20 2a 6e 6f 74 65 20 47 65 6e 65 72 61 6c 69 7a 65 64 20 56 61 72 69 61 62 6c 65 73 as.a.*note.Generalized.Variables
37f60 3a 20 28 65 6c 69 73 70 29 67 65 6e 65 72 61 6c 69 73 65 64 0a 20 20 20 20 20 76 61 72 69 61 62 :.(elisp)generalised......variab
37f80 6c 65 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d le....--.Function:.decoded-time-
37fa0 6d 69 6e 75 74 65 20 74 69 6d 65 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 4d 49 4e 55 minute.time......Return.the.MINU
37fc0 54 45 20 66 69 65 6c 64 20 6f 66 20 61 20 e2 80 98 64 65 63 6f 64 65 64 2d 74 69 6d 65 e2 80 99 TE.field.of.a....decoded-time...
37fe0 20 72 65 63 6f 72 64 20 54 49 4d 45 2e 20 20 49 74 20 63 61 6e 0a 20 20 20 20 20 61 6c 73 6f 20 .record.TIME...It.can......also.
38000 62 65 20 75 73 65 64 20 61 73 20 61 20 2a 6e 6f 74 65 20 47 65 6e 65 72 61 6c 69 7a 65 64 20 56 be.used.as.a.*note.Generalized.V
38020 61 72 69 61 62 6c 65 73 3a 20 28 65 6c 69 73 70 29 67 65 6e 65 72 61 6c 69 73 65 64 0a 20 20 20 ariables:.(elisp)generalised....
38040 20 20 76 61 72 69 61 62 6c 65 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 64 65 63 6f 64 ..variable....--.Function:.decod
38060 65 64 2d 74 69 6d 65 2d 68 6f 75 72 20 74 69 6d 65 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 ed-time-hour.time......Return.th
38080 65 20 48 4f 55 52 20 66 69 65 6c 64 20 6f 66 20 61 20 e2 80 98 64 65 63 6f 64 65 64 2d 74 69 6d e.HOUR.field.of.a....decoded-tim
380a0 65 e2 80 99 20 72 65 63 6f 72 64 20 54 49 4d 45 2e 20 20 49 74 20 63 61 6e 20 61 6c 73 6f 0a 20 e....record.TIME...It.can.also..
380c0 20 20 20 20 62 65 20 75 73 65 64 20 61 73 20 61 20 2a 6e 6f 74 65 20 47 65 6e 65 72 61 6c 69 7a ....be.used.as.a.*note.Generaliz
380e0 65 64 20 56 61 72 69 61 62 6c 65 73 3a 20 28 65 6c 69 73 70 29 67 65 6e 65 72 61 6c 69 73 65 64 ed.Variables:.(elisp)generalised
38100 0a 20 20 20 20 20 76 61 72 69 61 62 6c 65 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 64 ......variable....--.Function:.d
38120 65 63 6f 64 65 64 2d 74 69 6d 65 2d 64 61 79 20 74 69 6d 65 0a 20 20 20 20 20 52 65 74 75 72 6e ecoded-time-day.time......Return
38140 20 74 68 65 20 44 41 59 20 66 69 65 6c 64 20 6f 66 20 61 20 e2 80 98 64 65 63 6f 64 65 64 2d 74 .the.DAY.field.of.a....decoded-t
38160 69 6d 65 e2 80 99 20 72 65 63 6f 72 64 20 54 49 4d 45 2e 20 20 49 74 20 63 61 6e 20 61 6c 73 6f ime....record.TIME...It.can.also
38180 0a 20 20 20 20 20 62 65 20 75 73 65 64 20 61 73 20 61 20 2a 6e 6f 74 65 20 47 65 6e 65 72 61 6c ......be.used.as.a.*note.General
381a0 69 7a 65 64 20 56 61 72 69 61 62 6c 65 73 3a 20 28 65 6c 69 73 70 29 67 65 6e 65 72 61 6c 69 73 ized.Variables:.(elisp)generalis
381c0 65 64 0a 20 20 20 20 20 76 61 72 69 61 62 6c 65 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a ed......variable....--.Function:
381e0 20 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 6d 6f 6e 74 68 20 74 69 6d 65 0a 20 20 20 20 20 52 65 .decoded-time-month.time......Re
38200 74 75 72 6e 20 74 68 65 20 4d 4f 4e 54 48 20 66 69 65 6c 64 20 6f 66 20 61 20 e2 80 98 64 65 63 turn.the.MONTH.field.of.a....dec
38220 6f 64 65 64 2d 74 69 6d 65 e2 80 99 20 72 65 63 6f 72 64 20 54 49 4d 45 2e 20 20 49 74 20 63 61 oded-time....record.TIME...It.ca
38240 6e 0a 20 20 20 20 20 61 6c 73 6f 20 62 65 20 75 73 65 64 20 61 73 20 61 20 2a 6e 6f 74 65 20 47 n......also.be.used.as.a.*note.G
38260 65 6e 65 72 61 6c 69 7a 65 64 20 56 61 72 69 61 62 6c 65 73 3a 20 28 65 6c 69 73 70 29 67 65 6e eneralized.Variables:.(elisp)gen
38280 65 72 61 6c 69 73 65 64 0a 20 20 20 20 20 76 61 72 69 61 62 6c 65 2e 0a 0a 20 2d 2d 20 46 75 6e eralised......variable....--.Fun
382a0 63 74 69 6f 6e 3a 20 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 79 65 61 72 20 74 69 6d 65 0a 20 20 ction:.decoded-time-year.time...
382c0 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 59 45 41 52 20 66 69 65 6c 64 20 6f 66 20 61 20 e2 80 ...Return.the.YEAR.field.of.a...
382e0 98 64 65 63 6f 64 65 64 2d 74 69 6d 65 e2 80 99 20 72 65 63 6f 72 64 20 54 49 4d 45 2e 20 20 49 .decoded-time....record.TIME...I
38300 74 20 63 61 6e 20 61 6c 73 6f 0a 20 20 20 20 20 62 65 20 75 73 65 64 20 61 73 20 61 20 2a 6e 6f t.can.also......be.used.as.a.*no
38320 74 65 20 47 65 6e 65 72 61 6c 69 7a 65 64 20 56 61 72 69 61 62 6c 65 73 3a 20 28 65 6c 69 73 70 te.Generalized.Variables:.(elisp
38340 29 67 65 6e 65 72 61 6c 69 73 65 64 0a 20 20 20 20 20 76 61 72 69 61 62 6c 65 2e 0a 0a 20 2d 2d )generalised......variable....--
38360 20 46 75 6e 63 74 69 6f 6e 3a 20 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 77 65 65 6b 64 61 79 20 .Function:.decoded-time-weekday.
38380 74 69 6d 65 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 57 45 45 4b 44 41 59 20 66 69 65 time......Return.the.WEEKDAY.fie
383a0 6c 64 20 6f 66 20 61 20 e2 80 98 64 65 63 6f 64 65 64 2d 74 69 6d 65 e2 80 99 20 72 65 63 6f 72 ld.of.a....decoded-time....recor
383c0 64 20 54 49 4d 45 2e 20 20 49 74 20 63 61 6e 0a 20 20 20 20 20 61 6c 73 6f 20 62 65 20 75 73 65 d.TIME...It.can......also.be.use
383e0 64 20 61 73 20 61 20 2a 6e 6f 74 65 20 47 65 6e 65 72 61 6c 69 7a 65 64 20 56 61 72 69 61 62 6c d.as.a.*note.Generalized.Variabl
38400 65 73 3a 20 28 65 6c 69 73 70 29 67 65 6e 65 72 61 6c 69 73 65 64 0a 20 20 20 20 20 76 61 72 69 es:.(elisp)generalised......vari
38420 61 62 6c 65 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 64 65 63 6f 64 65 64 2d 74 69 6d able....--.Function:.decoded-tim
38440 65 2d 64 73 74 20 74 69 6d 65 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 44 53 54 20 28 e-dst.time......Return.the.DST.(
38460 64 61 79 6c 69 67 68 74 20 73 61 76 69 6e 67 20 74 69 6d 65 20 69 6e 64 69 63 61 74 6f 72 29 20 daylight.saving.time.indicator).
38480 66 69 65 6c 64 20 6f 66 20 61 0a 20 20 20 20 20 e2 80 98 64 65 63 6f 64 65 64 2d 74 69 6d 65 e2 field.of.a.........decoded-time.
384a0 80 99 20 72 65 63 6f 72 64 20 54 49 4d 45 2e 20 20 49 74 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 ...record.TIME...It.can.also.be.
384c0 75 73 65 64 20 61 73 20 61 20 2a 6e 6f 74 65 0a 20 20 20 20 20 47 65 6e 65 72 61 6c 69 7a 65 64 used.as.a.*note......Generalized
384e0 20 56 61 72 69 61 62 6c 65 73 3a 20 28 65 6c 69 73 70 29 67 65 6e 65 72 61 6c 69 73 65 64 20 76 .Variables:.(elisp)generalised.v
38500 61 72 69 61 62 6c 65 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 64 65 63 6f 64 65 64 2d ariable....--.Function:.decoded-
38520 74 69 6d 65 2d 7a 6f 6e 65 20 74 69 6d 65 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 5a time-zone.time......Return.the.Z
38540 4f 4e 45 20 66 69 65 6c 64 20 6f 66 20 61 20 e2 80 98 64 65 63 6f 64 65 64 2d 74 69 6d 65 e2 80 ONE.field.of.a....decoded-time..
38560 99 20 72 65 63 6f 72 64 20 54 49 4d 45 2e 20 20 49 74 20 63 61 6e 20 61 6c 73 6f 0a 20 20 20 20 ..record.TIME...It.can.also.....
38580 20 62 65 20 75 73 65 64 20 61 73 20 61 20 2a 6e 6f 74 65 20 47 65 6e 65 72 61 6c 69 7a 65 64 20 .be.used.as.a.*note.Generalized.
385a0 56 61 72 69 61 62 6c 65 73 3a 20 28 65 6c 69 73 70 29 67 65 6e 65 72 61 6c 69 73 65 64 0a 20 20 Variables:.(elisp)generalised...
385c0 20 20 20 76 61 72 69 61 62 6c 65 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 70 61 63 6b ...variable....--.Function:.pack
385e0 61 67 65 2d 67 65 74 2d 76 65 72 73 69 6f 6e 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 age-get-version......Return.the.
38600 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 20 6f 66 20 74 68 65 20 70 61 63 6b 61 67 65 20 69 6e version.number.of.the.package.in
38620 20 77 68 69 63 68 20 74 68 69 73 20 69 73 20 75 73 65 64 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 .which.this.is.used....--.Functi
38640 6f 6e 3a 20 74 69 6d 65 2d 65 71 75 61 6c 2d 70 20 74 31 20 74 32 0a 20 20 20 20 20 54 68 69 73 on:.time-equal-p.t1.t2......This
38660 20 72 65 74 75 72 6e 73 20 e2 80 98 74 e2 80 99 20 69 66 20 74 68 65 20 74 77 6f 20 74 69 6d 65 .returns....t....if.the.two.time
38680 20 76 61 6c 75 65 73 20 54 31 20 61 6e 64 20 54 32 20 61 72 65 20 65 71 75 61 6c 2e 0a 0a 20 20 .values.T1.and.T2.are.equal.....
386a0 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 54 69 6d 65 20 43 61 6c 63 75 6c 61 74 69 6f 6e ...*Note.(elisp)Time.Calculation
386c0 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 64 61 74 65 2d 64 61 79 73 2d 69 6e s::....--.Function:.date-days-in
386e0 2d 6d 6f 6e 74 68 20 79 65 61 72 20 6d 6f 6e 74 68 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 -month.year.month......Return.th
38700 65 20 6e 75 6d 62 65 72 20 6f 66 20 64 61 79 73 20 69 6e 20 4d 4f 4e 54 48 20 69 6e 20 59 45 41 e.number.of.days.in.MONTH.in.YEA
38720 52 2e 20 20 46 6f 72 20 69 6e 73 74 61 6e 63 65 2c 20 46 65 62 72 75 61 72 79 0a 20 20 20 20 20 R...For.instance,.February......
38740 32 30 32 30 20 68 61 73 20 32 39 20 64 61 79 73 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 2020.has.29.days........*Note.(e
38760 6c 69 73 70 29 54 69 6d 65 20 43 61 6c 63 75 6c 61 74 69 6f 6e 73 3a 3a 2e 20 20 54 68 69 73 20 lisp)Time.Calculations::...This.
38780 66 75 6e 63 74 69 6f 6e 20 72 65 71 75 69 72 65 73 20 74 68 65 0a 20 20 20 20 20 e2 80 98 74 69 function.requires.the.........ti
387a0 6d 65 2d 64 61 74 65 e2 80 99 20 66 65 61 74 75 72 65 20 74 6f 20 62 65 20 6c 6f 61 64 65 64 2e me-date....feature.to.be.loaded.
387c0 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 64 61 74 65 2d 6f 72 64 69 6e 61 6c 2d 74 6f 2d ...--.Function:.date-ordinal-to-
387e0 74 69 6d 65 20 79 65 61 72 20 6f 72 64 69 6e 61 6c 0a 20 20 20 20 20 43 6f 6e 76 65 72 74 20 61 time.year.ordinal......Convert.a
38800 20 59 45 41 52 2f 4f 52 44 49 4e 41 4c 20 74 6f 20 74 68 65 20 65 71 75 69 76 61 6c 65 6e 74 20 .YEAR/ORDINAL.to.the.equivalent.
38820 64 65 63 6f 64 65 64 2d 74 69 6d 65 20 73 74 72 75 63 74 75 72 65 2e 0a 20 20 20 20 20 4f 52 44 decoded-time.structure.......ORD
38840 49 4e 41 4c 20 69 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 64 61 79 73 20 73 69 6e 63 65 INAL.is.the.number.of.days.since
38860 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 74 68 65 20 79 65 61 72 2c 20 77 69 74 68 0a 20 20 20 .the.start.of.the.year,.with....
38880 20 20 4a 61 6e 75 61 72 79 20 31 73 74 20 62 65 69 6e 67 20 31 2e 0a 0a 20 20 20 20 20 2a 4e 6f ..January.1st.being.1........*No
388a0 74 65 20 28 65 6c 69 73 70 29 54 69 6d 65 20 43 61 6c 63 75 6c 61 74 69 6f 6e 73 3a 3a 2e 20 20 te.(elisp)Time.Calculations::...
388c0 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 71 75 69 72 65 73 20 74 68 65 0a 20 20 20 20 20 This.function.requires.the......
388e0 e2 80 98 74 69 6d 65 2d 64 61 74 65 e2 80 99 20 66 65 61 74 75 72 65 20 74 6f 20 62 65 20 6c 6f ...time-date....feature.to.be.lo
38900 61 64 65 64 2e 0a 0a 20 2d 2d 20 55 73 65 72 20 4f 70 74 69 6f 6e 3a 20 65 78 65 63 2d 70 61 74 aded....--.User.Option:.exec-pat
38920 68 0a 20 20 20 20 20 54 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 69 73 20 76 61 72 69 61 62 6c h......The.value.of.this.variabl
38940 65 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 64 69 72 65 63 74 6f 72 69 65 73 20 74 6f 20 73 65 e.is.a.list.of.directories.to.se
38960 61 72 63 68 20 66 6f 72 0a 20 20 20 20 20 70 72 6f 67 72 61 6d 73 20 74 6f 20 72 75 6e 20 69 6e arch.for......programs.to.run.in
38980 20 73 75 62 70 72 6f 63 65 73 73 65 73 2e 20 20 45 61 63 68 20 65 6c 65 6d 65 6e 74 20 69 73 20 .subprocesses...Each.element.is.
389a0 65 69 74 68 65 72 20 74 68 65 20 6e 61 6d 65 0a 20 20 20 20 20 6f 66 20 61 20 64 69 72 65 63 74 either.the.name......of.a.direct
389c0 6f 72 79 20 28 69 2e 65 2e 2c 20 61 20 73 74 72 69 6e 67 29 2c 20 6f 72 20 e2 80 98 6e 69 6c e2 ory.(i.e.,.a.string),.or....nil.
389e0 80 99 2c 20 77 68 69 63 68 20 73 74 61 6e 64 73 20 66 6f 72 20 74 68 65 0a 20 20 20 20 20 64 65 ..,.which.stands.for.the......de
38a00 66 61 75 6c 74 20 64 69 72 65 63 74 6f 72 79 20 28 77 68 69 63 68 20 69 73 20 74 68 65 20 76 61 fault.directory.(which.is.the.va
38a20 6c 75 65 20 6f 66 20 e2 80 98 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 e2 80 99 29 2e lue.of....default-directory...).
38a40 0a 20 20 20 20 20 2a 4e 6f 74 65 20 65 78 65 63 75 74 61 62 6c 65 2d 66 69 6e 64 3a 20 28 65 6c ......*Note.executable-find:.(el
38a60 69 73 70 29 4c 6f 63 61 74 69 6e 67 20 46 69 6c 65 73 2c 20 66 6f 72 20 74 68 65 20 64 65 74 61 isp)Locating.Files,.for.the.deta
38a80 69 6c 73 20 6f 66 0a 20 20 20 20 20 74 68 69 73 20 73 65 61 72 63 68 2e 0a 0a 20 20 20 20 20 54 ils.of......this.search........T
38aa0 68 65 20 76 61 6c 75 65 20 6f 66 20 e2 80 98 65 78 65 63 2d 70 61 74 68 e2 80 99 20 69 73 20 75 he.value.of....exec-path....is.u
38ac0 73 65 64 20 62 79 20 e2 80 98 63 61 6c 6c 2d 70 72 6f 63 65 73 73 e2 80 99 20 61 6e 64 0a 20 20 sed.by....call-process....and...
38ae0 20 20 20 e2 80 98 73 74 61 72 74 2d 70 72 6f 63 65 73 73 e2 80 99 20 77 68 65 6e 20 74 68 65 20 ......start-process....when.the.
38b00 50 52 4f 47 52 41 4d 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 74 20 61 6e 20 61 62 73 6f 6c PROGRAM.argument.is.not.an.absol
38b20 75 74 65 20 66 69 6c 65 0a 20 20 20 20 20 6e 61 6d 65 2e 0a 0a 20 20 20 20 20 47 65 6e 65 72 61 ute.file......name........Genera
38b40 6c 6c 79 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 6e 6f 74 20 6d 6f 64 69 66 79 20 e2 80 98 65 78 lly,.you.should.not.modify....ex
38b60 65 63 2d 70 61 74 68 e2 80 99 20 64 69 72 65 63 74 6c 79 2e 20 20 49 6e 73 74 65 61 64 2c 0a 20 ec-path....directly...Instead,..
38b80 20 20 20 20 65 6e 73 75 72 65 20 74 68 61 74 20 79 6f 75 72 20 e2 80 98 50 41 54 48 e2 80 99 20 ....ensure.that.your....PATH....
38ba0 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 69 73 20 73 65 74 20 61 70 70 72 environment.variable.is.set.appr
38bc0 6f 70 72 69 61 74 65 6c 79 0a 20 20 20 20 20 62 65 66 6f 72 65 20 73 74 61 72 74 69 6e 67 20 45 opriately......before.starting.E
38be0 6d 61 63 73 2e 20 20 54 72 79 69 6e 67 20 74 6f 20 6d 6f 64 69 66 79 20 e2 80 98 65 78 65 63 2d macs...Trying.to.modify....exec-
38c00 70 61 74 68 e2 80 99 20 69 6e 64 65 70 65 6e 64 65 6e 74 6c 79 0a 20 20 20 20 20 6f 66 20 e2 80 path....independently......of...
38c20 98 50 41 54 48 e2 80 99 20 63 61 6e 20 6c 65 61 64 20 74 6f 20 63 6f 6e 66 75 73 69 6e 67 20 72 .PATH....can.lead.to.confusing.r
38c40 65 73 75 6c 74 73 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 53 75 62 70 72 esults........*Note.(elisp)Subpr
38c60 6f 63 65 73 73 20 43 72 65 61 74 69 6f 6e 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a ocess.Creation::....--.Function:
38c80 20 70 72 6f 76 69 64 65 64 2d 6d 6f 64 65 2d 64 65 72 69 76 65 64 2d 70 20 6d 6f 64 65 20 26 72 .provided-mode-derived-p.mode.&r
38ca0 65 73 74 20 6d 6f 64 65 73 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 est.modes......This.function.ret
38cc0 75 72 6e 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 69 66 20 4d 4f 44 45 20 69 73 20 64 65 urns.non-...nil....if.MODE.is.de
38ce0 72 69 76 65 64 20 66 72 6f 6d 20 61 6e 79 20 6f 66 20 74 68 65 0a 20 20 20 20 20 6d 61 6a 6f 72 rived.from.any.of.the......major
38d00 20 6d 6f 64 65 73 20 67 69 76 65 6e 20 62 79 20 74 68 65 20 73 79 6d 62 6f 6c 73 20 4d 4f 44 45 .modes.given.by.the.symbols.MODE
38d20 53 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 66 69 6c 65 2d 73 69 7a 65 2d 68 75 6d 61 S....--.Function:.file-size-huma
38d40 6e 2d 72 65 61 64 61 62 6c 65 2d 69 65 63 20 73 69 7a 65 0a 20 20 20 20 20 48 75 6d 61 6e 2d 72 n-readable-iec.size......Human-r
38d60 65 61 64 61 62 6c 65 20 73 74 72 69 6e 67 20 66 6f 72 20 53 49 5a 45 20 62 79 74 65 73 2c 20 75 eadable.string.for.SIZE.bytes,.u
38d80 73 69 6e 67 20 49 45 43 20 70 72 65 66 69 78 65 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e sing.IEC.prefixes....--.Function
38da0 3a 20 6d 61 6b 65 2d 65 6d 70 74 79 2d 66 69 6c 65 20 66 69 6c 65 6e 61 6d 65 20 26 6f 70 74 69 :.make-empty-file.filename.&opti
38dc0 6f 6e 61 6c 20 70 61 72 65 6e 74 73 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 onal.parents......This.function.
38de0 63 72 65 61 74 65 73 20 61 6e 20 65 6d 70 74 79 20 66 69 6c 65 20 6e 61 6d 65 64 20 46 49 4c 45 creates.an.empty.file.named.FILE
38e00 4e 41 4d 45 2e 20 20 41 73 0a 20 20 20 20 20 e2 80 98 6d 61 6b 65 2d 64 69 72 65 63 74 6f 72 79 NAME...As.........make-directory
38e20 e2 80 99 2c 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 73 20 70 61 72 65 6e ...,.this.function.creates.paren
38e40 74 20 64 69 72 65 63 74 6f 72 69 65 73 20 69 66 0a 20 20 20 20 20 50 41 52 45 4e 54 53 20 69 73 t.directories.if......PARENTS.is
38e60 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2e 20 20 49 66 20 46 49 4c 45 4e 41 4d 45 20 61 6c 72 .non-...nil......If.FILENAME.alr
38e80 65 61 64 79 20 65 78 69 73 74 73 2c 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 eady.exists,.this.function......
38ea0 73 69 67 6e 61 6c 73 20 61 6e 20 65 72 72 6f 72 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a signals.an.error....--.Function:
38ec0 20 74 65 78 74 2d 70 72 6f 70 65 72 74 79 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 70 72 .text-property-search-forward.pr
38ee0 6f 70 20 26 6f 70 74 69 6f 6e 61 6c 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 20 70 72 65 op.&optional.value...........pre
38f00 64 69 63 61 74 65 20 6e 6f 74 2d 63 75 72 72 65 6e 74 0a 20 20 20 20 20 53 65 61 72 63 68 20 66 dicate.not-current......Search.f
38f20 6f 72 20 74 68 65 20 6e 65 78 74 20 72 65 67 69 6f 6e 20 74 68 61 74 20 68 61 73 20 74 65 78 74 or.the.next.region.that.has.text
38f40 20 70 72 6f 70 65 72 74 79 20 50 52 4f 50 20 73 65 74 20 74 6f 20 56 41 4c 55 45 0a 20 20 20 20 .property.PROP.set.to.VALUE.....
38f60 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 50 52 45 44 49 43 41 54 45 2e 0a 0a 20 20 20 20 20 54 .according.to.PREDICATE........T
38f80 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6d 6f 64 65 6c 65 64 20 61 66 74 65 72 20 e2 80 his.function.is.modeled.after...
38fa0 98 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 e2 80 99 20 61 6e 64 20 66 72 69 65 6e 64 73 20 69 .search-forward....and.friends.i
38fc0 6e 20 74 68 61 74 0a 20 20 20 20 20 69 74 20 6d 6f 76 65 73 20 70 6f 69 6e 74 2c 20 62 75 74 20 n.that......it.moves.point,.but.
38fe0 69 74 20 72 65 74 75 72 6e 73 20 61 20 73 74 72 75 63 74 75 72 65 20 74 68 61 74 20 64 65 73 63 it.returns.a.structure.that.desc
39000 72 69 62 65 73 20 74 68 65 20 6d 61 74 63 68 0a 20 20 20 20 20 69 6e 73 74 65 61 64 20 6f 66 20 ribes.the.match......instead.of.
39020 72 65 74 75 72 6e 69 6e 67 20 69 74 20 69 6e 20 e2 80 98 6d 61 74 63 68 2d 62 65 67 69 6e 6e 69 returning.it.in....match-beginni
39040 6e 67 e2 80 99 20 61 6e 64 20 66 72 69 65 6e 64 73 2e 0a 0a 20 20 20 20 20 49 66 20 74 68 65 20 ng....and.friends........If.the.
39060 74 65 78 74 20 70 72 6f 70 65 72 74 79 20 63 61 6e e2 80 99 74 20 62 65 20 66 6f 75 6e 64 2c 20 text.property.can...t.be.found,.
39080 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 e2 80 98 6e 69 6c e2 80 99 2e 0a the.function.returns....nil.....
390a0 20 20 20 20 20 49 66 20 69 74 e2 80 99 73 20 66 6f 75 6e 64 2c 20 70 6f 69 6e 74 20 69 73 20 70 .....If.it...s.found,.point.is.p
390c0 6c 61 63 65 64 20 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 72 65 67 69 6f 6e 20 74 laced.at.the.end.of.the.region.t
390e0 68 61 74 20 68 61 73 0a 20 20 20 20 20 74 68 69 73 20 74 65 78 74 20 70 72 6f 70 65 72 74 79 20 hat.has......this.text.property.
39100 6d 61 74 63 68 2c 20 61 6e 64 20 61 20 e2 80 98 70 72 6f 70 2d 6d 61 74 63 68 e2 80 99 20 73 74 match,.and.a....prop-match....st
39120 72 75 63 74 75 72 65 20 69 73 20 72 65 74 75 72 6e 65 64 2e 0a 0a 20 20 20 20 20 50 52 45 44 49 ructure.is.returned........PREDI
39140 43 41 54 45 20 63 61 6e 20 65 69 74 68 65 72 20 62 65 20 e2 80 98 74 e2 80 99 20 28 77 68 69 63 CATE.can.either.be....t....(whic
39160 68 20 69 73 20 61 20 73 79 6e 6f 6e 79 6d 20 66 6f 72 20 e2 80 98 65 71 75 61 6c e2 80 99 29 2c h.is.a.synonym.for....equal...),
39180 20 e2 80 98 6e 69 6c e2 80 99 0a 20 20 20 20 20 28 77 68 69 63 68 20 6d 65 61 6e 73 20 e2 80 9c ....nil.........(which.means....
391a0 6e 6f 74 20 65 71 75 61 6c e2 80 9d 29 2c 20 6f 72 20 61 20 70 72 65 64 69 63 61 74 65 20 74 68 not.equal...),.or.a.predicate.th
391c0 61 74 20 77 69 6c 6c 20 62 65 20 63 61 6c 6c 65 64 20 77 69 74 68 0a 20 20 20 20 20 74 77 6f 20 at.will.be.called.with......two.
391e0 70 61 72 61 6d 65 74 65 72 73 3a 20 54 68 65 20 66 69 72 73 74 20 69 73 20 56 41 4c 55 45 2c 20 parameters:.The.first.is.VALUE,.
39200 61 6e 64 20 74 68 65 20 73 65 63 6f 6e 64 20 69 73 20 74 68 65 20 76 61 6c 75 65 20 6f 66 0a 20 and.the.second.is.the.value.of..
39220 20 20 20 20 74 68 65 20 74 65 78 74 20 70 72 6f 70 65 72 74 79 20 77 65 e2 80 99 72 65 20 69 6e ....the.text.property.we...re.in
39240 73 70 65 63 74 69 6e 67 2e 0a 0a 20 20 20 20 20 49 66 20 4e 4f 54 2d 43 55 52 52 45 4e 54 2c 20 specting........If.NOT-CURRENT,.
39260 69 66 20 70 6f 69 6e 74 20 69 73 20 69 6e 20 61 20 72 65 67 69 6f 6e 20 77 68 65 72 65 20 77 65 if.point.is.in.a.region.where.we
39280 20 68 61 76 65 20 61 20 6d 61 74 63 68 2c 20 74 68 65 6e 0a 20 20 20 20 20 73 6b 69 70 20 70 61 .have.a.match,.then......skip.pa
392a0 73 74 20 74 68 61 74 20 61 6e 64 20 66 69 6e 64 20 74 68 65 20 6e 65 78 74 20 69 6e 73 74 61 6e st.that.and.find.the.next.instan
392c0 63 65 20 69 6e 73 74 65 61 64 2e 0a 0a 20 20 20 20 20 54 68 65 20 e2 80 98 70 72 6f 70 2d 6d 61 ce.instead........The....prop-ma
392e0 74 63 68 e2 80 99 20 73 74 72 75 63 74 75 72 65 20 68 61 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 tch....structure.has.the.followi
39300 6e 67 20 61 63 63 65 73 73 6f 72 73 3a 0a 20 20 20 20 20 e2 80 98 70 72 6f 70 2d 6d 61 74 63 68 ng.accessors:.........prop-match
39320 2d 62 65 67 69 6e 6e 69 6e 67 e2 80 99 20 28 74 68 65 20 73 74 61 72 74 20 6f 66 20 74 68 65 20 -beginning....(the.start.of.the.
39340 6d 61 74 63 68 29 2c 20 e2 80 98 70 72 6f 70 2d 6d 61 74 63 68 2d 65 6e 64 e2 80 99 0a 20 20 20 match),....prop-match-end.......
39360 20 20 28 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 6d 61 74 63 68 29 2c 20 61 6e 64 20 e2 80 ..(the.end.of.the.match),.and...
39380 98 70 72 6f 70 2d 6d 61 74 63 68 2d 76 61 6c 75 65 e2 80 99 20 28 74 68 65 20 76 61 6c 75 65 20 .prop-match-value....(the.value.
393a0 6f 66 0a 20 20 20 20 20 50 52 4f 50 45 52 54 59 20 61 74 20 74 68 65 20 73 74 61 72 74 20 6f 66 of......PROPERTY.at.the.start.of
393c0 20 74 68 65 20 6d 61 74 63 68 29 2e 0a 0a 20 20 20 20 20 49 6e 20 74 68 65 20 65 78 61 6d 70 6c .the.match)........In.the.exampl
393e0 65 73 20 62 65 6c 6f 77 2c 20 69 6d 61 67 69 6e 65 20 74 68 61 74 20 79 6f 75 e2 80 99 72 65 20 es.below,.imagine.that.you...re.
39400 69 6e 20 61 20 62 75 66 66 65 72 20 74 68 61 74 20 6c 6f 6f 6b 73 0a 20 20 20 20 20 6c 69 6b 65 in.a.buffer.that.looks......like
39420 20 74 68 69 73 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 54 68 69 73 20 69 73 20 61 20 62 6f 6c 64 .this:............This.is.a.bold
39440 20 61 6e 64 20 68 65 72 65 27 73 20 62 6f 6c 64 69 74 61 6c 69 63 20 61 6e 64 20 74 68 69 73 20 .and.here's.bolditalic.and.this.
39460 69 73 20 74 68 65 20 65 6e 64 2e 0a 0a 20 20 20 20 20 54 68 61 74 20 69 73 2c 20 74 68 65 20 e2 is.the.end........That.is,.the..
39480 80 9c 62 6f 6c 64 e2 80 9d 20 77 6f 72 64 73 20 61 72 65 20 74 68 65 20 e2 80 98 62 6f 6c 64 e2 ..bold....words.are.the....bold.
394a0 80 99 20 66 61 63 65 2c 20 61 6e 64 20 74 68 65 20 e2 80 9c 69 74 61 6c 69 63 e2 80 9d 0a 20 20 ...face,.and.the....italic......
394c0 20 20 20 77 6f 72 64 20 69 73 20 69 6e 20 74 68 65 20 e2 80 98 69 74 61 6c 69 63 e2 80 99 20 66 ...word.is.in.the....italic....f
394e0 61 63 65 2e 0a 0a 20 20 20 20 20 57 69 74 68 20 70 6f 69 6e 74 20 61 74 20 74 68 65 20 73 74 61 ace........With.point.at.the.sta
39500 72 74 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 73 65 74 71 20 6d 61 74 63 rt:............(while.(setq.matc
39520 68 20 28 74 65 78 74 2d 70 72 6f 70 65 72 74 79 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 h.(text-property-search-forward.
39540 27 66 61 63 65 20 27 62 6f 6c 64 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 'face.'bold.t)).............(pus
39560 68 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 20 28 70 72 6f 70 2d 6d 61 74 63 68 2d h.(buffer-substring.(prop-match-
39580 62 65 67 69 6e 6e 69 6e 67 20 6d 61 74 63 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 beginning.match)................
395a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 70 2d 6d 61 74 63 68 .....................(prop-match
395c0 2d 65 6e 64 20 6d 61 74 63 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 -end.match))...................w
395e0 6f 72 64 73 29 29 0a 0a 20 20 20 20 20 54 68 69 73 20 77 69 6c 6c 20 70 69 63 6b 20 6f 75 74 20 ords)).......This.will.pick.out.
39600 61 6c 6c 20 74 68 65 20 77 6f 72 64 73 20 74 68 61 74 20 75 73 65 20 74 68 65 20 e2 80 98 62 6f all.the.words.that.use.the....bo
39620 6c 64 e2 80 99 20 66 61 63 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 73 ld....face.............(while.(s
39640 65 74 71 20 6d 61 74 63 68 20 28 74 65 78 74 2d 70 72 6f 70 65 72 74 79 2d 73 65 61 72 63 68 2d etq.match.(text-property-search-
39660 66 6f 72 77 61 72 64 20 27 66 61 63 65 20 6e 69 6c 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 forward.'face.nil.t))...........
39680 20 20 28 70 75 73 68 20 28 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 20 28 70 72 6f 70 2d ..(push.(buffer-substring.(prop-
396a0 6d 61 74 63 68 2d 62 65 67 69 6e 6e 69 6e 67 20 6d 61 74 63 68 29 0a 20 20 20 20 20 20 20 20 20 match-beginning.match)..........
396c0 20 20 20 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 70 72 6f 70 ...........................(prop
396e0 2d 6d 61 74 63 68 2d 65 6e 64 20 6d 61 74 63 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 -match-end.match))..............
39700 20 20 20 20 20 77 6f 72 64 73 29 29 0a 0a 20 20 20 20 20 54 68 69 73 20 77 69 6c 6c 20 70 69 63 .....words)).......This.will.pic
39720 6b 20 6f 75 74 20 61 6c 6c 20 74 68 65 20 62 69 74 73 20 74 68 61 74 20 68 61 76 65 20 6e 6f 20 k.out.all.the.bits.that.have.no.
39740 66 61 63 65 20 70 72 6f 70 65 72 74 69 65 73 2c 20 77 68 69 63 68 0a 20 20 20 20 20 77 69 6c 6c face.properties,.which......will
39760 20 72 65 73 75 6c 74 20 69 6e 20 74 68 65 20 6c 69 73 74 20 e2 80 98 28 22 54 68 69 73 20 69 73 .result.in.the.list....("This.is
39780 20 61 20 22 20 22 61 6e 64 20 68 65 72 65 27 73 20 22 20 22 61 6e 64 20 74 68 69 73 20 69 73 0a .a."."and.here's."."and.this.is.
397a0 20 20 20 20 20 74 68 65 20 65 6e 64 22 29 e2 80 99 20 28 6f 6e 6c 79 20 72 65 76 65 72 73 65 64 .....the.end")....(only.reversed
397c0 2c 20 73 69 6e 63 65 20 77 65 20 75 73 65 64 20 e2 80 98 70 75 73 68 e2 80 99 29 2e 0a 0a 20 20 ,.since.we.used....push...).....
397e0 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 73 65 74 71 20 6d 61 74 63 68 20 28 74 65 78 74 ........(while.(setq.match.(text
39800 2d 70 72 6f 70 65 72 74 79 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 27 66 61 63 65 20 6e -property-search-forward.'face.n
39820 69 6c 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 62 75 66 66 il.nil)).............(push.(buff
39840 65 72 2d 73 75 62 73 74 72 69 6e 67 20 28 70 72 6f 70 2d 6d 61 74 63 68 2d 62 65 67 69 6e 6e 69 er-substring.(prop-match-beginni
39860 6e 67 20 6d 61 74 63 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ng.match).......................
39880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 70 2d 6d 61 74 63 68 2d 65 6e 64 20 6d 61 ..............(prop-match-end.ma
398a0 74 63 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 6f 72 64 73 29 29 0a tch))...................words)).
398c0 0a 20 20 20 20 20 54 68 69 73 20 77 69 6c 6c 20 70 69 63 6b 20 6f 75 74 20 61 6c 6c 20 74 68 65 ......This.will.pick.out.all.the
398e0 20 72 65 67 69 6f 6e 73 20 77 68 65 72 65 20 e2 80 98 66 61 63 65 e2 80 99 20 69 73 20 73 65 74 .regions.where....face....is.set
39900 20 74 6f 0a 20 20 20 20 20 73 6f 6d 65 74 68 69 6e 67 2c 20 62 75 74 20 74 68 69 73 20 69 73 20 .to......something,.but.this.is.
39920 73 70 6c 69 74 20 75 70 20 69 6e 74 6f 20 77 68 65 72 65 20 74 68 65 20 70 72 6f 70 65 72 74 69 split.up.into.where.the.properti
39940 65 73 20 63 68 61 6e 67 65 2c 0a 20 20 20 20 20 73 6f 20 74 68 65 20 72 65 73 75 6c 74 20 68 65 es.change,......so.the.result.he
39960 72 65 20 77 69 6c 6c 20 62 65 20 e2 80 98 28 22 62 6f 6c 64 22 20 22 62 6f 6c 64 22 20 22 69 74 re.will.be....("bold"."bold"."it
39980 61 6c 69 63 22 29 e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 61 20 6d 6f 72 65 20 72 65 61 6c alic")...........For.a.more.real
399a0 69 73 74 69 63 20 65 78 61 6d 70 6c 65 20 77 68 65 72 65 20 79 6f 75 20 6d 69 67 68 74 20 75 73 istic.example.where.you.might.us
399c0 65 20 74 68 69 73 2c 20 63 6f 6e 73 69 64 65 72 0a 20 20 20 20 20 74 68 61 74 20 79 6f 75 20 68 e.this,.consider......that.you.h
399e0 61 76 65 20 61 20 62 75 66 66 65 72 20 77 68 65 72 65 20 63 65 72 74 61 69 6e 20 73 65 63 74 69 ave.a.buffer.where.certain.secti
39a00 6f 6e 73 20 72 65 70 72 65 73 65 6e 74 20 55 52 4c 73 2c 20 61 6e 64 0a 20 20 20 20 20 74 68 65 ons.represent.URLs,.and......the
39a20 73 65 20 61 72 65 20 74 61 67 67 65 64 20 77 69 74 68 20 e2 80 98 73 68 72 2d 75 72 6c e2 80 99 se.are.tagged.with....shr-url...
39a40 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 73 65 74 71 20 6d 61 74 63 68 20 .............(while.(setq.match.
39a60 28 74 65 78 74 2d 70 72 6f 70 65 72 74 79 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 27 73 (text-property-search-forward.'s
39a80 68 72 2d 75 72 6c 20 6e 69 6c 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 hr-url.nil.nil)).............(pu
39aa0 73 68 20 28 70 72 6f 70 2d 6d 61 74 63 68 2d 76 61 6c 75 65 20 6d 61 74 63 68 29 20 75 72 6c 73 sh.(prop-match-value.match).urls
39ac0 29 29 0a 0a 20 20 20 20 20 54 68 69 73 20 77 69 6c 6c 20 67 69 76 65 20 79 6f 75 20 61 20 6c 69 )).......This.will.give.you.a.li
39ae0 73 74 20 6f 66 20 61 6c 6c 20 74 68 6f 73 65 20 55 52 4c 73 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 st.of.all.those.URLs........*Not
39b00 65 20 28 50 72 6f 70 65 72 74 79 20 53 65 61 72 63 68 29 65 6c 69 73 70 3a 3a 2e 0a 0a 20 2d 2d e.(Property.Search)elisp::....--
39b20 20 46 75 6e 63 74 69 6f 6e 3a 20 74 65 78 74 2d 70 72 6f 70 65 72 74 79 2d 73 65 61 72 63 68 2d .Function:.text-property-search-
39b40 62 61 63 6b 77 61 72 64 20 70 72 6f 70 20 26 6f 70 74 69 6f 6e 61 6c 20 76 61 6c 75 65 0a 20 20 backward.prop.&optional.value...
39b60 20 20 20 20 20 20 20 20 70 72 65 64 69 63 61 74 65 20 6e 6f 74 2d 63 75 72 72 65 6e 74 0a 20 20 ........predicate.not-current...
39b80 20 20 20 54 68 69 73 20 69 73 20 6a 75 73 74 20 6c 69 6b 65 20 e2 80 98 74 65 78 74 2d 70 72 6f ...This.is.just.like....text-pro
39ba0 70 65 72 74 79 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 e2 80 99 2c 20 62 75 74 20 73 65 61 perty-search-forward...,.but.sea
39bc0 72 63 68 65 73 0a 20 20 20 20 20 62 61 63 6b 77 61 72 64 20 69 6e 73 74 65 61 64 2e 20 20 50 6f rches......backward.instead...Po
39be0 69 6e 74 20 69 73 20 70 6c 61 63 65 64 20 61 74 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f int.is.placed.at.the.beginning.o
39c00 66 20 74 68 65 20 6d 61 74 63 68 65 64 0a 20 20 20 20 20 72 65 67 69 6f 6e 20 69 6e 73 74 65 61 f.the.matched......region.instea
39c20 64 20 6f 66 20 74 68 65 20 65 6e 64 2c 20 74 68 6f 75 67 68 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 d.of.the.end,.though........*Not
39c40 65 20 28 50 72 6f 70 65 72 74 79 20 53 65 61 72 63 68 29 65 6c 69 73 70 3a 3a 2e 0a 0a 32 2e 33 e.(Property.Search)elisp::...2.3
39c60 2e 32 20 45 78 74 65 6e 64 65 64 20 44 65 66 69 6e 69 74 69 6f 6e 73 0a 2d 2d 2d 2d 2d 2d 2d 2d .2.Extended.Definitions.--------
39c80 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 54 68 65 73 65 20 66 75 6e 63 74 69 ------------------..These.functi
39ca0 6f 6e 73 20 6d 75 73 74 20 62 65 20 63 61 6c 6c 65 64 20 65 78 70 6c 69 63 69 74 6c 79 20 76 69 ons.must.be.called.explicitly.vi
39cc0 61 20 e2 80 98 63 6f 6d 70 61 74 2d 63 61 6c 6c e2 80 99 2c 20 73 69 6e 63 65 20 74 68 65 69 72 a....compat-call...,.since.their
39ce0 0a 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 6f 72 20 62 65 68 61 76 69 6f 72 20 .calling.convention.or.behavior.
39d00 77 61 73 20 65 78 74 65 6e 64 65 64 20 69 6e 20 45 6d 61 63 73 20 32 37 2e 31 3a 0a 0a 20 2d 2d was.extended.in.Emacs.27.1:...--
39d20 20 46 75 6e 63 74 69 6f 6e 3a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 72 65 63 65 6e 74 65 72 20 .Function:.compat-call.recenter.
39d40 26 6f 70 74 69 6f 6e 61 6c 20 63 6f 75 6e 74 20 72 65 64 69 73 70 6c 61 79 0a 20 20 20 20 20 54 &optional.count.redisplay......T
39d60 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 63 72 6f 6c 6c 73 20 74 68 65 20 74 65 78 74 20 69 6e his.function.scrolls.the.text.in
39d80 20 74 68 65 20 73 65 6c 65 63 74 65 64 20 77 69 6e 64 6f 77 20 73 6f 20 74 68 61 74 20 70 6f 69 .the.selected.window.so.that.poi
39da0 6e 74 0a 20 20 20 20 20 69 73 20 64 69 73 70 6c 61 79 65 64 20 61 74 20 61 20 73 70 65 63 69 66 nt......is.displayed.at.a.specif
39dc0 69 65 64 20 76 65 72 74 69 63 61 6c 20 70 6f 73 69 74 69 6f 6e 20 77 69 74 68 69 6e 20 74 68 65 ied.vertical.position.within.the
39de0 20 77 69 6e 64 6f 77 2e 0a 20 20 20 20 20 49 74 20 64 6f 65 73 20 6e 6f 74 20 6d 6f 76 65 20 70 .window.......It.does.not.move.p
39e00 6f 69 6e 74 20 77 69 74 68 20 72 65 73 70 65 63 74 20 74 6f 20 74 68 65 20 74 65 78 74 2e 0a 0a oint.with.respect.to.the.text...
39e20 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 54 65 78 74 75 61 6c 20 53 63 72 6f 6c 6c .....*Note.(elisp)Textual.Scroll
39e40 69 6e 67 3a 3a 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 ing::........This.compatibility.
39e60 76 65 72 73 69 6f 6e 20 61 64 64 73 20 73 75 70 70 6f 72 74 20 66 6f 72 20 74 68 65 20 6f 70 74 version.adds.support.for.the.opt
39e80 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 20 52 45 44 49 53 50 4c 41 59 2e 0a 0a ional.argument......REDISPLAY...
39ea0 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 6c 6f 6f 6b 75 70 .--.Function:.compat-call.lookup
39ec0 2d 6b 65 79 20 6b 65 79 6d 61 70 20 6b 65 79 20 26 6f 70 74 69 6f 6e 61 6c 0a 20 20 20 20 20 20 -key.keymap.key.&optional.......
39ee0 20 20 20 20 61 63 63 65 70 74 2d 64 65 66 61 75 6c 74 73 0a 20 20 20 20 20 54 68 69 73 20 66 75 ....accept-defaults......This.fu
39f00 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 nction.returns.the.definition.of
39f20 20 4b 45 59 20 69 6e 20 4b 45 59 4d 41 50 2e 20 20 49 66 20 74 68 65 0a 20 20 20 20 20 73 74 72 .KEY.in.KEYMAP...If.the......str
39f40 69 6e 67 20 6f 72 20 76 65 63 74 6f 72 20 4b 45 59 20 69 73 20 6e 6f 74 20 61 20 76 61 6c 69 64 ing.or.vector.KEY.is.not.a.valid
39f60 20 6b 65 79 20 73 65 71 75 65 6e 63 65 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 0a 20 .key.sequence.according.to.the..
39f80 20 20 20 20 70 72 65 66 69 78 20 6b 65 79 73 20 73 70 65 63 69 66 69 65 64 20 69 6e 20 4b 45 59 ....prefix.keys.specified.in.KEY
39fa0 4d 41 50 2c 20 69 74 20 6d 75 73 74 20 62 65 20 74 6f 6f 20 6c 6f 6e 67 20 61 6e 64 20 68 61 76 MAP,.it.must.be.too.long.and.hav
39fc0 65 20 65 78 74 72 61 0a 20 20 20 20 20 65 76 65 6e 74 73 20 61 74 20 74 68 65 20 65 6e 64 20 74 e.extra......events.at.the.end.t
39fe0 68 61 74 20 64 6f 20 6e 6f 74 20 66 69 74 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c 65 20 6b 65 79 hat.do.not.fit.into.a.single.key
3a000 20 73 65 71 75 65 6e 63 65 2e 20 20 54 68 65 6e 0a 20 20 20 20 20 74 68 65 20 76 61 6c 75 65 20 .sequence...Then......the.value.
3a020 69 73 20 61 20 6e 75 6d 62 65 72 2c 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 65 76 65 6e 74 is.a.number,.the.number.of.event
3a040 73 20 61 74 20 74 68 65 20 66 72 6f 6e 74 20 6f 66 20 4b 45 59 0a 20 20 20 20 20 74 68 61 74 20 s.at.the.front.of.KEY......that.
3a060 63 6f 6d 70 6f 73 65 20 61 20 63 6f 6d 70 6c 65 74 65 20 6b 65 79 2e 0a 0a 20 20 20 20 20 2a 4e compose.a.complete.key........*N
3a080 6f 74 65 20 28 65 6c 69 73 70 29 4c 6f 77 2d 4c 65 76 65 6c 20 4b 65 79 20 42 69 6e 64 69 6e 67 ote.(elisp)Low-Level.Key.Binding
3a0a0 3a 3a 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 76 65 72 ::........This.compatibility.ver
3a0c0 73 69 6f 6e 20 61 6c 6c 6f 77 73 20 66 6f 72 20 4b 45 59 4d 41 50 20 74 6f 20 62 65 20 61 20 6c sion.allows.for.KEYMAP.to.be.a.l
3a0e0 69 73 74 20 6f 66 0a 20 20 20 20 20 6b 65 79 6d 61 70 73 2c 20 69 6e 73 74 65 61 64 20 6f 66 20 ist.of......keymaps,.instead.of.
3a100 6a 75 73 74 20 61 20 73 69 6e 67 75 6c 61 72 20 6b 65 79 6d 61 70 2e 0a 0a 20 2d 2d 20 4d 61 63 just.a.singular.keymap....--.Mac
3a120 72 6f 3a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 73 65 74 71 2d 6c 6f 63 61 6c 20 26 72 65 73 74 ro:.compat-call.setq-local.&rest
3a140 20 70 61 69 72 73 0a 20 20 20 20 20 50 41 49 52 53 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 76 .pairs......PAIRS.is.a.list.of.v
3a160 61 72 69 61 62 6c 65 20 61 6e 64 20 76 61 6c 75 65 20 70 61 69 72 73 2e 20 20 54 68 69 73 20 6d ariable.and.value.pairs...This.m
3a180 61 63 72 6f 20 63 72 65 61 74 65 73 20 61 0a 20 20 20 20 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c acro.creates.a......buffer-local
3a1a0 20 62 69 6e 64 69 6e 67 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 20 66 .binding.in.the.current.buffer.f
3a1c0 6f 72 20 65 61 63 68 20 6f 66 20 74 68 65 0a 20 20 20 20 20 76 61 72 69 61 62 6c 65 73 2c 20 61 or.each.of.the......variables,.a
3a1e0 6e 64 20 67 69 76 65 73 20 74 68 65 6d 20 61 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 76 61 6c nd.gives.them.a.buffer-local.val
3a200 75 65 2e 20 20 49 74 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 0a 20 20 20 20 20 74 6f 20 63 61 ue...It.is.equivalent......to.ca
3a220 6c 6c 69 6e 67 20 e2 80 98 6d 61 6b 65 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 e2 80 99 20 lling....make-local-variable....
3a240 66 6f 6c 6c 6f 77 65 64 20 62 79 20 e2 80 98 73 65 74 71 e2 80 99 20 66 6f 72 20 65 61 63 68 20 followed.by....setq....for.each.
3a260 6f 66 20 74 68 65 0a 20 20 20 20 20 76 61 72 69 61 62 6c 65 73 2e 20 20 54 68 65 20 76 61 72 69 of.the......variables...The.vari
3a280 61 62 6c 65 73 20 73 68 6f 75 6c 64 20 62 65 20 75 6e 71 75 6f 74 65 64 20 73 79 6d 62 6f 6c 73 ables.should.be.unquoted.symbols
3a2a0 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 76 61 72 31 20 22 76 .............(setq-local.var1."v
3a2c0 61 6c 75 65 31 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 alue1".......................var
3a2e0 32 20 22 76 61 6c 75 65 32 22 29 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 43 2."value2").......*Note.(elisp)C
3a300 72 65 61 74 69 6e 67 20 42 75 66 66 65 72 2d 4c 6f 63 61 6c 3a 3a 2e 0a 0a 20 20 20 20 20 54 68 reating.Buffer-Local::........Th
3a320 69 73 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 76 65 72 73 69 6f 6e 20 61 6c 6c 6f 77 73 20 is.compatibility.version.allows.
3a340 66 6f 72 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 76 61 72 69 61 62 6c 65 20 74 6f 20 62 65 for.more.than.one.variable.to.be
3a360 0a 20 20 20 20 20 73 65 74 20 61 74 20 6f 6e 63 65 2c 20 61 73 20 63 61 6e 20 62 65 20 64 6f 6e ......set.at.once,.as.can.be.don
3a380 65 20 77 69 74 68 20 e2 80 98 73 65 74 71 e2 80 99 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e e.with....setq.......--.Function
3a3a0 3a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 72 65 67 65 78 70 2d 6f 70 74 20 73 74 72 69 6e 67 73 :.compat-call.regexp-opt.strings
3a3c0 20 26 6f 70 74 69 6f 6e 61 6c 20 70 61 72 65 6e 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 .&optional.paren......This.funct
3a3e0 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 6e 20 65 66 66 69 63 69 65 6e 74 20 72 65 67 75 6c 61 72 ion.returns.an.efficient.regular
3a400 20 65 78 70 72 65 73 73 69 6f 6e 20 74 68 61 74 20 77 69 6c 6c 0a 20 20 20 20 20 6d 61 74 63 68 .expression.that.will......match
3a420 20 61 6e 79 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 73 20 69 6e 20 74 68 65 20 6c 69 73 74 20 .any.of.the.strings.in.the.list.
3a440 53 54 52 49 4e 47 53 2e 20 20 54 68 69 73 20 69 73 20 75 73 65 66 75 6c 20 77 68 65 6e 0a 20 20 STRINGS...This.is.useful.when...
3a460 20 20 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 6d 61 6b 65 20 6d 61 74 63 68 69 6e 67 20 6f 72 20 ...you.need.to.make.matching.or.
3a480 73 65 61 72 63 68 69 6e 67 20 61 73 20 66 61 73 74 20 61 73 20 70 6f 73 73 69 62 6c 65 e2 80 94 searching.as.fast.as.possible...
3a4a0 66 6f 72 0a 20 20 20 20 20 65 78 61 6d 70 6c 65 2c 20 66 6f 72 20 46 6f 6e 74 20 4c 6f 63 6b 20 for......example,.for.Font.Lock.
3a4c0 6d 6f 64 65 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 52 65 67 65 78 70 20 mode........*Note.(elisp)Regexp.
3a4e0 46 75 6e 63 74 69 6f 6e 73 3a 3a 2e 0a 0a 20 20 20 20 20 54 68 65 20 63 6f 6d 70 61 74 69 62 69 Functions::........The.compatibi
3a500 6c 69 74 79 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 73 20 68 lity.version.of.this.functions.h
3a520 61 6e 64 6c 65 73 20 74 68 65 20 63 61 73 65 20 77 68 65 72 65 0a 20 20 20 20 20 53 54 52 49 4e andles.the.case.where......STRIN
3a540 47 53 20 69 6e 20 61 6e 20 65 6d 70 74 79 20 6c 69 73 74 2e 20 20 49 6e 20 74 68 61 74 20 63 61 GS.in.an.empty.list...In.that.ca
3a560 73 65 2c 20 61 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 20 69 73 0a 20 20 20 20 se,.a.regular.expression.is.....
3a580 20 67 65 6e 65 72 61 74 65 64 20 74 68 61 74 20 6e 65 76 65 72 20 6d 61 74 63 68 65 73 20 61 6e .generated.that.never.matches.an
3a5a0 79 74 68 69 6e 67 20 28 73 65 65 20 e2 80 98 72 65 67 65 78 70 2d 75 6e 6d 61 74 63 68 61 62 6c ything.(see....regexp-unmatchabl
3a5c0 65 e2 80 99 29 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 63 6f 6d 70 61 74 2d 63 61 6c e...)....--.Function:.compat-cal
3a5e0 6c 20 66 69 6c 65 2d 73 69 7a 65 2d 68 75 6d 61 6e 2d 72 65 61 64 61 62 6c 65 20 66 69 6c 65 2d l.file-size-human-readable.file-
3a600 73 69 7a 65 20 26 6f 70 74 69 6f 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 20 66 6c 61 76 6f 72 20 size.&optional...........flavor.
3a620 73 70 61 63 65 20 75 6e 69 74 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 73 74 72 69 6e 67 20 space.unit......Return.a.string.
3a640 77 69 74 68 20 61 20 68 75 6d 61 6e 20 72 65 61 64 61 62 6c 65 20 72 65 70 72 65 73 65 6e 74 61 with.a.human.readable.representa
3a660 74 69 6f 6e 20 6f 66 20 46 49 4c 45 2d 53 49 5a 45 2e 0a 0a 20 20 20 20 20 54 68 65 20 6f 70 74 tion.of.FILE-SIZE........The.opt
3a680 69 6f 6e 61 6c 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 20 46 4c 41 56 4f 52 20 63 6f 6e ional.second.argument.FLAVOR.con
3a6a0 74 72 6f 6c 73 20 74 68 65 20 75 6e 69 74 73 20 61 6e 64 20 74 68 65 0a 20 20 20 20 20 64 69 73 trols.the.units.and.the......dis
3a6c0 70 6c 61 79 20 66 6f 72 6d 61 74 2e 20 20 49 66 20 46 4c 41 56 4f 52 20 69 73 2e 2e 2e 0a 0a 20 play.format...If.FLAVOR.is......
3a6e0 20 20 20 20 20 20 20 e2 80 a2 20 e2 80 98 73 69 e2 80 99 2c 20 65 61 63 68 20 6b 69 6c 6f 62 79 ..............si...,.each.kiloby
3a700 74 65 20 69 73 20 31 30 30 30 20 62 79 74 65 73 20 61 6e 64 20 74 68 65 20 70 72 6f 64 75 63 65 te.is.1000.bytes.and.the.produce
3a720 64 20 73 75 66 66 69 78 65 73 0a 20 20 20 20 20 20 20 20 20 20 61 72 65 20 e2 80 98 6b e2 80 99 d.suffixes...........are....k...
3a740 2c 20 e2 80 98 4d e2 80 99 2c 20 e2 80 98 47 e2 80 99 2c 20 e2 80 98 54 e2 80 99 2c 20 65 74 63 ,....M...,....G...,....T...,.etc
3a760 2e 0a 20 20 20 20 20 20 20 20 e2 80 a2 20 e2 80 98 69 65 63 e2 80 99 2c 20 65 61 63 68 20 6b 69 .................iec...,.each.ki
3a780 6c 6f 62 79 74 65 20 69 73 20 31 30 32 34 20 62 79 74 65 73 20 61 6e 64 20 74 68 65 20 70 72 6f lobyte.is.1024.bytes.and.the.pro
3a7a0 64 75 63 65 64 20 73 75 66 66 69 78 65 73 0a 20 20 20 20 20 20 20 20 20 20 61 72 65 20 e2 80 98 duced.suffixes...........are....
3a7c0 4b 69 42 e2 80 99 2c 20 e2 80 98 4d 69 42 e2 80 99 2c 20 e2 80 98 47 69 42 e2 80 99 2c 20 e2 80 KiB...,....MiB...,....GiB...,...
3a7e0 98 54 69 42 e2 80 99 2c 20 65 74 63 2e 0a 20 20 20 20 20 20 20 20 e2 80 a2 20 e2 80 98 6e 69 6c .TiB...,.etc.................nil
3a800 e2 80 99 20 6f 72 20 6f 6d 69 74 74 65 64 2c 20 65 61 63 68 20 6b 69 6c 6f 62 79 74 65 20 69 73 ....or.omitted,.each.kilobyte.is
3a820 20 31 30 32 34 20 62 79 74 65 73 20 61 6e 64 20 74 68 65 20 70 72 6f 64 75 63 65 64 0a 20 20 20 .1024.bytes.and.the.produced....
3a840 20 20 20 20 20 20 20 73 75 66 66 69 78 65 73 20 61 72 65 20 e2 80 98 6b e2 80 99 2c 20 e2 80 98 .......suffixes.are....k...,....
3a860 4d e2 80 99 2c 20 e2 80 98 47 e2 80 99 2c 20 e2 80 98 54 e2 80 99 2c 20 65 74 63 2e 0a 0a 20 20 M...,....G...,....T...,.etc.....
3a880 20 20 20 54 68 65 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 76 65 72 73 69 6f 6e 20 68 61 6e ...The.compatibility.version.han
3a8a0 64 6c 65 73 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 74 68 69 72 64 20 28 53 50 41 43 45 29 20 dles.the.optional.third.(SPACE).
3a8c0 61 6e 64 0a 20 20 20 20 20 66 6f 72 74 68 20 28 55 4e 49 54 29 20 61 72 67 75 6d 65 6e 74 73 2e and......forth.(UNIT).arguments.
3a8e0 20 20 54 68 65 20 61 72 67 75 6d 65 6e 74 20 53 50 41 43 45 20 63 61 6e 20 62 65 20 61 20 73 74 ..The.argument.SPACE.can.be.a.st
3a900 72 69 6e 67 20 74 68 61 74 20 69 73 0a 20 20 20 20 20 70 6c 61 63 65 64 20 62 65 74 77 65 65 6e ring.that.is......placed.between
3a920 20 74 68 65 20 6e 75 6d 62 65 72 20 61 6e 64 20 74 68 65 20 75 6e 69 74 2e 20 20 54 68 65 20 61 .the.number.and.the.unit...The.a
3a940 72 67 75 6d 65 6e 74 20 55 4e 49 54 0a 20 20 20 20 20 64 65 74 65 72 6d 69 6e 65 73 20 74 68 65 rgument.UNIT......determines.the
3a960 20 75 6e 69 74 20 74 6f 20 75 73 65 2e 20 20 42 79 20 64 65 66 61 75 6c 74 20 69 74 20 77 69 6c .unit.to.use...By.default.it.wil
3a980 6c 20 62 65 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 2c 0a 20 20 20 20 20 75 6e 6c 65 73 l.be.an.empty.string,......unles
3a9a0 73 20 46 4c 41 56 4f 52 20 69 73 20 e2 80 98 69 65 63 e2 80 99 2c 20 69 6e 20 77 68 69 63 68 20 s.FLAVOR.is....iec...,.in.which.
3a9c0 63 61 73 65 20 69 74 20 77 69 6c 6c 20 62 65 20 e2 80 98 42 e2 80 99 2e 0a 0a 20 2d 2d 20 46 75 case.it.will.be....B.......--.Fu
3a9e0 6e 63 74 69 6f 6e 3a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 61 73 73 6f 63 2d 64 65 6c 65 74 65 nction:.compat-call.assoc-delete
3aa00 2d 61 6c 6c 20 6b 65 79 20 61 6c 69 73 74 20 26 6f 70 74 69 6f 6e 61 6c 20 74 65 73 74 0a 20 20 -all.key.alist.&optional.test...
3aa20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c 69 6b 65 20 e2 80 98 61 73 73 71 ...This.function.is.like....assq
3aa40 2d 64 65 6c 65 74 65 2d 61 6c 6c e2 80 99 20 65 78 63 65 70 74 20 74 68 61 74 20 69 74 20 61 63 -delete-all....except.that.it.ac
3aa60 63 65 70 74 73 20 61 6e 0a 20 20 20 20 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 cepts.an......optional.argument.
3aa80 54 45 53 54 2c 20 61 20 70 72 65 64 69 63 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 74 6f 20 63 6f TEST,.a.predicate.function.to.co
3aaa0 6d 70 61 72 65 20 74 68 65 20 6b 65 79 73 20 69 6e 0a 20 20 20 20 20 41 4c 49 53 54 2e 20 20 49 mpare.the.keys.in......ALIST...I
3aac0 66 20 6f 6d 69 74 74 65 64 20 6f 72 20 e2 80 98 6e 69 6c e2 80 99 2c 20 54 45 53 54 20 64 65 66 f.omitted.or....nil...,.TEST.def
3aae0 61 75 6c 74 73 20 74 6f 20 e2 80 98 65 71 75 61 6c e2 80 99 2e 20 20 41 73 0a 20 20 20 20 20 e2 aults.to....equal......As.......
3ab00 80 98 61 73 73 71 2d 64 65 6c 65 74 65 2d 61 6c 6c e2 80 99 2c 20 74 68 69 73 20 66 75 6e 63 74 ..assq-delete-all...,.this.funct
3ab20 69 6f 6e 20 6f 66 74 65 6e 20 6d 6f 64 69 66 69 65 73 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 ion.often.modifies.the.original.
3ab40 6c 69 73 74 0a 20 20 20 20 20 73 74 72 75 63 74 75 72 65 20 6f 66 20 41 4c 49 53 54 2e 0a 0a 20 list......structure.of.ALIST....
3ab60 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 41 73 73 6f 63 69 61 74 69 6f 6e 20 4c 69 73 ....*Note.(elisp)Association.Lis
3ab80 74 73 3a 3a 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 76 ts::........This.compatibility.v
3aba0 65 72 73 69 6f 6e 20 68 61 6e 64 6c 65 73 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 74 68 69 72 ersion.handles.the.optional.thir
3abc0 64 20 28 54 45 53 54 46 4e 29 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 2e 0a 0a 20 2d 2d 20 46 d.(TESTFN)......argument....--.F
3abe0 75 6e 63 74 69 6f 6e 3a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 2d unction:.compat-call.executable-
3ac00 66 69 6e 64 20 70 72 6f 67 72 61 6d 20 26 6f 70 74 69 6f 6e 61 6c 20 72 65 6d 6f 74 65 0a 20 20 find.program.&optional.remote...
3ac20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 65 61 72 63 68 65 73 20 66 6f 72 20 74 68 ...This.function.searches.for.th
3ac40 65 20 65 78 65 63 75 74 61 62 6c 65 20 66 69 6c 65 20 6f 66 20 74 68 65 20 6e 61 6d 65 64 20 50 e.executable.file.of.the.named.P
3ac60 52 4f 47 52 41 4d 0a 20 20 20 20 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 61 62 73 6f ROGRAM......and.returns.the.abso
3ac80 6c 75 74 65 20 66 69 6c 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 lute.file.name.of.the.executable
3aca0 2c 20 69 6e 63 6c 75 64 69 6e 67 20 69 74 73 0a 20 20 20 20 20 66 69 6c 65 2d 6e 61 6d 65 20 65 ,.including.its......file-name.e
3acc0 78 74 65 6e 73 69 6f 6e 73 2c 20 69 66 20 61 6e 79 2e 20 20 49 74 20 72 65 74 75 72 6e 73 20 e2 xtensions,.if.any...It.returns..
3ace0 80 98 6e 69 6c e2 80 99 20 69 66 20 74 68 65 20 66 69 6c 65 20 69 73 20 6e 6f 74 0a 20 20 20 20 ..nil....if.the.file.is.not.....
3ad00 20 66 6f 75 6e 64 2e 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 73 65 61 72 63 68 65 73 20 69 .found...The.function.searches.i
3ad20 6e 20 61 6c 6c 20 74 68 65 20 64 69 72 65 63 74 6f 72 69 65 73 20 69 6e 0a 20 20 20 20 20 e2 80 n.all.the.directories.in........
3ad40 98 65 78 65 63 2d 70 61 74 68 e2 80 99 2c 20 61 6e 64 20 74 72 69 65 73 20 61 6c 6c 20 74 68 65 .exec-path...,.and.tries.all.the
3ad60 20 66 69 6c 65 2d 6e 61 6d 65 20 65 78 74 65 6e 73 69 6f 6e 73 20 69 6e 0a 20 20 20 20 20 e2 80 .file-name.extensions.in........
3ad80 98 65 78 65 63 2d 73 75 66 66 69 78 65 73 e2 80 99 20 28 2a 6e 6f 74 65 20 28 65 6c 69 73 70 29 .exec-suffixes....(*note.(elisp)
3ada0 53 75 62 70 72 6f 63 65 73 73 20 43 72 65 61 74 69 6f 6e 3a 3a 29 2e 0a 0a 20 20 20 20 20 49 66 Subprocess.Creation::)........If
3adc0 20 52 45 4d 4f 54 45 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 61 6e 64 20 e2 80 .REMOTE.is.non-...nil...,.and...
3ade0 98 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 e2 80 99 20 69 73 20 61 20 72 65 6d 6f 74 .default-directory....is.a.remot
3ae00 65 0a 20 20 20 20 20 64 69 72 65 63 74 6f 72 79 2c 20 50 52 4f 47 52 41 4d 20 69 73 20 73 65 61 e......directory,.PROGRAM.is.sea
3ae20 72 63 68 65 64 20 6f 6e 20 74 68 65 20 72 65 73 70 65 63 74 69 76 65 20 72 65 6d 6f 74 65 20 68 rched.on.the.respective.remote.h
3ae40 6f 73 74 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 4c 6f 63 61 74 69 6e 67 ost........*Note.(elisp)Locating
3ae60 20 46 69 6c 65 73 3a 3a 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 63 6f 6d 70 61 74 69 62 69 6c 69 .Files::........This.compatibili
3ae80 74 79 20 76 65 72 73 69 6f 6e 20 61 64 64 73 20 73 75 70 70 6f 72 74 20 74 6f 20 68 61 6e 64 6c ty.version.adds.support.to.handl
3aea0 65 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 0a 20 20 20 20 20 73 65 63 6f 6e 64 20 28 52 45 4d 4f e.the.optional......second.(REMO
3aec0 54 45 29 20 61 72 67 75 6d 65 6e 74 2e 0a 0a 32 2e 33 2e 33 20 4d 69 73 73 69 6e 67 20 44 65 66 TE).argument...2.3.3.Missing.Def
3aee0 69 6e 69 74 69 6f 6e 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d initions.-----------------------
3af00 2d 2d 0a 0a 43 6f 6d 70 61 74 20 64 6f 65 73 20 6e 6f 74 20 70 72 6f 76 69 64 65 20 73 75 70 70 --..Compat.does.not.provide.supp
3af20 6f 72 74 20 66 6f 72 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 4c 69 73 70 20 66 65 61 74 75 ort.for.the.following.Lisp.featu
3af40 72 65 73 0a 69 6d 70 6c 65 6d 65 6e 74 65 64 20 69 6e 20 32 37 2e 31 3a 0a 0a 20 20 20 e2 80 a2 res.implemented.in.27.1:........
3af60 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 73 20 e2 80 98 62 61 73 65 36 34 75 72 6c 2d 65 6e 63 6f .The.functions....base64url-enco
3af80 64 65 2d 2a e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 de-*............The.function....
3afa0 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 61 64 64 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 decoded-time-add............The.
3afc0 66 75 6e 63 74 69 6f 6e 20 e2 80 98 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 73 65 74 2d 64 65 66 function....decoded-time-set-def
3afe0 61 75 6c 74 73 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 aults............The.function...
3b000 98 74 69 6d 65 2d 63 6f 6e 76 65 72 74 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 6d 61 63 .time-convert............The.mac
3b020 72 6f 20 e2 80 98 62 65 6e 63 68 6d 61 72 6b 2d 70 72 6f 67 6e e2 80 99 2e 0a 20 20 20 e2 80 a2 ro....benchmark-progn...........
3b040 20 53 75 70 70 6f 72 74 20 66 6f 72 20 e2 80 98 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 e2 80 .Support.for....condition-case..
3b060 99 20 74 6f 20 68 61 6e 64 6c 65 20 74 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 ..to.handle.t.........The.functi
3b080 6f 6e 20 e2 80 98 66 69 6c 65 2d 73 79 73 74 65 6d 2d 69 6e 66 6f e2 80 99 2e 0a 20 20 20 e2 80 on....file-system-info..........
3b0a0 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 67 72 6f 75 70 2d 6e 61 6d 65 e2 80 99 2e ..The.function....group-name....
3b0c0 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 66 61 63 65 2d 65 78 74 ........The.function....face-ext
3b0e0 65 6e 64 2d 70 e2 80 99 20 61 6e 64 20 e2 80 98 73 65 74 2d 66 61 63 65 2d 65 78 74 65 6e 64 e2 end-p....and....set-face-extend.
3b100 80 99 2e 0a 20 20 20 e2 80 a2 20 41 64 64 69 74 69 6f 6e 61 6c 20 e2 80 98 66 6f 72 6d 61 74 2d ...........Additional....format-
3b120 73 70 65 63 e2 80 99 20 6d 6f 64 69 66 69 65 72 73 2e 0a 20 20 20 e2 80 a2 20 53 75 70 70 6f 72 spec....modifiers.........Suppor
3b140 74 20 66 6f 72 20 61 64 64 69 74 69 6f 6e 61 6c 20 62 6f 64 79 20 66 6f 72 6d 73 20 66 6f 72 0a t.for.additional.body.forms.for.
3b160 20 20 20 20 20 e2 80 98 64 65 66 69 6e 65 2d 67 6c 6f 62 61 6c 69 7a 65 64 2d 6d 69 6e 6f 72 2d ........define-globalized-minor-
3b180 6d 6f 64 65 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 6d 61 63 72 6f 20 e2 80 98 77 69 74 mode............The.macro....wit
3b1a0 68 2d 63 6f 6e 6e 65 63 74 69 6f 6e 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 73 e2 80 99 20 h-connection-local-variables....
3b1c0 61 6e 64 20 72 65 6c 61 74 65 64 0a 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 2e 0a and.related......functionality..
3b1e0 20 20 20 e2 80 a2 20 54 68 65 20 e2 80 98 69 73 6f 38 36 30 31 e2 80 99 20 6c 69 62 72 61 72 79 .......The....iso8601....library
3b200 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 e2 80 98 65 78 69 66 e2 80 99 20 6c 69 62 72 61 72 79 2e .........The....exif....library.
3b220 0a 20 20 20 e2 80 a2 20 54 68 65 20 e2 80 98 69 6d 61 67 65 2d 63 6f 6e 76 65 72 74 65 72 e2 80 ........The....image-converter..
3b240 99 20 6c 69 62 72 61 72 79 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 32 33 47 70 47 36 2e 69 6e ..library.....File:.doc23GpG6.in
3b260 66 6f 2c 20 20 4e 6f 64 65 3a 20 45 6d 61 63 73 20 32 38 2e 31 2c 20 20 4e 65 78 74 3a 20 45 6d fo,..Node:.Emacs.28.1,..Next:.Em
3b280 61 63 73 20 32 39 2e 31 2c 20 20 50 72 65 76 3a 20 45 6d 61 63 73 20 32 37 2e 31 2c 20 20 55 70 acs.29.1,..Prev:.Emacs.27.1,..Up
3b2a0 3a 20 53 75 70 70 6f 72 74 0a 0a 32 2e 34 20 45 6d 61 63 73 20 32 38 2e 31 0a 3d 3d 3d 3d 3d 3d :.Support..2.4.Emacs.28.1.======
3b2c0 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 32 2e 34 2e 31 20 41 64 64 65 64 20 44 65 66 69 6e 69 74 69 6f 6e ========..2.4.1.Added.Definition
3b2e0 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 54 68 65 20 66 s.-----------------------..The.f
3b300 6f 6c 6c 6f 77 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 6d 61 63 72 6f 73 20 61 72 ollowing.functions.and.macros.ar
3b320 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 69 6e 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 54 68 e.implemented.in.Emacs.28.1...Th
3b340 65 73 65 0a 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 6d 61 64 65 20 61 76 61 69 6c 61 62 6c 65 ese.functions.are.made.available
3b360 20 62 79 20 43 6f 6d 70 61 74 20 6f 6e 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 73 20 6f 6c 64 .by.Compat.on.Emacs.versions.old
3b380 65 72 20 74 68 61 6e 0a 32 38 2e 31 2e 0a 0a 20 20 20 54 68 65 20 e2 80 98 64 65 66 63 75 73 74 er.than.28.1......The....defcust
3b3a0 6f 6d e2 80 99 20 74 79 70 65 20 e2 80 98 6e 61 74 6e 75 6d e2 80 99 20 69 6e 74 72 6f 64 75 63 om....type....natnum....introduc
3b3c0 65 64 20 69 6e 20 45 6d 61 63 73 20 32 38 2e 31 20 69 73 20 6d 61 64 65 0a 61 76 61 69 6c 61 62 ed.in.Emacs.28.1.is.made.availab
3b3e0 6c 65 20 62 79 20 43 6f 6d 70 61 74 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 70 72 6f le.by.Compat....--.Function:.pro
3b400 63 65 73 73 2d 6c 69 6e 65 73 2d 69 67 6e 6f 72 65 2d 73 74 61 74 75 73 20 70 72 6f 67 72 61 6d cess-lines-ignore-status.program
3b420 20 26 72 65 73 74 20 61 72 67 73 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 .&rest.args......This.function.i
3b440 73 20 6a 75 73 74 20 6c 69 6b 65 20 e2 80 98 70 72 6f 63 65 73 73 2d 6c 69 6e 65 73 e2 80 99 2c s.just.like....process-lines...,
3b460 20 62 75 74 20 64 6f 65 73 20 6e 6f 74 20 73 69 67 6e 61 6c 20 61 6e 0a 20 20 20 20 20 65 72 72 .but.does.not.signal.an......err
3b480 6f 72 20 69 66 20 50 52 4f 47 52 41 4d 20 65 78 69 74 73 20 77 69 74 68 20 61 20 6e 6f 6e 2d 7a or.if.PROGRAM.exits.with.a.non-z
3b4a0 65 72 6f 20 65 78 69 74 20 73 74 61 74 75 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 ero.exit.status....--.Function:.
3b4c0 70 72 6f 63 65 73 73 2d 6c 69 6e 65 73 2d 68 61 6e 64 6c 69 6e 67 2d 73 74 61 74 75 73 20 70 72 process-lines-handling-status.pr
3b4e0 6f 67 72 61 6d 20 73 74 61 74 75 73 2d 68 61 6e 64 6c 65 72 20 26 72 65 73 74 0a 20 20 20 20 20 ogram.status-handler.&rest......
3b500 20 20 20 20 20 61 72 67 73 0a 20 20 20 20 20 45 78 65 63 75 74 65 20 50 52 4f 47 52 41 4d 20 77 .....args......Execute.PROGRAM.w
3b520 69 74 68 20 41 52 47 53 2c 20 72 65 74 75 72 6e 69 6e 67 20 69 74 73 20 6f 75 74 70 75 74 20 61 ith.ARGS,.returning.its.output.a
3b540 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 6e 65 73 2e 0a 20 20 20 20 20 49 66 20 53 54 41 54 55 s.a.list.of.lines.......If.STATU
3b560 53 2d 48 41 4e 44 4c 45 52 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 69 74 20 6d 75 73 74 20 62 65 S-HANDLER.is.non-nil,.it.must.be
3b580 20 61 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 6f 6e 65 0a 20 20 20 20 20 61 72 67 75 6d 65 .a.function.with.one......argume
3b5a0 6e 74 2c 20 77 68 69 63 68 20 77 69 6c 6c 20 62 65 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 68 nt,.which.will.be.called.with.th
3b5c0 65 20 65 78 69 74 20 73 74 61 74 75 73 20 6f 66 20 74 68 65 20 70 72 6f 67 72 61 6d 0a 20 20 20 e.exit.status.of.the.program....
3b5e0 20 20 62 65 66 6f 72 65 20 74 68 65 20 6f 75 74 70 75 74 20 69 73 20 63 6f 6c 6c 65 63 74 65 64 ..before.the.output.is.collected
3b600 2e 20 20 49 66 20 53 54 41 54 55 53 2d 48 41 4e 44 4c 45 52 20 69 73 20 6e 69 6c 2c 20 61 6e 20 ...If.STATUS-HANDLER.is.nil,.an.
3b620 65 72 72 6f 72 0a 20 20 20 20 20 69 73 20 73 69 67 6e 61 6c 65 64 20 69 66 20 74 68 65 20 70 72 error......is.signaled.if.the.pr
3b640 6f 67 72 61 6d 20 72 65 74 75 72 6e 73 20 77 69 74 68 20 61 20 6e 6f 6e 2d 7a 65 72 6f 20 65 78 ogram.returns.with.a.non-zero.ex
3b660 69 74 20 73 74 61 74 75 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 74 65 78 74 2d 71 it.status....--.Function:.text-q
3b680 75 6f 74 69 6e 67 2d 73 74 79 6c 65 0a 20 20 20 20 20 59 6f 75 20 73 68 6f 75 6c 64 20 6e 6f 74 uoting-style......You.should.not
3b6a0 20 72 65 61 64 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 .read.the.value.of.the.variable.
3b6c0 e2 80 98 74 65 78 74 2d 71 75 6f 74 69 6e 67 2d 73 74 79 6c 65 e2 80 99 0a 20 20 20 20 20 64 69 ...text-quoting-style.........di
3b6e0 72 65 63 74 6c 79 2e 20 20 49 6e 73 74 65 61 64 2c 20 75 73 65 20 74 68 69 73 20 66 75 6e 63 74 rectly...Instead,.use.this.funct
3b700 69 6f 6e 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 6e 61 6d 65 20 74 6f 0a 20 20 20 20 20 64 ion.with.the.same.name.to......d
3b720 79 6e 61 6d 69 63 61 6c 6c 79 20 63 6f 6d 70 75 74 65 20 74 68 65 20 63 6f 72 72 65 63 74 20 71 ynamically.compute.the.correct.q
3b740 75 6f 74 69 6e 67 20 73 74 79 6c 65 20 6f 6e 20 74 68 65 20 63 75 72 72 65 6e 74 0a 20 20 20 20 uoting.style.on.the.current.....
3b760 20 74 65 72 6d 69 6e 61 6c 20 69 6e 20 74 68 65 20 e2 80 98 6e 69 6c e2 80 99 20 63 61 73 65 20 .terminal.in.the....nil....case.
3b780 64 65 73 63 72 69 62 65 64 20 61 62 6f 76 65 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 described.above....--.Function:.
3b7a0 73 74 72 69 6e 67 2d 73 65 61 72 63 68 20 6e 65 65 64 6c 65 20 68 61 79 73 74 61 63 6b 20 26 6f string-search.needle.haystack.&o
3b7c0 70 74 69 6f 6e 61 6c 20 73 74 61 72 74 2d 70 6f 73 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 ptional.start-pos......Return.th
3b7e0 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 69 6e 73 74 61 6e 63 65 e.position.of.the.first.instance
3b800 20 6f 66 20 4e 45 45 44 4c 45 20 69 6e 20 48 41 59 53 54 41 43 4b 2c 0a 20 20 20 20 20 62 6f 74 .of.NEEDLE.in.HAYSTACK,......bot
3b820 68 20 6f 66 20 77 68 69 63 68 20 61 72 65 20 73 74 72 69 6e 67 73 2e 20 20 49 66 20 53 54 41 52 h.of.which.are.strings...If.STAR
3b840 54 2d 50 4f 53 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 73 74 61 72 74 0a 20 20 T-POS.is.non-...nil...,.start...
3b860 20 20 20 73 65 61 72 63 68 69 6e 67 20 66 72 6f 6d 20 74 68 61 74 20 70 6f 73 69 74 69 6f 6e 20 ...searching.from.that.position.
3b880 69 6e 20 4e 45 45 44 4c 45 2e 20 20 52 65 74 75 72 6e 20 e2 80 98 6e 69 6c e2 80 99 20 69 66 20 in.NEEDLE...Return....nil....if.
3b8a0 6e 6f 20 6d 61 74 63 68 0a 20 20 20 20 20 77 61 73 20 66 6f 75 6e 64 2e 20 20 54 68 69 73 20 66 no.match......was.found...This.f
3b8c0 75 6e 63 74 69 6f 6e 20 6f 6e 6c 79 20 63 6f 6e 73 69 64 65 72 73 20 74 68 65 20 63 68 61 72 61 unction.only.considers.the.chara
3b8e0 63 74 65 72 73 20 69 6e 20 74 68 65 0a 20 20 20 20 20 73 74 72 69 6e 67 73 20 77 68 65 6e 20 64 cters.in.the......strings.when.d
3b900 6f 69 6e 67 20 74 68 65 20 63 6f 6d 70 61 72 69 73 6f 6e 3b 20 74 65 78 74 20 70 72 6f 70 65 72 oing.the.comparison;.text.proper
3b920 74 69 65 73 20 61 72 65 20 69 67 6e 6f 72 65 64 2e 0a 20 20 20 20 20 4d 61 74 63 68 69 6e 67 20 ties.are.ignored.......Matching.
3b940 69 73 20 61 6c 77 61 79 73 20 63 61 73 65 2d 73 65 6e 73 69 74 69 76 65 2e 0a 0a 20 2d 2d 20 46 is.always.case-sensitive....--.F
3b960 75 6e 63 74 69 6f 6e 3a 20 6c 65 6e 67 74 68 3d 20 73 65 71 75 65 6e 63 65 20 6c 65 6e 67 74 68 unction:.length=.sequence.length
3b980 0a 20 20 20 20 20 52 65 74 75 72 6e 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 69 66 20 74 68 ......Return.non-...nil....if.th
3b9a0 65 20 6c 65 6e 67 74 68 20 6f 66 20 53 45 51 55 45 4e 43 45 20 69 73 20 65 71 75 61 6c 20 74 6f e.length.of.SEQUENCE.is.equal.to
3b9c0 20 4c 45 4e 47 54 48 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6c 65 6e 67 74 68 3c 20 .LENGTH....--.Function:.length<.
3b9e0 73 65 71 75 65 6e 63 65 20 6c 65 6e 67 74 68 0a 20 20 20 20 20 52 65 74 75 72 6e 20 6e 6f 6e 2d sequence.length......Return.non-
3ba00 e2 80 98 6e 69 6c e2 80 99 20 69 66 20 53 45 51 55 45 4e 43 45 20 69 73 20 73 68 6f 72 74 65 72 ...nil....if.SEQUENCE.is.shorter
3ba20 20 74 68 61 6e 20 4c 45 4e 47 54 48 2e 20 20 54 68 69 73 20 6d 61 79 20 62 65 0a 20 20 20 20 20 .than.LENGTH...This.may.be......
3ba40 6d 6f 72 65 20 65 66 66 69 63 69 65 6e 74 20 74 68 61 6e 20 63 6f 6d 70 75 74 69 6e 67 20 74 68 more.efficient.than.computing.th
3ba60 65 20 6c 65 6e 67 74 68 20 6f 66 20 53 45 51 55 45 4e 43 45 20 69 66 20 53 45 51 55 45 4e 43 45 e.length.of.SEQUENCE.if.SEQUENCE
3ba80 20 69 73 0a 20 20 20 20 20 61 20 6c 6f 6e 67 20 6c 69 73 74 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 .is......a.long.list....--.Funct
3baa0 69 6f 6e 3a 20 6c 65 6e 67 74 68 3e 20 73 65 71 75 65 6e 63 65 20 6c 65 6e 67 74 68 0a 20 20 20 ion:.length>.sequence.length....
3bac0 20 20 52 65 74 75 72 6e 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 69 66 20 53 45 51 55 45 4e ..Return.non-...nil....if.SEQUEN
3bae0 43 45 20 69 73 20 6c 6f 6e 67 65 72 20 74 68 61 6e 20 4c 45 4e 47 54 48 2e 0a 0a 20 2d 2d 20 46 CE.is.longer.than.LENGTH....--.F
3bb00 75 6e 63 74 69 6f 6e 3a 20 66 69 6c 65 2d 6e 61 6d 65 2d 63 6f 6e 63 61 74 20 64 69 72 65 63 74 unction:.file-name-concat.direct
3bb20 6f 72 79 20 26 72 65 73 74 20 63 6f 6d 70 6f 6e 65 6e 74 73 0a 20 20 20 20 20 43 6f 6e 63 61 74 ory.&rest.components......Concat
3bb40 65 6e 61 74 65 20 43 4f 4d 50 4f 4e 45 4e 54 53 20 74 6f 20 44 49 52 45 43 54 4f 52 59 2c 20 69 enate.COMPONENTS.to.DIRECTORY,.i
3bb60 6e 73 65 72 74 69 6e 67 20 61 20 73 6c 61 73 68 20 62 65 66 6f 72 65 20 74 68 65 0a 20 20 20 20 nserting.a.slash.before.the.....
3bb80 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 69 66 20 44 49 52 45 43 54 4f 52 59 20 6f 72 20 74 68 65 20 .components.if.DIRECTORY.or.the.
3bba0 70 72 65 63 65 64 69 6e 67 20 63 6f 6d 70 6f 6e 65 6e 74 20 64 69 64 6e e2 80 99 74 20 65 6e 64 preceding.component.didn...t.end
3bbc0 20 77 69 74 68 0a 20 20 20 20 20 61 20 73 6c 61 73 68 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 .with......a.slash.............(
3bbe0 66 69 6c 65 2d 6e 61 6d 65 2d 63 6f 6e 63 61 74 20 22 2f 74 6d 70 22 20 22 66 6f 6f 22 29 20 e2 file-name-concat."/tmp"."foo")..
3bc00 87 92 20 22 2f 74 6d 70 2f 66 6f 6f 22 0a 0a 20 20 20 20 20 41 20 44 49 52 45 43 54 4f 52 59 20 ..."/tmp/foo".......A.DIRECTORY.
3bc20 6f 72 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 74 68 61 74 20 61 72 65 20 e2 80 98 6e 69 6c e2 80 99 or.components.that.are....nil...
3bc40 20 6f 72 20 74 68 65 20 65 6d 70 74 79 20 73 74 72 69 6e 67 20 61 72 65 0a 20 20 20 20 20 69 67 .or.the.empty.string.are......ig
3bc60 6e 6f 72 65 64 e2 80 94 74 68 65 79 20 61 72 65 20 66 69 6c 74 65 72 65 64 20 6f 75 74 20 66 69 nored...they.are.filtered.out.fi
3bc80 72 73 74 20 61 6e 64 20 64 6f 20 6e 6f 74 20 61 66 66 65 63 74 20 74 68 65 20 72 65 73 75 6c 74 rst.and.do.not.affect.the.result
3bca0 73 0a 20 20 20 20 20 69 6e 20 61 6e 79 20 77 61 79 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 69 73 s......in.any.way........This.is
3bcc0 20 61 6c 6d 6f 73 74 20 74 68 65 20 73 61 6d 65 20 61 73 20 75 73 69 6e 67 20 e2 80 98 63 6f 6e .almost.the.same.as.using....con
3bce0 63 61 74 e2 80 99 2c 20 62 75 74 20 44 49 52 4e 41 4d 45 20 28 61 6e 64 20 74 68 65 0a 20 20 20 cat...,.but.DIRNAME.(and.the....
3bd00 20 20 6e 6f 6e 2d 66 69 6e 61 6c 20 63 6f 6d 70 6f 6e 65 6e 74 73 29 20 6d 61 79 20 6f 72 20 6d ..non-final.components).may.or.m
3bd20 61 79 20 6e 6f 74 20 65 6e 64 20 77 69 74 68 20 73 6c 61 73 68 20 63 68 61 72 61 63 74 65 72 73 ay.not.end.with.slash.characters
3bd40 2c 20 61 6e 64 0a 20 20 20 20 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 6e 6f ,.and......this.function.will.no
3bd60 74 20 64 6f 75 62 6c 65 20 74 68 6f 73 65 20 63 68 61 72 61 63 74 65 72 73 2e 0a 0a 20 2d 2d 20 t.double.those.characters....--.
3bd80 46 75 6e 63 74 69 6f 6e 3a 20 67 61 72 62 61 67 65 2d 63 6f 6c 6c 65 63 74 2d 6d 61 79 62 65 20 Function:.garbage-collect-maybe.
3bda0 66 61 63 74 6f 72 0a 20 20 20 20 20 53 75 67 67 65 73 74 20 74 6f 20 72 75 6e 20 67 61 72 62 61 factor......Suggest.to.run.garba
3bdc0 67 65 20 63 6f 6c 6c 65 63 74 69 6f 6e 2c 20 69 66 20 5f 65 6e 6f 75 67 68 5f 20 64 61 74 61 20 ge.collection,.if._enough_.data.
3bde0 68 61 73 20 62 65 65 6e 0a 20 20 20 20 20 61 6c 6c 6f 63 61 74 65 64 2e 20 20 54 68 69 73 20 69 has.been......allocated...This.i
3be00 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 68 65 20 70 6f 73 69 74 69 76 65 20 6e 75 6d s.determined.by.the.positive.num
3be20 65 72 69 63 61 6c 20 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 20 46 41 43 54 4f 52 2c 20 74 68 61 erical.argument......FACTOR,.tha
3be40 74 20 77 6f 75 6c 64 20 70 72 6f 70 6f 72 74 69 6f 6e 61 6c 6c 79 20 69 6e 63 72 65 61 73 65 20 t.would.proportionally.increase.
3be60 74 68 65 20 6c 69 6b 65 6c 69 68 6f 6f 64 20 6f 66 0a 20 20 20 20 20 67 61 72 62 61 67 65 20 63 the.likelihood.of......garbage.c
3be80 6f 6c 6c 65 63 74 69 6f 6e 20 74 61 6b 69 6e 67 20 70 6c 61 63 65 2e 0a 0a 20 20 20 20 20 54 68 ollection.taking.place........Th
3bea0 69 73 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 20 64 6f 65 73 20 6e is.compatibility.function.does.n
3bec0 6f 74 68 69 6e 67 20 61 6e 64 20 69 67 6e 6f 72 65 73 20 61 6e 79 0a 20 20 20 20 20 73 75 67 67 othing.and.ignores.any......sugg
3bee0 65 73 74 69 6f 6e 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 73 74 72 69 6e 67 2d 72 65 estion....--.Function:.string-re
3bf00 70 6c 61 63 65 20 66 72 6f 6d 2d 73 74 72 69 6e 67 20 74 6f 2d 73 74 72 69 6e 67 20 69 6e 2d 73 place.from-string.to-string.in-s
3bf20 74 72 69 6e 67 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 70 6c 61 63 65 tring......This.function.replace
3bf40 73 20 61 6c 6c 20 6f 63 63 75 72 72 65 6e 63 65 73 20 6f 66 20 46 52 4f 4d 2d 53 54 52 49 4e 47 s.all.occurrences.of.FROM-STRING
3bf60 20 77 69 74 68 0a 20 20 20 20 20 54 4f 2d 53 54 52 49 4e 47 20 69 6e 20 49 4e 2d 53 54 52 49 4e .with......TO-STRING.in.IN-STRIN
3bf80 47 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 72 65 73 75 6c 74 2e 20 20 49 74 20 6d 61 G.and.returns.the.result...It.ma
3bfa0 79 20 72 65 74 75 72 6e 20 6f 6e 65 0a 20 20 20 20 20 6f 66 20 69 74 73 20 61 72 67 75 6d 65 6e y.return.one......of.its.argumen
3bfc0 74 73 20 75 6e 63 68 61 6e 67 65 64 2c 20 61 20 63 6f 6e 73 74 61 6e 74 20 73 74 72 69 6e 67 20 ts.unchanged,.a.constant.string.
3bfe0 6f 72 20 61 20 6e 65 77 20 73 74 72 69 6e 67 2e 0a 20 20 20 20 20 43 61 73 65 20 69 73 20 73 69 or.a.new.string.......Case.is.si
3c000 67 6e 69 66 69 63 61 6e 74 2c 20 61 6e 64 20 74 65 78 74 20 70 72 6f 70 65 72 74 69 65 73 20 61 gnificant,.and.text.properties.a
3c020 72 65 20 69 67 6e 6f 72 65 64 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 61 6c 77 61 79 re.ignored....--.Function:.alway
3c040 73 20 26 72 65 73 74 20 61 72 67 75 6d 65 6e 74 73 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 s.&rest.arguments......This.func
3c060 74 69 6f 6e 20 69 67 6e 6f 72 65 73 20 61 6e 79 20 41 52 47 55 4d 45 4e 54 53 20 61 6e 64 20 72 tion.ignores.any.ARGUMENTS.and.r
3c080 65 74 75 72 6e 73 20 e2 80 98 74 e2 80 99 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 eturns....t...........*Note.(eli
3c0a0 73 70 29 43 61 6c 6c 69 6e 67 20 46 75 6e 63 74 69 6f 6e 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e sp)Calling.Functions::....--.Fun
3c0c0 63 74 69 6f 6e 3a 20 6d 61 6b 65 2d 73 65 70 61 72 61 74 6f 72 2d 6c 69 6e 65 20 26 6f 70 74 69 ction:.make-separator-line.&opti
3c0e0 6f 6e 61 6c 20 6c 65 6e 67 74 68 0a 20 20 20 20 20 4d 61 6b 65 20 61 20 73 74 72 69 6e 67 20 61 onal.length......Make.a.string.a
3c100 70 70 72 6f 70 72 69 61 74 65 20 66 6f 72 20 75 73 61 67 65 20 61 73 20 61 20 76 69 73 75 61 6c ppropriate.for.usage.as.a.visual
3c120 20 73 65 70 61 72 61 74 6f 72 20 6c 69 6e 65 2e 20 20 49 66 0a 20 20 20 20 20 4c 45 4e 47 54 48 .separator.line...If......LENGTH
3c140 20 69 73 20 6e 69 6c 2c 20 75 73 65 20 74 68 65 20 77 69 6e 64 6f 77 20 77 69 64 74 68 2e 0a 0a .is.nil,.use.the.window.width...
3c160 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 69 6e 73 65 72 74 2d 69 6e 74 6f 2d 62 75 66 66 65 72 .--.Function:.insert-into-buffer
3c180 20 74 6f 2d 62 75 66 66 65 72 20 26 6f 70 74 69 6f 6e 61 6c 20 73 74 61 72 74 20 65 6e 64 0a 20 .to-buffer.&optional.start.end..
3c1a0 20 20 20 20 54 68 69 73 20 69 73 20 6c 69 6b 65 20 e2 80 98 69 6e 73 65 72 74 2d 62 75 66 66 65 ....This.is.like....insert-buffe
3c1c0 72 2d 73 75 62 73 74 72 69 6e 67 e2 80 99 2c 20 62 75 74 20 77 6f 72 6b 73 20 69 6e 20 74 68 65 r-substring...,.but.works.in.the
3c1e0 20 6f 70 70 6f 73 69 74 65 0a 20 20 20 20 20 64 69 72 65 63 74 69 6f 6e 3a 20 54 68 65 20 74 65 .opposite......direction:.The.te
3c200 78 74 20 69 73 20 63 6f 70 69 65 64 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 xt.is.copied.from.the.current.bu
3c220 66 66 65 72 20 69 6e 74 6f 0a 20 20 20 20 20 54 4f 2d 42 55 46 46 45 52 2e 20 20 54 68 65 20 62 ffer.into......TO-BUFFER...The.b
3c240 6c 6f 63 6b 20 6f 66 20 74 65 78 74 20 69 73 20 63 6f 70 69 65 64 20 74 6f 20 74 68 65 20 63 75 lock.of.text.is.copied.to.the.cu
3c260 72 72 65 6e 74 20 70 6f 69 6e 74 20 69 6e 0a 20 20 20 20 20 54 4f 2d 42 55 46 46 45 52 2c 20 61 rrent.point.in......TO-BUFFER,.a
3c280 6e 64 20 70 6f 69 6e 74 20 28 69 6e 20 74 68 61 74 20 62 75 66 66 65 72 29 20 69 73 20 61 64 76 nd.point.(in.that.buffer).is.adv
3c2a0 61 6e 63 65 64 20 74 6f 20 61 66 74 65 72 20 74 68 65 20 65 6e 64 0a 20 20 20 20 20 6f 66 20 74 anced.to.after.the.end......of.t
3c2c0 68 65 20 63 6f 70 69 65 64 20 74 65 78 74 2e 20 20 49 73 20 e2 80 98 73 74 61 72 74 e2 80 99 2f he.copied.text...Is....start.../
3c2e0 e2 80 98 65 6e 64 e2 80 99 20 69 73 20 e2 80 98 6e 69 6c e2 80 99 2c 20 74 68 65 20 65 6e 74 69 ...end....is....nil...,.the.enti
3c300 72 65 20 74 65 78 74 20 69 6e 0a 20 20 20 20 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 re.text.in......the.current.buff
3c320 65 72 20 69 73 20 63 6f 70 69 65 64 20 6f 76 65 72 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 er.is.copied.over........*Note.(
3c340 65 6c 69 73 70 29 49 6e 73 65 72 74 69 6f 6e 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e elisp)Insertion::....--.Function
3c360 3a 20 72 65 70 6c 61 63 65 2d 73 74 72 69 6e 67 2d 69 6e 2d 72 65 67 69 6f 6e 20 72 65 67 65 78 :.replace-string-in-region.regex
3c380 70 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 26 6f 70 74 69 6f 6e 61 6c 0a 20 20 20 20 20 20 20 20 p.replacement.&optional.........
3c3a0 20 20 73 74 61 72 74 20 65 6e 64 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 ..start.end......This.function.r
3c3c0 65 70 6c 61 63 65 73 20 61 6c 6c 20 74 68 65 20 6f 63 63 75 72 72 65 6e 63 65 73 20 6f 66 20 52 eplaces.all.the.occurrences.of.R
3c3e0 45 47 45 58 50 20 77 69 74 68 0a 20 20 20 20 20 52 45 50 4c 41 43 45 4d 45 4e 54 20 69 6e 20 74 EGEXP.with......REPLACEMENT.in.t
3c400 68 65 20 72 65 67 69 6f 6e 20 6f 66 20 62 75 66 66 65 72 20 74 65 78 74 20 62 65 74 77 65 65 6e he.region.of.buffer.text.between
3c420 20 53 54 41 52 54 20 61 6e 64 20 45 4e 44 3b 0a 20 20 20 20 20 53 54 41 52 54 20 64 65 66 61 75 .START.and.END;......START.defau
3c440 6c 74 73 20 74 6f 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 70 6f 69 6e 74 2c 20 61 6e 64 20 45 4e lts.to.position.of.point,.and.EN
3c460 44 20 64 65 66 61 75 6c 74 73 20 74 6f 20 74 68 65 20 6c 61 73 74 0a 20 20 20 20 20 61 63 63 65 D.defaults.to.the.last......acce
3c480 73 73 69 62 6c 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 62 75 66 66 65 72 2e 20 20 ssible.position.of.the.buffer...
3c4a0 54 68 65 20 73 65 61 72 63 68 20 66 6f 72 20 52 45 47 45 58 50 20 69 73 0a 20 20 20 20 20 63 61 The.search.for.REGEXP.is......ca
3c4c0 73 65 2d 73 65 6e 73 69 74 69 76 65 2c 20 61 6e 64 20 52 45 50 4c 41 43 45 4d 45 4e 54 20 69 73 se-sensitive,.and.REPLACEMENT.is
3c4e0 20 69 6e 73 65 72 74 65 64 20 77 69 74 68 6f 75 74 20 63 68 61 6e 67 69 6e 67 20 69 74 73 0a 20 .inserted.without.changing.its..
3c500 20 20 20 20 6c 65 74 74 65 72 2d 63 61 73 65 2e 20 20 54 68 65 20 52 45 50 4c 41 43 45 4d 45 4e ....letter-case...The.REPLACEMEN
3c520 54 20 73 74 72 69 6e 67 20 63 61 6e 20 75 73 65 20 74 68 65 20 73 61 6d 65 20 73 70 65 63 69 61 T.string.can.use.the.same.specia
3c540 6c 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 73 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 e2 80 l......elements.starting.with...
3c560 98 5c e2 80 99 20 61 73 20 e2 80 98 72 65 70 6c 61 63 65 2d 6d 61 74 63 68 e2 80 99 20 64 6f 65 .\....as....replace-match....doe
3c580 73 2e 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 72 65 74 75 72 6e 73 20 74 68 s...The.function......returns.th
3c5a0 65 20 6e 75 6d 62 65 72 20 6f 66 20 72 65 70 6c 61 63 65 64 20 6f 63 63 75 72 72 65 6e 63 65 73 e.number.of.replaced.occurrences
3c5c0 2c 20 6f 72 20 e2 80 98 6e 69 6c e2 80 99 20 69 66 20 52 45 47 45 58 50 20 69 73 0a 20 20 20 20 ,.or....nil....if.REGEXP.is.....
3c5e0 20 6e 6f 74 20 66 6f 75 6e 64 2e 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 70 72 65 73 65 72 .not.found...The.function.preser
3c600 76 65 73 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 70 6f 69 6e 74 2e 0a 0a 20 20 20 20 ves.the.position.of.point.......
3c620 20 20 20 20 20 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 72 65 67 69 6f 6e 20 ......(replace-regexp-in-region.
3c640 22 66 6f 6f 5b 20 5c 74 5d 2b 62 61 72 22 20 22 66 6f 6f 62 61 72 22 29 0a 20 20 20 20 20 2a 4e "foo[.\t]+bar"."foobar")......*N
3c660 6f 74 65 20 28 65 6c 69 73 70 29 53 65 61 72 63 68 20 61 6e 64 20 52 65 70 6c 61 63 65 3a 3a 2e ote.(elisp)Search.and.Replace::.
3c680 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 ...--.Function:.replace-regexp-i
3c6a0 6e 2d 73 74 72 69 6e 67 20 73 74 72 69 6e 67 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 26 6f 70 74 n-string.string.replacement.&opt
3c6c0 69 6f 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 20 73 74 61 72 74 20 65 6e 64 0a 20 20 20 20 20 54 ional...........start.end......T
3c6e0 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 6f 72 6b 73 20 73 69 6d 69 6c 61 72 6c 79 20 74 6f 20 his.function.works.similarly.to.
3c700 e2 80 98 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 72 65 67 69 6f 6e e2 80 99 2c 20 ...replace-regexp-in-region...,.
3c720 62 75 74 0a 20 20 20 20 20 73 65 61 72 63 68 65 73 20 66 6f 72 2c 20 61 6e 64 20 72 65 70 6c 61 but......searches.for,.and.repla
3c740 63 65 73 2c 20 6c 69 74 65 72 61 6c 20 53 54 52 49 4e 47 73 20 69 6e 73 74 65 61 64 20 6f 66 20 ces,.literal.STRINGs.instead.of.
3c760 72 65 67 75 6c 61 72 0a 20 20 20 20 20 65 78 70 72 65 73 73 69 6f 6e 73 2e 0a 0a 20 20 20 20 20 regular......expressions........
3c780 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 53 65 61 72 63 68 20 61 6e 64 20 52 65 70 6c 61 63 65 3a *Note.(elisp)Search.and.Replace:
3c7a0 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 2d 62 :....--.Function:.buffer-local-b
3c7c0 6f 75 6e 64 70 20 76 61 72 69 61 62 6c 65 20 62 75 66 66 65 72 0a 20 20 20 20 20 54 68 69 73 20 oundp.variable.buffer......This.
3c7e0 72 65 74 75 72 6e 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 69 66 20 74 68 65 72 65 e2 80 returns.non-...nil....if.there..
3c800 99 73 20 65 69 74 68 65 72 20 61 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 62 69 6e 64 69 6e 67 .s.either.a.buffer-local.binding
3c820 20 6f 66 0a 20 20 20 20 20 56 41 52 49 41 42 4c 45 20 28 61 20 73 79 6d 62 6f 6c 29 20 69 6e 20 .of......VARIABLE.(a.symbol).in.
3c840 62 75 66 66 65 72 20 42 55 46 46 45 52 2c 20 6f 72 20 56 41 52 49 41 42 4c 45 20 68 61 73 20 61 buffer.BUFFER,.or.VARIABLE.has.a
3c860 20 67 6c 6f 62 61 6c 0a 20 20 20 20 20 62 69 6e 64 69 6e 67 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 .global......binding........*Not
3c880 65 20 28 65 6c 69 73 70 29 43 72 65 61 74 69 6e 67 20 42 75 66 66 65 72 2d 4c 6f 63 61 6c 3a 3a e.(elisp)Creating.Buffer-Local::
3c8a0 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 77 69 74 68 2d 65 78 69 73 74 69 6e 67 2d 64 69 72 65 ....--.Macro:.with-existing-dire
3c8c0 63 74 6f 72 79 20 62 6f 64 79 2e 2e 2e 0a 20 20 20 20 20 54 68 69 73 20 6d 61 63 72 6f 20 65 6e ctory.body.........This.macro.en
3c8e0 73 75 72 65 73 20 74 68 61 74 20 e2 80 98 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 e2 sures.that....default-directory.
3c900 80 99 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 61 6e 20 65 78 69 73 74 69 6e 67 0a 20 20 20 20 20 ...is.bound.to.an.existing......
3c920 64 69 72 65 63 74 6f 72 79 20 62 65 66 6f 72 65 20 65 78 65 63 75 74 69 6e 67 20 42 4f 44 59 2e directory.before.executing.BODY.
3c940 20 20 49 66 20 e2 80 98 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 e2 80 99 20 61 6c 72 ..If....default-directory....alr
3c960 65 61 64 79 0a 20 20 20 20 20 65 78 69 73 74 73 2c 20 74 68 61 74 e2 80 99 73 20 70 72 65 66 65 eady......exists,.that...s.prefe
3c980 72 72 65 64 2c 20 61 6e 64 20 6f 74 68 65 72 77 69 73 65 20 73 6f 6d 65 20 6f 74 68 65 72 20 64 rred,.and.otherwise.some.other.d
3c9a0 69 72 65 63 74 6f 72 79 20 69 73 0a 20 20 20 20 20 75 73 65 64 2e 20 20 54 68 69 73 20 6d 61 63 irectory.is......used...This.mac
3c9c0 72 6f 20 63 61 6e 20 62 65 20 75 73 65 66 75 6c 2c 20 66 6f 72 20 69 6e 73 74 61 6e 63 65 2c 20 ro.can.be.useful,.for.instance,.
3c9e0 77 68 65 6e 20 63 61 6c 6c 69 6e 67 20 61 6e 0a 20 20 20 20 20 65 78 74 65 72 6e 61 6c 20 63 6f when.calling.an......external.co
3ca00 6d 6d 61 6e 64 20 74 68 61 74 20 72 65 71 75 69 72 65 73 20 74 68 61 74 20 69 74 e2 80 99 73 20 mmand.that.requires.that.it...s.
3ca20 72 75 6e 6e 69 6e 67 20 69 6e 20 61 20 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 74 68 61 74 running.in.a.directory......that
3ca40 20 65 78 69 73 74 73 2e 20 20 54 68 65 20 63 68 6f 73 65 6e 20 64 69 72 65 63 74 6f 72 79 20 69 .exists...The.chosen.directory.i
3ca60 73 20 6e 6f 74 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 0a 20 20 20 20 20 77 72 69 74 s.not.guaranteed.to.be......writ
3ca80 61 62 6c 65 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 54 65 73 74 69 6e 67 able........*Note.(elisp)Testing
3caa0 20 41 63 63 65 73 73 69 62 69 6c 69 74 79 3a 3a 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 64 6c .Accessibility::....--.Macro:.dl
3cac0 65 74 20 28 62 69 6e 64 69 6e 67 73 2e 2e 2e 29 20 66 6f 72 6d 73 2e 2e 2e 0a 20 20 20 20 20 54 et.(bindings...).forms.........T
3cae0 68 69 73 20 73 70 65 63 69 61 6c 20 66 6f 72 6d 20 69 73 20 6c 69 6b 65 20 e2 80 98 6c 65 74 e2 his.special.form.is.like....let.
3cb00 80 99 2c 20 62 75 74 20 69 74 20 62 69 6e 64 73 20 61 6c 6c 20 76 61 72 69 61 62 6c 65 73 0a 20 ..,.but.it.binds.all.variables..
3cb20 20 20 20 20 64 79 6e 61 6d 69 63 61 6c 6c 79 2e 20 20 54 68 69 73 20 69 73 20 72 61 72 65 6c 79 ....dynamically...This.is.rarely
3cb40 20 75 73 65 66 75 6c e2 80 94 79 6f 75 20 75 73 75 61 6c 6c 79 20 77 61 6e 74 20 74 6f 20 62 69 .useful...you.usually.want.to.bi
3cb60 6e 64 20 6e 6f 72 6d 61 6c 0a 20 20 20 20 20 76 61 72 69 61 62 6c 65 73 20 6c 65 78 69 63 61 6c nd.normal......variables.lexical
3cb80 6c 79 2c 20 61 6e 64 20 73 70 65 63 69 61 6c 20 76 61 72 69 61 62 6c 65 73 20 28 69 2e 65 2e 2c ly,.and.special.variables.(i.e.,
3cba0 20 76 61 72 69 61 62 6c 65 73 20 74 68 61 74 0a 20 20 20 20 20 61 72 65 20 64 65 66 69 6e 65 64 .variables.that......are.defined
3cbc0 20 77 69 74 68 20 e2 80 98 64 65 66 76 61 72 e2 80 99 29 20 64 79 6e 61 6d 69 63 61 6c 6c 79 2c .with....defvar...).dynamically,
3cbe0 20 61 6e 64 20 74 68 69 73 20 69 73 20 77 68 61 74 20 e2 80 98 6c 65 74 e2 80 99 0a 20 20 20 20 .and.this.is.what....let........
3cc00 20 64 6f 65 73 2e 0a 0a 20 20 20 20 20 e2 80 98 64 6c 65 74 e2 80 99 20 63 61 6e 20 62 65 20 75 .does...........dlet....can.be.u
3cc20 73 65 66 75 6c 20 77 68 65 6e 20 69 6e 74 65 72 66 61 63 69 6e 67 20 77 69 74 68 20 6f 6c 64 20 seful.when.interfacing.with.old.
3cc40 63 6f 64 65 20 74 68 61 74 20 61 73 73 75 6d 65 73 0a 20 20 20 20 20 74 68 61 74 20 63 65 72 74 code.that.assumes......that.cert
3cc60 61 69 6e 20 76 61 72 69 61 62 6c 65 73 20 61 72 65 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 62 6f ain.variables.are.dynamically.bo
3cc80 75 6e 64 20 28 2a 6e 6f 74 65 20 28 65 6c 69 73 70 29 44 79 6e 61 6d 69 63 0a 20 20 20 20 20 42 und.(*note.(elisp)Dynamic......B
3cca0 69 6e 64 69 6e 67 3a 3a 29 2c 20 62 75 74 20 69 74 e2 80 99 73 20 69 6d 70 72 61 63 74 69 63 61 inding::),.but.it...s.impractica
3ccc0 6c 20 74 6f 20 e2 80 98 64 65 66 76 61 72 e2 80 99 20 74 68 65 73 65 20 76 61 72 69 61 62 6c 65 l.to....defvar....these.variable
3cce0 73 2e 0a 20 20 20 20 20 e2 80 98 64 6c 65 74 e2 80 99 20 77 69 6c 6c 20 74 65 6d 70 6f 72 61 72 s..........dlet....will.temporar
3cd00 69 6c 79 20 6d 61 6b 65 20 74 68 65 20 62 6f 75 6e 64 20 76 61 72 69 61 62 6c 65 73 20 73 70 65 ily.make.the.bound.variables.spe
3cd20 63 69 61 6c 2c 20 65 78 65 63 75 74 65 0a 20 20 20 20 20 74 68 65 20 66 6f 72 6d 73 2c 20 61 6e cial,.execute......the.forms,.an
3cd40 64 20 74 68 65 6e 20 6d 61 6b 65 20 74 68 65 20 76 61 72 69 61 62 6c 65 73 20 6e 6f 6e 2d 73 70 d.then.make.the.variables.non-sp
3cd60 65 63 69 61 6c 20 61 67 61 69 6e 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 ecial.again........*Note.(elisp)
3cd80 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e Local.Variables::....--.Function
3cda0 3a 20 65 6e 73 75 72 65 2d 6c 69 73 74 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 54 68 69 73 20 66 :.ensure-list.object......This.f
3cdc0 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 4f 42 4a 45 43 54 20 61 73 20 61 20 6c 69 73 74 unction.returns.OBJECT.as.a.list
3cde0 2e 20 20 49 66 20 4f 42 4a 45 43 54 20 69 73 20 61 6c 72 65 61 64 79 20 61 0a 20 20 20 20 20 6c ...If.OBJECT.is.already.a......l
3ce00 69 73 74 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 69 74 3b 20 6f 74 ist,.the.function.returns.it;.ot
3ce20 68 65 72 77 69 73 65 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 0a herwise,.the.function.returns.a.
3ce40 20 20 20 20 20 6f 6e 65 2d 65 6c 65 6d 65 6e 74 20 6c 69 73 74 20 63 6f 6e 74 61 69 6e 69 6e 67 .....one-element.list.containing
3ce60 20 4f 42 4a 45 43 54 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 69 73 20 75 73 75 61 6c 6c 79 20 75 .OBJECT........This.is.usually.u
3ce80 73 65 66 75 6c 20 69 66 20 79 6f 75 20 68 61 76 65 20 61 20 76 61 72 69 61 62 6c 65 20 74 68 61 seful.if.you.have.a.variable.tha
3cea0 74 20 6d 61 79 20 6f 72 20 6d 61 79 20 6e 6f 74 0a 20 20 20 20 20 62 65 20 61 20 6c 69 73 74 2c t.may.or.may.not......be.a.list,
3cec0 20 61 6e 64 20 79 6f 75 20 63 61 6e 20 74 68 65 6e 20 73 61 79 2c 20 66 6f 72 20 69 6e 73 74 61 .and.you.can.then.say,.for.insta
3cee0 6e 63 65 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 65 6c 65 6d 20 28 65 nce:............(dolist.(elem.(e
3cf00 6e 73 75 72 65 2d 6c 69 73 74 20 66 6f 6f 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 nsure-list.foo)).............(pr
3cf20 69 6e 63 20 65 6c 65 6d 29 29 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 42 75 inc.elem)).......*Note.(elisp)Bu
3cf40 69 6c 64 69 6e 67 20 4c 69 73 74 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 73 ilding.Lists::....--.Function:.s
3cf60 74 72 69 6e 67 2d 63 6c 65 61 6e 2d 77 68 69 74 65 73 70 61 63 65 20 73 74 72 69 6e 67 0a 20 20 tring-clean-whitespace.string...
3cf80 20 20 20 43 6c 65 61 6e 20 75 70 20 74 68 65 20 77 68 69 74 65 73 70 61 63 65 20 69 6e 20 53 54 ...Clean.up.the.whitespace.in.ST
3cfa0 52 49 4e 47 20 62 79 20 63 6f 6c 6c 61 70 73 69 6e 67 20 73 74 72 65 74 63 68 65 73 20 6f 66 0a RING.by.collapsing.stretches.of.
3cfc0 20 20 20 20 20 77 68 69 74 65 73 70 61 63 65 20 74 6f 20 61 20 73 69 6e 67 6c 65 20 73 70 61 63 .....whitespace.to.a.single.spac
3cfe0 65 20 63 68 61 72 61 63 74 65 72 2c 20 61 73 20 77 65 6c 6c 20 61 73 20 72 65 6d 6f 76 69 6e 67 e.character,.as.well.as.removing
3d000 20 61 6c 6c 0a 20 20 20 20 20 77 68 69 74 65 73 70 61 63 65 20 66 72 6f 6d 20 74 68 65 20 73 74 .all......whitespace.from.the.st
3d020 61 72 74 20 61 6e 64 20 74 68 65 20 65 6e 64 20 6f 66 20 53 54 52 49 4e 47 2e 0a 0a 20 20 20 20 art.and.the.end.of.STRING.......
3d040 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 43 72 65 61 74 69 6e 67 20 53 74 72 69 6e 67 73 3a 3a .*Note.(elisp)Creating.Strings::
3d060 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 73 74 72 69 6e 67 2d 66 69 6c 6c 20 73 74 72 ....--.Function:.string-fill.str
3d080 69 6e 67 20 6c 65 6e 67 74 68 0a 20 20 20 20 20 41 74 74 65 6d 70 74 20 74 6f 20 57 6f 72 64 2d ing.length......Attempt.to.Word-
3d0a0 77 72 61 70 20 53 54 52 49 4e 47 20 73 6f 20 74 68 61 74 20 6e 6f 20 6c 69 6e 65 73 20 61 72 65 wrap.STRING.so.that.no.lines.are
3d0c0 20 6c 6f 6e 67 65 72 20 74 68 61 6e 0a 20 20 20 20 20 4c 45 4e 47 54 48 2e 20 20 46 69 6c 6c 69 .longer.than......LENGTH...Filli
3d0e0 6e 67 20 69 73 20 64 6f 6e 65 20 6f 6e 20 77 68 69 74 65 73 70 61 63 65 20 62 6f 75 6e 64 61 72 ng.is.done.on.whitespace.boundar
3d100 69 65 73 20 6f 6e 6c 79 2e 20 20 49 66 20 74 68 65 72 65 0a 20 20 20 20 20 61 72 65 20 69 6e 64 ies.only...If.there......are.ind
3d120 69 76 69 64 75 61 6c 20 77 6f 72 64 73 20 74 68 61 74 20 61 72 65 20 6c 6f 6e 67 65 72 20 74 68 ividual.words.that.are.longer.th
3d140 61 6e 20 4c 45 4e 47 54 48 2c 20 74 68 65 73 65 20 77 69 6c 6c 20 6e 6f 74 20 62 65 0a 20 20 20 an.LENGTH,.these.will.not.be....
3d160 20 20 73 68 6f 72 74 65 6e 65 64 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 ..shortened........*Note.(elisp)
3d180 43 72 65 61 74 69 6e 67 20 53 74 72 69 6e 67 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f Creating.Strings::....--.Functio
3d1a0 6e 3a 20 73 74 72 69 6e 67 2d 6c 69 6e 65 73 20 73 74 72 69 6e 67 20 26 6f 70 74 69 6f 6e 61 6c n:.string-lines.string.&optional
3d1c0 20 6f 6d 69 74 2d 6e 75 6c 6c 73 0a 20 20 20 20 20 53 70 6c 69 74 20 53 54 52 49 4e 47 20 69 6e .omit-nulls......Split.STRING.in
3d1e0 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 73 74 72 69 6e 67 73 20 6f 6e 20 6e 65 77 6c 69 6e 65 20 to.a.list.of.strings.on.newline.
3d200 62 6f 75 6e 64 61 72 69 65 73 2e 20 20 49 66 20 74 68 65 0a 20 20 20 20 20 6f 70 74 69 6f 6e 61 boundaries...If.the......optiona
3d220 6c 20 61 72 67 75 6d 65 6e 74 20 4f 4d 49 54 2d 4e 55 4c 4c 53 20 69 73 20 6e 6f 6e 2d e2 80 98 l.argument.OMIT-NULLS.is.non-...
3d240 6e 69 6c e2 80 99 2c 20 72 65 6d 6f 76 65 20 65 6d 70 74 79 20 6c 69 6e 65 73 20 66 72 6f 6d 0a nil...,.remove.empty.lines.from.
3d260 20 20 20 20 20 74 68 65 20 72 65 73 75 6c 74 73 2e 20 20 4e 6f 74 65 20 74 68 61 74 20 74 68 69 .....the.results...Note.that.thi
3d280 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 72 61 69 6c 69 6e 67 20 6e 65 77 6c s.function.returns.trailing.newl
3d2a0 69 6e 65 73 20 6f 6e 0a 20 20 20 20 20 45 6d 61 63 73 20 32 38 2c 20 75 73 65 20 e2 80 98 63 6f ines.on......Emacs.28,.use....co
3d2c0 6d 70 61 74 2d 63 61 6c 6c 20 73 74 72 69 6e 67 2d 6c 69 6e 65 73 e2 80 99 20 69 6e 73 74 65 61 mpat-call.string-lines....instea
3d2e0 64 20 69 66 20 79 6f 75 20 77 61 6e 74 0a 20 20 20 20 20 63 6f 6e 73 69 73 74 65 6e 74 20 62 65 d.if.you.want......consistent.be
3d300 68 61 76 69 6f 72 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 73 74 72 69 6e 67 2d 70 61 havior....--.Function:.string-pa
3d320 64 20 73 74 72 69 6e 67 20 6c 65 6e 67 74 68 20 26 6f 70 74 69 6f 6e 61 6c 20 70 61 64 64 69 6e d.string.length.&optional.paddin
3d340 67 20 73 74 61 72 74 0a 20 20 20 20 20 50 61 64 20 53 54 52 49 4e 47 20 74 6f 20 62 65 20 6f 66 g.start......Pad.STRING.to.be.of
3d360 20 74 68 65 20 67 69 76 65 6e 20 4c 45 4e 47 54 48 20 75 73 69 6e 67 20 50 41 44 44 49 4e 47 20 .the.given.LENGTH.using.PADDING.
3d380 61 73 20 74 68 65 20 70 61 64 64 69 6e 67 0a 20 20 20 20 20 63 68 61 72 61 63 74 65 72 2e 20 20 as.the.padding......character...
3d3a0 50 41 44 44 49 4e 47 20 64 65 66 61 75 6c 74 73 20 74 6f 20 74 68 65 20 73 70 61 63 65 20 63 68 PADDING.defaults.to.the.space.ch
3d3c0 61 72 61 63 74 65 72 2e 20 20 49 66 20 53 54 52 49 4e 47 20 69 73 0a 20 20 20 20 20 6c 6f 6e 67 aracter...If.STRING.is......long
3d3e0 65 72 20 74 68 61 6e 20 4c 45 4e 47 54 48 2c 20 6e 6f 20 70 61 64 64 69 6e 67 20 69 73 20 64 6f er.than.LENGTH,.no.padding.is.do
3d400 6e 65 2e 20 20 49 66 20 53 54 41 52 54 20 69 73 20 e2 80 98 6e 69 6c e2 80 99 20 6f 72 0a 20 20 ne...If.START.is....nil....or...
3d420 20 20 20 6f 6d 69 74 74 65 64 2c 20 74 68 65 20 70 61 64 64 69 6e 67 20 69 73 20 61 70 70 65 6e ...omitted,.the.padding.is.appen
3d440 64 65 64 20 74 6f 20 74 68 65 20 63 68 61 72 61 63 74 65 72 73 20 6f 66 20 53 54 52 49 4e 47 2c ded.to.the.characters.of.STRING,
3d460 20 61 6e 64 0a 20 20 20 20 20 69 66 20 69 74 e2 80 99 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 .and......if.it...s.non-...nil..
3d480 99 2c 20 74 68 65 20 70 61 64 64 69 6e 67 20 69 73 20 70 72 65 70 65 6e 64 65 64 20 74 6f 20 53 .,.the.padding.is.prepended.to.S
3d4a0 54 52 49 4e 47 e2 80 99 73 20 63 68 61 72 61 63 74 65 72 73 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 TRING...s.characters........*Not
3d4c0 65 20 28 65 6c 69 73 70 29 43 72 65 61 74 69 6e 67 20 53 74 72 69 6e 67 73 3a 3a 2e 0a 0a 20 2d e.(elisp)Creating.Strings::....-
3d4e0 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 73 74 72 69 6e 67 2d 63 68 6f 70 2d 6e 65 77 6c 69 6e 65 20 -.Function:.string-chop-newline.
3d500 73 74 72 69 6e 67 0a 20 20 20 20 20 52 65 6d 6f 76 65 20 74 68 65 20 66 69 6e 61 6c 20 6e 65 77 string......Remove.the.final.new
3d520 6c 69 6e 65 2c 20 69 66 20 61 6e 79 2c 20 66 72 6f 6d 20 53 54 52 49 4e 47 2e 0a 0a 20 20 20 20 line,.if.any,.from.STRING.......
3d540 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 43 72 65 61 74 69 6e 67 20 53 74 72 69 6e 67 73 3a 3a .*Note.(elisp)Creating.Strings::
3d560 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 6e 61 6d 65 64 2d 6c 65 74 20 6e 61 6d 65 20 62 69 6e ....--.Macro:.named-let.name.bin
3d580 64 69 6e 67 73 20 26 72 65 73 74 20 62 6f 64 79 0a 20 20 20 20 20 54 68 69 73 20 73 70 65 63 69 dings.&rest.body......This.speci
3d5a0 61 6c 20 66 6f 72 6d 20 69 73 20 61 20 6c 6f 6f 70 69 6e 67 20 63 6f 6e 73 74 72 75 63 74 20 69 al.form.is.a.looping.construct.i
3d5c0 6e 73 70 69 72 65 64 20 66 72 6f 6d 20 74 68 65 20 53 63 68 65 6d 65 0a 20 20 20 20 20 6c 61 6e nspired.from.the.Scheme......lan
3d5e0 67 75 61 67 65 2e 20 20 49 74 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 e2 80 98 6c 65 74 e2 guage...It.is.similar.to....let.
3d600 80 99 3a 20 49 74 20 62 69 6e 64 73 20 74 68 65 20 76 61 72 69 61 62 6c 65 73 20 69 6e 0a 20 20 ..:.It.binds.the.variables.in...
3d620 20 20 20 42 49 4e 44 49 4e 47 53 2c 20 61 6e 64 20 74 68 65 6e 20 65 76 61 6c 75 61 74 65 73 20 ...BINDINGS,.and.then.evaluates.
3d640 42 4f 44 59 2e 20 20 48 6f 77 65 76 65 72 2c 20 e2 80 98 6e 61 6d 65 64 2d 6c 65 74 e2 80 99 20 BODY...However,....named-let....
3d660 61 6c 73 6f 20 62 69 6e 64 73 0a 20 20 20 20 20 4e 41 4d 45 20 74 6f 20 61 20 6c 6f 63 61 6c 20 also.binds......NAME.to.a.local.
3d680 66 75 6e 63 74 69 6f 6e 20 77 68 6f 73 65 20 66 6f 72 6d 61 6c 20 61 72 67 75 6d 65 6e 74 73 20 function.whose.formal.arguments.
3d6a0 61 72 65 20 74 68 65 20 76 61 72 69 61 62 6c 65 73 0a 20 20 20 20 20 69 6e 20 42 49 4e 44 49 4e are.the.variables......in.BINDIN
3d6c0 47 53 20 61 6e 64 20 77 68 6f 73 65 20 62 6f 64 79 20 69 73 20 42 4f 44 59 2e 20 20 54 68 69 73 GS.and.whose.body.is.BODY...This
3d6e0 20 61 6c 6c 6f 77 73 20 42 4f 44 59 20 74 6f 20 63 61 6c 6c 0a 20 20 20 20 20 69 74 73 65 6c 66 .allows.BODY.to.call......itself
3d700 20 72 65 63 75 72 73 69 76 65 6c 79 20 62 79 20 63 61 6c 6c 69 6e 67 20 4e 41 4d 45 2c 20 77 68 .recursively.by.calling.NAME,.wh
3d720 65 72 65 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 70 61 73 73 65 64 20 74 6f 0a 20 20 20 20 ere.the.arguments.passed.to.....
3d740 20 4e 41 4d 45 20 61 72 65 20 75 73 65 64 20 61 73 20 74 68 65 20 6e 65 77 20 76 61 6c 75 65 73 .NAME.are.used.as.the.new.values
3d760 20 6f 66 20 74 68 65 20 62 6f 75 6e 64 20 76 61 72 69 61 62 6c 65 73 20 69 6e 20 74 68 65 0a 20 .of.the.bound.variables.in.the..
3d780 20 20 20 20 72 65 63 75 72 73 69 76 65 20 69 6e 76 6f 63 61 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 ....recursive.invocation........
3d7a0 52 65 63 75 72 73 69 76 65 20 63 61 6c 6c 73 20 74 6f 20 4e 41 4d 45 20 74 68 61 74 20 6f 63 63 Recursive.calls.to.NAME.that.occ
3d7c0 75 72 20 69 6e 20 5f 74 61 69 6c 20 70 6f 73 69 74 69 6f 6e 73 5f 20 69 6e 20 42 4f 44 59 20 61 ur.in._tail.positions_.in.BODY.a
3d7e0 72 65 0a 20 20 20 20 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 6f 70 74 69 6d 69 7a re......guaranteed.to.be.optimiz
3d800 65 64 20 61 73 20 5f 74 61 69 6c 20 63 61 6c 6c 73 5f 2c 20 77 68 69 63 68 20 6d 65 61 6e 73 20 ed.as._tail.calls_,.which.means.
3d820 74 68 61 74 20 74 68 65 79 0a 20 20 20 20 20 77 69 6c 6c 20 6e 6f 74 20 63 6f 6e 73 75 6d 65 20 that.they......will.not.consume.
3d840 61 6e 79 20 61 64 64 69 74 69 6f 6e 61 6c 20 73 74 61 63 6b 20 73 70 61 63 65 20 6e 6f 20 6d 61 any.additional.stack.space.no.ma
3d860 74 74 65 72 20 68 6f 77 20 64 65 65 70 6c 79 0a 20 20 20 20 20 74 68 65 20 72 65 63 75 72 73 69 tter.how.deeply......the.recursi
3d880 6f 6e 20 72 75 6e 73 2e 20 20 53 75 63 68 20 72 65 63 75 72 73 69 76 65 20 63 61 6c 6c 73 20 77 on.runs...Such.recursive.calls.w
3d8a0 69 6c 6c 20 65 66 66 65 63 74 69 76 65 6c 79 20 6a 75 6d 70 20 74 6f 0a 20 20 20 20 20 74 68 65 ill.effectively.jump.to......the
3d8c0 20 74 6f 70 20 6f 66 20 74 68 65 20 6c 6f 6f 70 20 77 69 74 68 20 6e 65 77 20 76 61 6c 75 65 73 .top.of.the.loop.with.new.values
3d8e0 20 66 6f 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 73 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 .for.the.variables........*Note.
3d900 28 65 6c 69 73 70 29 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 (elisp)Local.Variables::....--.F
3d920 75 6e 63 74 69 6f 6e 3a 20 66 69 6c 65 2d 6e 61 6d 65 2d 77 69 74 68 2d 65 78 74 65 6e 73 69 6f unction:.file-name-with-extensio
3d940 6e 20 66 69 6c 65 6e 61 6d 65 20 65 78 74 65 6e 73 69 6f 6e 0a 20 20 20 20 20 54 68 69 73 20 66 n.filename.extension......This.f
3d960 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 46 49 4c 45 4e 41 4d 45 20 77 69 74 68 20 69 74 unction.returns.FILENAME.with.it
3d980 73 20 65 78 74 65 6e 73 69 6f 6e 20 73 65 74 20 74 6f 20 45 58 54 45 4e 53 49 4f 4e 2e 0a 20 20 s.extension.set.to.EXTENSION....
3d9a0 20 20 20 41 20 73 69 6e 67 6c 65 20 6c 65 61 64 69 6e 67 20 64 6f 74 20 69 6e 20 74 68 65 20 45 ...A.single.leading.dot.in.the.E
3d9c0 58 54 45 4e 53 49 4f 4e 20 77 69 6c 6c 20 62 65 20 73 74 72 69 70 70 65 64 20 69 66 20 74 68 65 XTENSION.will.be.stripped.if.the
3d9e0 72 65 20 69 73 0a 20 20 20 20 20 6f 6e 65 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 3a 0a 0a 20 re.is......one...For.example:...
3da00 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 77 69 74 68 2d 65 78 74 65 6e 73 69 .........(file-name-with-extensi
3da20 6f 6e 20 22 66 69 6c 65 22 20 22 65 6c 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 on."file"."el").................
3da40 87 92 20 22 66 69 6c 65 2e 65 6c 22 0a 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 6e 61 6d ..."file.el"...........(file-nam
3da60 65 2d 77 69 74 68 2d 65 78 74 65 6e 73 69 6f 6e 20 22 66 69 6c 65 22 20 22 2e 65 6c 22 29 0a 20 e-with-extension."file".".el")..
3da80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 66 69 6c 65 2e 65 6c 22 0a 20 20 20 20 .................."file.el".....
3daa0 20 20 20 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 77 69 74 68 2d 65 78 74 65 6e 73 69 6f 6e 20 ......(file-name-with-extension.
3dac0 22 66 69 6c 65 2e 63 22 20 22 65 6c 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 "file.c"."el")..................
3dae0 92 20 22 66 69 6c 65 2e 65 6c 22 0a 0a 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 74 68 69 73 .."file.el".......Note.that.this
3db00 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 65 72 72 6f 72 20 69 66 20 46 49 4c 45 4e 41 4d 45 .function.will.error.if.FILENAME
3db20 20 6f 72 20 45 58 54 45 4e 53 49 4f 4e 20 61 72 65 0a 20 20 20 20 20 65 6d 70 74 79 2c 20 6f 72 .or.EXTENSION.are......empty,.or
3db40 20 69 66 20 74 68 65 20 46 49 4c 45 4e 41 4d 45 20 69 73 20 73 68 61 70 65 64 20 6c 69 6b 65 20 .if.the.FILENAME.is.shaped.like.
3db60 61 20 64 69 72 65 63 74 6f 72 79 20 28 69 2e 65 2e 2c 20 69 66 0a 20 20 20 20 20 e2 80 98 64 69 a.directory.(i.e.,.if.........di
3db80 72 65 63 74 6f 72 79 2d 6e 61 6d 65 2d 70 e2 80 99 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d e2 80 rectory-name-p....returns.non-..
3dba0 98 6e 69 6c e2 80 99 29 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 46 69 6c 65 20 4e 61 6d 65 20 .nil...)........*Note.File.Name.
3dbc0 43 6f 6d 70 6f 6e 65 6e 74 73 3a 20 28 65 6c 69 73 70 29 46 69 6c 65 20 4e 61 6d 65 20 43 6f 6d Components:.(elisp)File.Name.Com
3dbe0 70 6f 6e 65 6e 74 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 64 69 72 65 63 74 6f 72 ponents....--.Function:.director
3dc00 79 2d 65 6d 70 74 79 2d 70 20 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 54 68 69 73 20 75 74 y-empty-p.directory......This.ut
3dc20 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 e2 80 98 74 e2 80 99 20 69 ility.function.returns....t....i
3dc40 66 20 67 69 76 65 6e 20 44 49 52 45 43 54 4f 52 59 20 69 73 20 61 6e 0a 20 20 20 20 20 61 63 63 f.given.DIRECTORY.is.an......acc
3dc60 65 73 73 69 62 6c 65 20 64 69 72 65 63 74 6f 72 79 20 61 6e 64 20 69 74 20 64 6f 65 73 20 6e 6f essible.directory.and.it.does.no
3dc80 74 20 63 6f 6e 74 61 69 6e 20 61 6e 79 20 66 69 6c 65 73 2c 20 69 2e 65 2e 2c 20 69 73 20 61 6e t.contain.any.files,.i.e.,.is.an
3dca0 0a 20 20 20 20 20 65 6d 70 74 79 20 64 69 72 65 63 74 6f 72 79 2e 20 20 49 74 20 77 69 6c 6c 20 ......empty.directory...It.will.
3dcc0 69 67 6e 6f 72 65 20 e2 80 98 2e e2 80 99 20 61 6e 64 20 e2 80 98 2e 2e e2 80 99 20 6f 6e 20 73 ignore.........and..........on.s
3dce0 79 73 74 65 6d 73 20 74 68 61 74 0a 20 20 20 20 20 72 65 74 75 72 6e 20 74 68 65 6d 20 61 73 20 ystems.that......return.them.as.
3dd00 66 69 6c 65 73 20 69 6e 20 61 20 64 69 72 65 63 74 6f 72 79 2e 0a 0a 20 20 20 20 20 53 79 6d 62 files.in.a.directory........Symb
3dd20 6f 6c 69 63 20 6c 69 6e 6b 73 20 74 6f 20 64 69 72 65 63 74 6f 72 69 65 73 20 63 6f 75 6e 74 20 olic.links.to.directories.count.
3dd40 61 73 20 64 69 72 65 63 74 6f 72 69 65 73 2e 20 20 53 65 65 0a 20 20 20 20 20 46 49 4c 45 2d 53 as.directories...See......FILE-S
3dd60 59 4d 4c 49 4e 4b 2d 50 20 74 6f 20 64 69 73 74 69 6e 67 75 69 73 68 20 73 79 6d 6c 69 6e 6b 73 YMLINK-P.to.distinguish.symlinks
3dd80 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 43 6f 6e 74 65 6e 74 73 20 6f 66 ........*Note.(elisp)Contents.of
3dda0 20 44 69 72 65 63 74 6f 72 69 65 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 66 .Directories::....--.Function:.f
3ddc0 6f 72 6d 61 74 2d 70 72 6f 6d 70 74 20 70 72 6f 6d 70 74 20 64 65 66 61 75 6c 74 20 26 72 65 73 ormat-prompt.prompt.default.&res
3dde0 74 20 66 6f 72 6d 61 74 2d 61 72 67 73 0a 20 20 20 20 20 46 6f 72 6d 61 74 20 50 52 4f 4d 50 54 t.format-args......Format.PROMPT
3de00 20 77 69 74 68 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 44 45 46 41 55 4c 54 20 61 63 63 6f .with.default.value.DEFAULT.acco
3de20 72 64 69 6e 67 20 74 6f 20 74 68 65 0a 20 20 20 20 20 e2 80 98 6d 69 6e 69 62 75 66 66 65 72 2d rding.to.the.........minibuffer-
3de40 64 65 66 61 75 6c 74 2d 70 72 6f 6d 70 74 2d 66 6f 72 6d 61 74 e2 80 99 20 76 61 72 69 61 62 6c default-prompt-format....variabl
3de60 65 2e 0a 0a 20 20 20 20 20 e2 80 98 6d 69 6e 69 62 75 66 66 65 72 2d 64 65 66 61 75 6c 74 2d 70 e...........minibuffer-default-p
3de80 72 6f 6d 70 74 2d 66 6f 72 6d 61 74 e2 80 99 20 69 73 20 61 20 66 6f 72 6d 61 74 20 73 74 72 69 rompt-format....is.a.format.stri
3dea0 6e 67 20 28 64 65 66 61 75 6c 74 69 6e 67 0a 20 20 20 20 20 74 6f 20 e2 80 98 22 20 28 64 65 66 ng.(defaulting......to....".(def
3dec0 61 75 6c 74 20 25 73 29 22 e2 80 99 20 74 68 61 74 20 73 61 79 73 20 68 6f 77 20 74 68 65 20 e2 ault.%s)"....that.says.how.the..
3dee0 80 9c 64 65 66 61 75 6c 74 e2 80 9d 20 62 69 74 20 69 6e 20 70 72 6f 6d 70 74 73 0a 20 20 20 20 ..default....bit.in.prompts.....
3df00 20 6c 69 6b 65 20 e2 80 98 22 4c 6f 63 61 6c 20 66 69 6c 65 6e 61 6d 65 20 28 64 65 66 61 75 6c .like...."Local.filename.(defaul
3df20 74 20 73 6f 6d 65 66 69 6c 65 29 3a 20 22 e2 80 99 20 61 72 65 20 74 6f 20 62 65 20 66 6f 72 6d t.somefile):."....are.to.be.form
3df40 61 74 74 65 64 2e 0a 0a 20 20 20 20 20 54 6f 20 61 6c 6c 6f 77 20 74 68 65 20 75 73 65 72 73 20 atted........To.allow.the.users.
3df60 74 6f 20 63 75 73 74 6f 6d 69 7a 65 20 68 6f 77 20 74 68 69 73 20 69 73 20 64 69 73 70 6c 61 79 to.customize.how.this.is.display
3df80 65 64 2c 20 63 6f 64 65 20 74 68 61 74 0a 20 20 20 20 20 70 72 6f 6d 70 74 73 20 74 68 65 20 75 ed,.code.that......prompts.the.u
3dfa0 73 65 72 20 66 6f 72 20 61 20 76 61 6c 75 65 20 28 61 6e 64 20 68 61 73 20 61 20 64 65 66 61 75 ser.for.a.value.(and.has.a.defau
3dfc0 6c 74 29 20 73 68 6f 75 6c 64 20 6c 6f 6f 6b 0a 20 20 20 20 20 73 6f 6d 65 74 68 69 6e 67 20 61 lt).should.look......something.a
3dfe0 6c 6f 6e 67 20 74 68 65 20 6c 69 6e 65 73 20 6f 66 20 74 68 69 73 20 63 6f 64 65 20 73 6e 69 70 long.the.lines.of.this.code.snip
3e000 70 65 74 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 28 72 65 61 64 2d 66 69 6c 65 2d 6e 61 6d 65 0a pet:............(read-file-name.
3e020 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 2d 70 72 6f 6d 70 74 20 22 4c 6f 63 61 6c ...........(format-prompt."Local
3e040 20 66 69 6c 65 6e 61 6d 65 22 20 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 20 .filename".file)............nil.
3e060 66 69 6c 65 29 0a 0a 20 20 20 20 20 49 66 20 46 4f 52 4d 41 54 2d 41 52 47 53 20 69 73 20 e2 80 file).......If.FORMAT-ARGS.is...
3e080 98 6e 69 6c e2 80 99 2c 20 50 52 4f 4d 50 54 20 69 73 20 75 73 65 64 20 61 73 20 61 20 6c 69 74 .nil...,.PROMPT.is.used.as.a.lit
3e0a0 65 72 61 6c 20 73 74 72 69 6e 67 2e 20 20 49 66 0a 20 20 20 20 20 46 4f 52 4d 41 54 2d 41 52 47 eral.string...If......FORMAT-ARG
3e0c0 53 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 50 52 4f 4d 50 54 20 69 73 20 75 73 S.is.non-...nil...,.PROMPT.is.us
3e0e0 65 64 20 61 73 20 61 20 66 6f 72 6d 61 74 20 63 6f 6e 74 72 6f 6c 0a 20 20 20 20 20 73 74 72 69 ed.as.a.format.control......stri
3e100 6e 67 2c 20 61 6e 64 20 50 52 4f 4d 50 54 20 61 6e 64 20 46 4f 52 4d 41 54 2d 41 52 47 53 20 61 ng,.and.PROMPT.and.FORMAT-ARGS.a
3e120 72 65 20 70 61 73 73 65 64 20 74 6f 20 e2 80 98 66 6f 72 6d 61 74 e2 80 99 20 28 2a 6e 6f 74 65 re.passed.to....format....(*note
3e140 0a 20 20 20 20 20 28 65 6c 69 73 70 29 46 6f 72 6d 61 74 74 69 6e 67 20 53 74 72 69 6e 67 73 3a ......(elisp)Formatting.Strings:
3e160 3a 29 2e 0a 0a 20 20 20 20 20 e2 80 98 6d 69 6e 69 62 75 66 66 65 72 2d 64 65 66 61 75 6c 74 2d :)...........minibuffer-default-
3e180 70 72 6f 6d 70 74 2d 66 6f 72 6d 61 74 e2 80 99 20 63 61 6e 20 62 65 20 e2 80 98 22 22 e2 80 99 prompt-format....can.be....""...
3e1a0 2c 20 69 6e 20 77 68 69 63 68 20 63 61 73 65 20 6e 6f 0a 20 20 20 20 20 64 65 66 61 75 6c 74 20 ,.in.which.case.no......default.
3e1c0 76 61 6c 75 65 73 20 61 72 65 20 64 69 73 70 6c 61 79 65 64 2e 0a 0a 20 20 20 20 20 49 66 20 44 values.are.displayed........If.D
3e1e0 45 46 41 55 4c 54 20 69 73 20 e2 80 98 6e 69 6c e2 80 99 2c 20 74 68 65 72 65 20 69 73 20 6e 6f EFAULT.is....nil...,.there.is.no
3e200 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 2c 20 61 6e 64 20 74 68 65 72 65 66 6f 72 65 20 6e 6f .default.value,.and.therefore.no
3e220 0a 20 20 20 20 20 e2 80 9c 64 65 66 61 75 6c 74 20 76 61 6c 75 65 e2 80 9d 20 73 74 72 69 6e 67 .........default.value....string
3e240 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 72 65 73 75 6c 74 20 76 61 6c 75 65 .is.included.in.the.result.value
3e260 2e 20 20 49 66 20 44 45 46 41 55 4c 54 0a 20 20 20 20 20 69 73 20 61 20 6e 6f 6e 2d e2 80 98 6e ...If.DEFAULT......is.a.non-...n
3e280 69 6c e2 80 99 20 6c 69 73 74 2c 20 74 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 il....list,.the.first.element.of
3e2a0 20 74 68 65 20 6c 69 73 74 20 69 73 20 75 73 65 64 20 69 6e 20 74 68 65 0a 20 20 20 20 20 70 72 .the.list.is.used.in.the......pr
3e2c0 6f 6d 70 74 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 54 65 78 74 20 66 72 ompt........*Note.(elisp)Text.fr
3e2e0 6f 6d 20 4d 69 6e 69 62 75 66 66 65 72 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 om.Minibuffer::....--.Function:.
3e300 74 68 69 6e 67 2d 61 74 2d 6d 6f 75 73 65 20 65 76 65 6e 74 20 74 68 69 6e 67 20 26 6f 70 74 69 thing-at-mouse.event.thing.&opti
3e320 6f 6e 61 6c 20 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 0a 20 20 20 20 20 4d 6f 75 73 65 2d 45 56 onal.no-properties......Mouse-EV
3e340 45 4e 54 20 65 71 75 69 76 61 6c 65 6e 74 20 6f 66 20 e2 80 98 74 68 69 6e 67 2d 61 74 2d 70 6f ENT.equivalent.of....thing-at-po
3e360 69 6e 74 e2 80 99 2e 20 20 54 48 49 4e 47 20 63 61 6e 20 62 65 20 e2 80 98 73 79 6d 62 6f 6c e2 int......THING.can.be....symbol.
3e380 80 99 2c 0a 20 20 20 20 20 e2 80 98 6c 69 73 74 e2 80 99 2c 20 e2 80 98 73 65 78 70 e2 80 99 2c ..,.........list...,....sexp...,
3e3a0 20 e2 80 98 66 69 6c 65 6e 61 6d 65 e2 80 99 2c 20 e2 80 98 75 72 6c e2 80 99 2c 20 2e 2e 2e 20 ....filename...,....url...,.....
3e3c0 61 6d 6f 6e 67 20 6f 74 68 65 72 20 74 68 69 6e 67 73 2e 0a 0a 20 20 20 20 20 57 68 65 6e 20 4e among.other.things........When.N
3e3e0 4f 2d 50 52 4f 50 45 52 54 49 45 53 20 68 61 73 20 61 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 O-PROPERTIES.has.a.non-...nil...
3e400 20 76 61 6c 75 65 2c 20 61 6e 79 20 74 65 78 74 20 70 72 6f 70 65 72 74 69 65 73 20 74 68 61 74 .value,.any.text.properties.that
3e420 0a 20 20 20 20 20 6d 69 67 68 74 20 68 61 76 65 20 62 65 65 6e 20 70 72 65 73 65 6e 74 20 69 6e ......might.have.been.present.in
3e440 20 74 68 65 20 62 75 66 66 65 72 20 61 72 65 20 73 74 72 69 70 70 65 64 20 61 77 61 79 2e 0a 0a .the.buffer.are.stripped.away...
3e460 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 62 6f 75 6e 64 73 2d 6f 66 2d 74 68 69 6e 67 2d 61 74 .--.Function:.bounds-of-thing-at
3e480 2d 6d 6f 75 73 65 20 65 76 65 6e 74 20 74 68 69 6e 67 0a 20 20 20 20 20 44 65 74 65 72 6d 69 6e -mouse.event.thing......Determin
3e4a0 65 20 73 74 61 72 74 20 61 6e 64 20 65 6e 64 20 6c 6f 63 61 74 69 6f 6e 73 20 66 6f 72 20 54 48 e.start.and.end.locations.for.TH
3e4c0 49 4e 47 20 61 74 20 6d 6f 75 73 65 20 63 6c 69 63 6b 20 67 69 76 65 6e 20 62 79 0a 20 20 20 20 ING.at.mouse.click.given.by.....
3e4e0 20 45 56 45 4e 54 2e 20 20 4c 69 6b 65 20 e2 80 98 62 6f 75 6e 64 73 2d 6f 66 2d 74 68 69 6e 67 .EVENT...Like....bounds-of-thing
3e500 2d 61 74 2d 70 6f 69 6e 74 e2 80 99 2c 20 62 75 74 20 74 72 69 65 73 20 74 6f 20 75 73 65 20 74 -at-point...,.but.tries.to.use.t
3e520 68 65 0a 20 20 20 20 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 45 56 45 4e 54 20 77 68 65 72 65 20 he......position.in.EVENT.where.
3e540 74 68 65 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 69 73 20 63 6c 69 63 6b 65 64 20 74 6f 20 66 the.mouse.button.is.clicked.to.f
3e560 69 6e 64 20 74 68 65 0a 20 20 20 20 20 74 68 69 6e 67 20 6e 65 61 72 62 79 2e 0a 0a 20 2d 2d 20 ind.the......thing.nearby....--.
3e580 46 75 6e 63 74 69 6f 6e 3a 20 6d 61 72 6b 2d 74 68 69 6e 67 2d 61 74 2d 6d 6f 75 73 65 20 63 6c Function:.mark-thing-at-mouse.cl
3e5a0 69 63 6b 20 74 68 69 6e 67 0a 20 20 20 20 20 41 63 74 69 76 61 74 65 20 74 68 65 20 72 65 67 69 ick.thing......Activate.the.regi
3e5c0 6f 6e 20 61 72 6f 75 6e 64 20 54 48 49 4e 47 20 66 6f 75 6e 64 20 6e 65 61 72 20 74 68 65 20 6d on.around.THING.found.near.the.m
3e5e0 6f 75 73 65 20 43 4c 49 43 4b 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6d 61 63 72 6f ouse.CLICK....--.Function:.macro
3e600 65 78 70 2d 66 69 6c 65 2d 6e 61 6d 65 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 6e 61 exp-file-name......Return.the.na
3e620 6d 65 20 6f 66 20 74 68 65 20 66 69 6c 65 20 69 6e 20 77 68 69 63 68 20 74 68 65 20 63 6f 64 65 me.of.the.file.in.which.the.code
3e640 20 69 73 20 63 75 72 72 65 6e 74 6c 79 20 62 65 69 6e 67 0a 20 20 20 20 20 65 76 61 6c 75 61 74 .is.currently.being......evaluat
3e660 65 64 2c 20 6f 72 20 e2 80 98 6e 69 6c e2 80 99 20 69 66 20 69 74 20 63 61 6e 6e 6f 74 20 62 65 ed,.or....nil....if.it.cannot.be
3e680 20 64 65 74 65 72 6d 69 6e 65 64 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6d 61 63 72 .determined....--.Function:.macr
3e6a0 6f 65 78 70 2d 77 61 72 6e 2d 61 6e 64 2d 72 65 74 75 72 6e 20 6d 73 67 20 66 6f 72 6d 20 26 6f oexp-warn-and-return.msg.form.&o
3e6c0 70 74 69 6f 6e 61 6c 20 63 61 74 65 67 6f 72 79 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6d 70 69 ptional.category...........compi
3e6e0 6c 65 2d 6f 6e 6c 79 20 61 72 67 0a 20 20 20 20 20 52 65 74 75 72 6e 20 63 6f 64 65 20 65 71 75 le-only.arg......Return.code.equ
3e700 69 76 61 6c 65 6e 74 20 74 6f 20 e2 80 98 66 6f 72 6d e2 80 99 20 6c 61 62 65 6c 65 64 20 77 69 ivalent.to....form....labeled.wi
3e720 74 68 20 77 61 72 6e 69 6e 67 20 e2 80 98 6d 73 67 e2 80 99 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f th.warning....msg.......--.Macro
3e740 3a 20 77 69 74 68 2d 65 6e 76 69 72 6f 6e 6d 65 6e 74 2d 76 61 72 69 61 62 6c 65 73 20 76 61 72 :.with-environment-variables.var
3e760 69 61 62 6c 65 73 20 62 6f 64 79 2e 2e 2e 0a 20 20 20 20 20 54 68 69 73 20 6d 61 63 72 6f 20 73 iables.body.........This.macro.s
3e780 65 74 73 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 73 20 61 63 ets.the.environment.variables.ac
3e7a0 63 6f 72 64 69 6e 67 20 74 6f 20 56 41 52 49 41 42 4c 45 53 0a 20 20 20 20 20 74 65 6d 70 6f 72 cording.to.VARIABLES......tempor
3e7c0 61 72 69 6c 79 20 77 68 65 6e 20 65 78 65 63 75 74 69 6e 67 20 42 4f 44 59 2e 20 20 54 68 65 20 arily.when.executing.BODY...The.
3e7e0 70 72 65 76 69 6f 75 73 20 76 61 6c 75 65 73 20 61 72 65 20 72 65 73 74 6f 72 65 64 0a 20 20 20 previous.values.are.restored....
3e800 20 20 77 68 65 6e 20 74 68 65 20 66 6f 72 6d 20 66 69 6e 69 73 68 65 73 2e 20 20 54 68 65 20 61 ..when.the.form.finishes...The.a
3e820 72 67 75 6d 65 6e 74 20 56 41 52 49 41 42 4c 45 53 20 73 68 6f 75 6c 64 20 62 65 20 61 20 6c 69 rgument.VARIABLES.should.be.a.li
3e840 73 74 20 6f 66 0a 20 20 20 20 20 70 61 69 72 73 20 6f 66 20 73 74 72 69 6e 67 73 20 6f 66 20 74 st.of......pairs.of.strings.of.t
3e860 68 65 20 66 6f 72 6d 20 e2 80 98 28 56 41 52 20 56 41 4c 55 45 29 e2 80 99 2c 20 77 68 65 72 65 he.form....(VAR.VALUE)...,.where
3e880 20 56 41 52 20 69 73 20 74 68 65 20 6e 61 6d 65 0a 20 20 20 20 20 6f 66 20 74 68 65 20 65 6e 76 .VAR.is.the.name......of.the.env
3e8a0 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 20 61 6e 64 20 56 41 4c 55 45 20 69 73 20 74 ironment.variable.and.VALUE.is.t
3e8c0 68 61 74 20 76 61 72 69 61 62 6c 65 e2 80 99 73 20 76 61 6c 75 65 2e 0a 0a 20 20 20 20 20 20 20 hat.variable...s.value..........
3e8e0 20 20 20 28 77 69 74 68 2d 65 6e 76 69 72 6f 6e 6d 65 6e 74 2d 76 61 72 69 61 62 6c 65 73 20 28 ...(with-environment-variables.(
3e900 28 22 4c 41 4e 47 22 20 22 43 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ("LANG"."C")....................
3e920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 22 4c 41 4e 47 55 41 47 45 22 20 ....................("LANGUAGE".
3e940 22 65 6e 5f 55 53 3a 65 6e 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 6c 6c 2d 70 "en_US:en")).............(call-p
3e960 72 6f 63 65 73 73 20 22 6c 73 22 20 6e 69 6c 20 74 29 29 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 rocess."ls".nil.t)).......*Note.
3e980 53 79 73 74 65 6d 20 45 6e 76 69 72 6f 6e 6d 65 6e 74 3a 20 28 65 6c 69 73 70 29 53 79 73 74 65 System.Environment:.(elisp)Syste
3e9a0 6d 20 45 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 63 6f m.Environment....--.Function:.co
3e9c0 6c 6f 72 2d 64 61 72 6b 2d 70 20 72 67 62 0a 20 20 20 20 20 57 68 65 74 68 65 72 20 52 47 42 20 lor-dark-p.rgb......Whether.RGB.
3e9e0 69 73 20 6d 6f 72 65 20 72 65 61 64 61 62 6c 65 20 61 67 61 69 6e 73 74 20 77 68 69 74 65 20 74 is.more.readable.against.white.t
3ea00 68 61 6e 20 62 6c 61 63 6b 2e 20 20 52 47 42 20 69 73 20 61 0a 20 20 20 20 20 33 2d 65 6c 65 6d han.black...RGB.is.a......3-elem
3ea20 65 6e 74 20 6c 69 73 74 20 28 52 20 47 20 42 29 2c 20 65 61 63 68 20 63 6f 6d 70 6f 6e 65 6e 74 ent.list.(R.G.B),.each.component
3ea40 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 5b 30 2c 31 5d 2e 20 20 54 68 69 73 0a 20 20 20 20 20 .in.the.range.[0,1]...This......
3ea60 70 72 65 64 69 63 61 74 65 20 63 61 6e 20 62 65 20 75 73 65 64 20 62 6f 74 68 20 66 6f 72 20 64 predicate.can.be.used.both.for.d
3ea80 65 74 65 72 6d 69 6e 69 6e 67 20 61 20 73 75 69 74 61 62 6c 65 20 28 62 6c 61 63 6b 20 6f 72 0a etermining.a.suitable.(black.or.
3eaa0 20 20 20 20 20 77 68 69 74 65 29 20 63 6f 6e 74 72 61 73 74 20 63 6f 6c 6f 72 20 77 69 74 68 20 .....white).contrast.color.with.
3eac0 52 47 42 20 61 73 20 62 61 63 6b 67 72 6f 75 6e 64 20 61 6e 64 20 61 73 20 66 6f 72 65 67 72 6f RGB.as.background.and.as.foregro
3eae0 75 6e 64 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 63 6f 6c 6f 72 2d 76 61 6c 75 65 73 und....--.Function:.color-values
3eb00 2d 66 72 6f 6d 2d 63 6f 6c 6f 72 2d 73 70 65 63 20 73 70 65 63 0a 20 20 20 20 20 43 6f 6e 76 65 -from-color-spec.spec......Conve
3eb20 72 74 20 74 68 65 20 74 65 78 74 75 61 6c 20 63 6f 6c 6f 72 20 73 70 65 63 69 66 69 63 61 74 69 rt.the.textual.color.specificati
3eb40 6f 6e 20 53 50 45 43 20 74 6f 20 61 20 63 6f 6c 6f 72 20 74 72 69 70 6c 65 0a 20 20 20 20 20 e2 on.SPEC.to.a.color.triple.......
3eb60 80 98 28 52 45 44 20 47 52 45 45 4e 20 62 6c 75 65 29 e2 80 99 2e 20 20 45 61 63 68 20 6f 66 20 ..(RED.GREEN.blue)......Each.of.
3eb80 52 45 44 2c 20 47 52 45 45 4e 20 61 6e 64 20 e2 80 98 62 6c 75 65 e2 80 99 20 69 73 20 61 20 69 RED,.GREEN.and....blue....is.a.i
3eba0 6e 74 65 67 65 72 0a 20 20 20 20 20 76 61 6c 75 65 20 62 65 74 77 65 65 6e 20 30 20 61 6e 64 20 nteger......value.between.0.and.
3ebc0 36 35 35 33 35 2e 0a 0a 20 20 20 20 20 54 68 65 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 53 65535........The.specification.S
3ebe0 50 45 43 20 63 61 6e 20 62 65 20 6f 6e 65 20 6f 66 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a PEC.can.be.one.of.the.following.
3ec00 20 20 20 20 20 20 20 20 e2 80 a2 20 e2 80 98 23 52 47 42 e2 80 99 2c 20 77 68 65 72 65 20 52 2c ...............#RGB...,.where.R,
3ec20 20 47 20 61 6e 64 20 42 20 61 72 65 20 68 65 78 20 6e 75 6d 62 65 72 73 20 6f 66 20 65 71 75 61 .G.and.B.are.hex.numbers.of.equa
3ec40 6c 20 6c 65 6e 67 74 68 2c 20 31 2d 34 0a 20 20 20 20 20 20 20 20 20 20 64 69 67 69 74 73 20 65 l.length,.1-4...........digits.e
3ec60 61 63 68 2e 0a 20 20 20 20 20 20 20 20 e2 80 a2 20 e2 80 98 72 67 62 3a 52 2f 47 2f 42 e2 80 99 ach.................rgb:R/G/B...
3ec80 2c 20 77 68 65 72 65 20 52 2c 20 47 2c 20 61 6e 64 20 42 20 61 72 65 20 68 65 78 20 6e 75 6d 62 ,.where.R,.G,.and.B.are.hex.numb
3eca0 65 72 73 2c 20 31 2d 34 20 64 69 67 69 74 73 0a 20 20 20 20 20 20 20 20 20 20 65 61 63 68 2e 0a ers,.1-4.digits...........each..
3ecc0 20 20 20 20 20 20 20 20 e2 80 a2 20 e2 80 98 72 67 62 69 3a 52 2f 47 2f 42 e2 80 99 2c 20 77 68 ...............rgbi:R/G/B...,.wh
3ece0 65 72 65 20 52 2c 20 47 20 61 6e 64 20 42 20 61 72 65 20 66 6c 6f 61 74 69 6e 67 2d 70 6f 69 6e ere.R,.G.and.B.are.floating-poin
3ed00 74 20 6e 75 6d 62 65 72 73 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20 5b 30 2c 31 5d 2e 0a 0a 20 t.numbers.in...........[0,1]....
3ed20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 66 69 6c 65 2d 6d 6f 64 65 73 2d 6e 75 6d 62 65 72 2d 74 --.Function:.file-modes-number-t
3ed40 6f 2d 73 79 6d 62 6f 6c 69 63 20 6d 6f 64 65 73 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 o-symbolic.modes......This.funct
3ed60 69 6f 6e 20 63 6f 6e 76 65 72 74 73 20 61 20 6e 75 6d 65 72 69 63 20 66 69 6c 65 20 6d 6f 64 65 ion.converts.a.numeric.file.mode
3ed80 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 69 6e 20 4d 4f 44 45 53 0a 20 20 20 20 20 69 6e 74 .specification.in.MODES......int
3eda0 6f 20 74 68 65 20 65 71 75 69 76 61 6c 65 6e 74 20 73 79 6d 62 6f 6c 69 63 20 66 6f 72 6d 2e 0a o.the.equivalent.symbolic.form..
3edc0 0a 20 20 20 20 20 2a 4e 6f 74 65 20 43 68 61 6e 67 69 6e 67 20 46 69 6c 65 73 3a 20 28 65 6c 69 ......*Note.Changing.Files:.(eli
3ede0 73 70 29 43 68 61 6e 67 69 6e 67 20 46 69 6c 65 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e sp)Changing.Files....--.Function
3ee00 3a 20 66 69 6c 65 2d 62 61 63 6b 75 70 2d 66 69 6c 65 2d 6e 61 6d 65 73 20 66 69 6c 65 6e 61 6d :.file-backup-file-names.filenam
3ee20 65 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 6c e......This.function.returns.a.l
3ee40 69 73 74 20 6f 66 20 61 6c 6c 20 74 68 65 20 62 61 63 6b 75 70 20 66 69 6c 65 20 6e 61 6d 65 73 ist.of.all.the.backup.file.names
3ee60 20 66 6f 72 0a 20 20 20 20 20 46 49 4c 45 4e 41 4d 45 2c 20 6f 72 20 e2 80 98 6e 69 6c e2 80 99 .for......FILENAME,.or....nil...
3ee80 20 69 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f 6e 65 2e 20 20 54 68 65 20 66 69 6c 65 73 20 61 .if.there.are.none...The.files.a
3eea0 72 65 20 73 6f 72 74 65 64 20 62 79 0a 20 20 20 20 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 74 re.sorted.by......modification.t
3eec0 69 6d 65 2c 20 64 65 73 63 65 6e 64 69 6e 67 2c 20 73 6f 20 74 68 61 74 20 74 68 65 20 6d 6f 73 ime,.descending,.so.that.the.mos
3eee0 74 20 72 65 63 65 6e 74 20 66 69 6c 65 73 20 61 72 65 0a 20 20 20 20 20 66 69 72 73 74 2e 0a 0a t.recent.files.are......first...
3ef00 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 42 61 63 6b 75 70 20 4e 61 6d 65 73 3a 3a .....*Note.(elisp)Backup.Names::
3ef20 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6d 61 6b 65 2d 6c 6f 63 6b 2d 66 69 6c 65 2d ....--.Function:.make-lock-file-
3ef40 6e 61 6d 65 20 66 69 6c 65 6e 61 6d 65 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 73 74 72 69 name.filename......Return.a.stri
3ef60 6e 67 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 20 6c 6f 63 6b 20 66 69 6c 65 20 6e 61 6d 65 20 66 ng.containing.a.lock.file.name.f
3ef80 6f 72 20 46 49 4c 45 4e 41 4d 45 2c 20 6f 62 65 79 69 6e 67 0a 20 20 20 20 20 e2 80 98 6c 6f 63 or.FILENAME,.obeying.........loc
3efa0 6b 2d 66 69 6c 65 2d 6e 61 6d 65 2d 74 72 61 6e 73 66 6f 72 6d 73 e2 80 99 2e 0a 0a 20 2d 2d 20 k-file-name-transforms.......--.
3efc0 46 75 6e 63 74 69 6f 6e 3a 20 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 70 65 72 69 6f 64 20 74 69 Function:.decoded-time-period.ti
3efe0 6d 65 0a 20 20 20 20 20 49 6e 74 65 72 70 72 65 74 20 54 49 4d 45 20 61 73 20 61 20 70 65 72 69 me......Interpret.TIME.as.a.peri
3f000 6f 64 20 61 6e 64 20 72 65 74 75 72 6e 20 69 74 73 20 6c 65 6e 67 74 68 20 69 6e 20 73 65 63 6f od.and.return.its.length.in.seco
3f020 6e 64 73 2e 20 20 46 6f 72 0a 20 20 20 20 20 63 6f 6d 70 75 74 61 74 69 6f 6e 61 6c 20 70 75 72 nds...For......computational.pur
3f040 70 6f 73 65 73 2c 20 79 65 61 72 73 20 61 72 65 20 33 36 35 20 64 61 79 73 20 6c 6f 6e 67 20 61 poses,.years.are.365.days.long.a
3f060 6e 64 20 6d 6f 6e 74 68 73 20 61 72 65 20 33 30 0a 20 20 20 20 20 64 61 79 73 20 6c 6f 6e 67 2e nd.months.are.30......days.long.
3f080 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 73 75 62 72 2d 70 72 69 6d 69 74 69 76 65 2d 70 ...--.Function:.subr-primitive-p
3f0a0 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 52 65 74 75 72 6e 20 e2 80 98 74 e2 80 99 20 69 66 20 4f .object......Return....t....if.O
3f0c0 42 4a 45 43 54 20 69 73 20 61 20 70 72 69 6d 69 74 69 76 65 2c 20 62 75 69 6c 74 2d 69 6e 20 66 BJECT.is.a.primitive,.built-in.f
3f0e0 75 6e 63 74 69 6f 6e 2e 20 20 4f 6e 20 73 79 73 74 65 6d 73 0a 20 20 20 20 20 77 69 74 68 20 6e unction...On.systems......with.n
3f100 61 74 69 76 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 e2 80 98 73 75 62 72 70 e2 80 99 20 64 6f ative.compilation....subrp....do
3f120 65 73 20 6e 6f 74 20 64 69 73 74 69 6e 67 75 69 73 68 20 62 65 74 77 65 65 6e 0a 20 20 20 20 20 es.not.distinguish.between......
3f140 62 75 69 6c 74 2d 69 6e 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 66 75 6e 63 74 69 6f 6e 73 built-in.functions.and.functions
3f160 20 74 68 61 74 20 68 61 76 65 20 62 65 65 6e 20 63 6f 6d 70 69 6c 65 64 2e 20 20 49 66 0a 20 20 .that.have.been.compiled...If...
3f180 20 20 20 6e 61 74 69 76 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 69 73 20 6e 6f 74 20 61 76 61 ...native.compilation.is.not.ava
3f1a0 69 6c 61 62 6c 65 2c 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 62 65 68 61 76 65 73 0a 20 20 ilable,.this.function.behaves...
3f1c0 20 20 20 69 64 65 6e 74 69 63 61 6c 6c 79 20 74 6f 20 e2 80 98 73 75 62 72 70 e2 80 99 2e 0a 0a ...identically.to....subrp......
3f1e0 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6e 61 74 69 76 65 2d 63 6f 6d 70 2d 61 76 61 69 6c 61 .--.Function:.native-comp-availa
3f200 62 6c 65 2d 70 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 ble-p......This.function.returns
3f220 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 69 66 20 74 68 65 20 72 75 6e 6e 69 6e 67 20 45 6d .non-...nil....if.the.running.Em
3f240 61 63 73 20 70 72 6f 63 65 73 73 20 68 61 73 0a 20 20 20 20 20 74 68 65 20 6e 61 74 69 76 65 2d acs.process.has......the.native-
3f260 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 73 75 70 70 6f 72 74 20 63 6f 6d 70 69 6c 65 64 20 69 6e 74 compilation.support.compiled.int
3f280 6f 20 69 74 2e 20 20 4f 6e 20 73 79 73 74 65 6d 73 20 74 68 61 74 0a 20 20 20 20 20 6c 6f 61 64 o.it...On.systems.that......load
3f2a0 20 e2 80 98 6c 69 62 67 63 63 6a 69 74 e2 80 99 20 64 79 6e 61 6d 69 63 61 6c 6c 79 2c 20 69 74 ....libgccjit....dynamically,.it
3f2c0 20 61 6c 73 6f 20 6d 61 6b 65 73 20 73 75 72 65 20 74 68 61 74 20 6c 69 62 72 61 72 79 20 69 73 .also.makes.sure.that.library.is
3f2e0 0a 20 20 20 20 20 61 76 61 69 6c 61 62 6c 65 20 61 6e 64 20 63 61 6e 20 62 65 20 6c 6f 61 64 65 ......available.and.can.be.loade
3f300 64 2e 20 20 4c 69 73 70 20 70 72 6f 67 72 61 6d 73 20 74 68 61 74 20 6e 65 65 64 20 74 6f 20 6b d...Lisp.programs.that.need.to.k
3f320 6e 6f 77 20 75 70 0a 20 20 20 20 20 66 72 6f 6e 74 20 77 68 65 74 68 65 72 20 6e 61 74 69 76 65 now.up......front.whether.native
3f340 2d 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 73 68 6f 75 6c 64 -compilation.is.available.should
3f360 20 75 73 65 20 74 68 69 73 0a 20 20 20 20 20 70 72 65 64 69 63 61 74 65 2e 0a 0a 20 2d 2d 20 4d .use.this......predicate....--.M
3f380 61 63 72 6f 3a 20 77 69 74 68 2d 77 69 6e 64 6f 77 2d 6e 6f 6e 2d 64 65 64 69 63 61 74 65 64 20 acro:.with-window-non-dedicated.
3f3a0 77 69 6e 64 6f 77 20 26 72 65 73 74 20 62 6f 64 79 0a 20 20 20 20 20 45 76 61 6c 75 61 74 65 20 window.&rest.body......Evaluate.
3f3c0 42 4f 44 59 20 77 69 74 68 20 57 49 4e 44 4f 57 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 6d 61 64 BODY.with.WINDOW.temporarily.mad
3f3e0 65 20 6e 6f 6e 2d 64 65 64 69 63 61 74 65 64 2e 20 20 49 66 0a 20 20 20 20 20 57 49 4e 44 4f 57 e.non-dedicated...If......WINDOW
3f400 20 69 73 20 6e 69 6c 2c 20 75 73 65 20 74 68 65 20 73 65 6c 65 63 74 65 64 20 77 69 6e 64 6f 77 .is.nil,.use.the.selected.window
3f420 2e 20 20 52 65 74 75 72 6e 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 ...Return.the.value.of.the......
3f440 6c 61 73 74 20 66 6f 72 6d 20 69 6e 20 42 4f 44 59 2e 0a 0a 32 2e 34 2e 32 20 45 78 74 65 6e 64 last.form.in.BODY...2.4.2.Extend
3f460 65 64 20 44 65 66 69 6e 69 74 69 6f 6e 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ed.Definitions.-----------------
3f480 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 6d 75 73 74 20 ---------..These.functions.must.
3f4a0 62 65 20 63 61 6c 6c 65 64 20 65 78 70 6c 69 63 69 74 6c 79 20 76 69 61 20 e2 80 98 63 6f 6d 70 be.called.explicitly.via....comp
3f4c0 61 74 2d 63 61 6c 6c e2 80 99 2c 20 73 69 6e 63 65 20 74 68 65 69 72 0a 63 61 6c 6c 69 6e 67 20 at-call...,.since.their.calling.
3f4e0 63 6f 6e 76 65 6e 74 69 6f 6e 20 6f 72 20 62 65 68 61 76 69 6f 72 20 77 61 73 20 65 78 74 65 6e convention.or.behavior.was.exten
3f500 64 65 64 20 69 6e 20 45 6d 61 63 73 20 32 38 2e 31 3a 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e ded.in.Emacs.28.1:...--.Function
3f520 3a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 73 74 72 69 6e 67 2d 77 69 64 74 68 20 73 74 72 69 6e :.compat-call.string-width.strin
3f540 67 20 26 6f 70 74 69 6f 6e 61 6c 20 66 72 6f 6d 20 74 6f 0a 20 20 20 20 20 54 68 69 73 20 66 75 g.&optional.from.to......This.fu
3f560 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 77 69 64 74 68 20 69 6e 20 63 6f 6c 75 nction.returns.the.width.in.colu
3f580 6d 6e 73 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 20 53 54 52 49 4e 47 2c 20 69 66 0a 20 20 20 mns.of.the.string.STRING,.if....
3f5a0 20 20 69 74 20 77 65 72 65 20 64 69 73 70 6c 61 79 65 64 20 69 6e 20 74 68 65 20 63 75 72 72 65 ..it.were.displayed.in.the.curre
3f5c0 6e 74 20 62 75 66 66 65 72 20 61 6e 64 20 74 68 65 20 73 65 6c 65 63 74 65 64 20 77 69 6e 64 6f nt.buffer.and.the.selected.windo
3f5e0 77 2e 0a 20 20 20 20 20 4f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73 20 46 52 4f 4d 20 w.......Optional.arguments.FROM.
3f600 61 6e 64 20 54 4f 20 73 70 65 63 69 66 79 20 74 68 65 20 73 75 62 73 74 72 69 6e 67 20 6f 66 20 and.TO.specify.the.substring.of.
3f620 53 54 52 49 4e 47 20 74 6f 0a 20 20 20 20 20 63 6f 6e 73 69 64 65 72 2c 20 61 6e 64 20 61 72 65 STRING.to......consider,.and.are
3f640 20 69 6e 74 65 72 70 72 65 74 65 64 20 61 73 20 69 6e 20 e2 80 98 73 75 62 73 74 72 69 6e 67 e2 .interpreted.as.in....substring.
3f660 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 28 65 6c 69 73 70 29 43 72 65 61 74 69 6e 67 20 53 ...(*note......(elisp)Creating.S
3f680 74 72 69 6e 67 73 3a 3a 29 2e 0a 0a 20 20 20 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 trings::)........The.return.valu
3f6a0 65 20 69 73 20 61 6e 20 61 70 70 72 6f 78 69 6d 61 74 69 6f 6e 3a 20 69 74 20 6f 6e 6c 79 20 63 e.is.an.approximation:.it.only.c
3f6c0 6f 6e 73 69 64 65 72 73 20 74 68 65 20 76 61 6c 75 65 73 0a 20 20 20 20 20 72 65 74 75 72 6e 65 onsiders.the.values......returne
3f6e0 64 20 62 79 20 e2 80 98 63 68 61 72 2d 77 69 64 74 68 e2 80 99 20 66 6f 72 20 74 68 65 20 63 6f d.by....char-width....for.the.co
3f700 6e 73 74 69 74 75 65 6e 74 20 63 68 61 72 61 63 74 65 72 73 2c 20 61 6c 77 61 79 73 0a 20 20 20 nstituent.characters,.always....
3f720 20 20 74 61 6b 65 73 20 61 20 74 61 62 20 63 68 61 72 61 63 74 65 72 20 61 73 20 74 61 6b 69 6e ..takes.a.tab.character.as.takin
3f740 67 20 e2 80 98 74 61 62 2d 77 69 64 74 68 e2 80 99 20 63 6f 6c 75 6d 6e 73 2c 20 69 67 6e 6f 72 g....tab-width....columns,.ignor
3f760 65 73 0a 20 20 20 20 20 64 69 73 70 6c 61 79 20 70 72 6f 70 65 72 74 69 65 73 20 61 6e 64 20 66 es......display.properties.and.f
3f780 6f 6e 74 73 2c 20 65 74 63 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 53 69 onts,.etc........*Note.(elisp)Si
3f7a0 7a 65 20 6f 66 20 44 69 73 70 6c 61 79 65 64 20 54 65 78 74 3a 3a 2e 0a 0a 20 20 20 20 20 54 68 ze.of.Displayed.Text::........Th
3f7c0 69 73 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 76 65 72 73 69 6f 6e 20 68 61 6e 64 6c 65 73 is.compatibility.version.handles
3f7e0 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73 20 46 52 4f 4d 20 61 6e 64 .the.optional.arguments.FROM.and
3f800 0a 20 20 20 20 20 54 4f 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 63 6f 6d 70 61 74 2d ......TO....--.Function:.compat-
3f820 63 61 6c 6c 20 63 6f 75 6e 74 2d 77 69 6e 64 6f 77 73 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 call.count-windows......Return.t
3f840 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6c 69 76 65 20 77 69 6e 64 6f 77 73 20 6f 6e 20 74 68 65 he.number.of.live.windows.on.the
3f860 20 73 65 6c 65 63 74 65 64 20 66 72 61 6d 65 2e 0a 0a 20 20 20 20 20 54 68 65 20 6f 70 74 69 6f .selected.frame........The.optio
3f880 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 4d 49 4e 49 42 55 46 20 73 70 65 63 69 66 69 65 73 20 77 nal.argument.MINIBUF.specifies.w
3f8a0 68 65 74 68 65 72 20 74 68 65 20 6d 69 6e 69 62 75 66 66 65 72 0a 20 20 20 20 20 77 69 6e 64 6f hether.the.minibuffer......windo
3f8c0 77 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 63 6f 75 6e 74 2e 0a 0a 20 20 20 w.is.included.in.the.count......
3f8e0 20 20 49 66 20 41 4c 4c 2d 46 52 41 4d 45 53 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 ..If.ALL-FRAMES.is.non-...nil...
3f900 2c 20 63 6f 75 6e 74 20 74 68 65 20 77 69 6e 64 6f 77 73 20 69 6e 20 61 6c 6c 20 66 72 61 6d 65 ,.count.the.windows.in.all.frame
3f920 73 20 69 6e 73 74 65 61 64 0a 20 20 20 20 20 6a 75 73 74 20 74 68 65 20 73 65 6c 65 63 74 65 64 s.instead......just.the.selected
3f940 20 66 72 61 6d 65 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 .frame........This.compatibility
3f960 20 76 65 72 73 69 6f 6e 20 68 61 6e 64 6c 65 73 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 .version.handles.the.optional.ar
3f980 67 75 6d 65 6e 74 0a 20 20 20 20 20 41 4c 4c 2d 46 52 41 4d 45 53 2e 0a 0a 32 2e 34 2e 33 20 4d gument......ALL-FRAMES...2.4.3.M
3f9a0 69 73 73 69 6e 67 20 44 65 66 69 6e 69 74 69 6f 6e 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d issing.Definitions.-------------
3f9c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 43 6f 6d 70 61 74 20 64 6f 65 73 20 6e 6f 74 20 70 72 ------------..Compat.does.not.pr
3f9e0 6f 76 69 64 65 20 73 75 70 70 6f 72 74 20 66 6f 72 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 ovide.support.for.the.following.
3fa00 4c 69 73 70 20 66 65 61 74 75 72 65 73 0a 69 6d 70 6c 65 6d 65 6e 74 65 64 20 69 6e 20 32 38 2e Lisp.features.implemented.in.28.
3fa20 31 3a 0a 0a 20 20 20 e2 80 a2 20 53 75 70 70 6f 72 74 20 66 6f 72 20 e2 80 98 69 6e 74 65 72 61 1:.........Support.for....intera
3fa40 63 74 69 76 65 e2 80 99 20 6f 72 20 e2 80 98 64 65 63 6c 61 72 65 e2 80 99 20 74 6f 20 6c 69 73 ctive....or....declare....to.lis
3fa60 74 20 61 70 70 6c 69 63 61 62 6c 65 20 6d 6f 64 65 73 2e 0a 20 20 20 e2 80 a2 20 53 75 70 70 6f t.applicable.modes.........Suppo
3fa80 72 74 20 66 6f 72 20 e2 80 98 3a 69 6e 74 65 72 61 63 74 69 76 65 e2 80 99 20 61 72 67 75 6d 65 rt.for....:interactive....argume
3faa0 6e 74 20 74 6f 20 e2 80 98 64 65 66 69 6e 65 2d 6d 69 6e 6f 72 2d 6d 6f 64 65 e2 80 99 20 61 6e nt.to....define-minor-mode....an
3fac0 64 0a 20 20 20 20 20 e2 80 98 64 65 66 69 6e 65 2d 64 65 72 69 76 65 64 2d 6d 6f 64 65 e2 80 99 d.........define-derived-mode...
3fae0 2e 0a 20 20 20 e2 80 a2 20 53 75 70 70 6f 72 74 20 66 6f 72 20 e2 80 98 3a 70 72 65 64 69 63 61 .........Support.for....:predica
3fb00 74 65 e2 80 99 20 61 72 67 75 6d 65 6e 74 20 74 6f 0a 20 20 20 20 20 e2 80 98 64 65 66 69 6e 65 te....argument.to.........define
3fb20 2d 67 6c 6f 62 61 6c 69 7a 65 64 2d 6d 69 6e 6f 72 2d 6d 6f 64 65 e2 80 99 2e 0a 20 20 20 e2 80 -globalized-minor-mode..........
3fb40 a2 20 53 75 70 70 6f 72 74 20 66 6f 72 20 74 68 65 20 e2 80 98 3a 73 75 63 63 65 73 73 e2 80 99 ..Support.for.the....:success...
3fb60 20 68 61 6e 64 6c 65 72 20 6f 66 20 e2 80 98 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 e2 80 99 .handler.of....condition-case...
3fb80 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 62 65 6e 63 68 6d 61 .........The.function....benchma
3fba0 72 6b 2d 63 61 6c 6c e2 80 99 2e 0a 20 20 20 e2 80 a2 20 41 64 64 69 74 69 6f 6e 61 6c 20 45 64 rk-call............Additional.Ed
3fbc0 65 62 75 67 20 6b 65 79 77 6f 72 64 73 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 6c 69 62 6a 61 6e ebug.keywords.........The.libjan
3fbe0 73 73 6f 6e 20 4a 53 4f 4e 20 41 50 49 73 2c 20 65 2e 67 2e 2c 20 e2 80 98 6a 73 6f 6e 2d 70 61 sson.JSON.APIs,.e.g.,....json-pa
3fc00 72 73 65 2d 73 74 72 69 6e 67 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 6d 61 63 72 6f 20 rse-string............The.macro.
3fc20 e2 80 98 70 63 61 73 65 2d 73 65 74 71 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e ...pcase-setq............The.fun
3fc40 63 74 69 6f 6e 20 e2 80 98 63 75 73 74 6f 6d 2d 61 64 64 2d 63 68 6f 69 63 65 e2 80 99 2e 0a 20 ction....custom-add-choice......
3fc60 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 73 20 e2 80 98 64 6f 6d 2d 70 72 69 6e 74 ......The.functions....dom-print
3fc80 e2 80 99 20 61 6e 64 20 e2 80 98 64 6f 6d 2d 72 65 6d 6f 76 65 2d 61 74 74 72 69 62 75 74 65 e2 ....and....dom-remove-attribute.
3fca0 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 64 6e 73 2d 71 ...........The.function....dns-q
3fcc0 75 65 72 79 2d 61 73 79 6e 63 68 72 6f 6e 6f 75 73 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 uery-asynchronous............The
3fce0 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 67 65 74 2d 6c 6f 63 61 6c 65 2d 6e 61 6d 65 73 e2 80 99 .function....get-locale-names...
3fd00 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 73 20 e2 80 98 6d 61 69 6c 2d 68 .........The.functions....mail-h
3fd20 65 61 64 65 72 2d 70 61 72 73 65 2d 61 64 64 72 65 73 73 65 73 2d 6c 61 78 e2 80 99 20 61 6e 64 eader-parse-addresses-lax....and
3fd40 0a 20 20 20 20 20 e2 80 98 6d 61 69 6c 2d 68 65 61 64 65 72 2d 70 61 72 73 65 2d 61 64 64 72 65 .........mail-header-parse-addre
3fd60 73 73 2d 6c 61 78 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 ss-lax............The.function..
3fd80 80 98 6e 75 6d 2d 70 72 6f 63 65 73 73 6f 72 73 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 ..num-processors............The.
3fda0 66 75 6e 63 74 69 6f 6e 20 e2 80 98 6f 62 6a 65 63 74 2d 69 6e 74 65 72 76 61 6c 73 e2 80 99 2e function....object-intervals....
3fdc0 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 72 65 71 75 69 72 65 2d ........The.function....require-
3fde0 74 68 65 6d 65 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 theme............The.function...
3fe00 98 73 79 6e 74 61 78 2d 63 6c 61 73 73 2d 74 6f 2d 63 68 61 72 e2 80 99 2e 0a 20 20 20 e2 80 a2 .syntax-class-to-char...........
3fe20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 70 61 74 68 2d 73 65 70 61 72 61 74 6f 72 e2 .The.function....path-separator.
3fe40 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 6e 75 6c 6c 2d ...........The.function....null-
3fe60 64 65 76 69 63 65 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 device............The.function..
3fe80 80 98 6d 61 63 72 6f 65 78 70 2d 63 6f 6d 70 69 6c 69 6e 67 2d 70 e2 80 99 2e 0a 20 20 20 e2 80 ..macroexp-compiling-p..........
3fea0 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 73 70 6c 69 74 2d 73 74 72 69 6e 67 2d 73 ..The.function....split-string-s
3fec0 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 hell-command............The.func
3fee0 74 69 6f 6e 20 e2 80 98 73 74 72 69 6e 67 2d 6c 69 6d 69 74 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 tion....string-limit............
3ff00 54 68 65 20 66 75 6e 63 74 69 6f 6e 73 20 e2 80 98 69 6e 6e 65 72 6d 6f 73 74 2d 6d 69 6e 69 62 The.functions....innermost-minib
3ff20 75 66 66 65 72 2d 70 e2 80 99 20 61 6e 64 0a 20 20 20 20 20 e2 80 98 6d 69 6e 69 62 75 66 66 65 uffer-p....and.........minibuffe
3ff40 72 2d 69 6e 6e 65 72 6d 6f 73 74 2d 63 6f 6d 6d 61 6e 64 2d 6c 6f 6f 70 2d 70 e2 80 99 2e 0a 20 r-innermost-command-loop-p......
3ff60 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 6d 61 78 2d 6d 69 6e 69 2d 77 ......The.function....max-mini-w
3ff80 69 6e 64 6f 77 2d 6c 69 6e 65 73 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 indow-lines............The.funct
3ffa0 69 6f 6e 20 e2 80 98 6c 6f 63 6b 2d 66 69 6c 65 e2 80 99 20 61 6e 64 20 e2 80 98 75 6e 6c 6f 63 ion....lock-file....and....unloc
3ffc0 6b 2d 66 69 6c 65 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 e2 80 98 6d 75 6c 74 69 73 65 k-file............The....multise
3ffe0 73 73 69 6f 6e e2 80 99 20 6c 69 62 72 61 72 79 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 32 33 ssion....library.....File:.doc23
40000 47 70 47 36 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 45 6d 61 63 73 20 32 39 2e 31 2c 20 20 4e GpG6.info,..Node:.Emacs.29.1,..N
40020 65 78 74 3a 20 45 6d 61 63 73 20 33 30 2e 31 2c 20 20 50 72 65 76 3a 20 45 6d 61 63 73 20 32 38 ext:.Emacs.30.1,..Prev:.Emacs.28
40040 2e 31 2c 20 20 55 70 3a 20 53 75 70 70 6f 72 74 0a 0a 32 2e 35 20 45 6d 61 63 73 20 32 39 2e 31 .1,..Up:.Support..2.5.Emacs.29.1
40060 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 32 2e 35 2e 31 20 41 64 64 65 64 20 44 65 66 .==============..2.5.1.Added.Def
40080 69 6e 69 74 69 6f 6e 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d initions.-----------------------
400a0 0a 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 6d 61 ..The.following.functions.and.ma
400c0 63 72 6f 73 20 61 72 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 69 6e 20 45 6d 61 63 73 20 32 39 cros.are.implemented.in.Emacs.29
400e0 2e 31 2e 20 20 54 68 65 73 65 0a 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 6d 61 64 65 20 61 76 .1...These.functions.are.made.av
40100 61 69 6c 61 62 6c 65 20 62 79 20 43 6f 6d 70 61 74 20 6f 6e 20 45 6d 61 63 73 20 76 65 72 73 69 ailable.by.Compat.on.Emacs.versi
40120 6f 6e 73 20 6f 6c 64 65 72 20 74 68 61 6e 0a 32 39 2e 31 2e 20 20 4e 6f 74 65 20 74 68 61 74 20 ons.older.than.29.1...Note.that.
40140 64 75 65 20 74 6f 20 75 70 73 74 72 65 61 6d 20 63 68 61 6e 67 65 73 2c 20 69 74 20 6d 69 67 68 due.to.upstream.changes,.it.migh
40160 74 20 68 61 70 70 65 6e 20 74 68 61 74 20 74 68 65 72 65 0a 77 69 6c 6c 20 62 65 20 74 68 65 20 t.happen.that.there.will.be.the.
40180 6e 65 65 64 20 66 6f 72 20 63 68 61 6e 67 65 73 2c 20 73 6f 20 75 73 65 20 74 68 65 73 65 20 66 need.for.changes,.so.use.these.f
401a0 75 6e 63 74 69 6f 6e 73 20 77 69 74 68 20 63 61 72 65 2e 0a 0a 20 20 20 54 68 65 20 e2 80 98 64 unctions.with.care......The....d
401c0 65 66 63 75 73 74 6f 6d e2 80 99 20 74 79 70 65 20 e2 80 98 6b 65 79 e2 80 99 20 69 6e 74 72 6f efcustom....type....key....intro
401e0 64 75 63 65 64 20 69 6e 20 45 6d 61 63 73 20 32 39 2e 31 20 69 73 20 6d 61 64 65 20 61 76 61 69 duced.in.Emacs.29.1.is.made.avai
40200 6c 61 62 6c 65 0a 62 79 20 43 6f 6d 70 61 74 2e 0a 0a 20 2d 2d 20 56 61 72 69 61 62 6c 65 3a 20 lable.by.Compat....--.Variable:.
40220 6c 69 73 70 2d 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 54 68 69 73 20 76 61 72 69 61 62 6c lisp-directory......This.variabl
40240 65 20 68 6f 6c 64 73 20 61 20 73 74 72 69 6e 67 20 6e 61 6d 69 6e 67 20 74 68 65 20 64 69 72 65 e.holds.a.string.naming.the.dire
40260 63 74 6f 72 79 20 77 68 69 63 68 20 68 6f 6c 64 73 0a 20 20 20 20 20 45 6d 61 63 73 e2 80 99 73 ctory.which.holds......Emacs...s
40280 20 6f 77 6e 20 e2 80 98 2a 2e 65 6c e2 80 99 20 61 6e 64 20 e2 80 98 2a 2e 65 6c 63 e2 80 99 20 .own....*.el....and....*.elc....
402a0 66 69 6c 65 73 2e 20 20 54 68 69 73 20 69 73 20 75 73 75 61 6c 6c 79 20 74 68 65 20 70 6c 61 63 files...This.is.usually.the.plac
402c0 65 0a 20 20 20 20 20 77 68 65 72 65 20 74 68 6f 73 65 20 66 69 6c 65 73 20 61 72 65 20 6c 6f 63 e......where.those.files.are.loc
402e0 61 74 65 64 20 69 6e 20 74 68 65 20 45 6d 61 63 73 20 69 6e 73 74 61 6c 6c 61 74 69 6f 6e 20 74 ated.in.the.Emacs.installation.t
40300 72 65 65 2c 0a 20 20 20 20 20 75 6e 6c 65 73 73 20 45 6d 61 63 73 20 69 73 20 72 75 6e 20 66 72 ree,......unless.Emacs.is.run.fr
40320 6f 6d 20 69 74 73 20 62 75 69 6c 64 20 64 69 72 65 63 74 6f 72 79 20 69 6e 20 77 68 69 63 68 20 om.its.build.directory.in.which.
40340 63 61 73 65 20 69 74 0a 20 20 20 20 20 70 6f 69 6e 74 73 20 74 6f 20 74 68 65 20 e2 80 98 6c 69 case.it......points.to.the....li
40360 73 70 e2 80 99 20 73 75 62 64 69 72 65 63 74 6f 72 79 20 69 6e 20 74 68 65 20 73 6f 75 72 63 65 sp....subdirectory.in.the.source
40380 20 64 69 72 65 63 74 6f 72 79 20 66 72 6f 6d 0a 20 20 20 20 20 77 68 69 63 68 20 45 6d 61 63 73 .directory.from......which.Emacs
403a0 20 77 61 73 20 62 75 69 6c 74 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 63 6f 75 6e 74 .was.built....--.Function:.count
403c0 2d 73 65 6e 74 65 6e 63 65 73 20 73 74 61 72 74 20 65 6e 64 0a 20 20 20 20 20 43 6f 75 6e 74 20 -sentences.start.end......Count.
403e0 73 65 6e 74 65 6e 63 65 73 20 69 6e 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 20 66 72 6f 6d sentences.in.current.buffer.from
40400 20 53 54 41 52 54 20 74 6f 20 45 4e 44 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 72 65 .START.to.END....--.Function:.re
40420 61 64 61 62 6c 65 70 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 54 68 69 73 20 70 72 65 64 69 63 61 adablep.object......This.predica
40440 74 65 20 73 61 79 73 20 77 68 65 74 68 65 72 20 4f 42 4a 45 43 54 20 68 61 73 20 e2 80 9c 72 65 te.says.whether.OBJECT.has....re
40460 61 64 61 62 6c 65 20 73 79 6e 74 61 78 e2 80 9d 2c 20 69 2e 65 2e 2c 20 69 74 0a 20 20 20 20 20 adable.syntax...,.i.e.,.it......
40480 63 61 6e 20 62 65 20 77 72 69 74 74 65 6e 20 6f 75 74 20 61 6e 64 20 74 68 65 6e 20 72 65 61 64 can.be.written.out.and.then.read
404a0 20 62 61 63 6b 20 62 79 20 74 68 65 20 45 6d 61 63 73 20 4c 69 73 70 20 72 65 61 64 65 72 2e 20 .back.by.the.Emacs.Lisp.reader..
404c0 20 49 66 0a 20 20 20 20 20 69 74 20 63 61 6e e2 80 99 74 2c 20 74 68 69 73 20 66 75 6e 63 74 69 .If......it.can...t,.this.functi
404e0 6f 6e 20 72 65 74 75 72 6e 73 20 e2 80 98 6e 69 6c e2 80 99 3b 20 69 66 20 69 74 20 63 61 6e 2c on.returns....nil...;.if.it.can,
40500 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 72 65 74 75 72 6e 73 20 61 20 70 72 .this.function......returns.a.pr
40520 69 6e 74 65 64 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 28 76 69 61 20 e2 80 98 70 72 69 inted.representation.(via....pri
40540 6e 31 e2 80 99 29 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 73 75 62 73 74 69 74 75 74 n1...)....--.Function:.substitut
40560 65 2d 71 75 6f 74 65 73 20 73 74 72 69 6e 67 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 e-quotes.string......This.functi
40580 6f 6e 20 77 6f 72 6b 73 20 6c 69 6b 65 20 e2 80 98 73 75 62 73 74 69 74 75 74 65 2d 63 6f 6d 6d on.works.like....substitute-comm
405a0 61 6e 64 2d 6b 65 79 73 e2 80 99 2c 20 62 75 74 20 6f 6e 6c 79 0a 20 20 20 20 20 72 65 70 6c 61 and-keys...,.but.only......repla
405c0 63 65 73 20 71 75 6f 74 65 20 63 68 61 72 61 63 74 65 72 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 ces.quote.characters....--.Funct
405e0 69 6f 6e 3a 20 67 65 74 2d 73 63 72 61 74 63 68 2d 62 75 66 66 65 72 2d 63 72 65 61 74 65 0a 20 ion:.get-scratch-buffer-create..
40600 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 2a 73 63 72 61 74 63 68 2a 20 62 75 66 66 65 72 2c ....Return.the.*scratch*.buffer,
40620 20 63 72 65 61 74 69 6e 67 20 61 20 6e 65 77 20 6f 6e 65 20 69 66 20 6e 65 65 64 65 64 2e 0a 0a .creating.a.new.one.if.needed...
40640 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 75 73 65 2d 72 65 67 69 6f 6e 2d 6e 6f 6e 63 6f 6e 74 .--.Function:.use-region-noncont
40660 69 67 75 6f 75 73 2d 70 0a 20 20 20 20 20 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 66 6f 72 iguous-p......Return.non-nil.for
40680 20 61 20 6e 6f 6e 2d 63 6f 6e 74 69 67 75 6f 75 73 20 72 65 67 69 6f 6e 20 69 66 20 e2 80 98 75 .a.non-contiguous.region.if....u
406a0 73 65 2d 72 65 67 69 6f 6e 2d 70 e2 80 99 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 75 se-region-p.......--.Function:.u
406c0 73 65 2d 72 65 67 69 6f 6e 2d 65 6e 64 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 65 6e se-region-end......Return.the.en
406e0 64 20 6f 66 20 74 68 65 20 72 65 67 69 6f 6e 20 69 66 20 e2 80 98 75 73 65 2d 72 65 67 69 6f 6e d.of.the.region.if....use-region
40700 2d 70 e2 80 99 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 75 73 65 2d 72 65 67 69 6f 6e -p.......--.Function:.use-region
40720 2d 62 65 67 69 6e 6e 69 6e 67 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 73 74 61 72 74 -beginning......Return.the.start
40740 20 6f 66 20 74 68 65 20 72 65 67 69 6f 6e 20 69 66 20 e2 80 98 75 73 65 2d 72 65 67 69 6f 6e 2d .of.the.region.if....use-region-
40760 70 e2 80 99 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 2d 73 p.......--.Macro:.buffer-local-s
40780 65 74 2d 73 74 61 74 65 20 76 61 72 69 61 62 6c 65 20 76 61 6c 75 65 2e 2e 2e 0a 20 20 20 20 20 et-state.variable.value.........
407a0 4d 69 6e 6f 72 20 6d 6f 64 65 73 20 6f 66 74 65 6e 20 73 65 74 20 62 75 66 66 65 72 2d 6c 6f 63 Minor.modes.often.set.buffer-loc
407c0 61 6c 20 76 61 72 69 61 62 6c 65 73 20 74 68 61 74 20 61 66 66 65 63 74 20 73 6f 6d 65 0a 20 20 al.variables.that.affect.some...
407e0 20 20 20 66 65 61 74 75 72 65 73 20 69 6e 20 45 6d 61 63 73 2e 20 20 57 68 65 6e 20 61 20 6d 69 ...features.in.Emacs...When.a.mi
40800 6e 6f 72 20 6d 6f 64 65 20 69 73 20 73 77 69 74 63 68 65 64 20 6f 66 66 2c 20 74 68 65 20 6d 6f nor.mode.is.switched.off,.the.mo
40820 64 65 20 69 73 0a 20 20 20 20 20 65 78 70 65 63 74 65 64 20 74 6f 20 72 65 73 74 6f 72 65 20 74 de.is......expected.to.restore.t
40840 68 65 20 70 72 65 76 69 6f 75 73 20 73 74 61 74 65 20 6f 66 20 74 68 65 73 65 20 76 61 72 69 61 he.previous.state.of.these.varia
40860 62 6c 65 73 2e 20 20 54 68 69 73 0a 20 20 20 20 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20 6d 61 63 bles...This......convenience.mac
40880 72 6f 20 68 65 6c 70 73 20 77 69 74 68 20 64 6f 69 6e 67 20 74 68 61 74 3a 20 49 74 20 77 6f 72 ro.helps.with.doing.that:.It.wor
408a0 6b 73 20 6d 75 63 68 20 6c 69 6b 65 0a 20 20 20 20 20 e2 80 98 73 65 74 71 2d 6c 6f 63 61 6c e2 ks.much.like.........setq-local.
408c0 80 99 2c 20 62 75 74 20 72 65 74 75 72 6e 73 20 61 6e 20 6f 62 6a 65 63 74 20 74 68 61 74 20 63 ..,.but.returns.an.object.that.c
408e0 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 72 65 73 74 6f 72 65 0a 20 20 20 20 20 74 68 65 73 65 an.be.used.to.restore......these
40900 20 76 61 6c 75 65 73 20 62 61 63 6b 20 74 6f 20 74 68 65 69 72 20 70 72 65 76 69 6f 75 73 20 76 .values.back.to.their.previous.v
40920 61 6c 75 65 73 2f 73 74 61 74 65 73 20 28 75 73 69 6e 67 20 74 68 65 0a 20 20 20 20 20 63 6f 6d alues/states.(using.the......com
40940 70 61 6e 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 62 75 66 66 65 72 2d 6c 6f 63 61 6c 2d panion.function....buffer-local-
40960 72 65 73 74 6f 72 65 2d 73 74 61 74 65 e2 80 99 29 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e restore-state...)....--.Function
40980 3a 20 64 65 6c 65 74 65 2d 6c 69 6e 65 0a 20 20 20 20 20 44 65 6c 65 74 65 20 74 68 65 20 63 75 :.delete-line......Delete.the.cu
409a0 72 72 65 6e 74 20 6c 69 6e 65 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6c 69 73 74 2d rrent.line....--.Function:.list-
409c0 6f 66 2d 73 74 72 69 6e 67 73 2d 70 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 52 65 74 75 72 6e 20 of-strings-p.object......Return.
409e0 e2 80 98 74 e2 80 99 20 69 66 20 4f 42 4a 45 43 54 20 69 73 20 e2 80 98 6e 69 6c e2 80 99 20 6f ...t....if.OBJECT.is....nil....o
40a00 72 20 61 20 6c 69 73 74 20 6f 66 20 73 74 72 69 6e 67 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 r.a.list.of.strings....--.Functi
40a20 6f 6e 3a 20 70 6c 69 73 74 70 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 4e 6f 6e 2d 6e 69 6c 20 69 on:.plistp.object......Non-nil.i
40a40 66 20 61 6e 64 20 6f 6e 6c 79 20 69 66 20 4f 42 4a 45 43 54 20 69 73 20 61 20 76 61 6c 69 64 20 f.and.only.if.OBJECT.is.a.valid.
40a60 70 6c 69 73 74 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 77 69 74 68 2d 6d 65 6d 6f 69 7a 61 74 plist....--.Macro:.with-memoizat
40a80 69 6f 6e 20 50 4c 41 43 45 20 43 4f 44 45 2e 2e 2e 0a 20 20 20 20 20 54 68 69 73 20 6d 61 63 72 ion.PLACE.CODE.........This.macr
40aa0 6f 20 70 72 6f 76 69 64 65 73 20 61 20 73 69 6d 70 6c 65 20 77 61 79 20 74 6f 20 64 6f 20 6d 65 o.provides.a.simple.way.to.do.me
40ac0 6d 6f 69 7a 61 74 69 6f 6e 2e 20 20 43 4f 44 45 20 69 73 0a 20 20 20 20 20 65 76 61 6c 75 61 74 moization...CODE.is......evaluat
40ae0 65 64 20 61 6e 64 20 74 68 65 6e 20 73 74 61 73 68 65 64 20 69 6e 20 50 4c 41 43 45 2e 20 20 49 ed.and.then.stashed.in.PLACE...I
40b00 66 20 50 4c 41 43 45 e2 80 99 73 20 76 61 6c 75 65 20 69 73 0a 20 20 20 20 20 6e 6f 6e 2d e2 80 f.PLACE...s.value.is......non-..
40b20 98 6e 69 6c e2 80 99 2c 20 72 65 74 75 72 6e 20 74 68 61 74 20 76 61 6c 75 65 20 69 6e 73 74 65 .nil...,.return.that.value.inste
40b40 61 64 20 6f 66 20 65 76 61 6c 75 61 74 69 6e 67 20 43 4f 44 45 2e 0a 0a 20 2d 2d 20 53 70 65 63 ad.of.evaluating.CODE....--.Spec
40b60 69 61 6c 20 46 6f 72 6d 3a 20 77 69 74 68 2d 72 65 73 74 72 69 63 74 69 6f 6e 20 73 74 61 72 74 ial.Form:.with-restriction.start
40b80 20 65 6e 64 20 5b 3a 6c 61 62 65 6c 20 6c 61 62 65 6c 5d 20 62 6f 64 79 0a 20 20 20 20 20 54 68 .end.[:label.label].body......Th
40ba0 69 73 20 73 70 65 63 69 61 6c 20 66 6f 72 6d 20 73 61 76 65 73 20 74 68 65 20 63 75 72 72 65 6e is.special.form.saves.the.curren
40bc0 74 20 62 6f 75 6e 64 73 20 6f 66 20 74 68 65 20 61 63 63 65 73 73 69 62 6c 65 0a 20 20 20 20 20 t.bounds.of.the.accessible......
40be0 70 6f 72 74 69 6f 6e 20 6f 66 20 74 68 65 20 62 75 66 66 65 72 2c 20 73 65 74 73 20 74 68 65 20 portion.of.the.buffer,.sets.the.
40c00 61 63 63 65 73 73 69 62 6c 65 20 70 6f 72 74 69 6f 6e 20 74 6f 20 73 74 61 72 74 20 61 74 0a 20 accessible.portion.to.start.at..
40c20 20 20 20 20 53 54 41 52 54 20 61 6e 64 20 65 6e 64 20 61 74 20 45 4e 44 2c 20 65 76 61 6c 75 61 ....START.and.end.at.END,.evalua
40c40 74 65 73 20 74 68 65 20 42 4f 44 59 20 66 6f 72 6d 73 2c 20 61 6e 64 20 72 65 73 74 6f 72 65 73 tes.the.BODY.forms,.and.restores
40c60 20 74 68 65 0a 20 20 20 20 20 73 61 76 65 64 20 62 6f 75 6e 64 73 2e 20 20 49 6e 20 74 68 61 74 .the......saved.bounds...In.that
40c80 20 63 61 73 65 20 69 74 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 0a 0a 20 20 20 20 20 .case.it.is.equivalent.to.......
40ca0 20 20 20 20 20 28 73 61 76 65 2d 72 65 73 74 72 69 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 .....(save-restriction..........
40cc0 20 20 20 28 6e 61 72 72 6f 77 2d 74 6f 2d 72 65 67 69 6f 6e 20 73 74 61 72 74 20 65 6e 64 29 0a ...(narrow-to-region.start.end).
40ce0 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 64 79 29 0a 0a 20 20 20 20 20 57 68 65 6e 20 74 68 65 ............body).......When.the
40d00 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 4c 41 42 45 4c 2c 20 61 20 73 79 6d 62 .optional.argument.LABEL,.a.symb
40d20 6f 6c 2c 20 69 73 20 70 72 65 73 65 6e 74 2c 20 74 68 65 0a 20 20 20 20 20 6e 61 72 72 6f 77 69 ol,.is.present,.the......narrowi
40d40 6e 67 20 69 73 20 e2 80 9c 6c 61 62 65 6c 65 64 e2 80 9d 2e 20 20 41 20 6c 61 62 65 6c 65 64 20 ng.is....labeled......A.labeled.
40d60 6e 61 72 72 6f 77 69 6e 67 20 64 69 66 66 65 72 73 20 66 72 6f 6d 20 61 0a 20 20 20 20 20 6e 6f narrowing.differs.from.a......no
40d80 6e 2d 6c 61 62 65 6c 65 64 20 6f 6e 65 20 69 6e 20 73 65 76 65 72 61 6c 20 77 61 79 73 3a 0a 0a n-labeled.one.in.several.ways:..
40da0 20 20 20 20 20 20 20 20 e2 80 a2 20 44 75 72 69 6e 67 20 74 68 65 20 65 76 61 6c 75 61 74 69 6f ............During.the.evaluatio
40dc0 6e 20 6f 66 20 74 68 65 20 42 4f 44 59 20 66 6f 72 6d 2c 20 e2 80 98 6e 61 72 72 6f 77 2d 74 6f n.of.the.BODY.form,....narrow-to
40de0 2d 72 65 67 69 6f 6e e2 80 99 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 e2 80 98 77 69 64 65 -region....and..............wide
40e00 6e e2 80 99 20 63 61 6e 20 62 65 20 75 73 65 64 20 6f 6e 6c 79 20 77 69 74 68 69 6e 20 74 68 65 n....can.be.used.only.within.the
40e20 20 53 54 41 52 54 20 61 6e 64 20 45 4e 44 20 6c 69 6d 69 74 73 2e 0a 0a 20 20 20 20 20 20 20 20 .START.and.END.limits...........
40e40 e2 80 a2 20 54 6f 20 6c 69 66 74 20 74 68 65 20 72 65 73 74 72 69 63 74 69 6f 6e 20 69 6e 74 72 ....To.lift.the.restriction.intr
40e60 6f 64 75 63 65 64 20 62 79 20 e2 80 98 77 69 74 68 2d 72 65 73 74 72 69 63 74 69 6f 6e e2 80 99 oduced.by....with-restriction...
40e80 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 67 61 69 6e 20 61 63 63 65 73 73 20 74 6f 20 6f 74 .and...........gain.access.to.ot
40ea0 68 65 72 20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 62 75 66 66 65 72 2c 20 75 73 65 0a her.portions.of.the.buffer,.use.
40ec0 20 20 20 20 20 20 20 20 20 20 e2 80 98 77 69 74 68 6f 75 74 2d 72 65 73 74 72 69 63 74 69 6f 6e .............without-restriction
40ee0 e2 80 99 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 4c 41 42 45 4c 20 61 72 67 75 6d 65 6e 74 ....with.the.same.LABEL.argument
40f00 2e 20 20 28 41 6e 6f 74 68 65 72 0a 20 20 20 20 20 20 20 20 20 20 77 61 79 20 74 6f 20 67 61 69 ...(Another...........way.to.gai
40f20 6e 20 61 63 63 65 73 73 20 74 6f 20 6f 74 68 65 72 20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 74 68 n.access.to.other.portions.of.th
40f40 65 20 62 75 66 66 65 72 20 69 73 20 74 6f 20 75 73 65 0a 20 20 20 20 20 20 20 20 20 20 61 6e 20 e.buffer.is.to.use...........an.
40f60 69 6e 64 69 72 65 63 74 20 62 75 66 66 65 72 20 28 2a 6e 6f 74 65 20 28 65 6c 69 73 70 29 49 6e indirect.buffer.(*note.(elisp)In
40f80 64 69 72 65 63 74 20 42 75 66 66 65 72 73 3a 3a 29 2e 29 0a 0a 20 20 20 20 20 20 20 20 e2 80 a2 direct.Buffers::).).............
40fa0 20 4c 61 62 65 6c 65 64 20 6e 61 72 72 6f 77 69 6e 67 73 20 63 61 6e 20 62 65 20 6e 65 73 74 65 .Labeled.narrowings.can.be.neste
40fc0 64 2e 0a 0a 20 20 20 20 20 20 20 20 e2 80 a2 20 4c 61 62 65 6c 65 64 20 6e 61 72 72 6f 77 69 6e d...............Labeled.narrowin
40fe0 67 73 20 63 61 6e 20 6f 6e 6c 79 20 62 65 20 75 73 65 64 20 69 6e 20 4c 69 73 70 20 70 72 6f 67 gs.can.only.be.used.in.Lisp.prog
41000 72 61 6d 73 3a 20 74 68 65 79 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 20 6e 65 76 65 72 20 76 rams:.they.are...........never.v
41020 69 73 69 62 6c 65 20 6f 6e 20 64 69 73 70 6c 61 79 2c 20 61 6e 64 20 6e 65 76 65 72 20 69 6e 74 isible.on.display,.and.never.int
41040 65 72 66 65 72 65 20 77 69 74 68 20 6e 61 72 72 6f 77 69 6e 67 73 0a 20 20 20 20 20 20 20 20 20 erfere.with.narrowings..........
41060 20 73 65 74 20 62 79 20 74 68 65 20 75 73 65 72 2e 0a 0a 20 20 20 20 20 49 66 20 79 6f 75 20 75 .set.by.the.user........If.you.u
41080 73 65 20 e2 80 98 77 69 74 68 2d 72 65 73 74 72 69 63 74 69 6f 6e e2 80 99 20 77 69 74 68 20 74 se....with-restriction....with.t
410a0 68 65 20 6f 70 74 69 6f 6e 61 6c 20 4c 41 42 45 4c 20 61 72 67 75 6d 65 6e 74 2c 20 77 65 0a 20 he.optional.LABEL.argument,.we..
410c0 20 20 20 20 72 65 63 6f 6d 6d 65 6e 64 20 64 6f 63 75 6d 65 6e 74 69 6e 67 20 74 68 65 20 4c 41 ....recommend.documenting.the.LA
410e0 42 45 4c 20 69 6e 20 74 68 65 20 64 6f 63 20 73 74 72 69 6e 67 73 20 6f 66 20 74 68 65 20 66 75 BEL.in.the.doc.strings.of.the.fu
41100 6e 63 74 69 6f 6e 73 0a 20 20 20 20 20 77 68 69 63 68 20 75 73 65 20 69 74 2c 20 73 6f 20 74 68 nctions......which.use.it,.so.th
41120 61 74 20 6f 74 68 65 72 20 4c 69 73 70 20 70 72 6f 67 72 61 6d 73 20 79 6f 75 72 20 63 6f 64 65 at.other.Lisp.programs.your.code
41140 20 63 61 6c 6c 73 20 63 6f 75 6c 64 0a 20 20 20 20 20 6c 69 66 74 20 74 68 65 20 6c 61 62 65 6c .calls.could......lift.the.label
41160 65 64 20 6e 61 72 72 6f 77 69 6e 67 20 69 66 20 61 6e 64 20 77 68 65 6e 20 69 74 20 6e 65 65 64 ed.narrowing.if.and.when.it.need
41180 73 2e 0a 0a 20 2d 2d 20 53 70 65 63 69 61 6c 20 46 6f 72 6d 3a 20 77 69 74 68 6f 75 74 2d 72 65 s....--.Special.Form:.without-re
411a0 73 74 72 69 63 74 69 6f 6e 20 5b 3a 6c 61 62 65 6c 20 6c 61 62 65 6c 5d 20 62 6f 64 79 0a 20 20 striction.[:label.label].body...
411c0 20 20 20 54 68 69 73 20 73 70 65 63 69 61 6c 20 66 6f 72 6d 20 73 61 76 65 73 20 74 68 65 20 63 ...This.special.form.saves.the.c
411e0 75 72 72 65 6e 74 20 62 6f 75 6e 64 73 20 6f 66 20 74 68 65 20 61 63 63 65 73 73 69 62 6c 65 0a urrent.bounds.of.the.accessible.
41200 20 20 20 20 20 70 6f 72 74 69 6f 6e 20 6f 66 20 74 68 65 20 62 75 66 66 65 72 2c 20 77 69 64 65 .....portion.of.the.buffer,.wide
41220 6e 73 20 74 68 65 20 62 75 66 66 65 72 2c 20 65 76 61 6c 75 61 74 65 73 20 74 68 65 20 42 4f 44 ns.the.buffer,.evaluates.the.BOD
41240 59 20 66 6f 72 6d 73 2c 0a 20 20 20 20 20 61 6e 64 20 72 65 73 74 6f 72 65 73 20 74 68 65 20 73 Y.forms,......and.restores.the.s
41260 61 76 65 64 20 62 6f 75 6e 64 73 2e 20 20 49 6e 20 74 68 61 74 20 63 61 73 65 20 69 74 20 69 73 aved.bounds...In.that.case.it.is
41280 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 0a 0a 20 20 20 20 20 20 20 20 20 20 28 73 61 76 65 2d .equivalent.to............(save-
412a0 72 65 73 74 72 69 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 64 65 6e 29 0a restriction.............(widen).
412c0 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 64 79 29 0a 0a 20 20 20 20 20 57 68 65 6e 20 74 68 65 ............body).......When.the
412e0 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 4c 41 42 45 4c 20 69 73 20 70 72 65 73 .optional.argument.LABEL.is.pres
41300 65 6e 74 2c 20 74 68 65 20 6e 61 72 72 6f 77 69 6e 67 20 73 65 74 20 62 79 0a 20 20 20 20 20 e2 ent,.the.narrowing.set.by.......
41320 80 98 77 69 74 68 2d 72 65 73 74 72 69 63 74 69 6f 6e e2 80 99 20 77 69 74 68 20 74 68 65 20 73 ..with-restriction....with.the.s
41340 61 6d 65 20 4c 41 42 45 4c 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6c 69 66 74 65 64 2e 0a 0a 20 ame.LABEL.argument.is.lifted....
41360 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 70 6f 73 2d 62 6f 6c 20 26 6f 70 74 69 6f 6e 61 6c 20 63 --.Function:.pos-bol.&optional.c
41380 6f 75 6e 74 0a 20 20 20 20 20 4c 69 6b 65 20 e2 80 98 6c 69 6e 65 2d 62 65 67 69 6e 6e 69 6e 67 ount......Like....line-beginning
413a0 2d 70 6f 73 69 74 69 6f 6e e2 80 99 2c 20 62 75 74 20 69 67 6e 6f 72 65 73 20 66 69 65 6c 64 73 -position...,.but.ignores.fields
413c0 20 28 61 6e 64 20 69 73 20 6d 6f 72 65 0a 20 20 20 20 20 65 66 66 69 63 69 65 6e 74 29 2e 0a 0a .(and.is.more......efficient)...
413e0 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 70 6f 73 2d 65 6f 6c 20 26 6f 70 74 69 6f 6e 61 6c 20 .--.Function:.pos-eol.&optional.
41400 63 6f 75 6e 74 0a 20 20 20 20 20 4c 69 6b 65 20 e2 80 98 6c 69 6e 65 2d 65 6e 64 2d 70 6f 73 69 count......Like....line-end-posi
41420 74 69 6f 6e e2 80 99 2c 20 62 75 74 20 69 67 6e 6f 72 65 73 20 66 69 65 6c 64 73 20 28 61 6e 64 tion...,.but.ignores.fields.(and
41440 20 69 73 20 6d 6f 72 65 0a 20 20 20 20 20 65 66 66 69 63 69 65 6e 74 29 2e 0a 0a 20 2d 2d 20 46 .is.more......efficient)....--.F
41460 75 6e 63 74 69 6f 6e 3a 20 63 68 61 72 2d 75 70 70 65 72 63 61 73 65 2d 70 20 63 68 61 72 0a 20 unction:.char-uppercase-p.char..
41480 20 20 20 20 52 65 74 75 72 6e 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 69 66 20 43 48 41 52 ....Return.non-...nil....if.CHAR
414a0 20 69 73 20 61 6e 20 75 70 70 65 72 63 61 73 65 20 63 68 61 72 61 63 74 65 72 20 61 63 63 6f 72 .is.an.uppercase.character.accor
414c0 64 69 6e 67 20 74 6f 0a 20 20 20 20 20 55 6e 69 63 6f 64 65 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f ding.to......Unicode....--.Macro
414e0 3a 20 77 69 74 68 2d 64 65 6c 61 79 65 64 2d 6d 65 73 73 61 67 65 20 28 74 69 6d 65 6f 75 74 20 :.with-delayed-message.(timeout.
41500 6d 65 73 73 61 67 65 29 20 62 6f 64 79 2e 2e 2e 0a 20 20 20 20 20 53 6f 6d 65 74 69 6d 65 73 20 message).body.........Sometimes.
41520 69 74 e2 80 99 73 20 75 6e 63 6c 65 61 72 20 77 68 65 74 68 65 72 20 61 6e 20 6f 70 65 72 61 74 it...s.unclear.whether.an.operat
41540 69 6f 6e 20 77 69 6c 6c 20 74 61 6b 65 20 61 20 6c 6f 6e 67 20 74 69 6d 65 0a 20 20 20 20 20 74 ion.will.take.a.long.time......t
41560 6f 20 65 78 65 63 75 74 65 20 6f 72 20 6e 6f 74 2c 20 6f 72 20 69 74 20 63 61 6e 20 62 65 20 69 o.execute.or.not,.or.it.can.be.i
41580 6e 63 6f 6e 76 65 6e 69 65 6e 74 20 74 6f 20 69 6d 70 6c 65 6d 65 6e 74 20 61 0a 20 20 20 20 20 nconvenient.to.implement.a......
415a0 70 72 6f 67 72 65 73 73 20 72 65 70 6f 72 74 65 72 2e 20 20 54 68 69 73 20 6d 61 63 72 6f 20 63 progress.reporter...This.macro.c
415c0 61 6e 20 62 65 20 75 73 65 64 20 69 6e 20 74 68 6f 73 65 20 73 69 74 75 61 74 69 6f 6e 73 2e 0a an.be.used.in.those.situations..
415e0 0a 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 64 65 6c 61 79 65 64 2d 6d 65 73 73 61 67 65 ...........(with-delayed-message
41600 20 28 32 20 28 66 6f 72 6d 61 74 20 22 47 61 74 68 65 72 69 6e 67 20 64 61 74 61 20 66 6f 72 20 .(2.(format."Gathering.data.for.
41620 25 73 22 20 65 6e 74 72 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 64 61 %s".entry)).............(setq.da
41640 74 61 20 28 67 61 74 68 65 72 2d 64 61 74 61 20 65 6e 74 72 79 29 29 29 0a 0a 20 20 20 20 20 49 ta.(gather-data.entry))).......I
41660 6e 20 74 68 69 73 20 65 78 61 6d 70 6c 65 2c 20 69 66 20 74 68 65 20 62 6f 64 79 20 74 61 6b 65 n.this.example,.if.the.body.take
41680 73 20 6d 6f 72 65 20 74 68 61 6e 20 74 77 6f 20 73 65 63 6f 6e 64 73 20 74 6f 0a 20 20 20 20 20 s.more.than.two.seconds.to......
416a0 65 78 65 63 75 74 65 2c 20 74 68 65 20 6d 65 73 73 61 67 65 20 77 69 6c 6c 20 62 65 20 64 69 73 execute,.the.message.will.be.dis
416c0 70 6c 61 79 65 64 2e 20 20 49 66 20 69 74 20 74 61 6b 65 73 20 61 20 73 68 6f 72 74 65 72 20 74 played...If.it.takes.a.shorter.t
416e0 69 6d 65 0a 20 20 20 20 20 74 68 61 6e 20 74 68 61 74 2c 20 74 68 65 20 6d 65 73 73 61 67 65 20 ime......than.that,.the.message.
41700 77 6f 6e e2 80 99 74 20 62 65 20 64 69 73 70 6c 61 79 65 64 2e 20 20 49 6e 20 65 69 74 68 65 72 won...t.be.displayed...In.either
41720 20 63 61 73 65 2c 20 74 68 65 0a 20 20 20 20 20 62 6f 64 79 20 69 73 20 65 76 61 6c 75 61 74 65 .case,.the......body.is.evaluate
41740 64 20 61 73 20 6e 6f 72 6d 61 6c 6c 79 2c 20 61 6e 64 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 d.as.normally,.and.the.return.va
41760 6c 75 65 20 6f 66 20 74 68 65 20 66 69 6e 61 6c 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 20 69 6e lue.of.the.final......element.in
41780 20 74 68 65 20 62 6f 64 79 20 69 73 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 6f 66 .the.body.is.the.return.value.of
417a0 20 74 68 65 20 6d 61 63 72 6f 2e 0a 0a 20 20 20 20 20 54 68 65 20 4d 45 53 53 41 47 45 20 65 6c .the.macro........The.MESSAGE.el
417c0 65 6d 65 6e 74 20 69 73 20 65 76 61 6c 75 61 74 65 64 20 62 65 66 6f 72 65 20 42 4f 44 59 2c 20 ement.is.evaluated.before.BODY,.
417e0 61 6e 64 20 69 73 20 61 6c 77 61 79 73 0a 20 20 20 20 20 65 76 61 6c 75 61 74 65 64 2c 20 77 68 and.is.always......evaluated,.wh
41800 65 74 68 65 72 20 74 68 65 20 6d 65 73 73 61 67 65 20 69 73 20 64 69 73 70 6c 61 79 65 64 20 6f ether.the.message.is.displayed.o
41820 72 20 6e 6f 74 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 66 75 6e 63 61 6c 6c 2d 77 69 r.not....--.Function:.funcall-wi
41840 74 68 2d 64 65 6c 61 79 65 64 2d 6d 65 73 73 61 67 65 20 74 69 6d 65 6f 75 74 20 6d 65 73 73 61 th-delayed-message.timeout.messa
41860 67 65 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 4c 69 6b 65 20 e2 80 98 66 75 6e 63 61 6c 6c ge.function......Like....funcall
41880 e2 80 99 2c 20 62 75 74 20 64 69 73 70 6c 61 79 20 4d 45 53 53 41 47 45 20 69 66 20 46 55 4e 43 ...,.but.display.MESSAGE.if.FUNC
418a0 54 49 4f 4e 20 74 61 6b 65 73 20 6c 6f 6e 67 65 72 20 74 68 61 6e 0a 20 20 20 20 20 54 49 4d 45 TION.takes.longer.than......TIME
418c0 4f 55 54 2e 20 20 54 49 4d 45 4f 55 54 20 69 73 20 61 20 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 OUT...TIMEOUT.is.a.number.of.sec
418e0 6f 6e 64 73 2c 20 61 6e 64 20 63 61 6e 20 62 65 20 61 6e 20 69 6e 74 65 67 65 72 20 6f 72 0a 20 onds,.and.can.be.an.integer.or..
41900 20 20 20 20 61 20 66 6c 6f 61 74 69 6e 67 20 70 6f 69 6e 74 20 6e 75 6d 62 65 72 2e 0a 0a 20 20 ....a.floating.point.number.....
41920 20 20 20 49 66 20 46 55 4e 43 54 49 4f 4e 20 74 61 6b 65 73 20 6c 65 73 73 20 74 69 6d 65 20 74 ...If.FUNCTION.takes.less.time.t
41940 6f 20 65 78 65 63 75 74 65 20 74 68 61 6e 20 54 49 4d 45 4f 55 54 20 73 65 63 6f 6e 64 73 2c 0a o.execute.than.TIMEOUT.seconds,.
41960 20 20 20 20 20 4d 45 53 53 41 47 45 20 69 73 20 6e 6f 74 20 64 69 73 70 6c 61 79 65 64 2e 0a 0a .....MESSAGE.is.not.displayed...
41980 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 62 75 74 74 6f 6e 69 7a 65 20 73 74 72 69 6e 67 20 63 .--.Function:.buttonize.string.c
419a0 61 6c 6c 62 61 63 6b 20 26 6f 70 74 69 6f 6e 61 6c 20 64 61 74 61 20 68 65 6c 70 2d 65 63 68 6f allback.&optional.data.help-echo
419c0 0a 20 20 20 20 20 53 6f 6d 65 74 69 6d 65 73 20 69 74 e2 80 99 73 20 6d 6f 72 65 20 63 6f 6e 76 ......Sometimes.it...s.more.conv
419e0 65 6e 69 65 6e 74 20 74 6f 20 6d 61 6b 65 20 61 20 73 74 72 69 6e 67 20 69 6e 74 6f 20 61 20 62 enient.to.make.a.string.into.a.b
41a00 75 74 74 6f 6e 0a 20 20 20 20 20 77 69 74 68 6f 75 74 20 69 6e 73 65 72 74 69 6e 67 20 69 74 20 utton......without.inserting.it.
41a20 69 6e 74 6f 20 61 20 62 75 66 66 65 72 20 69 6d 6d 65 64 69 61 74 65 6c 79 2c 20 66 6f 72 20 69 into.a.buffer.immediately,.for.i
41a40 6e 73 74 61 6e 63 65 20 77 68 65 6e 0a 20 20 20 20 20 63 72 65 61 74 69 6e 67 20 64 61 74 61 20 nstance.when......creating.data.
41a60 73 74 72 75 63 74 75 72 65 73 20 74 68 61 74 20 6d 61 79 20 74 68 65 6e 2c 20 6c 61 74 65 72 2c structures.that.may.then,.later,
41a80 20 62 65 20 69 6e 73 65 72 74 65 64 20 69 6e 74 6f 20 61 0a 20 20 20 20 20 62 75 66 66 65 72 2e .be.inserted.into.a......buffer.
41aa0 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6d 61 6b 65 73 20 53 54 52 49 4e 47 20 69 6e 74 ..This.function.makes.STRING.int
41ac0 6f 20 73 75 63 68 20 61 20 73 74 72 69 6e 67 2c 20 61 6e 64 0a 20 20 20 20 20 43 41 4c 4c 42 41 o.such.a.string,.and......CALLBA
41ae0 43 4b 20 77 69 6c 6c 20 62 65 20 63 61 6c 6c 65 64 20 77 68 65 6e 20 74 68 65 20 75 73 65 72 20 CK.will.be.called.when.the.user.
41b00 63 6c 69 63 6b 73 20 6f 6e 20 74 68 65 20 62 75 74 74 6f 6e 2e 20 20 54 68 65 0a 20 20 20 20 20 clicks.on.the.button...The......
41b20 6f 70 74 69 6f 6e 61 6c 20 44 41 54 41 20 70 61 72 61 6d 65 74 65 72 20 77 69 6c 6c 20 62 65 20 optional.DATA.parameter.will.be.
41b40 75 73 65 64 20 61 73 20 74 68 65 20 70 61 72 61 6d 65 74 65 72 20 77 68 65 6e 20 43 41 4c 4c 42 used.as.the.parameter.when.CALLB
41b60 41 43 4b 0a 20 20 20 20 20 69 73 20 63 61 6c 6c 65 64 2e 20 20 49 66 20 e2 80 98 6e 69 6c e2 80 ACK......is.called...If....nil..
41b80 99 2c 20 74 68 65 20 62 75 74 74 6f 6e 20 69 73 20 75 73 65 64 20 61 73 20 74 68 65 20 70 61 72 .,.the.button.is.used.as.the.par
41ba0 61 6d 65 74 65 72 20 69 6e 73 74 65 61 64 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 62 ameter.instead....--.Function:.b
41bc0 75 74 74 6f 6e 69 7a 65 2d 72 65 67 69 6f 6e 20 73 74 61 72 74 20 65 6e 64 20 63 61 6c 6c 62 61 uttonize-region.start.end.callba
41be0 63 6b 20 26 6f 70 74 69 6f 6e 61 6c 20 64 61 74 61 0a 20 20 20 20 20 20 20 20 20 20 68 65 6c 70 ck.&optional.data...........help
41c00 2d 65 63 68 6f 0a 20 20 20 20 20 4d 61 6b 65 20 74 68 65 20 72 65 67 69 6f 6e 20 62 65 74 77 65 -echo......Make.the.region.betwe
41c20 65 6e 20 53 54 41 52 54 20 61 6e 64 20 45 4e 44 20 69 6e 74 6f 20 61 20 62 75 74 74 6f 6e 2e 20 en.START.and.END.into.a.button..
41c40 20 57 68 65 6e 20 63 6c 69 63 6b 65 64 2c 0a 20 20 20 20 20 43 41 4c 4c 42 41 43 4b 20 77 69 6c .When.clicked,......CALLBACK.wil
41c60 6c 20 62 65 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 68 65 20 44 41 54 41 20 61 73 20 74 68 65 l.be.called.with.the.DATA.as.the
41c80 20 66 75 6e 63 74 69 6f 6e 20 61 72 67 75 6d 65 6e 74 2e 20 20 49 66 0a 20 20 20 20 20 44 41 54 .function.argument...If......DAT
41ca0 41 20 69 73 6e e2 80 99 74 20 70 72 65 73 65 6e 74 20 28 6f 72 20 69 73 20 6e 69 6c 29 2c 20 74 A.isn...t.present.(or.is.nil),.t
41cc0 68 65 20 62 75 74 74 6f 6e 20 69 74 73 65 6c 66 20 77 69 6c 6c 20 62 65 20 75 73 65 64 0a 20 20 he.button.itself.will.be.used...
41ce0 20 20 20 69 6e 73 74 65 61 64 20 61 73 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 61 72 67 75 6d ...instead.as.the.function.argum
41d00 65 6e 74 2e 20 20 49 66 20 48 45 4c 50 2d 45 43 48 4f 2c 20 75 73 65 20 74 68 61 74 20 61 73 20 ent...If.HELP-ECHO,.use.that.as.
41d20 74 68 65 0a 20 20 20 20 20 68 65 6c 70 2d 65 63 68 6f 20 70 72 6f 70 65 72 74 79 2e 0a 0a 20 2d the......help-echo.property....-
41d40 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 67 65 74 2d 64 69 73 70 6c 61 79 2d 70 72 6f 70 65 72 74 79 -.Function:.get-display-property
41d60 20 70 6f 73 69 74 69 6f 6e 20 70 72 6f 70 20 26 6f 70 74 69 6f 6e 61 6c 20 6f 62 6a 65 63 74 0a .position.prop.&optional.object.
41d80 20 20 20 20 20 20 20 20 20 20 70 72 6f 70 65 72 74 69 65 73 0a 20 20 20 20 20 54 68 69 73 20 63 ..........properties......This.c
41da0 6f 6e 76 65 6e 69 65 6e 63 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 62 65 20 75 73 65 64 20 onvenience.function.can.be.used.
41dc0 74 6f 20 67 65 74 20 61 20 73 70 65 63 69 66 69 63 20 64 69 73 70 6c 61 79 0a 20 20 20 20 20 70 to.get.a.specific.display......p
41de0 72 6f 70 65 72 74 79 2c 20 6e 6f 20 6d 61 74 74 65 72 20 77 68 65 74 68 65 72 20 74 68 65 20 e2 roperty,.no.matter.whether.the..
41e00 80 98 64 69 73 70 6c 61 79 e2 80 99 20 70 72 6f 70 65 72 74 79 20 69 73 20 61 20 76 65 63 74 6f ..display....property.is.a.vecto
41e20 72 2c 20 61 0a 20 20 20 20 20 6c 69 73 74 20 6f 72 20 61 20 73 69 6d 70 6c 65 20 70 72 6f 70 65 r,.a......list.or.a.simple.prope
41e40 72 74 79 2e 20 20 54 68 69 73 20 69 73 20 6c 69 6b 65 20 e2 80 98 67 65 74 2d 74 65 78 74 2d 70 rty...This.is.like....get-text-p
41e60 72 6f 70 65 72 74 79 e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 45 78 61 6d 69 6e 69 6e 67 roperty....(*note......Examining
41e80 20 50 72 6f 70 65 72 74 69 65 73 3a 20 28 65 6c 69 73 70 29 45 78 61 6d 69 6e 69 6e 67 20 50 72 .Properties:.(elisp)Examining.Pr
41ea0 6f 70 65 72 74 69 65 73 2e 29 2c 20 62 75 74 20 77 6f 72 6b 73 20 6f 6e 0a 20 20 20 20 20 74 68 operties.),.but.works.on......th
41ec0 65 20 e2 80 98 64 69 73 70 6c 61 79 e2 80 99 20 70 72 6f 70 65 72 74 79 20 6f 6e 6c 79 2e 0a 0a e....display....property.only...
41ee0 20 20 20 20 20 50 4f 53 49 54 49 4f 4e 20 69 73 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 69 6e .....POSITION.is.the.position.in
41f00 20 74 68 65 20 62 75 66 66 65 72 20 6f 72 20 73 74 72 69 6e 67 20 74 6f 20 65 78 61 6d 69 6e 65 .the.buffer.or.string.to.examine
41f20 2c 20 61 6e 64 0a 20 20 20 20 20 50 52 4f 50 20 69 73 20 74 68 65 20 e2 80 98 64 69 73 70 6c 61 ,.and......PROP.is.the....displa
41f40 79 e2 80 99 20 70 72 6f 70 65 72 74 79 20 74 6f 20 72 65 74 75 72 6e 2e 20 20 54 68 65 20 6f 70 y....property.to.return...The.op
41f60 74 69 6f 6e 61 6c 20 4f 42 4a 45 43 54 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 20 73 68 6f 75 tional.OBJECT......argument.shou
41f80 6c 64 20 62 65 20 65 69 74 68 65 72 20 61 20 73 74 72 69 6e 67 20 6f 72 20 61 20 62 75 66 66 65 ld.be.either.a.string.or.a.buffe
41fa0 72 2c 20 61 6e 64 20 64 65 66 61 75 6c 74 73 20 74 6f 20 74 68 65 0a 20 20 20 20 20 63 75 72 72 r,.and.defaults.to.the......curr
41fc0 65 6e 74 20 62 75 66 66 65 72 2e 20 20 49 66 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 50 52 4f ent.buffer...If.the.optional.PRO
41fe0 50 45 52 54 49 45 53 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 PERTIES.argument.is.non-...nil..
42000 99 2c 0a 20 20 20 20 20 69 74 20 73 68 6f 75 6c 64 20 62 65 20 61 20 e2 80 98 64 69 73 70 6c 61 .,......it.should.be.a....displa
42020 79 e2 80 99 20 70 72 6f 70 65 72 74 79 2c 20 61 6e 64 20 69 6e 20 74 68 61 74 20 63 61 73 65 2c y....property,.and.in.that.case,
42040 20 50 4f 53 49 54 49 4f 4e 20 61 6e 64 0a 20 20 20 20 20 4f 42 4a 45 43 54 20 61 72 65 20 69 67 .POSITION.and......OBJECT.are.ig
42060 6e 6f 72 65 64 2e 20 20 28 54 68 69 73 20 63 61 6e 20 62 65 20 75 73 65 66 75 6c 20 69 66 20 79 nored...(This.can.be.useful.if.y
42080 6f 75 e2 80 99 76 65 20 61 6c 72 65 61 64 79 20 67 6f 74 74 65 6e 0a 20 20 20 20 20 74 68 65 20 ou...ve.already.gotten......the.
420a0 e2 80 98 64 69 73 70 6c 61 79 e2 80 99 20 70 72 6f 70 65 72 74 79 20 77 69 74 68 20 e2 80 98 67 ...display....property.with....g
420c0 65 74 2d 63 68 61 72 2d 70 72 6f 70 65 72 74 79 e2 80 99 2c 20 66 6f 72 20 69 6e 73 74 61 6e 63 et-char-property...,.for.instanc
420e0 65 0a 20 20 20 20 20 28 2a 6e 6f 74 65 20 45 78 61 6d 69 6e 69 6e 67 20 50 72 6f 70 65 72 74 69 e......(*note.Examining.Properti
42100 65 73 3a 20 28 65 6c 69 73 70 29 45 78 61 6d 69 6e 69 6e 67 20 50 72 6f 70 65 72 74 69 65 73 2e es:.(elisp)Examining.Properties.
42120 29 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 61 64 64 2d 64 69 73 70 6c 61 79 2d 74 65 )....--.Function:.add-display-te
42140 78 74 2d 70 72 6f 70 65 72 74 79 20 73 74 61 72 74 20 65 6e 64 20 70 72 6f 70 20 76 61 6c 75 65 xt-property.start.end.prop.value
42160 20 26 6f 70 74 69 6f 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 20 6f 62 6a 65 63 74 0a 20 20 20 20 .&optional...........object.....
42180 20 41 64 64 20 64 69 73 70 6c 61 79 20 70 72 6f 70 65 72 74 79 20 50 52 4f 50 20 77 69 74 68 20 .Add.display.property.PROP.with.
421a0 56 41 4c 55 45 20 74 6f 20 74 68 65 20 74 65 78 74 20 66 72 6f 6d 20 53 54 41 52 54 20 74 6f 20 VALUE.to.the.text.from.START.to.
421c0 45 4e 44 2e 0a 20 20 20 20 20 49 66 20 61 6e 79 20 74 65 78 74 20 69 6e 20 74 68 65 20 72 65 67 END.......If.any.text.in.the.reg
421e0 69 6f 6e 20 68 61 73 20 61 20 6e 6f 6e 2d 6e 69 6c 20 e2 80 98 64 69 73 70 6c 61 79 e2 80 99 20 ion.has.a.non-nil....display....
42200 70 72 6f 70 65 72 74 79 2c 20 74 68 6f 73 65 0a 20 20 20 20 20 70 72 6f 70 65 72 74 69 65 73 20 property,.those......properties.
42220 61 72 65 20 72 65 74 61 69 6e 65 64 2e 0a 0a 20 20 20 20 20 49 66 20 4f 42 4a 45 43 54 20 69 73 are.retained........If.OBJECT.is
42240 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 69 74 20 73 68 6f 75 6c 64 20 62 65 20 61 20 73 .non-...nil...,.it.should.be.a.s
42260 74 72 69 6e 67 20 6f 72 20 61 20 62 75 66 66 65 72 2e 20 20 49 66 0a 20 20 20 20 20 e2 80 98 6e tring.or.a.buffer...If.........n
42280 69 6c e2 80 99 2c 20 74 68 69 73 20 64 65 66 61 75 6c 74 73 20 74 6f 20 74 68 65 20 63 75 72 72 il...,.this.defaults.to.the.curr
422a0 65 6e 74 20 62 75 66 66 65 72 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 74 61 6b 65 20 ent.buffer....--.Function:.take.
422c0 6e 20 6c 69 73 74 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e n.list......This.function.return
422e0 73 20 74 68 65 20 4e 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 49 53 54 2e 20 s.the.N.first.elements.of.LIST..
42300 20 45 73 73 65 6e 74 69 61 6c 6c 79 2c 0a 20 20 20 20 20 69 74 20 72 65 74 75 72 6e 73 20 74 68 .Essentially,......it.returns.th
42320 65 20 70 61 72 74 20 6f 66 20 4c 49 53 54 20 74 68 61 74 20 e2 80 98 6e 74 68 63 64 72 e2 80 99 e.part.of.LIST.that....nthcdr...
42340 20 73 6b 69 70 73 2e 0a 0a 20 20 20 20 20 e2 80 98 74 61 6b 65 e2 80 99 20 72 65 74 75 72 6e 73 .skips...........take....returns
42360 20 4c 49 53 54 20 69 66 20 73 68 6f 72 74 65 72 20 74 68 61 6e 20 4e 20 65 6c 65 6d 65 6e 74 73 .LIST.if.shorter.than.N.elements
42380 3b 20 69 74 20 72 65 74 75 72 6e 73 20 e2 80 98 6e 69 6c e2 80 99 20 69 66 0a 20 20 20 20 20 4e ;.it.returns....nil....if......N
423a0 20 69 73 20 7a 65 72 6f 20 6f 72 20 6e 65 67 61 74 69 76 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 .is.zero.or.negative............
423c0 20 28 74 61 6b 65 20 33 20 27 28 61 20 62 20 63 20 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 .(take.3.'(a.b.c.d))............
423e0 20 20 20 20 e2 87 92 20 28 61 20 62 20 63 29 0a 20 20 20 20 20 20 20 20 20 20 28 74 61 6b 65 20 ........(a.b.c)...........(take.
42400 31 30 20 27 28 61 20 62 20 63 20 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 10.'(a.b.c.d))..................
42420 92 20 28 61 20 62 20 63 20 64 29 0a 20 20 20 20 20 20 20 20 20 20 28 74 61 6b 65 20 30 20 27 28 ..(a.b.c.d)...........(take.0.'(
42440 61 20 62 20 63 20 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c a.b.c.d))....................nil
42460 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6e 74 61 6b 65 20 6e 20 6c 69 73 74 0a 20 20 20 ...--.Function:.ntake.n.list....
42480 20 20 54 68 69 73 20 69 73 20 61 20 76 65 72 73 69 6f 6e 20 6f 66 20 e2 80 98 74 61 6b 65 e2 80 ..This.is.a.version.of....take..
424a0 99 20 74 68 61 74 20 77 6f 72 6b 73 20 62 79 20 64 65 73 74 72 75 63 74 69 76 65 6c 79 20 6d 6f ..that.works.by.destructively.mo
424c0 64 69 66 79 69 6e 67 0a 20 20 20 20 20 74 68 65 20 6c 69 73 74 20 73 74 72 75 63 74 75 72 65 20 difying......the.list.structure.
424e0 6f 66 20 74 68 65 20 61 72 67 75 6d 65 6e 74 2e 20 20 54 68 61 74 20 6d 61 6b 65 73 20 69 74 20 of.the.argument...That.makes.it.
42500 66 61 73 74 65 72 2c 20 62 75 74 20 74 68 65 0a 20 20 20 20 20 6f 72 69 67 69 6e 61 6c 20 76 61 faster,.but.the......original.va
42520 6c 75 65 20 6f 66 20 4c 49 53 54 20 6d 61 79 20 62 65 20 6c 6f 73 74 2e 0a 0a 20 20 20 20 20 e2 lue.of.LIST.may.be.lost.........
42540 80 98 6e 74 61 6b 65 e2 80 99 20 72 65 74 75 72 6e 73 20 4c 49 53 54 20 75 6e 6d 6f 64 69 66 69 ..ntake....returns.LIST.unmodifi
42560 65 64 20 69 66 20 73 68 6f 72 74 65 72 20 74 68 61 6e 20 4e 20 65 6c 65 6d 65 6e 74 73 3b 20 69 ed.if.shorter.than.N.elements;.i
42580 74 0a 20 20 20 20 20 72 65 74 75 72 6e 73 20 e2 80 98 6e 69 6c e2 80 99 20 69 66 20 4e 20 69 73 t......returns....nil....if.N.is
425a0 20 7a 65 72 6f 20 6f 72 20 6e 65 67 61 74 69 76 65 2e 20 20 4f 74 68 65 72 77 69 73 65 2c 20 69 .zero.or.negative...Otherwise,.i
425c0 74 20 72 65 74 75 72 6e 73 20 4c 49 53 54 0a 20 20 20 20 20 74 72 75 6e 63 61 74 65 64 20 74 6f t.returns.LIST......truncated.to
425e0 20 69 74 73 20 66 69 72 73 74 20 4e 20 65 6c 65 6d 65 6e 74 73 2e 0a 0a 20 20 20 20 20 54 68 69 .its.first.N.elements........Thi
42600 73 20 6d 65 61 6e 73 20 74 68 61 74 20 69 74 20 69 73 20 75 73 75 61 6c 6c 79 20 61 20 67 6f 6f s.means.that.it.is.usually.a.goo
42620 64 20 69 64 65 61 20 74 6f 20 75 73 65 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 0a 20 d.idea.to.use.the.return.value..
42640 20 20 20 20 61 6e 64 20 6e 6f 74 20 6a 75 73 74 20 72 65 6c 79 20 6f 6e 20 74 68 65 20 74 72 75 ....and.not.just.rely.on.the.tru
42660 6e 63 61 74 69 6f 6e 20 65 66 66 65 63 74 20 75 6e 6c 65 73 73 20 4e 20 69 73 20 6b 6e 6f 77 6e ncation.effect.unless.N.is.known
42680 20 74 6f 20 62 65 0a 20 20 20 20 20 70 6f 73 69 74 69 76 65 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 .to.be......positive....--.Funct
426a0 69 6f 6e 3a 20 63 6f 6d 70 69 6c 65 64 2d 66 75 6e 63 74 69 6f 6e 2d 70 20 6f 62 6a 65 63 74 0a ion:.compiled-function-p.object.
426c0 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 e2 80 98 74 e2 .....This.function.returns....t.
426e0 80 99 20 69 66 20 4f 42 4a 45 43 54 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 62 6a 65 63 ...if.OBJECT.is.a.function.objec
42700 74 20 74 68 61 74 20 69 73 0a 20 20 20 20 20 6e 6f 74 20 69 6e 20 74 68 65 20 66 6f 72 6d 20 6f t.that.is......not.in.the.form.o
42720 66 20 45 4c 69 73 70 20 73 6f 75 72 63 65 20 63 6f 64 65 20 62 75 74 20 73 6f 6d 65 74 68 69 6e f.ELisp.source.code.but.somethin
42740 67 20 6c 69 6b 65 20 6d 61 63 68 69 6e 65 0a 20 20 20 20 20 63 6f 64 65 20 6f 72 20 62 79 74 65 g.like.machine......code.or.byte
42760 20 63 6f 64 65 20 69 6e 73 74 65 61 64 2e 20 20 4d 6f 72 65 20 73 70 65 63 69 66 69 63 61 6c 6c .code.instead...More.specificall
42780 79 20 69 74 20 72 65 74 75 72 6e 73 20 e2 80 98 74 e2 80 99 20 69 66 20 74 68 65 0a 20 20 20 20 y.it.returns....t....if.the.....
427a0 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 62 75 69 6c 74 2d 69 6e 2c 20 6f 72 20 62 79 74 65 2d 63 .function.is.built-in,.or.byte-c
427c0 6f 6d 70 69 6c 65 64 2c 20 6f 72 20 6e 61 74 69 76 65 6c 79 2d 63 6f 6d 70 69 6c 65 64 2c 20 6f ompiled,.or.natively-compiled,.o
427e0 72 20 61 0a 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 6c 6f 61 64 65 64 20 66 72 6f 6d 20 61 20 r.a......function.loaded.from.a.
42800 64 79 6e 61 6d 69 63 20 6d 6f 64 75 6c 65 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 66 dynamic.module....--.Function:.f
42820 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 2d 70 20 6f 62 6a 65 63 74 20 26 6f 70 74 69 6f 6e 61 6c unction-alias-p.object.&optional
42840 20 6e 6f 65 72 72 6f 72 0a 20 20 20 20 20 43 68 65 63 6b 73 20 77 68 65 74 68 65 72 20 4f 42 4a .noerror......Checks.whether.OBJ
42860 45 43 54 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 61 6c 69 61 73 2e 20 20 49 66 20 69 74 20 ECT.is.a.function.alias...If.it.
42880 69 73 2c 20 69 74 20 72 65 74 75 72 6e 73 20 61 0a 20 20 20 20 20 6c 69 73 74 20 6f 66 20 73 79 is,.it.returns.a......list.of.sy
428a0 6d 62 6f 6c 73 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 mbols.representing.the.function.
428c0 61 6c 69 61 73 20 63 68 61 69 6e 2c 20 65 6c 73 65 20 e2 80 98 6e 69 6c e2 80 99 2e 0a 20 20 20 alias.chain,.else....nil........
428e0 20 20 46 6f 72 20 69 6e 73 74 61 6e 63 65 2c 20 69 66 20 e2 80 98 61 e2 80 99 20 69 73 20 61 6e ..For.instance,.if....a....is.an
42900 20 61 6c 69 61 73 20 66 6f 72 20 e2 80 98 62 e2 80 99 2c 20 61 6e 64 20 e2 80 98 62 e2 80 99 20 .alias.for....b...,.and....b....
42920 69 73 20 61 6e 20 61 6c 69 61 73 20 66 6f 72 0a 20 20 20 20 20 e2 80 98 63 e2 80 99 3a 0a 0a 20 is.an.alias.for.........c...:...
42940 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 2d 70 20 27 61 29 0a 20 .........(function-alias-p.'a)..
42960 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 62 20 63 29 0a 0a 20 20 20 20 20 49 66 20 .................(b.c).......If.
42980 74 68 65 72 65 e2 80 99 73 20 61 20 6c 6f 6f 70 20 69 6e 20 74 68 65 20 64 65 66 69 6e 69 74 69 there...s.a.loop.in.the.definiti
429a0 6f 6e 73 2c 20 61 6e 20 65 72 72 6f 72 20 77 69 6c 6c 20 62 65 20 73 69 67 6e 61 6c 6c 65 64 2e ons,.an.error.will.be.signalled.
429c0 0a 20 20 20 20 20 49 66 20 4e 4f 45 52 52 4f 52 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 ......If.NOERROR.is.non-...nil..
429e0 99 2c 20 74 68 65 20 6e 6f 6e 2d 6c 6f 6f 70 69 6e 67 20 70 61 72 74 73 20 6f 66 20 74 68 65 20 .,.the.non-looping.parts.of.the.
42a00 63 68 61 69 6e 20 69 73 0a 20 20 20 20 20 72 65 74 75 72 6e 65 64 20 69 6e 73 74 65 61 64 2e 0a chain.is......returned.instead..
42a20 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 73 74 72 69 6e 67 2d 65 71 75 61 6c 2d 69 67 6e 6f ..--.Function:.string-equal-igno
42a40 72 65 2d 63 61 73 65 20 73 74 72 69 6e 67 31 20 73 74 72 69 6e 67 32 0a 20 20 20 20 20 e2 80 98 re-case.string1.string2.........
42a60 73 74 72 69 6e 67 2d 65 71 75 61 6c 2d 69 67 6e 6f 72 65 2d 63 61 73 65 e2 80 99 20 63 6f 6d 70 string-equal-ignore-case....comp
42a80 61 72 65 73 20 73 74 72 69 6e 67 73 20 69 67 6e 6f 72 69 6e 67 20 63 61 73 65 0a 20 20 20 20 20 ares.strings.ignoring.case......
42aa0 64 69 66 66 65 72 65 6e 63 65 73 2c 20 6c 69 6b 65 20 e2 80 98 63 68 61 72 2d 65 71 75 61 6c e2 differences,.like....char-equal.
42ac0 80 99 20 77 68 65 6e 20 e2 80 98 63 61 73 65 2d 66 6f 6c 64 2d 73 65 61 72 63 68 e2 80 99 20 69 ...when....case-fold-search....i
42ae0 73 20 e2 80 98 74 e2 80 99 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 54 65 s....t...........*Note.(elisp)Te
42b00 78 74 20 43 6f 6d 70 61 72 69 73 6f 6e 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 xt.Comparison::....--.Function:.
42b20 73 74 72 69 6e 67 2d 73 70 6c 69 74 20 73 74 72 69 6e 67 20 26 6f 70 74 69 6f 6e 61 6c 20 73 65 string-split.string.&optional.se
42b40 70 61 72 61 74 6f 72 73 20 6f 6d 69 74 2d 6e 75 6c 6c 73 20 74 72 69 6d 0a 20 20 20 20 20 e2 80 parators.omit-nulls.trim........
42b60 98 73 74 72 69 6e 67 2d 73 70 6c 69 74 e2 80 99 20 69 73 20 61 6e 20 61 6c 69 61 73 20 66 6f 72 .string-split....is.an.alias.for
42b80 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 73 70 6c 69 74 2d 73 74 72 69 6e 67 e2 80 99 .the.function....split-string...
42ba0 2e 20 20 54 68 65 0a 20 20 20 20 20 6e 61 6d 65 20 66 6f 6c 6c 6f 77 73 20 74 68 65 20 63 6f 6e ...The......name.follows.the.con
42bc0 76 65 6e 74 69 6f 6e 20 6f 66 20 6f 74 68 65 72 20 73 74 72 69 6e 67 20 66 75 6e 63 74 69 6f 6e vention.of.other.string.function
42be0 73 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 43 72 65 61 74 69 6e 67 20 53 s........*Note.(elisp)Creating.S
42c00 74 72 69 6e 67 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 62 75 66 66 65 72 2d trings::....--.Function:.buffer-
42c20 6d 61 74 63 68 2d 70 20 63 6f 6e 64 69 74 69 6f 6e 20 62 75 66 66 65 72 2d 6f 72 2d 6e 61 6d 65 match-p.condition.buffer-or-name
42c40 20 26 6f 70 74 69 6f 6e 61 6c 20 61 72 67 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f .&optional.arg......This.functio
42c60 6e 20 63 68 65 63 6b 73 20 69 66 20 61 20 62 75 66 66 65 72 20 64 65 73 69 67 6e 61 74 65 64 20 n.checks.if.a.buffer.designated.
42c80 62 79 20 e2 80 98 62 75 66 66 65 72 2d 6f 72 2d 6e 61 6d 65 e2 80 99 0a 20 20 20 20 20 73 61 74 by....buffer-or-name.........sat
42ca0 69 73 66 69 65 73 20 61 20 e2 80 98 63 6f 6e 64 69 74 69 6f 6e e2 80 99 2e 20 20 4f 70 74 69 6f isfies.a....condition......Optio
42cc0 6e 61 6c 20 74 68 69 72 64 20 61 72 67 75 6d 65 6e 74 20 41 52 47 20 69 73 20 70 61 73 73 65 64 nal.third.argument.ARG.is.passed
42ce0 20 74 6f 0a 20 20 20 20 20 74 68 65 20 70 72 65 64 69 63 61 74 65 20 66 75 6e 63 74 69 6f 6e 20 .to......the.predicate.function.
42d00 69 6e 20 43 4f 4e 44 49 54 49 4f 4e 2e 20 20 41 20 63 6f 6e 64 69 74 69 6f 6e 20 63 61 6e 20 62 in.CONDITION...A.condition.can.b
42d20 65 20 6f 6e 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 66 6f 6c 6c 6f 77 69 6e 67 3a 0a 20 20 20 e.one.of.the......following:....
42d40 20 20 20 20 20 e2 80 a2 20 41 20 73 74 72 69 6e 67 2c 20 69 6e 74 65 72 70 72 65 74 65 64 20 61 .........A.string,.interpreted.a
42d60 73 20 61 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 2e 20 20 54 68 65 20 62 75 66 s.a.regular.expression...The.buf
42d80 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 73 61 74 69 73 66 69 65 73 20 74 68 65 20 63 6f 6e 64 fer...........satisfies.the.cond
42da0 69 74 69 6f 6e 20 69 66 20 74 68 65 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 20 ition.if.the.regular.expression.
42dc0 6d 61 74 63 68 65 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 20 6e 61 6d matches.the...........buffer.nam
42de0 65 2e 0a 20 20 20 20 20 20 20 20 e2 80 a2 20 41 20 70 72 65 64 69 63 61 74 65 20 66 75 6e 63 74 e..............A.predicate.funct
42e00 69 6f 6e 2c 20 77 68 69 63 68 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 6e 6f 6e 2d e2 80 98 ion,.which.should.return.non-...
42e20 6e 69 6c e2 80 99 20 69 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 62 75 66 66 65 72 20 6d nil....if.the...........buffer.m
42e40 61 74 63 68 65 73 2e 20 20 49 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 65 78 70 65 63 74 73 atches...If.the.function.expects
42e60 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 2c 20 69 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 63 .one.argument,.it.is...........c
42e80 61 6c 6c 65 64 20 77 69 74 68 20 42 55 46 46 45 52 2d 4f 52 2d 4e 41 4d 45 20 61 73 20 74 68 65 alled.with.BUFFER-OR-NAME.as.the
42ea0 20 61 72 67 75 6d 65 6e 74 3b 20 69 66 20 69 74 20 65 78 70 65 63 74 73 20 32 0a 20 20 20 20 20 .argument;.if.it.expects.2......
42ec0 20 20 20 20 20 61 72 67 75 6d 65 6e 74 73 2c 20 74 68 65 20 66 69 72 73 74 20 61 72 67 75 6d 65 .....arguments,.the.first.argume
42ee0 6e 74 20 69 73 20 42 55 46 46 45 52 2d 4f 52 2d 4e 41 4d 45 20 61 6e 64 20 74 68 65 20 73 65 63 nt.is.BUFFER-OR-NAME.and.the.sec
42f00 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 69 73 20 41 52 47 20 28 6f 72 20 e2 80 98 6e 69 6c e2 ond...........is.ARG.(or....nil.
42f20 80 99 20 69 66 20 41 52 47 20 69 73 20 6f 6d 69 74 74 65 64 29 2e 0a 20 20 20 20 20 20 20 20 e2 ...if.ARG.is.omitted)...........
42f40 80 a2 20 41 20 63 6f 6e 73 2d 63 65 6c 6c 20 e2 80 98 28 4f 50 45 52 20 2e 20 45 58 50 52 29 e2 ...A.cons-cell....(OPER...EXPR).
42f60 80 99 20 77 68 65 72 65 20 4f 50 45 52 20 69 73 20 6f 6e 65 20 6f 66 0a 20 20 20 20 20 20 20 20 ...where.OPER.is.one.of.........
42f80 20 20 e2 80 98 6e 6f 74 e2 80 99 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 61 74 69 73 .....not...................Satis
42fa0 66 69 65 64 20 69 66 20 45 58 50 52 20 64 6f 65 73 6e e2 80 99 74 20 73 61 74 69 73 66 79 20 e2 fied.if.EXPR.doesn...t.satisfy..
42fc0 80 98 62 75 66 66 65 72 2d 6d 61 74 63 68 2d 70 e2 80 99 20 77 69 74 68 0a 20 20 20 20 20 20 20 ..buffer-match-p....with........
42fe0 20 20 20 20 20 20 20 20 74 68 65 20 73 61 6d 65 20 62 75 66 66 65 72 20 61 6e 64 20 e2 80 98 61 ........the.same.buffer.and....a
43000 72 67 e2 80 99 2e 0a 20 20 20 20 20 20 20 20 20 20 e2 80 98 6f 72 e2 80 99 0a 20 20 20 20 20 20 rg..................or..........
43020 20 20 20 20 20 20 20 20 20 53 61 74 69 73 66 69 65 64 20 69 66 20 45 58 50 52 20 69 73 20 61 20 .........Satisfied.if.EXPR.is.a.
43040 6c 69 73 74 20 61 6e 64 20 5f 61 6e 79 5f 20 63 6f 6e 64 69 74 69 6f 6e 20 69 6e 20 45 58 50 52 list.and._any_.condition.in.EXPR
43060 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 61 74 69 73 66 69 65 73 20 e2 80 98 62 75 66 ................satisfies....buf
43080 66 65 72 2d 6d 61 74 63 68 2d 70 e2 80 99 2c 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 62 75 fer-match-p...,.with.the.same.bu
430a0 66 66 65 72 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 98 61 72 67 e2 80 ffer.and...................arg..
430c0 99 2e 0a 20 20 20 20 20 20 20 20 20 20 e2 80 98 61 6e 64 e2 80 99 0a 20 20 20 20 20 20 20 20 20 ................and.............
430e0 20 20 20 20 20 20 53 61 74 69 73 66 69 65 64 20 69 66 20 45 58 50 52 20 69 73 20 61 20 6c 69 73 ......Satisfied.if.EXPR.is.a.lis
43100 74 20 61 6e 64 20 5f 61 6c 6c 5f 20 63 6f 6e 64 69 74 69 6f 6e 73 20 69 6e 20 45 58 50 52 0a 20 t.and._all_.conditions.in.EXPR..
43120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 61 74 69 73 66 79 20 e2 80 98 62 75 66 66 65 72 2d ..............satisfy....buffer-
43140 6d 61 74 63 68 2d 70 e2 80 99 2c 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 62 75 66 66 65 72 match-p...,.with.the.same.buffer
43160 20 61 6e 64 20 e2 80 98 61 72 67 e2 80 99 2e 0a 20 20 20 20 20 20 20 20 20 20 e2 80 98 64 65 72 .and....arg..................der
43180 69 76 65 64 2d 6d 6f 64 65 e2 80 99 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 53 61 74 69 ived-mode...................Sati
431a0 73 66 69 65 64 20 69 66 20 74 68 65 20 62 75 66 66 65 72 e2 80 99 73 20 6d 61 6a 6f 72 20 6d 6f sfied.if.the.buffer...s.major.mo
431c0 64 65 20 64 65 72 69 76 65 73 20 66 72 6f 6d 20 45 58 50 52 2e 0a 20 20 20 20 20 20 20 20 20 20 de.derives.from.EXPR............
431e0 e2 80 98 6d 61 6a 6f 72 2d 6d 6f 64 65 e2 80 99 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...major-mode...................
43200 53 61 74 69 73 66 69 65 64 20 69 66 20 74 68 65 20 62 75 66 66 65 72 e2 80 99 73 20 6d 61 6a 6f Satisfied.if.the.buffer...s.majo
43220 72 20 6d 6f 64 65 20 69 73 20 65 71 75 61 6c 20 74 6f 20 45 58 50 52 2e 0a 20 20 20 20 20 20 20 r.mode.is.equal.to.EXPR.........
43240 20 20 20 20 20 20 20 20 50 72 65 66 65 72 20 75 73 69 6e 67 20 e2 80 98 64 65 72 69 76 65 64 2d ........Prefer.using....derived-
43260 6d 6f 64 65 e2 80 99 20 69 6e 73 74 65 61 64 20 77 68 65 6e 20 62 6f 74 68 20 63 61 6e 20 77 6f mode....instead.when.both.can.wo
43280 72 6b 2e 0a 20 20 20 20 20 20 20 20 e2 80 a2 20 74 20 53 61 74 69 73 66 69 65 64 20 62 79 20 61 rk..............t.Satisfied.by.a
432a0 6e 79 20 62 75 66 66 65 72 2e 20 20 41 20 63 6f 6e 76 65 6e 69 65 6e 74 20 61 6c 74 65 72 6e 61 ny.buffer...A.convenient.alterna
432c0 74 69 76 65 20 74 6f 20 e2 80 98 22 22 e2 80 99 0a 20 20 20 20 20 20 20 20 20 20 28 65 6d 70 74 tive.to....""..............(empt
432e0 79 20 73 74 72 69 6e 67 29 2c 20 e2 80 98 28 61 6e 64 29 e2 80 99 20 28 65 6d 70 74 79 20 63 6f y.string),....(and)....(empty.co
43300 6e 6a 75 6e 63 74 69 6f 6e 29 20 6f 72 20 e2 80 98 61 6c 77 61 79 73 e2 80 99 2e 0a 0a 20 20 20 njunction).or....always.........
43320 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 42 75 66 66 65 72 20 4c 69 73 74 3a 3a 2e 0a 0a 20 ..*Note.(elisp)Buffer.List::....
43340 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6d 61 74 63 68 2d 62 75 66 66 65 72 73 20 63 6f 6e 64 69 --.Function:.match-buffers.condi
43360 74 69 6f 6e 20 26 6f 70 74 69 6f 6e 61 6c 20 62 75 66 66 65 72 73 20 61 72 67 0a 20 20 20 20 20 tion.&optional.buffers.arg......
43380 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 This.function.returns.a.list.of.
433a0 61 6c 6c 20 62 75 66 66 65 72 73 20 74 68 61 74 20 73 61 74 69 73 66 79 20 61 0a 20 20 20 20 20 all.buffers.that.satisfy.a......
433c0 e2 80 98 63 6f 6e 64 69 74 69 6f 6e e2 80 99 2c 20 61 73 20 64 65 66 69 6e 65 64 20 66 6f 72 20 ...condition...,.as.defined.for.
433e0 e2 80 98 62 75 66 66 65 72 2d 6d 61 74 63 68 2d 70 e2 80 99 2e 20 20 42 79 20 64 65 66 61 75 6c ...buffer-match-p......By.defaul
43400 74 20 61 6c 6c 0a 20 20 20 20 20 62 75 66 66 65 72 73 20 61 72 65 20 63 6f 6e 73 69 64 65 72 65 t.all......buffers.are.considere
43420 64 2c 20 62 75 74 20 74 68 69 73 20 63 61 6e 20 62 65 20 72 65 73 74 72 69 63 74 65 64 20 76 69 d,.but.this.can.be.restricted.vi
43440 61 20 74 68 65 20 73 65 63 6f 6e 64 0a 20 20 20 20 20 6f 70 74 69 6f 6e 61 6c 20 e2 80 98 62 75 a.the.second......optional....bu
43460 66 66 65 72 2d 6c 69 73 74 e2 80 99 20 61 72 67 75 6d 65 6e 74 2e 20 20 4f 70 74 69 6f 6e 61 6c ffer-list....argument...Optional
43480 20 74 68 69 72 64 20 61 72 67 75 6d 65 6e 74 20 41 52 47 20 77 69 6c 6c 0a 20 20 20 20 20 62 65 .third.argument.ARG.will......be
434a0 20 75 73 65 64 20 62 79 20 43 4f 4e 44 49 54 49 4f 4e 20 69 6e 20 74 68 65 20 73 61 6d 65 20 77 .used.by.CONDITION.in.the.same.w
434c0 61 79 20 61 73 20 e2 80 98 62 75 66 66 65 72 2d 6d 61 74 63 68 2d 70 e2 80 99 20 64 6f 65 73 2e ay.as....buffer-match-p....does.
434e0 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 42 75 66 66 65 72 20 4c 69 73 74 3a .......*Note.(elisp)Buffer.List:
43500 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 73 74 72 69 6e 67 2d 67 6c 79 70 68 2d 73 :....--.Function:.string-glyph-s
43520 70 6c 69 74 20 73 74 72 69 6e 67 0a 20 20 20 20 20 57 68 65 6e 20 63 68 61 72 61 63 74 65 72 20 plit.string......When.character.
43540 63 6f 6d 70 6f 73 69 74 69 6f 6e 73 20 61 72 65 20 69 6e 20 65 66 66 65 63 74 2c 20 73 65 71 75 compositions.are.in.effect,.sequ
43560 65 6e 63 65 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 0a 20 20 20 20 20 63 61 6e 20 62 65 20 63 ence.of.characters......can.be.c
43580 6f 6d 70 6f 73 65 64 20 66 6f 72 20 64 69 73 70 6c 61 79 20 74 6f 20 66 6f 72 6d 20 5f 67 72 61 omposed.for.display.to.form._gra
435a0 70 68 65 6d 65 20 63 6c 75 73 74 65 72 73 5f 2c 20 66 6f 72 0a 20 20 20 20 20 65 78 61 6d 70 6c pheme.clusters_,.for......exampl
435c0 65 20 74 6f 20 64 69 73 70 6c 61 79 20 61 63 63 65 6e 74 65 64 20 63 68 61 72 61 63 74 65 72 73 e.to.display.accented.characters
435e0 2c 20 6f 72 20 6c 69 67 61 74 75 72 65 73 2c 20 6f 72 20 45 6d 6f 6a 69 2c 20 6f 72 0a 20 20 20 ,.or.ligatures,.or.Emoji,.or....
43600 20 20 77 68 65 6e 20 63 6f 6d 70 6c 65 78 20 74 65 78 74 20 73 68 61 70 69 6e 67 20 72 65 71 75 ..when.complex.text.shaping.requ
43620 69 72 65 73 20 74 68 61 74 20 66 6f 72 20 73 6f 6d 65 20 73 63 72 69 70 74 73 2e 20 20 57 68 65 ires.that.for.some.scripts...Whe
43640 6e 0a 20 20 20 20 20 74 68 61 74 20 68 61 70 70 65 6e 73 2c 20 63 68 61 72 61 63 74 65 72 73 20 n......that.happens,.characters.
43660 6e 6f 20 6c 6f 6e 67 65 72 20 6d 61 70 20 69 6e 20 61 20 73 69 6d 70 6c 65 20 77 61 79 20 74 6f no.longer.map.in.a.simple.way.to
43680 20 64 69 73 70 6c 61 79 0a 20 20 20 20 20 63 6f 6c 75 6d 6e 73 2c 20 61 6e 64 20 64 69 73 70 6c .display......columns,.and.displ
436a0 61 79 20 6c 61 79 6f 75 74 20 64 65 63 69 73 69 6f 6e 73 20 77 69 74 68 20 73 75 63 68 20 73 74 ay.layout.decisions.with.such.st
436c0 72 69 6e 67 73 2c 20 73 75 63 68 20 61 73 0a 20 20 20 20 20 74 72 75 6e 63 61 74 69 6e 67 20 74 rings,.such.as......truncating.t
436e0 6f 6f 20 77 69 64 65 20 73 74 72 69 6e 67 73 2c 20 63 61 6e 20 62 65 20 61 20 63 6f 6d 70 6c 65 oo.wide.strings,.can.be.a.comple
43700 78 20 6a 6f 62 2e 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 68 65 6c 70 73 x.job...This.function......helps
43720 20 69 6e 20 70 65 72 66 6f 72 6d 69 6e 67 20 73 75 63 68 20 6a 6f 62 73 3a 20 69 74 20 73 70 6c .in.performing.such.jobs:.it.spl
43740 69 74 73 20 75 70 20 69 74 73 20 61 72 67 75 6d 65 6e 74 20 53 54 52 49 4e 47 0a 20 20 20 20 20 its.up.its.argument.STRING......
43760 69 6e 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 73 75 62 73 74 72 69 6e 67 73 2c 20 77 68 65 72 65 into.a.list.of.substrings,.where
43780 20 65 61 63 68 20 73 75 62 73 74 72 69 6e 67 20 70 72 6f 64 75 63 65 73 20 61 20 73 69 6e 67 6c .each.substring.produces.a.singl
437a0 65 0a 20 20 20 20 20 67 72 61 70 68 65 6d 65 20 63 6c 75 73 74 65 72 20 74 68 61 74 20 73 68 6f e......grapheme.cluster.that.sho
437c0 75 6c 64 20 62 65 20 64 69 73 70 6c 61 79 65 64 20 61 73 20 61 20 75 6e 69 74 2e 20 20 4c 69 73 uld.be.displayed.as.a.unit...Lis
437e0 70 20 70 72 6f 67 72 61 6d 73 0a 20 20 20 20 20 63 61 6e 20 74 68 65 6e 20 75 73 65 20 74 68 69 p.programs......can.then.use.thi
43800 73 20 6c 69 73 74 20 74 6f 20 63 6f 6e 73 74 72 75 63 74 20 76 69 73 75 61 6c 6c 79 2d 76 61 6c s.list.to.construct.visually-val
43820 69 64 20 73 75 62 73 74 72 69 6e 67 73 20 6f 66 0a 20 20 20 20 20 53 54 52 49 4e 47 20 77 68 69 id.substrings.of......STRING.whi
43840 63 68 20 77 69 6c 6c 20 6c 6f 6f 6b 20 63 6f 72 72 65 63 74 6c 79 20 6f 6e 20 64 69 73 70 6c 61 ch.will.look.correctly.on.displa
43860 79 2c 20 6f 72 20 63 6f 6d 70 75 74 65 20 74 68 65 20 77 69 64 74 68 0a 20 20 20 20 20 6f 66 20 y,.or.compute.the.width......of.
43880 61 6e 79 20 73 75 62 73 74 72 69 6e 67 20 6f 66 20 53 54 52 49 4e 47 20 62 79 20 61 64 64 69 6e any.substring.of.STRING.by.addin
438a0 67 20 74 68 65 20 77 69 64 74 68 20 6f 66 20 69 74 73 20 63 6f 6e 73 74 69 74 75 65 6e 74 73 0a g.the.width.of.its.constituents.
438c0 20 20 20 20 20 69 6e 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 6c 69 73 74 2c 20 65 74 63 2e 0a .....in.the.returned.list,.etc..
438e0 0a 20 20 20 20 20 46 6f 72 20 69 6e 73 74 61 6e 63 65 2c 20 69 66 20 79 6f 75 20 77 61 6e 74 20 ......For.instance,.if.you.want.
43900 74 6f 20 64 69 73 70 6c 61 79 20 61 20 73 74 72 69 6e 67 20 77 69 74 68 6f 75 74 20 74 68 65 20 to.display.a.string.without.the.
43920 66 69 72 73 74 0a 20 20 20 20 20 67 6c 79 70 68 2c 20 79 6f 75 20 63 61 6e 20 73 61 79 3a 0a 0a first......glyph,.you.can.say:..
43940 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 20 23 27 69 6e 73 65 72 74 20 28 63 64 72 20 28 ..........(apply.#'insert.(cdr.(
43960 73 74 72 69 6e 67 2d 67 6c 79 70 68 2d 73 70 6c 69 74 20 73 74 72 69 6e 67 29 29 29 29 0a 0a 20 string-glyph-split.string))))...
43980 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 53 69 7a 65 20 6f 66 20 44 69 73 70 6c 61 79 ....*Note.(elisp)Size.of.Display
439a0 65 64 20 54 65 78 74 3a 3a 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 77 69 74 68 2d 62 75 66 66 ed.Text::....--.Macro:.with-buff
439c0 65 72 2d 75 6e 6d 6f 64 69 66 69 65 64 2d 69 66 2d 75 6e 63 68 61 6e 67 65 64 20 26 72 65 73 74 er-unmodified-if-unchanged.&rest
439e0 20 62 6f 64 79 2e 2e 2e 0a 20 20 20 20 20 45 76 61 6c 75 61 74 65 20 42 4f 44 59 20 6c 69 6b 65 .body.........Evaluate.BODY.like
43a00 20 e2 80 98 70 72 6f 67 6e e2 80 99 2c 20 62 75 74 20 63 68 61 6e 67 65 20 62 75 66 66 65 72 2d ....progn...,.but.change.buffer-
43a20 6d 6f 64 69 66 69 65 64 20 73 74 61 74 75 73 20 6f 6e 6c 79 0a 20 20 20 20 20 69 66 20 62 75 66 modified.status.only......if.buf
43a40 66 65 72 20 74 65 78 74 20 63 68 61 6e 67 65 73 2e 20 20 49 66 20 74 68 65 20 62 75 66 66 65 72 fer.text.changes...If.the.buffer
43a60 20 77 61 73 20 75 6e 6d 6f 64 69 66 69 65 64 20 62 65 66 6f 72 65 0a 20 20 20 20 20 65 78 65 63 .was.unmodified.before......exec
43a80 75 74 69 6f 6e 20 6f 66 20 42 4f 44 59 2c 20 61 6e 64 20 62 75 66 66 65 72 20 74 65 78 74 20 61 ution.of.BODY,.and.buffer.text.a
43aa0 66 74 65 72 20 65 78 65 63 75 74 69 6f 6e 20 6f 66 20 42 4f 44 59 20 69 73 0a 20 20 20 20 20 69 fter.execution.of.BODY.is......i
43ac0 64 65 6e 74 69 63 61 6c 20 74 6f 20 77 68 61 74 20 69 74 20 77 61 73 20 62 65 66 6f 72 65 2c 20 dentical.to.what.it.was.before,.
43ae0 65 6e 73 75 72 65 20 74 68 61 74 20 62 75 66 66 65 72 20 69 73 20 73 74 69 6c 6c 20 6d 61 72 6b ensure.that.buffer.is.still.mark
43b00 65 64 0a 20 20 20 20 20 75 6e 6d 6f 64 69 66 69 65 64 20 61 66 74 65 72 77 61 72 64 73 2e 0a 0a ed......unmodified.afterwards...
43b20 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 6f 6e 6c 79 20 63 68 61 6e 67 65 73 20 69 6e 20 74 .....Note.that.only.changes.in.t
43b40 68 65 20 72 61 77 20 62 79 74 65 20 73 65 71 75 65 6e 63 65 20 6f 66 20 74 68 65 20 62 75 66 66 he.raw.byte.sequence.of.the.buff
43b60 65 72 20 74 65 78 74 2c 0a 20 20 20 20 20 61 73 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 20 69 er.text,......as.stored.in.the.i
43b80 6e 74 65 72 6e 61 6c 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 2c 20 61 72 65 20 6d 6f 6e 69 nternal.representation,.are.moni
43ba0 74 6f 72 65 64 20 66 6f 72 20 74 68 65 0a 20 20 20 20 20 70 75 72 70 6f 73 65 20 6f 66 20 64 65 tored.for.the......purpose.of.de
43bc0 74 65 63 74 69 6e 67 20 74 68 65 20 6c 61 63 6b 20 6f 66 20 63 68 61 6e 67 65 73 20 69 6e 20 62 tecting.the.lack.of.changes.in.b
43be0 75 66 66 65 72 20 74 65 78 74 2e 20 20 41 6e 79 20 6f 74 68 65 72 0a 20 20 20 20 20 63 68 61 6e uffer.text...Any.other......chan
43c00 67 65 73 20 74 68 61 74 20 61 72 65 20 6e 6f 72 6d 61 6c 6c 79 20 70 65 72 63 65 69 76 65 64 20 ges.that.are.normally.perceived.
43c20 61 73 20 22 62 75 66 66 65 72 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 73 22 2c 20 73 75 63 68 0a as."buffer.modifications",.such.
43c40 20 20 20 20 20 61 73 20 63 68 61 6e 67 65 73 20 69 6e 20 74 65 78 74 20 70 72 6f 70 65 72 74 69 .....as.changes.in.text.properti
43c60 65 73 2c 20 e2 80 98 62 75 66 66 65 72 2d 66 69 6c 65 2d 63 6f 64 69 6e 67 2d 73 79 73 74 65 6d es,....buffer-file-coding-system
43c80 e2 80 99 2c 20 62 75 66 66 65 72 0a 20 20 20 20 20 6d 75 6c 74 69 62 79 74 65 6e 65 73 73 2c 20 ...,.buffer......multibyteness,.
43ca0 65 74 63 2e 20 20 e2 80 93 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 6e 6f 74 69 63 65 64 2c 20 61 etc.......will.not.be.noticed,.a
43cc0 6e 64 20 74 68 65 20 62 75 66 66 65 72 20 77 69 6c 6c 0a 20 20 20 20 20 73 74 69 6c 6c 20 62 65 nd.the.buffer.will......still.be
43ce0 20 6d 61 72 6b 65 64 20 75 6e 6d 6f 64 69 66 69 65 64 2c 20 65 66 66 65 63 74 69 76 65 6c 79 20 .marked.unmodified,.effectively.
43d00 69 67 6e 6f 72 69 6e 67 20 74 68 6f 73 65 20 63 68 61 6e 67 65 73 2e 0a 0a 20 2d 2d 20 46 75 6e ignoring.those.changes....--.Fun
43d20 63 74 69 6f 6e 3a 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 66 69 6c 65 2d 69 64 65 6e 74 ction:.file-attribute-file-ident
43d40 69 66 69 65 72 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 66 69 65 6c 64 73 20 e2 80 98 ifier......Return.the.fields....
43d60 28 69 6e 6f 64 65 6e 75 6d 20 64 65 76 69 63 65 29 e2 80 99 20 61 73 20 61 20 6c 69 73 74 20 66 (inodenum.device)....as.a.list.f
43d80 72 6f 6d 20 61 74 74 72 69 62 75 74 65 73 0a 20 20 20 20 20 67 65 6e 65 72 61 74 65 64 20 62 79 rom.attributes......generated.by
43da0 20 e2 80 98 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 73 e2 80 99 2e 0a 0a 20 20 20 20 20 2a 4e ....file-attributes...........*N
43dc0 6f 74 65 20 28 65 6c 69 73 70 29 46 69 6c 65 20 41 74 74 72 69 62 75 74 65 73 3a 3a 2e 0a 0a 20 ote.(elisp)File.Attributes::....
43de0 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 66 69 6c 65 2d 6e 61 6d 65 2d 73 70 6c 69 74 20 66 69 6c --.Function:.file-name-split.fil
43e00 65 6e 61 6d 65 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 70 6c 69 74 73 20 ename......This.function.splits.
43e20 61 20 66 69 6c 65 20 6e 61 6d 65 20 69 6e 74 6f 20 69 74 73 20 63 6f 6d 70 6f 6e 65 6e 74 73 2c a.file.name.into.its.components,
43e40 20 61 6e 64 20 63 61 6e 20 62 65 0a 20 20 20 20 20 74 68 6f 75 67 68 74 20 6f 66 20 61 73 20 74 .and.can.be......thought.of.as.t
43e60 68 65 20 69 6e 76 65 72 73 65 20 6f 66 20 e2 80 98 73 74 72 69 6e 67 2d 6a 6f 69 6e e2 80 99 20 he.inverse.of....string-join....
43e80 77 69 74 68 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 74 65 0a 20 20 20 20 20 64 69 72 65 63 74 with.the.appropriate......direct
43ea0 6f 72 79 20 73 65 70 61 72 61 74 6f 72 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 0a 0a 20 20 ory.separator...For.example,....
43ec0 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 73 70 6c 69 74 20 22 2f 74 6d 70 2f 66 ........(file-name-split."/tmp/f
43ee0 6f 6f 2e 74 78 74 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 22 20 22 oo.txt")...................(""."
43f00 74 6d 70 22 20 22 66 6f 6f 2e 74 78 74 22 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 74 72 69 6e tmp"."foo.txt")...........(strin
43f20 67 2d 6a 6f 69 6e 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 73 70 6c 69 74 20 22 2f 74 6d 70 2f 66 6f g-join.(file-name-split."/tmp/fo
43f40 6f 2e 74 78 74 22 29 20 22 2f 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 o.txt")."/")..................."
43f60 2f 74 6d 70 2f 66 6f 6f 2e 74 78 74 22 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 66 69 6c /tmp/foo.txt"...--.Function:.fil
43f80 65 2d 6e 61 6d 65 2d 70 61 72 65 6e 74 2d 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 6e 61 6d 65 e-name-parent-directory.filename
43fa0 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 ......This.function.returns.the.
43fc0 64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 70 61 72 65 6e 74 20 64 69 72 directory.name.of.the.parent.dir
43fe0 65 63 74 6f 72 79 20 6f 66 0a 20 20 20 20 20 46 49 4c 45 4e 41 4d 45 2e 20 20 49 66 20 46 49 4c ectory.of......FILENAME...If.FIL
44000 45 4e 41 4d 45 20 69 73 20 61 74 20 74 68 65 20 72 6f 6f 74 20 64 69 72 65 63 74 6f 72 79 20 6f ENAME.is.at.the.root.directory.o
44020 66 20 74 68 65 20 66 69 6c 65 73 79 73 74 65 6d 2c 0a 20 20 20 20 20 69 74 20 72 65 74 75 72 6e f.the.filesystem,......it.return
44040 73 20 e2 80 98 6e 69 6c e2 80 99 2e 20 20 41 20 72 65 6c 61 74 69 76 65 20 46 49 4c 45 4e 41 4d s....nil......A.relative.FILENAM
44060 45 20 69 73 20 61 73 73 75 6d 65 64 20 74 6f 20 62 65 20 72 65 6c 61 74 69 76 65 20 74 6f 0a 20 E.is.assumed.to.be.relative.to..
44080 20 20 20 20 e2 80 98 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 e2 80 99 2c 20 61 6e 64 .......default-directory...,.and
440a0 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 77 69 6c 6c 20 61 6c 73 6f 20 62 65 20 72 .the.return.value.will.also.be.r
440c0 65 6c 61 74 69 76 65 20 69 6e 0a 20 20 20 20 20 74 68 61 74 20 63 61 73 65 2e 20 20 49 66 20 74 elative.in......that.case...If.t
440e0 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 he.return.value.is.non-...nil...
44100 2c 20 69 74 20 65 6e 64 73 20 69 6e 20 61 20 73 6c 61 73 68 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 ,.it.ends.in.a.slash........*Not
44120 65 20 28 65 6c 69 73 70 29 44 69 72 65 63 74 6f 72 79 20 4e 61 6d 65 73 3a 3a 2e 0a 0a 20 2d 2d e.(elisp)Directory.Names::....--
44140 20 46 75 6e 63 74 69 6f 6e 3a 20 66 69 6c 65 2d 68 61 73 2d 63 68 61 6e 67 65 64 2d 70 20 66 69 .Function:.file-has-changed-p.fi
44160 6c 65 20 26 6f 70 74 69 6f 6e 61 6c 20 74 61 67 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 le.&optional.tag......This.funct
44180 69 6f 6e 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 69 66 20 74 68 65 ion.returns.non-...nil....if.the
441a0 20 74 69 6d 65 20 73 74 61 6d 70 20 6f 66 20 46 49 4c 45 4e 41 4d 45 20 68 61 73 0a 20 20 20 20 .time.stamp.of.FILENAME.has.....
441c0 20 63 68 61 6e 67 65 64 20 73 69 6e 63 65 20 74 68 65 20 6c 61 73 74 20 63 61 6c 6c 2e 20 20 57 .changed.since.the.last.call...W
441e0 68 65 6e 20 63 61 6c 6c 65 64 20 66 6f 72 20 74 68 65 20 66 69 72 73 74 20 74 69 6d 65 20 66 6f hen.called.for.the.first.time.fo
44200 72 0a 20 20 20 20 20 73 6f 6d 65 20 46 49 4c 45 4e 41 4d 45 2c 20 69 74 20 72 65 63 6f 72 64 73 r......some.FILENAME,.it.records
44220 20 74 68 65 20 6c 61 73 74 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 74 69 6d 65 20 61 6e 64 20 .the.last.modification.time.and.
44240 73 69 7a 65 20 6f 66 0a 20 20 20 20 20 74 68 65 20 66 69 6c 65 2c 20 61 6e 64 20 72 65 74 75 72 size.of......the.file,.and.retur
44260 6e 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 77 68 65 6e 20 46 49 4c 45 4e 41 4d 45 20 65 ns.non-...nil....when.FILENAME.e
44280 78 69 73 74 73 2e 20 20 54 68 65 72 65 61 66 74 65 72 2c 0a 20 20 20 20 20 77 68 65 6e 20 63 61 xists...Thereafter,......when.ca
442a0 6c 6c 65 64 20 66 6f 72 20 74 68 65 20 73 61 6d 65 20 46 49 4c 45 4e 41 4d 45 2c 20 69 74 20 63 lled.for.the.same.FILENAME,.it.c
442c0 6f 6d 70 61 72 65 73 20 74 68 65 20 63 75 72 72 65 6e 74 20 74 69 6d 65 0a 20 20 20 20 20 73 74 ompares.the.current.time......st
442e0 61 6d 70 20 61 6e 64 20 73 69 7a 65 20 77 69 74 68 20 74 68 65 20 72 65 63 6f 72 64 65 64 20 6f amp.and.size.with.the.recorded.o
44300 6e 65 73 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 6f nes,.and.returns.non-...nil....o
44320 6e 6c 79 0a 20 20 20 20 20 69 66 20 65 69 74 68 65 72 20 74 68 65 20 74 69 6d 65 20 73 74 61 6d nly......if.either.the.time.stam
44340 70 20 6f 72 20 74 68 65 20 73 69 7a 65 20 28 6f 72 20 62 6f 74 68 29 20 61 72 65 20 64 69 66 66 p.or.the.size.(or.both).are.diff
44360 65 72 65 6e 74 2e 20 20 54 68 69 73 0a 20 20 20 20 20 69 73 20 75 73 65 66 75 6c 20 77 68 65 6e erent...This......is.useful.when
44380 20 61 20 4c 69 73 70 20 70 72 6f 67 72 61 6d 20 77 61 6e 74 73 20 74 6f 20 72 65 2d 72 65 61 64 .a.Lisp.program.wants.to.re-read
443a0 20 61 20 66 69 6c 65 20 77 68 65 6e 65 76 65 72 20 69 74 0a 20 20 20 20 20 63 68 61 6e 67 65 73 .a.file.whenever.it......changes
443c0 2e 20 20 57 69 74 68 20 61 6e 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 54 41 47 ...With.an.optional.argument.TAG
443e0 2c 20 77 68 69 63 68 20 6d 75 73 74 20 62 65 20 61 20 73 79 6d 62 6f 6c 2c 0a 20 20 20 20 20 74 ,.which.must.be.a.symbol,......t
44400 68 65 20 73 69 7a 65 20 61 6e 64 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 74 69 6d 65 20 63 6f he.size.and.modification.time.co
44420 6d 70 61 72 69 73 6f 6e 73 20 61 72 65 20 6c 69 6d 69 74 65 64 20 74 6f 20 63 61 6c 6c 73 0a 20 mparisons.are.limited.to.calls..
44440 20 20 20 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 74 61 67 2e 0a 0a 20 20 20 20 20 2a 4e 6f ....with.the.same.tag........*No
44460 74 65 20 28 65 6c 69 73 70 29 46 69 6c 65 20 41 74 74 72 69 62 75 74 65 73 3a 3a 2e 0a 0a 20 2d te.(elisp)File.Attributes::....-
44480 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 64 69 72 65 63 74 6f 72 79 2d 61 62 62 72 65 76 2d 6d 61 6b -.Function:.directory-abbrev-mak
444a0 65 2d 72 65 67 65 78 70 20 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 43 72 65 61 74 65 20 61 e-regexp.directory......Create.a
444c0 20 72 65 67 65 78 70 20 74 6f 20 6d 61 74 63 68 20 44 49 52 45 43 54 4f 52 59 20 66 6f 72 20 e2 .regexp.to.match.DIRECTORY.for..
444e0 80 98 64 69 72 65 63 74 6f 72 79 2d 61 62 62 72 65 76 2d 61 6c 69 73 74 e2 80 99 2e 0a 0a 20 2d ..directory-abbrev-alist.......-
44500 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 64 69 72 65 63 74 6f 72 79 2d 61 62 62 72 65 76 2d 61 70 70 -.Function:.directory-abbrev-app
44520 6c 79 20 66 69 6c 65 6e 61 6d 65 0a 20 20 20 20 20 41 70 70 6c 79 20 74 68 65 20 61 62 62 72 65 ly.filename......Apply.the.abbre
44540 76 69 61 74 69 6f 6e 73 20 69 6e 20 e2 80 98 64 69 72 65 63 74 6f 72 79 2d 61 62 62 72 65 76 2d viations.in....directory-abbrev-
44560 61 6c 69 73 74 e2 80 99 20 74 6f 20 46 49 4c 45 4e 41 4d 45 2e 0a 20 20 20 20 20 4e 6f 74 65 20 alist....to.FILENAME.......Note.
44580 74 68 61 74 20 77 68 65 6e 20 63 61 6c 6c 69 6e 67 20 74 68 69 73 2c 20 79 6f 75 20 73 68 6f 75 that.when.calling.this,.you.shou
445a0 6c 64 20 73 65 74 20 e2 80 98 63 61 73 65 2d 66 6f 6c 64 2d 73 65 61 72 63 68 e2 80 99 20 61 73 ld.set....case-fold-search....as
445c0 0a 20 20 20 20 20 61 70 70 72 6f 70 72 69 61 74 65 20 66 6f 72 20 74 68 65 20 66 69 6c 65 73 79 ......appropriate.for.the.filesy
445e0 73 74 65 6d 20 75 73 65 64 20 66 6f 72 20 46 49 4c 45 4e 41 4d 45 2e 0a 0a 20 2d 2d 20 46 75 6e stem.used.for.FILENAME....--.Fun
44600 63 74 69 6f 6e 3a 20 6b 65 79 2d 76 61 6c 69 64 2d 70 20 6b 65 79 73 0a 20 20 20 20 20 53 61 79 ction:.key-valid-p.keys......Say
44620 20 77 68 65 74 68 65 72 20 4b 45 59 53 20 69 73 20 61 20 76 61 6c 69 64 20 6b 65 79 2e 20 20 41 .whether.KEYS.is.a.valid.key...A
44640 20 6b 65 79 20 69 73 20 61 20 73 74 72 69 6e 67 20 63 6f 6e 73 69 73 74 69 6e 67 20 6f 66 0a 20 .key.is.a.string.consisting.of..
44660 20 20 20 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6b 65 79 20 73 74 72 6f 6b 65 73 2e 20 20 54 68 ....one.or.more.key.strokes...Th
44680 65 20 6b 65 79 20 73 74 72 6f 6b 65 73 20 61 72 65 20 73 65 70 61 72 61 74 65 64 20 62 79 20 73 e.key.strokes.are.separated.by.s
446a0 69 6e 67 6c 65 0a 20 20 20 20 20 73 70 61 63 65 20 63 68 61 72 61 63 74 65 72 73 2e 0a 0a 20 20 ingle......space.characters.....
446c0 20 20 20 45 61 63 68 20 6b 65 79 20 73 74 72 6f 6b 65 20 69 73 20 65 69 74 68 65 72 20 61 20 73 ...Each.key.stroke.is.either.a.s
446e0 69 6e 67 6c 65 20 63 68 61 72 61 63 74 65 72 2c 20 6f 72 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 ingle.character,.or.the.name.of.
44700 61 6e 0a 20 20 20 20 20 65 76 65 6e 74 2c 20 73 75 72 72 6f 75 6e 64 65 64 20 62 79 20 61 6e 67 an......event,.surrounded.by.ang
44720 6c 65 20 62 72 61 63 6b 65 74 73 2e 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 2c 20 61 6e 79 20 6b le.brackets...In.addition,.any.k
44740 65 79 20 73 74 72 6f 6b 65 0a 20 20 20 20 20 6d 61 79 20 62 65 20 70 72 65 63 65 64 65 64 20 62 ey.stroke......may.be.preceded.b
44760 79 20 6f 6e 65 20 6f 72 20 6d 6f 72 65 20 6d 6f 64 69 66 69 65 72 20 6b 65 79 73 2e 20 20 46 69 y.one.or.more.modifier.keys...Fi
44780 6e 61 6c 6c 79 2c 20 61 20 6c 69 6d 69 74 65 64 0a 20 20 20 20 20 6e 75 6d 62 65 72 20 6f 66 20 nally,.a.limited......number.of.
447a0 63 68 61 72 61 63 74 65 72 73 20 68 61 76 65 20 61 20 73 70 65 63 69 61 6c 20 73 68 6f 72 74 68 characters.have.a.special.shorth
447c0 61 6e 64 20 73 79 6e 74 61 78 2e 0a 0a 20 20 20 20 20 48 65 72 65 e2 80 99 73 20 73 6f 6d 65 20 and.syntax........Here...s.some.
447e0 65 78 61 6d 70 6c 65 20 6b 65 79 20 73 65 71 75 65 6e 63 65 73 2e 0a 0a 20 20 20 20 20 e2 80 98 example.key.sequences...........
44800 66 e2 80 99 0a 20 20 20 20 20 20 20 20 20 20 54 68 65 20 6b 65 79 20 e2 80 98 66 e2 80 99 2e 0a f..............The.key....f.....
44820 20 20 20 20 20 e2 80 98 53 20 6f 20 6d e2 80 99 0a 20 20 20 20 20 20 20 20 20 20 41 20 74 68 72 ........S.o.m..............A.thr
44840 65 65 20 6b 65 79 20 73 65 71 75 65 6e 63 65 20 6f 66 20 74 68 65 20 6b 65 79 73 20 e2 80 98 53 ee.key.sequence.of.the.keys....S
44860 e2 80 99 2c 20 e2 80 98 6f e2 80 99 20 61 6e 64 20 e2 80 98 6d e2 80 99 2e 0a 20 20 20 20 20 e2 ...,....o....and....m...........
44880 80 98 43 2d 63 20 6f e2 80 99 0a 20 20 20 20 20 20 20 20 20 20 41 20 74 77 6f 20 6b 65 79 20 73 ..C-c.o..............A.two.key.s
448a0 65 71 75 65 6e 63 65 20 6f 66 20 74 68 65 20 6b 65 79 73 20 e2 80 98 63 e2 80 99 20 77 69 74 68 equence.of.the.keys....c....with
448c0 20 74 68 65 20 63 6f 6e 74 72 6f 6c 20 6d 6f 64 69 66 69 65 72 0a 20 20 20 20 20 20 20 20 20 20 .the.control.modifier...........
448e0 61 6e 64 20 74 68 65 6e 20 74 68 65 20 6b 65 79 20 e2 80 98 6f e2 80 99 2e 0a 20 20 20 20 20 e2 and.then.the.key....o...........
44900 80 98 48 2d 3c 6c 65 66 74 3e e2 80 99 0a 20 20 20 20 20 20 20 20 20 20 54 68 65 20 6b 65 79 20 ..H-<left>..............The.key.
44920 6e 61 6d 65 64 20 22 6c 65 66 74 22 20 77 69 74 68 20 74 68 65 20 68 79 70 65 72 20 6d 6f 64 69 named."left".with.the.hyper.modi
44940 66 69 65 72 2e 0a 20 20 20 20 20 e2 80 98 4d 2d 52 45 54 e2 80 99 0a 20 20 20 20 20 20 20 20 20 fier..........M-RET.............
44960 20 54 68 65 20 22 72 65 74 75 72 6e 22 20 6b 65 79 20 77 69 74 68 20 61 20 6d 65 74 61 20 6d 6f .The."return".key.with.a.meta.mo
44980 64 69 66 69 65 72 2e 0a 20 20 20 20 20 e2 80 98 43 2d 4d 2d 3c 73 70 61 63 65 3e e2 80 99 0a 20 difier..........C-M-<space>.....
449a0 20 20 20 20 20 20 20 20 20 54 68 65 20 22 73 70 61 63 65 22 20 6b 65 79 20 77 69 74 68 20 62 6f .........The."space".key.with.bo
449c0 74 68 20 74 68 65 20 63 6f 6e 74 72 6f 6c 20 61 6e 64 20 6d 65 74 61 20 6d 6f 64 69 66 69 65 72 th.the.control.and.meta.modifier
449e0 73 2e 0a 0a 20 20 20 20 20 54 68 65 73 65 20 61 72 65 20 74 68 65 20 63 68 61 72 61 63 74 65 72 s........These.are.the.character
44a00 73 20 74 68 61 74 20 68 61 76 65 20 73 68 6f 72 74 68 61 6e 64 20 73 79 6e 74 61 78 3a 20 e2 80 s.that.have.shorthand.syntax:...
44a20 98 4e 55 4c e2 80 99 2c 20 e2 80 98 52 45 54 e2 80 99 2c 0a 20 20 20 20 20 e2 80 98 54 41 42 e2 .NUL...,....RET...,.........TAB.
44a40 80 99 2c 20 e2 80 98 4c 46 44 e2 80 99 2c 20 e2 80 98 45 53 43 e2 80 99 2c 20 e2 80 98 53 50 43 ..,....LFD...,....ESC...,....SPC
44a60 e2 80 99 2c 20 e2 80 98 44 45 4c e2 80 99 2e 0a 0a 20 20 20 20 20 4d 6f 64 69 66 69 65 72 73 20 ...,....DEL...........Modifiers.
44a80 68 61 76 65 20 74 6f 20 62 65 20 73 70 65 63 69 66 69 65 64 20 69 6e 20 74 68 69 73 20 6f 72 64 have.to.be.specified.in.this.ord
44aa0 65 72 0a 20 20 20 20 20 41 6c 74 20 28 41 29 2d 43 6f 6e 74 72 6f 6c 20 28 43 29 2d 48 79 70 65 er......Alt.(A)-Control.(C)-Hype
44ac0 72 20 28 48 29 2d 4d 65 74 61 20 28 4d 29 2d 53 68 69 66 74 20 28 73 29 2d 53 75 70 65 72 20 28 r.(H)-Meta.(M)-Shift.(s)-Super.(
44ae0 73 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6b 65 79 2d 70 61 72 73 65 20 6b 65 79 73 s)...--.Function:.key-parse.keys
44b00 0a 20 20 20 20 20 43 6f 6e 76 65 72 74 20 4b 45 59 53 20 74 6f 20 74 68 65 20 69 6e 74 65 72 6e ......Convert.KEYS.to.the.intern
44b20 61 6c 20 45 6d 61 63 73 20 6b 65 79 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 2e 20 20 53 65 al.Emacs.key.representation...Se
44b40 65 0a 20 20 20 20 20 e2 80 98 6b 65 79 2d 76 61 6c 69 64 2d 70 e2 80 99 20 66 6f 72 20 61 20 64 e.........key-valid-p....for.a.d
44b60 65 73 63 72 69 70 74 69 6f 6e 20 6f 66 20 76 61 6c 69 64 20 6b 65 79 20 73 65 71 75 65 6e 63 65 escription.of.valid.key.sequence
44b80 73 2e 20 20 45 78 61 6d 70 6c 65 73 0a 20 20 20 20 20 69 6e 63 6c 75 64 65 20 e2 80 98 66 e2 80 s...Examples......include....f..
44ba0 99 2c 20 e2 80 98 43 2d 63 20 43 2d 63 e2 80 99 2c 20 e2 80 98 48 2d 3c 6c 65 66 74 3e e2 80 99 .,....C-c.C-c...,....H-<left>...
44bc0 2c 20 e2 80 98 4d 2d 52 45 54 e2 80 99 20 6f 72 20 e2 80 98 43 2d 4d 2d 3c 72 65 74 75 72 6e 3e ,....M-RET....or....C-M-<return>
44be0 e2 80 99 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6b 65 79 6d 61 70 2d 73 65 74 20 6b .......--.Function:.keymap-set.k
44c00 65 79 6d 61 70 20 6b 65 79 20 64 65 66 69 6e 69 74 69 6f 6e 0a 20 20 20 20 20 54 68 69 73 20 66 eymap.key.definition......This.f
44c20 75 6e 63 74 69 6f 6e 20 73 65 74 73 20 74 68 65 20 62 69 6e 64 69 6e 67 20 66 6f 72 20 4b 45 59 unction.sets.the.binding.for.KEY
44c40 20 69 6e 20 4b 45 59 4d 41 50 2e 20 20 28 49 66 20 4b 45 59 20 69 73 20 6d 6f 72 65 0a 20 20 20 .in.KEYMAP...(If.KEY.is.more....
44c60 20 20 74 68 61 6e 20 6f 6e 65 20 65 76 65 6e 74 20 6c 6f 6e 67 2c 20 74 68 65 20 63 68 61 6e 67 ..than.one.event.long,.the.chang
44c80 65 20 69 73 20 61 63 74 75 61 6c 6c 79 20 6d 61 64 65 20 69 6e 20 61 6e 6f 74 68 65 72 20 6b 65 e.is.actually.made.in.another.ke
44ca0 79 6d 61 70 0a 20 20 20 20 20 72 65 61 63 68 65 64 20 66 72 6f 6d 20 4b 45 59 4d 41 50 2e 29 20 ymap......reached.from.KEYMAP.).
44cc0 20 54 68 65 20 61 72 67 75 6d 65 6e 74 20 42 49 4e 44 49 4e 47 20 63 61 6e 20 62 65 20 61 6e 79 .The.argument.BINDING.can.be.any
44ce0 20 4c 69 73 70 20 6f 62 6a 65 63 74 2c 0a 20 20 20 20 20 62 75 74 20 6f 6e 6c 79 20 63 65 72 74 .Lisp.object,......but.only.cert
44d00 61 69 6e 20 74 79 70 65 73 20 61 72 65 20 6d 65 61 6e 69 6e 67 66 75 6c 2e 20 20 28 46 6f 72 20 ain.types.are.meaningful...(For.
44d20 61 20 6c 69 73 74 20 6f 66 20 6d 65 61 6e 69 6e 67 66 75 6c 0a 20 20 20 20 20 74 79 70 65 73 2c a.list.of.meaningful......types,
44d40 20 73 65 65 20 2a 6e 6f 74 65 20 28 65 6c 69 73 70 29 4b 65 79 20 4c 6f 6f 6b 75 70 3a 3a 2e 29 .see.*note.(elisp)Key.Lookup::.)
44d60 20 20 54 68 65 20 76 61 6c 75 65 20 72 65 74 75 72 6e 65 64 20 62 79 0a 20 20 20 20 20 e2 80 98 ..The.value.returned.by.........
44d80 6b 65 79 6d 61 70 2d 73 65 74 e2 80 99 20 69 73 20 42 49 4e 44 49 4e 47 2e 0a 0a 20 20 20 20 20 keymap-set....is.BINDING........
44da0 49 66 20 4b 45 59 20 69 73 20 e2 80 98 3c 74 3e e2 80 99 2c 20 74 68 69 73 20 73 65 74 73 20 74 If.KEY.is....<t>...,.this.sets.t
44dc0 68 65 20 64 65 66 61 75 6c 74 20 62 69 6e 64 69 6e 67 20 69 6e 20 4b 45 59 4d 41 50 2e 20 20 57 he.default.binding.in.KEYMAP...W
44de0 68 65 6e 20 61 6e 0a 20 20 20 20 20 65 76 65 6e 74 20 68 61 73 20 6e 6f 20 62 69 6e 64 69 6e 67 hen.an......event.has.no.binding
44e00 20 6f 66 20 69 74 73 20 6f 77 6e 2c 20 74 68 65 20 45 6d 61 63 73 20 63 6f 6d 6d 61 6e 64 20 6c .of.its.own,.the.Emacs.command.l
44e20 6f 6f 70 20 75 73 65 73 20 74 68 65 0a 20 20 20 20 20 6b 65 79 6d 61 70 e2 80 99 73 20 64 65 66 oop.uses.the......keymap...s.def
44e40 61 75 6c 74 20 62 69 6e 64 69 6e 67 2c 20 69 66 20 74 68 65 72 65 20 69 73 20 6f 6e 65 2e 0a 0a ault.binding,.if.there.is.one...
44e60 20 20 20 20 20 45 76 65 72 79 20 70 72 65 66 69 78 20 6f 66 20 4b 45 59 20 6d 75 73 74 20 62 65 .....Every.prefix.of.KEY.must.be
44e80 20 61 20 70 72 65 66 69 78 20 6b 65 79 20 28 69 2e 65 2e 2c 20 62 6f 75 6e 64 20 74 6f 20 61 20 .a.prefix.key.(i.e.,.bound.to.a.
44ea0 6b 65 79 6d 61 70 29 0a 20 20 20 20 20 6f 72 20 75 6e 64 65 66 69 6e 65 64 3b 20 6f 74 68 65 72 keymap)......or.undefined;.other
44ec0 77 69 73 65 20 61 6e 20 65 72 72 6f 72 20 69 73 20 73 69 67 6e 61 6c 65 64 2e 20 20 49 66 20 73 wise.an.error.is.signaled...If.s
44ee0 6f 6d 65 20 70 72 65 66 69 78 20 6f 66 0a 20 20 20 20 20 4b 45 59 20 69 73 20 75 6e 64 65 66 69 ome.prefix.of......KEY.is.undefi
44f00 6e 65 64 2c 20 74 68 65 6e 20 e2 80 98 6b 65 79 6d 61 70 2d 73 65 74 e2 80 99 20 64 65 66 69 6e ned,.then....keymap-set....defin
44f20 65 73 20 69 74 20 61 73 20 61 20 70 72 65 66 69 78 20 6b 65 79 20 73 6f 0a 20 20 20 20 20 74 68 es.it.as.a.prefix.key.so......th
44f40 61 74 20 74 68 65 20 72 65 73 74 20 6f 66 20 4b 45 59 20 63 61 6e 20 62 65 20 64 65 66 69 6e 65 at.the.rest.of.KEY.can.be.define
44f60 64 20 61 73 20 73 70 65 63 69 66 69 65 64 2e 0a 0a 20 20 20 20 20 49 66 20 74 68 65 72 65 20 77 d.as.specified........If.there.w
44f80 61 73 20 70 72 65 76 69 6f 75 73 6c 79 20 6e 6f 20 62 69 6e 64 69 6e 67 20 66 6f 72 20 4b 45 59 as.previously.no.binding.for.KEY
44fa0 20 69 6e 20 4b 45 59 4d 41 50 2c 20 74 68 65 20 6e 65 77 0a 20 20 20 20 20 62 69 6e 64 69 6e 67 .in.KEYMAP,.the.new......binding
44fc0 20 69 73 20 61 64 64 65 64 20 61 74 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 4b 45 .is.added.at.the.beginning.of.KE
44fe0 59 4d 41 50 2e 20 20 54 68 65 20 6f 72 64 65 72 20 6f 66 20 62 69 6e 64 69 6e 67 73 0a 20 20 20 YMAP...The.order.of.bindings....
45000 20 20 69 6e 20 61 20 6b 65 79 6d 61 70 20 6d 61 6b 65 73 20 6e 6f 20 64 69 66 66 65 72 65 6e 63 ..in.a.keymap.makes.no.differenc
45020 65 20 66 6f 72 20 6b 65 79 62 6f 61 72 64 20 69 6e 70 75 74 2c 20 62 75 74 20 69 74 20 64 6f 65 e.for.keyboard.input,.but.it.doe
45040 73 0a 20 20 20 20 20 6d 61 74 74 65 72 20 66 6f 72 20 6d 65 6e 75 20 6b 65 79 6d 61 70 73 20 28 s......matter.for.menu.keymaps.(
45060 2a 6e 6f 74 65 20 28 65 6c 69 73 70 29 4d 65 6e 75 20 4b 65 79 6d 61 70 73 3a 3a 29 2e 0a 0a 20 *note.(elisp)Menu.Keymaps::)....
45080 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 43 68 61 6e 67 69 6e 67 20 4b 65 79 20 42 69 ....*Note.(elisp)Changing.Key.Bi
450a0 6e 64 69 6e 67 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6b 65 79 6d 61 70 2d ndings::....--.Function:.keymap-
450c0 67 6c 6f 62 61 6c 2d 73 65 74 20 6b 65 79 20 63 6f 6d 6d 61 6e 64 0a 20 20 20 20 20 54 68 69 73 global-set.key.command......This
450e0 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 73 20 74 68 65 20 62 69 6e 64 69 6e 67 20 6f 66 20 4b 45 .function.sets.the.binding.of.KE
45100 59 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 67 6c 6f 62 61 6c 20 6d 61 70 20 74 6f 0a 20 Y.in.the.current.global.map.to..
45120 20 20 20 20 42 49 4e 44 49 4e 47 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 6b 65 79 6d 61 70 2d ....BINDING.............(keymap-
45140 67 6c 6f 62 61 6c 2d 73 65 74 20 4b 45 59 20 42 49 4e 44 49 4e 47 29 0a 20 20 20 20 20 20 20 20 global-set.KEY.BINDING).........
45160 20 20 e2 89 a1 0a 20 20 20 20 20 20 20 20 20 20 28 6b 65 79 6d 61 70 2d 73 65 74 20 28 63 75 72 ................(keymap-set.(cur
45180 72 65 6e 74 2d 67 6c 6f 62 61 6c 2d 6d 61 70 29 20 4b 45 59 20 42 49 4e 44 49 4e 47 29 0a 0a 20 rent-global-map).KEY.BINDING)...
451a0 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 4b 65 79 20 42 69 6e 64 69 6e 67 20 43 6f 6d ....*Note.(elisp)Key.Binding.Com
451c0 6d 61 6e 64 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6b 65 79 6d 61 70 2d 6c mands::....--.Function:.keymap-l
451e0 6f 63 61 6c 2d 73 65 74 20 6b 65 79 20 63 6f 6d 6d 61 6e 64 0a 20 20 20 20 20 54 68 69 73 20 66 ocal-set.key.command......This.f
45200 75 6e 63 74 69 6f 6e 20 73 65 74 73 20 74 68 65 20 62 69 6e 64 69 6e 67 20 6f 66 20 4b 45 59 20 unction.sets.the.binding.of.KEY.
45220 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 6f 63 61 6c 20 6b 65 79 6d 61 70 0a 20 20 20 20 in.the.current.local.keymap.....
45240 20 74 6f 20 42 49 4e 44 49 4e 47 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 6b 65 79 6d 61 70 2d .to.BINDING.............(keymap-
45260 6c 6f 63 61 6c 2d 73 65 74 20 4b 45 59 20 42 49 4e 44 49 4e 47 29 0a 20 20 20 20 20 20 20 20 20 local-set.KEY.BINDING)..........
45280 20 e2 89 a1 0a 20 20 20 20 20 20 20 20 20 20 28 6b 65 79 6d 61 70 2d 73 65 74 20 28 63 75 72 72 ...............(keymap-set.(curr
452a0 65 6e 74 2d 6c 6f 63 61 6c 2d 6d 61 70 29 20 4b 45 59 20 42 49 4e 44 49 4e 47 29 0a 0a 20 20 20 ent-local-map).KEY.BINDING).....
452c0 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 4b 65 79 20 42 69 6e 64 69 6e 67 20 43 6f 6d 6d 61 ..*Note.(elisp)Key.Binding.Comma
452e0 6e 64 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6b 65 79 6d 61 70 2d 67 6c 6f nds::....--.Function:.keymap-glo
45300 62 61 6c 2d 75 6e 73 65 74 20 6b 65 79 20 26 6f 70 74 69 6f 6e 61 6c 20 72 65 6d 6f 76 65 0a 20 bal-unset.key.&optional.remove..
45320 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 73 20 74 68 65 20 62 69 ....This.function.removes.the.bi
45340 6e 64 69 6e 67 20 6f 66 20 4b 45 59 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 67 6c nding.of.KEY.from.the.current.gl
45360 6f 62 61 6c 0a 20 20 20 20 20 6d 61 70 2e 0a 0a 20 20 20 20 20 4f 6e 65 20 75 73 65 20 6f 66 20 obal......map........One.use.of.
45380 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 69 6e 20 70 72 65 70 61 72 61 74 69 6f 6e 20 this.function.is.in.preparation.
453a0 66 6f 72 20 64 65 66 69 6e 69 6e 67 20 61 20 6c 6f 6e 67 65 72 0a 20 20 20 20 20 6b 65 79 20 74 for.defining.a.longer......key.t
453c0 68 61 74 20 75 73 65 73 20 4b 45 59 20 61 73 20 61 20 70 72 65 66 69 78 e2 80 94 77 68 69 63 68 hat.uses.KEY.as.a.prefix...which
453e0 20 77 6f 75 6c 64 20 6e 6f 74 20 62 65 20 61 6c 6c 6f 77 65 64 20 69 66 20 4b 45 59 20 68 61 73 .would.not.be.allowed.if.KEY.has
45400 0a 20 20 20 20 20 61 20 6e 6f 6e 2d 70 72 65 66 69 78 20 62 69 6e 64 69 6e 67 2e 20 20 46 6f 72 ......a.non-prefix.binding...For
45420 20 65 78 61 6d 70 6c 65 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 28 6b 65 79 6d 61 70 2d 67 6c 6f .example:............(keymap-glo
45440 62 61 6c 2d 75 6e 73 65 74 20 22 43 2d 6c 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 bal-unset."C-l")................
45460 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 6b 65 79 6d 61 70 2d 67 6c 6f 62 61 6c 2d ...nil...........(keymap-global-
45480 73 65 74 20 22 43 2d 6c 20 43 2d 6c 22 20 27 72 65 64 72 61 77 2d 64 69 73 70 6c 61 79 29 0a 20 set."C-l.C-l".'redraw-display)..
454a0 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 6e 69 6c 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 .................nil.......*Note
454c0 20 28 65 6c 69 73 70 29 4b 65 79 20 42 69 6e 64 69 6e 67 20 43 6f 6d 6d 61 6e 64 73 3a 3a 2e 0a .(elisp)Key.Binding.Commands::..
454e0 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6b 65 79 6d 61 70 2d 6c 6f 63 61 6c 2d 75 6e 73 65 ..--.Function:.keymap-local-unse
45500 74 20 6b 65 79 20 26 6f 70 74 69 6f 6e 61 6c 20 72 65 6d 6f 76 65 0a 20 20 20 20 20 54 68 69 73 t.key.&optional.remove......This
45520 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 73 20 74 68 65 20 62 69 6e 64 69 6e 67 20 6f 66 .function.removes.the.binding.of
45540 20 4b 45 59 20 66 72 6f 6d 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 6f 63 61 6c 0a 20 20 20 20 .KEY.from.the.current.local.....
45560 20 6d 61 70 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 4b 65 79 20 42 69 6e .map........*Note.(elisp)Key.Bin
45580 64 69 6e 67 20 43 6f 6d 6d 61 6e 64 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 ding.Commands::....--.Function:.
455a0 6b 65 79 6d 61 70 2d 73 75 62 73 74 69 74 75 74 65 20 6b 65 79 6d 61 70 20 6f 6c 64 64 65 66 20 keymap-substitute.keymap.olddef.
455c0 6e 65 77 64 65 66 20 26 6f 70 74 69 6f 6e 61 6c 20 6f 6c 64 6d 61 70 0a 20 20 20 20 20 20 20 20 newdef.&optional.oldmap.........
455e0 20 20 70 72 65 66 69 78 0a 20 20 20 20 20 52 65 70 6c 61 63 65 20 4f 4c 44 44 45 46 20 77 69 74 ..prefix......Replace.OLDDEF.wit
45600 68 20 4e 45 57 44 45 46 20 66 6f 72 20 61 6e 79 20 6b 65 79 73 20 69 6e 20 4b 45 59 4d 41 50 20 h.NEWDEF.for.any.keys.in.KEYMAP.
45620 6e 6f 77 20 64 65 66 69 6e 65 64 20 61 73 0a 20 20 20 20 20 4f 4c 44 44 45 46 2e 20 20 49 6e 20 now.defined.as......OLDDEF...In.
45640 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 4f 4c 44 44 45 46 20 69 73 20 72 65 70 6c 61 63 65 64 20 other.words,.OLDDEF.is.replaced.
45660 77 69 74 68 20 4e 45 57 44 45 46 20 77 68 65 72 65 76 65 72 20 69 74 0a 20 20 20 20 20 61 70 70 with.NEWDEF.wherever.it......app
45680 65 61 72 73 2e 20 20 41 6c 74 65 72 6e 61 74 69 76 65 6c 79 2c 20 69 66 20 6f 70 74 69 6f 6e 61 ears...Alternatively,.if.optiona
456a0 6c 20 66 6f 75 72 74 68 20 61 72 67 75 6d 65 6e 74 20 4f 4c 44 4d 41 50 20 69 73 0a 20 20 20 20 l.fourth.argument.OLDMAP.is.....
456c0 20 73 70 65 63 69 66 69 65 64 2c 20 77 65 20 72 65 64 65 66 69 6e 65 20 69 6e 20 4b 45 59 4d 41 .specified,.we.redefine.in.KEYMA
456e0 50 20 61 73 20 4e 45 57 44 45 46 20 74 68 6f 73 65 20 6b 65 79 73 20 74 68 61 74 20 61 72 65 0a P.as.NEWDEF.those.keys.that.are.
45700 20 20 20 20 20 64 65 66 69 6e 65 64 20 61 73 20 4f 4c 44 44 45 46 20 69 6e 20 4f 4c 44 4d 41 50 .....defined.as.OLDDEF.in.OLDMAP
45720 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6b 65 79 6d 61 70 2d 6c 6f 6f 6b 75 70 20 6b ....--.Function:.keymap-lookup.k
45740 65 79 6d 61 70 20 6b 65 79 20 26 6f 70 74 69 6f 6e 61 6c 20 61 63 63 65 70 74 2d 64 65 66 61 75 eymap.key.&optional.accept-defau
45760 6c 74 20 6e 6f 2d 72 65 6d 61 70 0a 20 20 20 20 20 20 20 20 20 20 70 6f 73 69 74 69 6f 6e 0a 20 lt.no-remap...........position..
45780 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 64 65 ....This.function.returns.the.de
457a0 66 69 6e 69 74 69 6f 6e 20 6f 66 20 4b 45 59 20 69 6e 20 4b 45 59 4d 41 50 2e 20 20 41 6c 6c 20 finition.of.KEY.in.KEYMAP...All.
457c0 74 68 65 0a 20 20 20 20 20 6f 74 68 65 72 20 66 75 6e 63 74 69 6f 6e 73 20 64 65 73 63 72 69 62 the......other.functions.describ
457e0 65 64 20 69 6e 20 74 68 69 73 20 63 68 61 70 74 65 72 20 74 68 61 74 20 6c 6f 6f 6b 20 75 70 20 ed.in.this.chapter.that.look.up.
45800 6b 65 79 73 20 75 73 65 0a 20 20 20 20 20 e2 80 98 6b 65 79 6d 61 70 2d 6c 6f 6f 6b 75 70 e2 80 keys.use.........keymap-lookup..
45820 99 2e 20 20 48 65 72 65 20 61 72 65 20 65 78 61 6d 70 6c 65 73 3a 0a 0a 20 20 20 20 20 20 20 20 ....Here.are.examples:..........
45840 20 20 28 6b 65 79 6d 61 70 2d 6c 6f 6f 6b 75 70 20 28 63 75 72 72 65 6e 74 2d 67 6c 6f 62 61 6c ..(keymap-lookup.(current-global
45860 2d 6d 61 70 29 20 22 43 2d 78 20 43 2d 66 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 -map)."C-x.C-f")................
45880 87 92 20 66 69 6e 64 2d 66 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 28 6b 65 79 6d 61 70 2d 6c ...find-file...........(keymap-l
458a0 6f 6f 6b 75 70 20 28 63 75 72 72 65 6e 74 2d 67 6c 6f 62 61 6c 2d 6d 61 70 29 20 22 43 2d 78 20 ookup.(current-global-map)."C-x.
458c0 43 2d 66 20 31 20 32 20 33 20 34 20 35 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 C-f.1.2.3.4.5").................
458e0 92 20 32 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 46 75 6e 63 74 69 6f 6e 73 ..2.......*Note.(elisp)Functions
45900 20 66 6f 72 20 4b 65 79 20 4c 6f 6f 6b 75 70 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e .for.Key.Lookup::....--.Function
45920 3a 20 6b 65 79 6d 61 70 2d 6c 6f 63 61 6c 2d 6c 6f 6f 6b 75 70 20 6b 65 79 73 20 26 6f 70 74 69 :.keymap-local-lookup.keys.&opti
45940 6f 6e 61 6c 20 61 63 63 65 70 74 2d 64 65 66 61 75 6c 74 0a 20 20 20 20 20 4c 69 6b 65 20 e2 80 onal.accept-default......Like...
45960 98 6b 65 79 6d 61 70 2d 6c 6f 6f 6b 75 70 e2 80 99 2c 20 62 75 74 20 72 65 73 74 72 69 63 74 69 .keymap-lookup...,.but.restricti
45980 6e 67 20 74 68 65 20 73 65 61 72 63 68 20 66 6f 72 20 63 6f 6d 6d 61 6e 64 73 20 62 6f 75 6e 64 ng.the.search.for.commands.bound
459a0 0a 20 20 20 20 20 74 6f 20 4b 45 59 53 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 6c 6f 63 ......to.KEYS.to.the.current.loc
459c0 61 6c 20 6b 65 79 6d 61 70 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6b 65 79 6d 61 70 al.keymap....--.Function:.keymap
459e0 2d 67 6c 6f 62 61 6c 2d 6c 6f 6f 6b 75 70 20 6b 65 79 73 20 26 6f 70 74 69 6f 6e 61 6c 20 61 63 -global-lookup.keys.&optional.ac
45a00 63 65 70 74 2d 64 65 66 61 75 6c 74 0a 20 20 20 20 20 4c 69 6b 65 20 e2 80 98 6b 65 79 6d 61 70 cept-default......Like....keymap
45a20 2d 6c 6f 6f 6b 75 70 e2 80 99 2c 20 62 75 74 20 72 65 73 74 72 69 63 74 69 6e 67 20 74 68 65 20 -lookup...,.but.restricting.the.
45a40 73 65 61 72 63 68 20 66 6f 72 20 63 6f 6d 6d 61 6e 64 73 20 62 6f 75 6e 64 0a 20 20 20 20 20 74 search.for.commands.bound......t
45a60 6f 20 4b 45 59 53 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 67 6c 6f 62 61 6c 20 6b 65 79 o.KEYS.to.the.current.global.key
45a80 6d 61 70 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 64 65 66 69 6e 65 2d 6b 65 79 6d 61 map....--.Function:.define-keyma
45aa0 70 20 26 72 65 73 74 20 64 65 66 69 6e 69 74 69 6f 6e 73 0a 20 20 20 20 20 59 6f 75 20 63 61 6e p.&rest.definitions......You.can
45ac0 20 63 72 65 61 74 65 20 61 20 6b 65 79 6d 61 70 20 77 69 74 68 20 74 68 65 20 66 75 6e 63 74 69 .create.a.keymap.with.the.functi
45ae0 6f 6e 73 20 64 65 73 63 72 69 62 65 64 20 61 62 6f 76 65 2c 20 61 6e 64 0a 20 20 20 20 20 74 68 ons.described.above,.and......th
45b00 65 6e 20 75 73 65 20 e2 80 98 6b 65 79 6d 61 70 2d 73 65 74 e2 80 99 20 28 2a 6e 6f 74 65 20 28 en.use....keymap-set....(*note.(
45b20 65 6c 69 73 70 29 43 68 61 6e 67 69 6e 67 20 4b 65 79 20 42 69 6e 64 69 6e 67 73 3a 3a 29 20 74 elisp)Changing.Key.Bindings::).t
45b40 6f 0a 20 20 20 20 20 73 70 65 63 69 66 79 20 6b 65 79 20 62 69 6e 64 69 6e 67 73 20 69 6e 20 74 o......specify.key.bindings.in.t
45b60 68 61 74 20 6d 61 70 2e 20 20 57 68 65 6e 20 77 72 69 74 69 6e 67 20 6d 6f 64 65 73 2c 20 68 6f hat.map...When.writing.modes,.ho
45b80 77 65 76 65 72 2c 20 79 6f 75 0a 20 20 20 20 20 66 72 65 71 75 65 6e 74 6c 79 20 68 61 76 65 20 wever,.you......frequently.have.
45ba0 74 6f 20 62 69 6e 64 20 61 20 6c 61 72 67 65 20 6e 75 6d 62 65 72 20 6f 66 20 6b 65 79 73 20 61 to.bind.a.large.number.of.keys.a
45bc0 74 20 6f 6e 63 65 2c 20 61 6e 64 20 75 73 69 6e 67 0a 20 20 20 20 20 e2 80 98 6b 65 79 6d 61 70 t.once,.and.using.........keymap
45be0 2d 73 65 74 e2 80 99 20 6f 6e 20 74 68 65 6d 20 61 6c 6c 20 63 61 6e 20 62 65 20 74 65 64 69 6f -set....on.them.all.can.be.tedio
45c00 75 73 20 61 6e 64 20 65 72 72 6f 72 2d 70 72 6f 6e 65 2e 20 20 49 6e 73 74 65 61 64 0a 20 20 20 us.and.error-prone...Instead....
45c20 20 20 79 6f 75 20 63 61 6e 20 75 73 65 20 e2 80 98 64 65 66 69 6e 65 2d 6b 65 79 6d 61 70 e2 80 ..you.can.use....define-keymap..
45c40 99 2c 20 77 68 69 63 68 20 63 72 65 61 74 65 73 20 61 20 6b 65 79 6d 61 70 20 61 6e 64 20 62 69 .,.which.creates.a.keymap.and.bi
45c60 6e 64 73 20 61 0a 20 20 20 20 20 6e 75 6d 62 65 72 20 6f 66 20 6b 65 79 73 2e 20 20 48 65 72 65 nds.a......number.of.keys...Here
45c80 e2 80 99 73 20 61 20 76 65 72 79 20 62 61 73 69 63 20 65 78 61 6d 70 6c 65 3a 0a 0a 20 20 20 20 ...s.a.very.basic.example:......
45ca0 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 6d 61 70 0a 20 20 20 20 20 20 20 20 20 20 20 ......(define-keymap............
45cc0 20 22 6e 22 20 23 27 66 6f 72 77 61 72 64 2d 6c 69 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 ."n".#'forward-line.............
45ce0 22 66 22 20 23 27 70 72 65 76 69 6f 75 73 2d 6c 69 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 "f".#'previous-line.............
45d00 22 43 2d 63 20 43 2d 63 22 20 23 27 71 75 69 74 2d 77 69 6e 64 6f 77 29 0a 0a 20 20 20 20 20 54 "C-c.C-c".#'quit-window).......T
45d20 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 73 20 61 20 6e 65 77 20 73 70 61 72 73 his.function.creates.a.new.spars
45d40 65 20 6b 65 79 6d 61 70 2c 20 64 65 66 69 6e 65 73 20 74 68 65 20 6b 65 79 73 74 72 6f 6b 65 73 e.keymap,.defines.the.keystrokes
45d60 0a 20 20 20 20 20 69 6e 20 50 41 49 52 53 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 ......in.PAIRS,.and.returns.the.
45d80 6e 65 77 20 6b 65 79 6d 61 70 2e 0a 0a 20 20 20 20 20 50 41 49 52 53 20 69 73 20 61 20 6c 69 73 new.keymap........PAIRS.is.a.lis
45da0 74 20 6f 66 20 61 6c 74 65 72 6e 61 74 69 6e 67 20 6b 65 79 20 62 69 6e 64 69 6e 67 73 20 61 6e t.of.alternating.key.bindings.an
45dc0 64 20 6b 65 79 20 64 65 66 69 6e 69 74 69 6f 6e 73 2c 20 61 73 0a 20 20 20 20 20 61 63 63 65 70 d.key.definitions,.as......accep
45de0 74 65 64 20 62 79 20 e2 80 98 6b 65 79 6d 61 70 2d 73 65 74 e2 80 99 2e 20 20 49 6e 20 61 64 64 ted.by....keymap-set......In.add
45e00 69 74 69 6f 6e 2c 20 74 68 65 20 6b 65 79 20 63 61 6e 20 62 65 20 74 68 65 20 73 70 65 63 69 61 ition,.the.key.can.be.the.specia
45e20 6c 0a 20 20 20 20 20 73 79 6d 62 6f 6c 20 e2 80 98 3a 6d 65 6e 75 e2 80 99 2c 20 69 6e 20 77 68 l......symbol....:menu...,.in.wh
45e40 69 63 68 20 63 61 73 65 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 73 68 6f 75 6c 64 20 62 ich.case.the.definition.should.b
45e60 65 20 61 20 6d 65 6e 75 0a 20 20 20 20 20 64 65 66 69 6e 69 74 69 6f 6e 20 61 73 20 61 63 63 65 e.a.menu......definition.as.acce
45e80 70 74 65 64 20 62 79 20 e2 80 98 65 61 73 79 2d 6d 65 6e 75 2d 64 65 66 69 6e 65 e2 80 99 20 28 pted.by....easy-menu-define....(
45ea0 2a 6e 6f 74 65 20 28 65 6c 69 73 70 29 45 61 73 79 0a 20 20 20 20 20 4d 65 6e 75 3a 3a 29 2e 20 *note.(elisp)Easy......Menu::)..
45ec0 20 48 65 72 65 e2 80 99 73 20 61 20 62 72 69 65 66 20 65 78 61 6d 70 6c 65 20 6f 66 20 74 68 69 .Here...s.a.brief.example.of.thi
45ee0 73 20 75 73 61 67 65 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 6d s.usage:............(define-keym
45f00 61 70 20 3a 66 75 6c 6c 20 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 67 22 20 23 27 65 77 77 ap.:full.t............."g".#'eww
45f20 2d 72 65 6c 6f 61 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 3a 6d 65 6e 75 20 27 28 22 45 77 77 -reload.............:menu.'("Eww
45f40 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 22 45 78 69 74 22 20 71 75 ".....................["Exit".qu
45f60 69 74 2d 77 69 6e 64 6f 77 20 74 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 it-window.t]....................
45f80 20 5b 22 52 65 6c 6f 61 64 22 20 65 77 77 2d 72 65 6c 6f 61 64 20 74 5d 29 29 0a 0a 20 20 20 20 .["Reload".eww-reload.t]))......
45fa0 20 41 20 6e 75 6d 62 65 72 20 6f 66 20 6b 65 79 77 6f 72 64 73 20 63 61 6e 20 62 65 20 75 73 65 .A.number.of.keywords.can.be.use
45fc0 64 20 62 65 66 6f 72 65 20 74 68 65 20 6b 65 79 2f 64 65 66 69 6e 69 74 69 6f 6e 20 70 61 69 72 d.before.the.key/definition.pair
45fe0 73 20 74 6f 0a 20 20 20 20 20 63 68 61 6e 67 65 20 66 65 61 74 75 72 65 73 20 6f 66 20 74 68 65 s.to......change.features.of.the
46000 20 6e 65 77 20 6b 65 79 6d 61 70 2e 20 20 49 66 20 61 6e 79 20 6f 66 20 74 68 65 20 66 65 61 74 .new.keymap...If.any.of.the.feat
46020 75 72 65 20 6b 65 79 77 6f 72 64 73 0a 20 20 20 20 20 69 73 20 6d 69 73 73 69 6e 67 20 66 72 6f ure.keywords......is.missing.fro
46040 6d 20 74 68 65 20 e2 80 98 64 65 66 69 6e 65 2d 6b 65 79 6d 61 70 e2 80 99 20 63 61 6c 6c 2c 20 m.the....define-keymap....call,.
46060 74 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 66 6f 72 0a 20 20 20 20 20 74 68 61 74 20 the.default.value.for......that.
46080 66 65 61 74 75 72 65 20 69 73 20 e2 80 98 6e 69 6c e2 80 99 2e 20 20 48 65 72 65 e2 80 99 73 20 feature.is....nil......Here...s.
460a0 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 61 76 61 69 6c 61 62 6c 65 20 66 65 61 74 75 72 65 0a a.list.of.the.available.feature.
460c0 20 20 20 20 20 6b 65 79 77 6f 72 64 73 3a 0a 0a 20 20 20 20 20 e2 80 98 3a 66 75 6c 6c e2 80 99 .....keywords:..........:full...
460e0 0a 20 20 20 20 20 20 20 20 20 20 49 66 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 63 72 65 ...........If.non-...nil...,.cre
46100 61 74 65 20 61 20 63 68 61 72 2d 74 61 62 6c 65 20 6b 65 79 6d 61 70 20 28 61 73 20 66 72 6f 6d ate.a.char-table.keymap.(as.from
46120 0a 20 20 20 20 20 20 20 20 20 20 e2 80 98 6d 61 6b 65 2d 6b 65 79 6d 61 70 e2 80 99 29 20 69 6e ..............make-keymap...).in
46140 73 74 65 61 64 20 6f 66 20 61 20 73 70 61 72 73 65 20 6b 65 79 6d 61 70 20 28 61 73 20 66 72 6f stead.of.a.sparse.keymap.(as.fro
46160 6d 0a 20 20 20 20 20 20 20 20 20 20 e2 80 98 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b 65 79 6d 61 m..............make-sparse-keyma
46180 70 e2 80 99 20 28 2a 6e 6f 74 65 20 28 65 6c 69 73 70 29 43 72 65 61 74 69 6e 67 20 4b 65 79 6d p....(*note.(elisp)Creating.Keym
461a0 61 70 73 3a 3a 29 2e 20 20 41 0a 20 20 20 20 20 20 20 20 20 20 73 70 61 72 73 65 20 6b 65 79 6d aps::)...A...........sparse.keym
461c0 61 70 20 69 73 20 74 68 65 20 64 65 66 61 75 6c 74 2e 0a 0a 20 20 20 20 20 e2 80 98 3a 70 61 72 ap.is.the.default...........:par
461e0 65 6e 74 e2 80 99 0a 20 20 20 20 20 20 20 20 20 20 49 66 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 ent..............If.non-...nil..
46200 99 2c 20 74 68 65 20 76 61 6c 75 65 20 73 68 6f 75 6c 64 20 62 65 20 61 20 6b 65 79 6d 61 70 20 .,.the.value.should.be.a.keymap.
46220 74 6f 20 75 73 65 20 61 73 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 70 61 72 65 6e 74 20 28 to.use.as.the...........parent.(
46240 2a 6e 6f 74 65 20 28 65 6c 69 73 70 29 49 6e 68 65 72 69 74 61 6e 63 65 20 61 6e 64 20 4b 65 79 *note.(elisp)Inheritance.and.Key
46260 6d 61 70 73 3a 3a 29 2e 0a 0a 20 20 20 20 20 e2 80 98 3a 6b 65 79 6d 61 70 e2 80 99 0a 20 20 20 maps::)...........:keymap.......
46280 20 20 20 20 20 20 20 49 66 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 74 68 65 20 76 61 6c .......If.non-...nil...,.the.val
462a0 75 65 20 73 68 6f 75 6c 64 20 62 65 20 61 20 6b 65 79 6d 61 70 2e 20 20 49 6e 73 74 65 61 64 20 ue.should.be.a.keymap...Instead.
462c0 6f 66 0a 20 20 20 20 20 20 20 20 20 20 63 72 65 61 74 69 6e 67 20 61 20 6e 65 77 20 6b 65 79 6d of...........creating.a.new.keym
462e0 61 70 2c 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 6b 65 79 6d 61 70 20 69 73 20 6d 6f 64 69 ap,.the.specified.keymap.is.modi
46300 66 69 65 64 0a 20 20 20 20 20 20 20 20 20 20 69 6e 73 74 65 61 64 2e 0a 0a 20 20 20 20 20 e2 80 fied...........instead..........
46320 98 3a 73 75 70 70 72 65 73 73 e2 80 99 0a 20 20 20 20 20 20 20 20 20 20 49 66 20 6e 6f 6e 2d e2 .:suppress..............If.non-.
46340 80 98 6e 69 6c e2 80 99 2c 20 74 68 65 20 6b 65 79 6d 61 70 20 77 69 6c 6c 20 62 65 20 73 75 70 ..nil...,.the.keymap.will.be.sup
46360 70 72 65 73 73 65 64 20 77 69 74 68 0a 20 20 20 20 20 20 20 20 20 20 e2 80 98 73 75 70 70 72 65 pressed.with..............suppre
46380 73 73 2d 6b 65 79 6d 61 70 e2 80 99 20 28 2a 6e 6f 74 65 20 28 65 6c 69 73 70 29 43 68 61 6e 67 ss-keymap....(*note.(elisp)Chang
463a0 69 6e 67 20 4b 65 79 20 42 69 6e 64 69 6e 67 73 3a 3a 29 2e 20 20 42 79 0a 20 20 20 20 20 20 20 ing.Key.Bindings::)...By........
463c0 20 20 20 64 65 66 61 75 6c 74 2c 20 64 69 67 69 74 73 20 61 6e 64 20 74 68 65 20 6d 69 6e 75 73 ...default,.digits.and.the.minus
463e0 20 73 69 67 6e 20 61 72 65 20 65 78 65 6d 70 74 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 20 20 .sign.are.exempt.from...........
46400 73 75 70 70 72 65 73 73 69 6e 67 2c 20 62 75 74 20 69 66 20 74 68 65 20 76 61 6c 75 65 20 69 73 suppressing,.but.if.the.value.is
46420 20 e2 80 98 6e 6f 64 69 67 69 74 73 e2 80 99 2c 20 74 68 69 73 20 73 75 70 70 72 65 73 73 65 73 ....nodigits...,.this.suppresses
46440 0a 20 20 20 20 20 20 20 20 20 20 64 69 67 69 74 73 20 61 6e 64 20 6d 69 6e 75 73 2d 73 69 67 6e ...........digits.and.minus-sign
46460 20 6c 69 6b 65 20 69 74 20 64 6f 65 73 20 77 69 74 68 20 6f 74 68 65 72 20 63 68 61 72 61 63 74 .like.it.does.with.other.charact
46480 65 72 73 2e 0a 0a 20 20 20 20 20 e2 80 98 3a 6e 61 6d 65 e2 80 99 0a 20 20 20 20 20 20 20 20 20 ers...........:name.............
464a0 20 49 66 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 74 68 65 20 76 61 6c 75 65 20 73 68 6f .If.non-...nil...,.the.value.sho
464c0 75 6c 64 20 62 65 20 61 20 73 74 72 69 6e 67 20 74 6f 20 75 73 65 20 61 73 20 74 68 65 20 6d 65 uld.be.a.string.to.use.as.the.me
464e0 6e 75 0a 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 74 68 65 20 6b 65 79 6d 61 70 20 69 66 20 79 nu...........for.the.keymap.if.y
46500 6f 75 20 75 73 65 20 69 74 20 61 73 20 61 20 6d 65 6e 75 20 77 69 74 68 20 e2 80 98 78 2d 70 6f ou.use.it.as.a.menu.with....x-po
46520 70 75 70 2d 6d 65 6e 75 e2 80 99 0a 20 20 20 20 20 20 20 20 20 20 28 2a 6e 6f 74 65 20 28 65 6c pup-menu..............(*note.(el
46540 69 73 70 29 50 6f 70 2d 55 70 20 4d 65 6e 75 73 3a 3a 29 2e 0a 0a 20 20 20 20 20 e2 80 98 3a 70 isp)Pop-Up.Menus::)...........:p
46560 72 65 66 69 78 e2 80 99 0a 20 20 20 20 20 20 20 20 20 20 49 66 20 6e 6f 6e 2d e2 80 98 6e 69 6c refix..............If.non-...nil
46580 e2 80 99 2c 20 74 68 65 20 76 61 6c 75 65 20 73 68 6f 75 6c 64 20 62 65 20 61 20 73 79 6d 62 6f ...,.the.value.should.be.a.symbo
465a0 6c 20 74 6f 20 62 65 20 75 73 65 64 20 61 73 20 61 0a 20 20 20 20 20 20 20 20 20 20 70 72 65 66 l.to.be.used.as.a...........pref
465c0 69 78 20 63 6f 6d 6d 61 6e 64 20 28 2a 6e 6f 74 65 20 28 65 6c 69 73 70 29 50 72 65 66 69 78 20 ix.command.(*note.(elisp)Prefix.
465e0 4b 65 79 73 3a 3a 29 2e 20 20 49 66 20 74 68 69 73 20 69 73 20 74 68 65 0a 20 20 20 20 20 20 20 Keys::)...If.this.is.the........
46600 20 20 20 63 61 73 65 2c 20 74 68 69 73 20 73 79 6d 62 6f 6c 20 69 73 20 72 65 74 75 72 6e 65 64 ...case,.this.symbol.is.returned
46620 20 62 79 20 e2 80 98 64 65 66 69 6e 65 2d 6b 65 79 6d 61 70 e2 80 99 20 69 6e 73 74 65 61 64 20 .by....define-keymap....instead.
46640 6f 66 0a 20 20 20 20 20 20 20 20 20 20 74 68 65 20 6d 61 70 20 69 74 73 65 6c 66 2e 0a 0a 20 2d of...........the.map.itself....-
46660 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 64 65 66 76 61 72 2d 6b 65 79 6d 61 70 20 28 76 61 72 69 61 -.Function:.defvar-keymap.(varia
46680 62 6c 65 2d 6e 61 6d 65 20 26 72 65 73 74 20 64 65 66 73 29 0a 20 20 20 20 20 42 79 20 66 61 72 ble-name.&rest.defs)......By.far
466a0 2c 20 74 68 65 20 6d 6f 73 74 20 63 6f 6d 6d 6f 6e 20 74 68 69 6e 67 20 74 6f 20 64 6f 20 77 69 ,.the.most.common.thing.to.do.wi
466c0 74 68 20 61 20 6b 65 79 6d 61 70 20 69 73 20 74 6f 20 62 69 6e 64 20 69 74 20 74 6f 0a 20 20 20 th.a.keymap.is.to.bind.it.to....
466e0 20 20 61 20 76 61 72 69 61 62 6c 65 2e 20 20 54 68 69 73 20 69 73 20 77 68 61 74 20 76 69 72 74 ..a.variable...This.is.what.virt
46700 75 61 6c 6c 79 20 61 6c 6c 20 6d 6f 64 65 73 20 64 6f e2 80 94 61 20 6d 6f 64 65 20 63 61 6c 6c ually.all.modes.do...a.mode.call
46720 65 64 0a 20 20 20 20 20 e2 80 98 66 6f 6f e2 80 99 20 61 6c 6d 6f 73 74 20 61 6c 77 61 79 73 20 ed.........foo....almost.always.
46740 68 61 73 20 61 20 76 61 72 69 61 62 6c 65 20 63 61 6c 6c 65 64 20 e2 80 98 66 6f 6f 2d 6d 6f 64 has.a.variable.called....foo-mod
46760 65 2d 6d 61 70 e2 80 99 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 6d 61 63 72 6f 20 64 65 66 69 6e e-map...........This.macro.defin
46780 65 73 20 4e 41 4d 45 20 61 73 20 61 20 76 61 72 69 61 62 6c 65 2c 20 70 61 73 73 65 73 20 4f 50 es.NAME.as.a.variable,.passes.OP
467a0 54 49 4f 4e 53 20 61 6e 64 20 50 41 49 52 53 20 74 6f 0a 20 20 20 20 20 e2 80 98 64 65 66 69 6e TIONS.and.PAIRS.to.........defin
467c0 65 2d 6b 65 79 6d 61 70 e2 80 99 2c 20 61 6e 64 20 75 73 65 73 20 74 68 65 20 72 65 73 75 6c 74 e-keymap...,.and.uses.the.result
467e0 20 61 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 0a 20 20 .as.the.default.value.for.the...
46800 20 20 20 76 61 72 69 61 62 6c 65 2e 0a 0a 20 20 20 20 20 4f 50 54 49 4f 4e 53 20 69 73 20 6c 69 ...variable........OPTIONS.is.li
46820 6b 65 20 74 68 65 20 6b 65 79 77 6f 72 64 73 20 69 6e 20 e2 80 98 64 65 66 69 6e 65 2d 6b 65 79 ke.the.keywords.in....define-key
46840 6d 61 70 e2 80 99 2c 20 62 75 74 20 74 68 65 72 65 e2 80 99 73 20 61 6e 0a 20 20 20 20 20 61 64 map...,.but.there...s.an......ad
46860 64 69 74 69 6f 6e 61 6c 20 e2 80 98 3a 64 6f 63 e2 80 99 20 6b 65 79 77 6f 72 64 20 74 68 61 74 ditional....:doc....keyword.that
46880 20 70 72 6f 76 69 64 65 73 20 74 68 65 20 64 6f 63 20 73 74 72 69 6e 67 20 66 6f 72 20 74 68 65 .provides.the.doc.string.for.the
468a0 0a 20 20 20 20 20 64 65 66 69 6e 65 64 20 76 61 72 69 61 62 6c 65 2e 0a 0a 20 20 20 20 20 48 65 ......defined.variable........He
468c0 72 65 e2 80 99 73 20 61 6e 20 65 78 61 6d 70 6c 65 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 28 64 re...s.an.example:............(d
468e0 65 66 76 61 72 2d 6b 65 79 6d 61 70 20 65 77 77 2d 74 65 78 74 61 72 65 61 2d 6d 61 70 0a 20 20 efvar-keymap.eww-textarea-map...
46900 20 20 20 20 20 20 20 20 20 20 3a 70 61 72 65 6e 74 20 74 65 78 74 2d 6d 6f 64 65 2d 6d 61 70 0a ..........:parent.text-mode-map.
46920 20 20 20 20 20 20 20 20 20 20 20 20 22 52 45 54 22 20 23 27 66 6f 72 77 61 72 64 2d 6c 69 6e 65 ............"RET".#'forward-line
46940 0a 20 20 20 20 20 20 20 20 20 20 20 20 22 54 41 42 22 20 23 27 73 68 72 2d 6e 65 78 74 2d 6c 69 ............."TAB".#'shr-next-li
46960 6e 6b 29 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 77 68 69 6c 65 2d 6c 65 74 20 73 70 65 63 20 74 nk)...--.Macro:.while-let.spec.t
46980 68 65 6e 2d 66 6f 72 6d 73 2e 2e 2e 0a 20 20 20 20 20 4c 69 6b 65 20 e2 80 98 77 68 65 6e 2d 6c hen-forms.........Like....when-l
469a0 65 74 e2 80 99 2c 20 62 75 74 20 72 65 70 65 61 74 20 75 6e 74 69 6c 20 61 20 62 69 6e 64 69 6e et...,.but.repeat.until.a.bindin
469c0 67 20 69 6e 20 53 50 45 43 20 69 73 20 e2 80 98 6e 69 6c e2 80 99 2e 20 20 54 68 65 0a 20 20 20 g.in.SPEC.is....nil......The....
469e0 20 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 61 6c 77 61 79 73 20 e2 80 98 6e 69 6c e2 ..return.value.is.always....nil.
46a00 80 99 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 69 73 20 63 6f 6d 70 61 72 61 62 6c 65 20 74 6f 20 ..........This.is.comparable.to.
46a20 e2 80 98 61 6e 64 2d 6c 65 74 2a e2 80 99 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 77 ...and-let*.......--.Function:.w
46a40 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2d 65 71 75 61 6c 2d 70 20 63 6f 6e 66 indow-configuration-equal-p.conf
46a60 69 67 31 20 63 6f 6e 66 69 67 32 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 ig1.config2......This.function.s
46a80 61 79 73 20 77 68 65 74 68 65 72 20 74 77 6f 20 77 69 6e 64 6f 77 20 63 6f 6e 66 69 67 75 72 61 ays.whether.two.window.configura
46aa0 74 69 6f 6e 73 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 20 77 69 6e 64 6f 77 20 tions.have.the.same......window.
46ac0 6c 61 79 6f 75 74 2c 20 62 75 74 20 69 67 6e 6f 72 65 73 20 74 68 65 20 76 61 6c 75 65 73 20 6f layout,.but.ignores.the.values.o
46ae0 66 20 70 6f 69 6e 74 20 61 6e 64 20 74 68 65 20 73 61 76 65 64 0a 20 20 20 20 20 73 63 72 6f 6c f.point.and.the.saved......scrol
46b00 6c 69 6e 67 20 70 6f 73 69 74 69 6f 6e 73 e2 80 94 69 74 20 63 61 6e 20 72 65 74 75 72 6e 20 e2 ling.positions...it.can.return..
46b20 80 98 74 e2 80 99 20 65 76 65 6e 20 69 66 20 74 68 6f 73 65 20 61 73 70 65 63 74 73 20 64 69 66 ..t....even.if.those.aspects.dif
46b40 66 65 72 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 65 72 74 2d 77 69 74 68 2d 74 65 6d 70 2d 66 fer....--.Macro:.ert-with-temp-f
46b60 69 6c 65 20 6e 61 6d 65 20 26 72 65 73 74 20 62 6f 64 79 0a 20 20 20 20 20 42 69 6e 64 20 4e 41 ile.name.&rest.body......Bind.NA
46b80 4d 45 20 74 6f 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 20 6e 65 77 20 74 65 6d 70 6f 72 61 72 ME.to.the.name.of.a.new.temporar
46ba0 79 20 66 69 6c 65 20 61 6e 64 20 65 76 61 6c 75 61 74 65 20 42 4f 44 59 2e 0a 20 20 20 20 20 44 y.file.and.evaluate.BODY.......D
46bc0 65 6c 65 74 65 20 74 68 65 20 74 65 6d 70 6f 72 61 72 79 20 66 69 6c 65 20 61 66 74 65 72 20 42 elete.the.temporary.file.after.B
46be0 4f 44 59 20 65 78 69 74 73 20 6e 6f 72 6d 61 6c 6c 79 20 6f 72 20 6e 6f 6e 2d 6c 6f 63 61 6c 6c ODY.exits.normally.or.non-locall
46c00 79 2e 0a 20 20 20 20 20 4e 41 4d 45 20 77 69 6c 6c 20 62 65 20 62 6f 75 6e 64 20 74 6f 20 74 68 y.......NAME.will.be.bound.to.th
46c20 65 20 66 69 6c 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 74 65 6d 70 6f 72 61 72 79 20 66 69 6c e.file.name.of.the.temporary.fil
46c40 65 2e 20 20 53 65 65 20 74 68 65 0a 20 20 20 20 20 64 6f 63 73 74 72 69 6e 67 20 66 6f 72 20 73 e...See.the......docstring.for.s
46c60 75 70 70 6f 72 74 65 64 20 6b 65 79 77 6f 72 64 20 61 72 67 75 6d 65 6e 74 73 2e 0a 0a 20 2d 2d upported.keyword.arguments....--
46c80 20 4d 61 63 72 6f 3a 20 65 72 74 2d 77 69 74 68 2d 74 65 6d 70 2d 64 69 72 65 63 74 6f 72 79 20 .Macro:.ert-with-temp-directory.
46ca0 6e 61 6d 65 20 26 72 65 73 74 20 62 6f 64 79 0a 20 20 20 20 20 42 69 6e 64 20 4e 41 4d 45 20 74 name.&rest.body......Bind.NAME.t
46cc0 6f 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 61 20 6e 65 77 20 74 65 6d 70 6f 72 61 72 79 20 64 69 o.the.name.of.a.new.temporary.di
46ce0 72 65 63 74 6f 72 79 20 61 6e 64 20 65 76 61 6c 75 61 74 65 0a 20 20 20 20 20 42 4f 44 59 2e 20 rectory.and.evaluate......BODY..
46d00 20 44 65 6c 65 74 65 20 74 68 65 20 74 65 6d 70 6f 72 61 72 79 20 64 69 72 65 63 74 6f 72 79 20 .Delete.the.temporary.directory.
46d20 61 66 74 65 72 20 42 4f 44 59 20 65 78 69 74 73 20 6e 6f 72 6d 61 6c 6c 79 20 6f 72 0a 20 20 20 after.BODY.exits.normally.or....
46d40 20 20 6e 6f 6e 2d 6c 6f 63 61 6c 6c 79 2e 0a 0a 20 20 20 20 20 4e 41 4d 45 20 69 73 20 62 6f 75 ..non-locally........NAME.is.bou
46d60 6e 64 20 74 6f 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65 2c 20 6e 6f 74 20 74 68 nd.to.the.directory.name,.not.th
46d80 65 20 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 20 6e 61 6d 65 2e 0a 20 20 20 20 20 28 49 6e 20 e.directory.file.name.......(In.
46da0 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 69 74 20 77 69 6c 6c 20 65 6e 64 20 77 69 74 68 20 74 68 other.words,.it.will.end.with.th
46dc0 65 20 64 69 72 65 63 74 6f 72 79 20 64 65 6c 69 6d 69 74 65 72 3b 20 6f 6e 0a 20 20 20 20 20 55 e.directory.delimiter;.on......U
46de0 6e 69 78 2d 6c 69 6b 65 20 73 79 73 74 65 6d 73 2c 20 69 74 20 77 69 6c 6c 20 65 6e 64 20 77 69 nix-like.systems,.it.will.end.wi
46e00 74 68 20 22 2f 22 2e 29 0a 0a 20 20 20 20 20 54 68 65 20 73 61 6d 65 20 6b 65 79 77 6f 72 64 20 th."/".).......The.same.keyword.
46e20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 73 75 70 70 6f 72 74 65 64 20 61 73 20 69 6e 20 e2 80 arguments.are.supported.as.in...
46e40 98 65 72 74 2d 77 69 74 68 2d 74 65 6d 70 2d 66 69 6c 65 e2 80 99 0a 20 20 20 20 20 28 77 68 69 .ert-with-temp-file.........(whi
46e60 63 68 20 73 65 65 29 2c 20 65 78 63 65 70 74 20 66 6f 72 20 e2 80 98 3a 74 65 78 74 e2 80 99 2e ch.see),.except.for....:text....
46e80 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 63 6c 2d 63 6f 6e 73 74 61 6e 74 6c 79 20 76 61 ...--.Function:.cl-constantly.va
46ea0 6c 75 65 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 lue......Return.a.function.that.
46ec0 74 61 6b 65 73 20 61 6e 79 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 6d 65 6e 74 73 2c 20 62 takes.any.number.of.arguments,.b
46ee0 75 74 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 56 41 4c 55 45 2e 0a 0a 20 2d 2d 20 4d 61 63 72 ut.returns......VALUE....--.Macr
46f00 6f 3a 20 63 6c 2d 77 69 74 68 2d 67 65 6e 73 79 6d 73 20 6e 61 6d 65 73 2e 2e 2e 20 62 6f 64 79 o:.cl-with-gensyms.names....body
46f20 0a 20 20 20 20 20 54 68 69 73 20 6d 61 63 72 6f 20 65 78 70 61 6e 64 73 20 74 6f 20 63 6f 64 65 ......This.macro.expands.to.code
46f40 20 74 68 61 74 20 65 78 65 63 75 74 65 73 20 42 4f 44 59 20 77 69 74 68 20 65 61 63 68 20 6f 66 .that.executes.BODY.with.each.of
46f60 20 74 68 65 0a 20 20 20 20 20 76 61 72 69 61 62 6c 65 73 20 69 6e 20 4e 41 4d 45 53 20 62 6f 75 .the......variables.in.NAMES.bou
46f80 6e 64 20 74 6f 20 61 20 66 72 65 73 68 20 75 6e 69 6e 74 65 72 6e 65 64 20 73 79 6d 62 6f 6c 2c nd.to.a.fresh.uninterned.symbol,
46fa0 20 6f 72 20 e2 80 9c 67 65 6e 73 79 6d e2 80 9d 2c 0a 20 20 20 20 20 69 6e 20 43 6f 6d 6d 6f 6e .or....gensym...,......in.Common
46fc0 20 4c 69 73 70 20 70 61 72 6c 61 6e 63 65 2e 20 20 46 6f 72 20 6d 61 63 72 6f 73 20 72 65 71 75 .Lisp.parlance...For.macros.requ
46fe0 69 72 69 6e 67 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 0a 20 20 20 20 20 67 65 6e 73 79 6d 2c iring.more.than.one......gensym,
47000 20 75 73 65 20 6f 66 20 e2 80 98 63 6c 2d 77 69 74 68 2d 67 65 6e 73 79 6d 73 e2 80 99 20 73 68 .use.of....cl-with-gensyms....sh
47020 6f 72 74 65 6e 73 20 74 68 65 20 63 6f 64 65 20 61 6e 64 20 72 65 6e 64 65 72 73 0a 20 20 20 20 ortens.the.code.and.renders.....
47040 20 6f 6e 65 e2 80 99 73 20 69 6e 74 65 6e 74 69 6f 6e 73 20 63 6c 65 61 72 65 72 2e 20 20 43 6f .one...s.intentions.clearer...Co
47060 6d 70 61 72 65 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 28 64 65 66 6d 61 63 72 6f 20 6d 79 2d 6d mpare:............(defmacro.my-m
47080 61 63 72 6f 20 28 66 6f 6f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 62 61 acro.(foo).............(let.((ba
470a0 72 20 28 67 65 6e 73 79 6d 20 22 62 61 72 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r.(gensym."bar"))...............
470c0 20 20 20 20 28 62 61 7a 20 28 67 65 6e 73 79 6d 20 22 62 61 7a 22 29 29 0a 20 20 20 20 20 20 20 ....(baz.(gensym."baz"))........
470e0 20 20 20 20 20 20 20 20 20 20 20 28 71 75 75 78 20 28 67 65 6e 73 79 6d 20 22 71 75 75 78 22 29 ...........(quux.(gensym."quux")
47100 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 6c 65 74 20 28 28 2c 62 61 72 20 28 2b ))...............`(let.((,bar.(+
47120 20 2e 2e 2e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2e 2e 2e 29 29 29 0a ....))).....................))).
47140 0a 20 20 20 20 20 20 20 20 20 20 28 64 65 66 6d 61 63 72 6f 20 6d 79 2d 6d 61 63 72 6f 20 28 66 ...........(defmacro.my-macro.(f
47160 6f 6f 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 77 69 74 68 2d 67 65 6e 73 79 6d 73 oo).............(cl-with-gensyms
47180 20 28 62 61 72 20 62 61 7a 20 71 75 75 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 .(bar.baz.quux)...............`(
471a0 6c 65 74 20 28 28 2c 62 61 72 20 28 2b 20 2e 2e 2e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 let.((,bar.(+....)))............
471c0 20 20 20 20 20 20 2e 2e 2e 29 29 29 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 63 6c 2d 6f 6e 63 65 .........)))...--.Macro:.cl-once
471e0 2d 6f 6e 6c 79 20 28 28 76 61 72 69 61 62 6c 65 20 66 6f 72 6d 29 2e 2e 2e 29 20 62 6f 64 79 0a -only.((variable.form)...).body.
47200 20 20 20 20 20 54 68 69 73 20 6d 61 63 72 6f 20 69 73 20 70 72 69 6d 61 72 69 6c 79 20 74 6f 20 .....This.macro.is.primarily.to.
47220 68 65 6c 70 20 74 68 65 20 6d 61 63 72 6f 20 70 72 6f 67 72 61 6d 6d 65 72 20 65 6e 73 75 72 65 help.the.macro.programmer.ensure
47240 20 74 68 61 74 0a 20 20 20 20 20 66 6f 72 6d 73 20 73 75 70 70 6c 69 65 64 20 62 79 20 74 68 65 .that......forms.supplied.by.the
47260 20 75 73 65 72 20 6f 66 20 74 68 65 20 6d 61 63 72 6f 20 61 72 65 20 65 76 61 6c 75 61 74 65 64 .user.of.the.macro.are.evaluated
47280 20 6a 75 73 74 20 6f 6e 63 65 20 62 79 0a 20 20 20 20 20 69 74 73 20 65 78 70 61 6e 73 69 6f 6e .just.once.by......its.expansion
472a0 20 65 76 65 6e 20 74 68 6f 75 67 68 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 65 76 61 6c 75 .even.though.the.result.of.evalu
472c0 61 74 69 6e 67 20 74 68 65 20 66 6f 72 6d 20 69 73 20 74 6f 0a 20 20 20 20 20 6f 63 63 75 72 20 ating.the.form.is.to......occur.
472e0 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 63 65 2e 20 20 4c 65 73 73 20 6f 66 74 65 6e 2c 20 74 68 69 more.than.once...Less.often,.thi
47300 73 20 6d 61 63 72 6f 20 69 73 20 75 73 65 64 20 74 6f 20 65 6e 73 75 72 65 0a 20 20 20 20 20 74 s.macro.is.used.to.ensure......t
47320 68 61 74 20 66 6f 72 6d 73 20 73 75 70 70 6c 69 65 64 20 62 79 20 74 68 65 20 6d 61 63 72 6f 20 hat.forms.supplied.by.the.macro.
47340 70 72 6f 67 72 61 6d 6d 65 72 20 61 72 65 20 65 76 61 6c 75 61 74 65 64 20 6a 75 73 74 0a 20 20 programmer.are.evaluated.just...
47360 20 20 20 6f 6e 63 65 2e 0a 0a 20 20 20 20 20 45 61 63 68 20 56 41 52 49 41 42 4c 45 20 6d 61 79 ...once........Each.VARIABLE.may
47380 20 62 65 20 75 73 65 64 20 74 6f 20 72 65 66 65 72 20 74 6f 20 74 68 65 20 72 65 73 75 6c 74 20 .be.used.to.refer.to.the.result.
473a0 6f 66 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 0a 20 20 20 20 20 69 6e 20 42 4f 44 59 2e of.evaluating.FORM......in.BODY.
473c0 20 20 e2 80 98 63 6c 2d 6f 6e 63 65 2d 6f 6e 6c 79 e2 80 99 20 62 69 6e 64 73 20 65 61 63 68 20 .....cl-once-only....binds.each.
473e0 56 41 52 49 41 42 4c 45 20 74 6f 20 61 20 66 72 65 73 68 20 75 6e 69 6e 74 65 72 6e 65 64 0a 20 VARIABLE.to.a.fresh.uninterned..
47400 20 20 20 20 73 79 6d 62 6f 6c 20 64 75 72 69 6e 67 20 74 68 65 20 65 76 61 6c 75 61 74 69 6f 6e ....symbol.during.the.evaluation
47420 20 6f 66 20 42 4f 44 59 2e 20 20 54 68 65 6e 2c 20 e2 80 98 63 6c 2d 6f 6e 63 65 2d 6f 6e 6c 79 .of.BODY...Then,....cl-once-only
47440 e2 80 99 20 77 72 61 70 73 0a 20 20 20 20 20 74 68 65 20 66 69 6e 61 6c 20 65 78 70 61 6e 73 69 ....wraps......the.final.expansi
47460 6f 6e 20 69 6e 20 63 6f 64 65 20 74 6f 20 65 76 61 6c 75 61 74 65 20 65 61 63 68 20 46 4f 52 4d on.in.code.to.evaluate.each.FORM
47480 20 61 6e 64 20 62 69 6e 64 20 74 68 65 0a 20 20 20 20 20 72 65 73 75 6c 74 20 74 6f 20 74 68 65 .and.bind.the......result.to.the
474a0 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 75 6e 69 6e 74 65 72 6e 65 64 20 73 79 6d 62 6f 6c .corresponding.uninterned.symbol
474c0 2e 20 20 54 68 75 73 2c 20 77 68 65 6e 20 74 68 65 0a 20 20 20 20 20 6d 61 63 72 6f 20 77 72 69 ...Thus,.when.the......macro.wri
474e0 74 65 72 20 73 75 62 73 74 69 74 75 74 65 73 20 74 68 65 20 76 61 6c 75 65 20 66 6f 72 20 56 41 ter.substitutes.the.value.for.VA
47500 52 49 41 42 4c 45 20 69 6e 74 6f 20 74 68 65 20 65 78 70 61 6e 73 69 6f 6e 0a 20 20 20 20 20 74 RIABLE.into.the.expansion......t
47520 68 65 79 20 61 72 65 20 65 66 66 65 63 74 69 76 65 6c 79 20 72 65 66 65 72 72 69 6e 67 20 74 6f hey.are.effectively.referring.to
47540 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2c 0a .the.result.of.evaluating.FORM,.
47560 20 20 20 20 20 72 61 74 68 65 72 20 74 68 61 6e 20 46 4f 52 4d 20 69 74 73 65 6c 66 2e 20 20 41 .....rather.than.FORM.itself...A
47580 6e 6f 74 68 65 72 20 77 61 79 20 74 6f 20 70 75 74 20 74 68 69 73 20 69 73 20 74 68 61 74 20 65 nother.way.to.put.this.is.that.e
475a0 61 63 68 0a 20 20 20 20 20 56 41 52 49 41 42 4c 45 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 61 6e ach......VARIABLE.is.bound.to.an
475c0 20 65 78 70 72 65 73 73 69 6f 6e 20 66 6f 72 20 74 68 65 20 28 73 69 6e 67 75 6c 61 72 29 20 72 .expression.for.the.(singular).r
475e0 65 73 75 6c 74 20 6f 66 0a 20 20 20 20 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 2e 0a 0a esult.of......evaluating.FORM...
47600 20 20 20 20 20 54 68 65 20 6d 6f 73 74 20 63 6f 6d 6d 6f 6e 20 63 61 73 65 20 69 73 20 77 68 65 .....The.most.common.case.is.whe
47620 72 65 20 56 41 52 49 41 42 4c 45 20 69 73 20 6f 6e 65 20 6f 66 20 74 68 65 20 61 72 67 75 6d 65 re.VARIABLE.is.one.of.the.argume
47640 6e 74 73 20 74 6f 0a 20 20 20 20 20 74 68 65 20 6d 61 63 72 6f 20 62 65 69 6e 67 20 77 72 69 74 nts.to......the.macro.being.writ
47660 74 65 6e 2c 20 73 6f 20 e2 80 98 28 76 61 72 69 61 62 6c 65 20 76 61 72 69 61 62 6c 65 29 e2 80 ten,.so....(variable.variable)..
47680 99 20 6d 61 79 20 62 65 0a 20 20 20 20 20 61 62 62 72 65 76 69 61 74 65 64 20 74 6f 20 6a 75 73 ..may.be......abbreviated.to.jus
476a0 74 20 e2 80 98 76 61 72 69 61 62 6c 65 e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 20 65 78 61 6d t....variable...........For.exam
476c0 70 6c 65 2c 20 63 6f 6e 73 69 64 65 72 20 74 68 69 73 20 6d 61 63 72 6f 3a 0a 0a 20 20 20 20 20 ple,.consider.this.macro:.......
476e0 20 20 20 20 20 28 64 65 66 6d 61 63 72 6f 20 6d 79 2d 6c 69 73 74 20 28 78 20 79 20 26 72 65 73 .....(defmacro.my-list.(x.y.&res
47700 74 20 66 6f 72 6d 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 78 2d 72 65 t.forms).............(let.((x-re
47720 73 75 6c 74 20 28 67 65 6e 73 79 6d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 sult.(gensym))..................
47740 20 28 79 2d 72 65 73 75 6c 74 20 28 67 65 6e 73 79 6d 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 .(y-result.(gensym)))...........
47760 20 20 20 20 60 28 6c 65 74 20 28 28 2c 78 2d 72 65 73 75 6c 74 20 2c 78 29 0a 20 20 20 20 20 20 ....`(let.((,x-result.,x).......
47780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2c 79 2d 72 65 73 75 6c 74 20 2c 79 29 29 0a 20 ...............(,y-result.,y))..
477a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 2c 78 2d 72 65 73 75 6c 74 20 ................(list.,x-result.
477c0 2c 79 2d 72 65 73 75 6c 74 20 2c 78 2d 72 65 73 75 6c 74 20 2c 79 2d 72 65 73 75 6c 74 0a 20 20 ,y-result.,x-result.,y-result...
477e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 20 2c 40 66 6f .....................(progn.,@fo
47800 72 6d 73 29 29 29 29 0a 0a 20 20 20 20 20 49 6e 20 61 20 63 61 6c 6c 20 6c 69 6b 65 20 e2 80 98 rms)))).......In.a.call.like....
47820 28 6d 79 2d 6c 69 73 74 20 28 70 6f 70 20 66 6f 6f 29 20 2e 2e 2e 29 e2 80 99 20 74 68 65 20 69 (my-list.(pop.foo)....)....the.i
47840 6e 74 65 72 6d 65 64 69 61 74 65 20 62 69 6e 64 69 6e 67 0a 20 20 20 20 20 74 6f 20 e2 80 98 78 ntermediate.binding......to....x
47860 2d 72 65 73 75 6c 74 e2 80 99 20 65 6e 73 75 72 65 73 20 74 68 61 74 20 74 68 65 20 e2 80 98 70 -result....ensures.that.the....p
47880 6f 70 e2 80 99 20 69 73 20 6e 6f 74 20 64 6f 6e 65 20 74 77 69 63 65 2e 20 20 42 75 74 20 61 73 op....is.not.done.twice...But.as
478a0 20 61 0a 20 20 20 20 20 72 65 73 75 6c 74 20 74 68 65 20 63 6f 64 65 20 69 73 20 72 61 74 68 65 .a......result.the.code.is.rathe
478c0 72 20 63 6f 6d 70 6c 65 78 3a 20 74 68 65 20 72 65 61 64 65 72 20 6d 75 73 74 20 6b 65 65 70 20 r.complex:.the.reader.must.keep.
478e0 74 72 61 63 6b 20 6f 66 0a 20 20 20 20 20 68 6f 77 20 e2 80 98 78 2d 72 65 73 75 6c 74 e2 80 99 track.of......how....x-result...
47900 20 72 65 61 6c 6c 79 20 6a 75 73 74 20 6d 65 61 6e 73 20 74 68 65 20 66 69 72 73 74 20 70 61 72 .really.just.means.the.first.par
47920 61 6d 65 74 65 72 20 6f 66 20 74 68 65 20 63 61 6c 6c 20 74 6f 0a 20 20 20 20 20 74 68 65 20 6d ameter.of.the.call.to......the.m
47940 61 63 72 6f 2c 20 61 6e 64 20 74 68 65 20 72 65 71 75 69 72 65 64 20 75 73 65 20 6f 66 20 6d 75 acro,.and.the.required.use.of.mu
47960 6c 74 69 70 6c 65 20 67 65 6e 73 79 6d 73 20 74 6f 20 61 76 6f 69 64 0a 20 20 20 20 20 76 61 72 ltiple.gensyms.to.avoid......var
47980 69 61 62 6c 65 20 63 61 70 74 75 72 65 20 62 79 20 e2 80 98 28 70 72 6f 67 6e 20 2c 40 66 6f 72 iable.capture.by....(progn.,@for
479a0 6d 73 29 e2 80 99 20 6f 62 73 63 75 72 65 73 20 74 68 69 6e 67 73 20 66 75 72 74 68 65 72 2e 0a ms)....obscures.things.further..
479c0 20 20 20 20 20 e2 80 98 63 6c 2d 6f 6e 63 65 2d 6f 6e 6c 79 e2 80 99 20 74 61 6b 65 73 20 63 61 ........cl-once-only....takes.ca
479e0 72 65 20 6f 66 20 74 68 65 73 65 20 64 65 74 61 69 6c 73 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 re.of.these.details:............
47a00 28 64 65 66 6d 61 63 72 6f 20 6d 79 2d 6c 69 73 74 20 28 78 20 79 20 26 72 65 73 74 20 66 6f 72 (defmacro.my-list.(x.y.&rest.for
47a20 6d 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 6f 6e 63 65 2d 6f 6e 6c 79 20 28 78 ms).............(cl-once-only.(x
47a40 20 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 6c 69 73 74 20 2c 78 20 2c 79 20 2c .y)...............`(list.,x.,y.,
47a60 78 20 2c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e x.,y......................(progn
47a80 20 2c 40 66 6f 72 6d 73 29 29 29 29 0a 0a 32 2e 35 2e 32 20 45 78 74 65 6e 64 65 64 20 44 65 66 .,@forms))))..2.5.2.Extended.Def
47aa0 69 6e 69 74 69 6f 6e 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d initions.-----------------------
47ac0 2d 2d 2d 0a 0a 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 6d 75 73 74 20 62 65 20 63 61 6c ---..These.functions.must.be.cal
47ae0 6c 65 64 20 65 78 70 6c 69 63 69 74 6c 79 20 76 69 61 20 e2 80 98 63 6f 6d 70 61 74 2d 63 61 6c led.explicitly.via....compat-cal
47b00 6c e2 80 99 2c 20 73 69 6e 63 65 20 74 68 65 69 72 0a 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e l...,.since.their.calling.conven
47b20 74 69 6f 6e 20 6f 72 20 62 65 68 61 76 69 6f 72 20 77 61 73 20 65 78 74 65 6e 64 65 64 20 69 6e tion.or.behavior.was.extended.in
47b40 20 45 6d 61 63 73 20 32 39 2e 31 3a 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 63 6f 6d 70 .Emacs.29.1:...--.Function:.comp
47b60 61 74 2d 63 61 6c 6c 20 73 65 74 2d 74 72 61 6e 73 69 65 6e 74 2d 6d 61 70 20 6b 65 79 6d 61 70 at-call.set-transient-map.keymap
47b80 20 26 6f 70 74 69 6f 6e 61 6c 20 6b 65 65 70 2d 70 72 65 64 0a 20 20 20 20 20 20 20 20 20 20 6f .&optional.keep-pred...........o
47ba0 6e 2d 65 78 69 74 20 6d 65 73 73 61 67 65 20 74 69 6d 65 6f 75 74 0a 20 20 20 20 20 54 68 69 73 n-exit.message.timeout......This
47bc0 20 66 75 6e 63 74 69 6f 6e 20 61 64 64 73 20 4b 45 59 4d 41 50 20 61 73 20 61 20 e2 80 9c 74 72 .function.adds.KEYMAP.as.a....tr
47be0 61 6e 73 69 65 6e 74 e2 80 9d 20 6b 65 79 6d 61 70 2c 20 77 68 69 63 68 20 74 61 6b 65 73 0a 20 ansient....keymap,.which.takes..
47c00 20 20 20 20 70 72 65 63 65 64 65 6e 63 65 20 6f 76 65 72 20 6f 74 68 65 72 20 6b 65 79 6d 61 70 ....precedence.over.other.keymap
47c20 73 20 66 6f 72 20 6f 6e 65 20 28 6f 72 20 6d 6f 72 65 29 20 73 75 62 73 65 71 75 65 6e 74 20 6b s.for.one.(or.more).subsequent.k
47c40 65 79 73 2e 0a 0a 20 20 20 20 20 4e 6f 72 6d 61 6c 6c 79 2c 20 4b 45 59 4d 41 50 20 69 73 20 75 eys........Normally,.KEYMAP.is.u
47c60 73 65 64 20 6a 75 73 74 20 6f 6e 63 65 2c 20 74 6f 20 6c 6f 6f 6b 20 75 70 20 74 68 65 20 76 65 sed.just.once,.to.look.up.the.ve
47c80 72 79 20 6e 65 78 74 20 6b 65 79 2e 0a 20 20 20 20 20 49 66 20 74 68 65 20 6f 70 74 69 6f 6e 61 ry.next.key.......If.the.optiona
47ca0 6c 20 61 72 67 75 6d 65 6e 74 20 4b 45 45 50 2d 50 52 45 44 20 69 73 20 e2 80 98 74 e2 80 99 2c l.argument.KEEP-PRED.is....t...,
47cc0 20 74 68 65 20 6d 61 70 20 73 74 61 79 73 20 61 63 74 69 76 65 20 61 73 0a 20 20 20 20 20 6c 6f .the.map.stays.active.as......lo
47ce0 6e 67 20 61 73 20 74 68 65 20 75 73 65 72 20 74 79 70 65 73 20 6b 65 79 73 20 64 65 66 69 6e 65 ng.as.the.user.types.keys.define
47d00 64 20 69 6e 20 4b 45 59 4d 41 50 3b 20 77 68 65 6e 20 74 68 65 20 75 73 65 72 20 74 79 70 65 73 d.in.KEYMAP;.when.the.user.types
47d20 0a 20 20 20 20 20 61 20 6b 65 79 20 74 68 61 74 20 69 73 20 6e 6f 74 20 69 6e 20 4b 45 59 4d 41 ......a.key.that.is.not.in.KEYMA
47d40 50 2c 20 74 68 65 20 74 72 61 6e 73 69 65 6e 74 20 6b 65 79 6d 61 70 20 69 73 20 64 65 61 63 74 P,.the.transient.keymap.is.deact
47d60 69 76 61 74 65 64 0a 20 20 20 20 20 61 6e 64 20 6e 6f 72 6d 61 6c 20 6b 65 79 20 6c 6f 6f 6b 75 ivated......and.normal.key.looku
47d80 70 20 63 6f 6e 74 69 6e 75 65 73 20 66 6f 72 20 74 68 61 74 20 6b 65 79 2e 0a 0a 20 20 20 20 20 p.continues.for.that.key........
47da0 54 68 65 20 4b 45 45 50 2d 50 52 45 44 20 61 72 67 75 6d 65 6e 74 20 63 61 6e 20 61 6c 73 6f 20 The.KEEP-PRED.argument.can.also.
47dc0 62 65 20 61 20 66 75 6e 63 74 69 6f 6e 2e 20 20 49 6e 20 74 68 61 74 20 63 61 73 65 2c 20 74 68 be.a.function...In.that.case,.th
47de0 65 0a 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 6e e......function.is.called.with.n
47e00 6f 20 61 72 67 75 6d 65 6e 74 73 2c 20 70 72 69 6f 72 20 74 6f 20 72 75 6e 6e 69 6e 67 20 65 61 o.arguments,.prior.to.running.ea
47e20 63 68 0a 20 20 20 20 20 63 6f 6d 6d 61 6e 64 2c 20 77 68 69 6c 65 20 4b 45 59 4d 41 50 20 69 73 ch......command,.while.KEYMAP.is
47e40 20 61 63 74 69 76 65 3b 20 69 74 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 6e 6f 6e 2d e2 80 .active;.it.should.return.non-..
47e60 98 6e 69 6c e2 80 99 20 69 66 0a 20 20 20 20 20 4b 45 59 4d 41 50 20 73 68 6f 75 6c 64 20 73 74 .nil....if......KEYMAP.should.st
47e80 61 79 20 61 63 74 69 76 65 2e 0a 0a 20 20 20 20 20 54 68 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 ay.active........The.optional.ar
47ea0 67 75 6d 65 6e 74 20 4f 4e 2d 45 58 49 54 2c 20 69 66 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 gument.ON-EXIT,.if.non-...nil...
47ec0 2c 20 73 70 65 63 69 66 69 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 74 68 61 74 ,.specifies.a.function......that
47ee0 20 69 73 20 63 61 6c 6c 65 64 2c 20 77 69 74 68 20 6e 6f 20 61 72 67 75 6d 65 6e 74 73 2c 20 61 .is.called,.with.no.arguments,.a
47f00 66 74 65 72 20 4b 45 59 4d 41 50 20 69 73 20 64 65 61 63 74 69 76 61 74 65 64 2e 0a 0a 20 20 20 fter.KEYMAP.is.deactivated......
47f20 20 20 54 68 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 4d 45 53 53 41 47 45 20 ..The.optional.argument.MESSAGE.
47f40 73 70 65 63 69 66 69 65 73 20 74 68 65 20 6d 65 73 73 61 67 65 20 74 6f 20 64 69 73 70 6c 61 79 specifies.the.message.to.display
47f60 0a 20 20 20 20 20 61 66 74 65 72 20 61 63 74 69 76 61 74 69 6e 67 20 74 68 65 20 74 72 61 6e 73 ......after.activating.the.trans
47f80 69 65 6e 74 20 6d 61 70 2e 20 20 49 66 20 4d 45 53 53 41 47 45 20 69 73 20 61 20 73 74 72 69 6e ient.map...If.MESSAGE.is.a.strin
47fa0 67 2c 20 69 74 20 69 73 0a 20 20 20 20 20 74 68 65 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 20 g,.it.is......the.format.string.
47fc0 66 6f 72 20 74 68 65 20 6d 65 73 73 61 67 65 2c 20 61 6e 64 20 61 6e 79 20 e2 80 98 25 6b e2 80 for.the.message,.and.any....%k..
47fe0 99 20 73 70 65 63 69 66 69 65 72 20 69 6e 20 74 68 61 74 0a 20 20 20 20 20 73 74 72 69 6e 67 20 ..specifier.in.that......string.
48000 69 73 20 72 65 70 6c 61 63 65 64 20 77 69 74 68 20 74 68 65 20 6c 69 73 74 20 6f 66 20 6b 65 79 is.replaced.with.the.list.of.key
48020 73 20 66 72 6f 6d 20 74 68 65 20 74 72 61 6e 73 69 65 6e 74 20 6d 61 70 2e 0a 20 20 20 20 20 41 s.from.the.transient.map.......A
48040 6e 79 20 6f 74 68 65 72 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 76 61 6c 75 65 20 6f 66 20 ny.other.non-...nil....value.of.
48060 4d 45 53 53 41 47 45 20 73 74 61 6e 64 73 20 66 6f 72 20 74 68 65 20 64 65 66 61 75 6c 74 20 6d MESSAGE.stands.for.the.default.m
48080 65 73 73 61 67 65 0a 20 20 20 20 20 66 6f 72 6d 61 74 20 e2 80 98 52 65 70 65 61 74 20 77 69 74 essage......format....Repeat.wit
480a0 68 20 25 6b e2 80 99 2e 0a 0a 20 20 20 20 20 49 66 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 61 h.%k...........If.the.optional.a
480c0 72 67 75 6d 65 6e 74 20 54 49 4d 45 4f 55 54 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 rgument.TIMEOUT.is.non-...nil...
480e0 2c 20 69 74 20 73 68 6f 75 6c 64 20 62 65 20 61 0a 20 20 20 20 20 6e 75 6d 62 65 72 20 74 68 61 ,.it.should.be.a......number.tha
48100 74 20 73 70 65 63 69 66 69 65 73 20 68 6f 77 20 6d 61 6e 79 20 73 65 63 6f 6e 64 73 20 6f 66 20 t.specifies.how.many.seconds.of.
48120 69 64 6c 65 20 74 69 6d 65 20 74 6f 20 77 61 69 74 20 62 65 66 6f 72 65 0a 20 20 20 20 20 64 65 idle.time.to.wait.before......de
48140 61 63 74 69 76 61 74 69 6e 67 20 4b 45 59 4d 41 50 2e 20 20 54 68 65 20 76 61 6c 75 65 20 6f 66 activating.KEYMAP...The.value.of
48160 20 74 68 65 20 76 61 72 69 61 62 6c 65 0a 20 20 20 20 20 e2 80 98 73 65 74 2d 74 72 61 6e 73 69 .the.variable.........set-transi
48180 65 6e 74 2d 6d 61 70 2d 74 69 6d 65 6f 75 74 e2 80 99 2c 20 69 66 20 6e 6f 6e 2d e2 80 98 6e 69 ent-map-timeout...,.if.non-...ni
481a0 6c e2 80 99 2c 20 6f 76 65 72 72 69 64 65 73 20 74 68 65 20 76 61 6c 75 65 20 6f 66 0a 20 20 20 l...,.overrides.the.value.of....
481c0 20 20 74 68 69 73 20 61 72 67 75 6d 65 6e 74 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 ..this.argument........This.func
481e0 74 69 6f 6e 20 77 6f 72 6b 73 20 62 79 20 61 64 64 69 6e 67 20 61 6e 64 20 72 65 6d 6f 76 69 6e tion.works.by.adding.and.removin
48200 67 20 4b 45 59 4d 41 50 20 66 72 6f 6d 20 74 68 65 20 76 61 72 69 61 62 6c 65 0a 20 20 20 20 20 g.KEYMAP.from.the.variable......
48220 e2 80 98 6f 76 65 72 72 69 64 69 6e 67 2d 74 65 72 6d 69 6e 61 6c 2d 6c 6f 63 61 6c 2d 6d 61 70 ...overriding-terminal-local-map
48240 e2 80 99 2c 20 77 68 69 63 68 20 74 61 6b 65 73 20 70 72 65 63 65 64 65 6e 63 65 20 6f 76 65 72 ...,.which.takes.precedence.over
48260 20 61 6c 6c 0a 20 20 20 20 20 6f 74 68 65 72 20 61 63 74 69 76 65 20 6b 65 79 6d 61 70 73 20 28 .all......other.active.keymaps.(
48280 2a 6e 6f 74 65 20 28 53 65 61 72 63 68 69 6e 67 20 4b 65 79 6d 61 70 73 29 65 6c 69 73 70 3a 3a *note.(Searching.Keymaps)elisp::
482a0 29 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 73 74 )....--.Function:.compat-call.st
482c0 72 69 6e 67 2d 6c 69 6e 65 73 20 73 74 72 69 6e 67 20 26 6f 70 74 69 6f 6e 61 6c 20 6f 6d 69 74 ring-lines.string.&optional.omit
482e0 2d 6e 75 6c 6c 73 0a 20 20 20 20 20 20 20 20 20 20 6b 65 65 70 2d 6e 65 77 6c 69 6e 65 73 0a 20 -nulls...........keep-newlines..
48300 20 20 20 20 53 70 6c 69 74 20 53 54 52 49 4e 47 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 ....Split.STRING.into.a.list.of.
48320 73 74 72 69 6e 67 73 20 6f 6e 20 6e 65 77 6c 69 6e 65 20 62 6f 75 6e 64 61 72 69 65 73 2e 20 20 strings.on.newline.boundaries...
48340 49 66 20 74 68 65 0a 20 20 20 20 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 4f 4d If.the......optional.argument.OM
48360 49 54 2d 4e 55 4c 4c 53 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 72 65 6d 6f 76 IT-NULLS.is.non-...nil...,.remov
48380 65 20 65 6d 70 74 79 20 6c 69 6e 65 73 20 66 72 6f 6d 0a 20 20 20 20 20 74 68 65 20 72 65 73 75 e.empty.lines.from......the.resu
483a0 6c 74 73 2e 20 20 49 66 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 4b lts...If.the.optional.argument.K
483c0 45 45 50 2d 4e 45 57 4c 49 4e 45 53 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 0a 20 EEP-NEWLINES.is.non-...nil...,..
483e0 20 20 20 20 64 6f 6e e2 80 99 74 20 72 65 6d 6f 76 65 20 74 68 65 20 74 72 61 69 6c 69 6e 67 20 ....don...t.remove.the.trailing.
48400 6e 65 77 6c 69 6e 65 73 20 66 72 6f 6d 20 74 68 65 20 72 65 73 75 6c 74 20 73 74 72 69 6e 67 73 newlines.from.the.result.strings
48420 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 43 72 65 61 74 69 6e 67 20 53 74 ........*Note.(elisp)Creating.St
48440 72 69 6e 67 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 63 6f 6d 70 61 74 2d 63 rings::....--.Function:.compat-c
48460 61 6c 6c 20 64 65 66 69 6e 65 2d 6b 65 79 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f all.define-key......This.functio
48480 6e 20 69 73 20 6c 69 6b 65 20 e2 80 98 6b 65 79 6d 61 70 2d 73 65 74 e2 80 99 20 28 2a 6e 6f 74 n.is.like....keymap-set....(*not
484a0 65 20 28 65 6c 69 73 70 29 43 68 61 6e 67 69 6e 67 20 4b 65 79 0a 20 20 20 20 20 42 69 6e 64 69 e.(elisp)Changing.Key......Bindi
484c0 6e 67 73 3a 3a 2c 20 62 75 74 20 75 6e 64 65 72 73 74 61 6e 64 73 20 6f 6e 6c 79 20 74 68 65 20 ngs::,.but.understands.only.the.
484e0 6c 65 67 61 63 79 20 6b 65 79 20 73 79 6e 74 61 78 65 73 2e 0a 0a 20 20 20 20 20 49 6e 20 61 64 legacy.key.syntaxes........In.ad
48500 64 69 74 69 6f 6e 2c 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 6c 73 6f 20 68 61 73 20 61 dition,.this.function.also.has.a
48520 20 52 45 4d 4f 56 45 20 61 72 67 75 6d 65 6e 74 2e 20 20 49 66 20 69 74 20 69 73 0a 20 20 20 20 .REMOVE.argument...If.it.is.....
48540 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 77 .non-...nil...,.the.definition.w
48560 69 6c 6c 20 62 65 20 72 65 6d 6f 76 65 64 2e 20 20 54 68 69 73 20 69 73 20 61 6c 6d 6f 73 74 20 ill.be.removed...This.is.almost.
48580 74 68 65 20 73 61 6d 65 0a 20 20 20 20 20 61 73 20 73 65 74 74 69 6e 67 20 74 68 65 20 64 65 66 the.same......as.setting.the.def
485a0 69 6e 69 74 69 6f 6e 20 74 6f 20 e2 80 98 6e 69 6c e2 80 99 2c 20 62 75 74 20 6d 61 6b 65 73 20 inition.to....nil...,.but.makes.
485c0 61 20 64 69 66 66 65 72 65 6e 63 65 20 69 66 20 74 68 65 0a 20 20 20 20 20 4b 45 59 4d 41 50 20 a.difference.if.the......KEYMAP.
485e0 68 61 73 20 61 20 70 61 72 65 6e 74 2c 20 61 6e 64 20 4b 45 59 20 69 73 20 73 68 61 64 6f 77 69 has.a.parent,.and.KEY.is.shadowi
48600 6e 67 20 74 68 65 20 73 61 6d 65 20 62 69 6e 64 69 6e 67 20 69 6e 20 74 68 65 0a 20 20 20 20 20 ng.the.same.binding.in.the......
48620 70 61 72 65 6e 74 2e 20 20 57 69 74 68 20 52 45 4d 4f 56 45 2c 20 73 75 62 73 65 71 75 65 6e 74 parent...With.REMOVE,.subsequent
48640 20 6c 6f 6f 6b 75 70 73 20 77 69 6c 6c 20 72 65 74 75 72 6e 20 74 68 65 20 62 69 6e 64 69 6e 67 .lookups.will.return.the.binding
48660 20 69 6e 0a 20 20 20 20 20 74 68 65 20 70 61 72 65 6e 74 2c 20 77 68 65 72 65 61 73 20 77 69 74 .in......the.parent,.whereas.wit
48680 68 20 61 20 e2 80 98 6e 69 6c e2 80 99 20 64 65 66 69 6e 69 74 69 6f 6e 20 74 68 65 20 6c 6f 6f h.a....nil....definition.the.loo
486a0 6b 75 70 73 20 77 69 6c 6c 20 72 65 74 75 72 6e 0a 20 20 20 20 20 e2 80 98 6e 69 6c e2 80 99 2e kups.will.return.........nil....
486c0 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 4c 6f 77 2d 4c 65 76 65 6c 20 4b 65 .......*Note.(elisp)Low-Level.Ke
486e0 79 20 42 69 6e 64 69 6e 67 3a 3a 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 63 6f 6d 70 61 74 69 62 y.Binding::........This.compatib
48700 69 6c 69 74 79 20 76 65 72 73 69 6f 6e 20 68 61 6e 64 6c 65 73 20 74 68 65 20 6f 70 74 69 6f 6e ility.version.handles.the.option
48720 61 6c 20 61 72 67 75 6d 65 6e 74 20 52 45 4d 4f 56 45 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f al.argument.REMOVE....--.Functio
48740 6e 3a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 73 74 20 70 n:.compat-call.plist-get.plist.p
48760 72 6f 70 20 26 6f 70 74 69 6f 6e 61 6c 20 70 72 65 64 69 63 61 74 65 0a 20 20 20 20 20 54 68 69 rop.&optional.predicate......Thi
48780 73 20 72 65 74 75 72 6e 73 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 50 52 4f 50 45 s.returns.the.value.of.the.PROPE
487a0 52 54 59 20 70 72 6f 70 65 72 74 79 20 73 74 6f 72 65 64 20 69 6e 20 74 68 65 0a 20 20 20 20 20 RTY.property.stored.in.the......
487c0 70 72 6f 70 65 72 74 79 20 6c 69 73 74 20 50 4c 49 53 54 2e 20 20 43 6f 6d 70 61 72 69 73 6f 6e property.list.PLIST...Comparison
487e0 73 20 61 72 65 20 64 6f 6e 65 20 77 69 74 68 20 50 52 45 44 49 43 41 54 45 2c 20 61 6e 64 0a 20 s.are.done.with.PREDICATE,.and..
48800 20 20 20 20 64 65 66 61 75 6c 74 73 20 74 6f 20 e2 80 98 65 71 e2 80 99 2e 20 20 49 74 20 61 63 ....defaults.to....eq......It.ac
48820 63 65 70 74 73 20 61 20 6d 61 6c 66 6f 72 6d 65 64 20 50 4c 49 53 54 20 61 72 67 75 6d 65 6e 74 cepts.a.malformed.PLIST.argument
48840 2e 20 20 49 66 0a 20 20 20 20 20 50 52 4f 50 45 52 54 59 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 ...If......PROPERTY.is.not.found
48860 20 69 6e 20 74 68 65 20 50 4c 49 53 54 2c 20 69 74 20 72 65 74 75 72 6e 73 20 e2 80 98 6e 69 6c .in.the.PLIST,.it.returns....nil
48880 e2 80 99 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 50 6c 69 73 74 20 41 63 ...........*Note.(elisp)Plist.Ac
488a0 63 65 73 73 3a 3a 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 cess::........This.compatibility
488c0 20 76 65 72 73 69 6f 6e 20 68 61 6e 64 6c 65 73 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 .version.handles.the.optional.ar
488e0 67 75 6d 65 6e 74 20 50 52 45 44 49 43 41 54 45 2e 0a 20 20 20 20 20 54 68 69 73 20 69 73 20 61 gument.PREDICATE.......This.is.a
48900 20 67 65 6e 65 72 61 6c 69 7a 65 64 20 76 61 72 69 61 62 6c 65 20 28 2a 6e 6f 74 65 20 28 65 6c .generalized.variable.(*note.(el
48920 69 73 70 29 47 65 6e 65 72 61 6c 69 7a 65 64 0a 20 20 20 20 20 56 61 72 69 61 62 6c 65 73 3a 3a isp)Generalized......Variables::
48940 29 20 74 68 61 74 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 63 68 61 6e 67 65 20 61 20 76 ).that.can.be.used.to.change.a.v
48960 61 6c 75 65 20 77 69 74 68 20 e2 80 98 73 65 74 66 e2 80 99 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 alue.with....setf.......--.Funct
48980 69 6f 6e 3a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 70 6c 69 73 74 2d 70 75 74 20 70 6c 69 73 74 ion:.compat-call.plist-put.plist
489a0 20 70 72 6f 70 20 76 61 6c 20 26 6f 70 74 69 6f 6e 61 6c 20 70 72 65 64 69 63 61 74 65 0a 20 20 .prop.val.&optional.predicate...
489c0 20 20 20 54 68 69 73 20 73 74 6f 72 65 73 20 56 41 4c 55 45 20 61 73 20 74 68 65 20 76 61 6c 75 ...This.stores.VALUE.as.the.valu
489e0 65 20 6f 66 20 74 68 65 20 50 52 4f 50 45 52 54 59 20 70 72 6f 70 65 72 74 79 20 69 6e 20 74 68 e.of.the.PROPERTY.property.in.th
48a00 65 0a 20 20 20 20 20 70 72 6f 70 65 72 74 79 20 6c 69 73 74 20 50 4c 49 53 54 2e 20 20 43 6f 6d e......property.list.PLIST...Com
48a20 70 61 72 69 73 6f 6e 73 20 61 72 65 20 64 6f 6e 65 20 77 69 74 68 20 50 52 45 44 49 43 41 54 45 parisons.are.done.with.PREDICATE
48a40 2c 20 61 6e 64 0a 20 20 20 20 20 64 65 66 61 75 6c 74 73 20 74 6f 20 e2 80 98 65 71 e2 80 99 2e ,.and......defaults.to....eq....
48a60 20 20 49 74 20 6d 61 79 20 6d 6f 64 69 66 79 20 50 4c 49 53 54 20 64 65 73 74 72 75 63 74 69 76 ..It.may.modify.PLIST.destructiv
48a80 65 6c 79 2c 20 6f 72 20 69 74 20 6d 61 79 0a 20 20 20 20 20 63 6f 6e 73 74 72 75 63 74 20 61 20 ely,.or.it.may......construct.a.
48aa0 6e 65 77 20 6c 69 73 74 20 73 74 72 75 63 74 75 72 65 20 77 69 74 68 6f 75 74 20 61 6c 74 65 72 new.list.structure.without.alter
48ac0 69 6e 67 20 74 68 65 20 6f 6c 64 2e 20 20 54 68 65 0a 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 ing.the.old...The......function.
48ae0 72 65 74 75 72 6e 73 20 74 68 65 20 6d 6f 64 69 66 69 65 64 20 70 72 6f 70 65 72 74 79 20 6c 69 returns.the.modified.property.li
48b00 73 74 2c 20 73 6f 20 79 6f 75 20 63 61 6e 20 73 74 6f 72 65 20 74 68 61 74 0a 20 20 20 20 20 62 st,.so.you.can.store.that......b
48b20 61 63 6b 20 69 6e 20 74 68 65 20 70 6c 61 63 65 20 77 68 65 72 65 20 79 6f 75 20 67 6f 74 20 50 ack.in.the.place.where.you.got.P
48b40 4c 49 53 54 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 50 6c 69 73 74 20 41 LIST........*Note.(elisp)Plist.A
48b60 63 63 65 73 73 3a 3a 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 ccess::........This.compatibilit
48b80 79 20 76 65 72 73 69 6f 6e 20 68 61 6e 64 6c 65 73 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 61 y.version.handles.the.optional.a
48ba0 72 67 75 6d 65 6e 74 20 50 52 45 44 49 43 41 54 45 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e rgument.PREDICATE....--.Function
48bc0 3a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 70 6c 69 73 74 2d 6d 65 6d 62 65 72 20 70 6c 69 73 74 :.compat-call.plist-member.plist
48be0 20 70 72 6f 70 20 26 6f 70 74 69 6f 6e 61 6c 20 70 72 65 64 69 63 61 74 65 0a 20 20 20 20 20 54 .prop.&optional.predicate......T
48c00 68 69 73 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 69 66 20 50 4c 49 his.returns.non-...nil....if.PLI
48c20 53 54 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 20 67 69 76 65 6e 20 50 52 4f 50 45 52 54 59 2e 0a ST.contains.the.given.PROPERTY..
48c40 20 20 20 20 20 43 6f 6d 70 61 72 69 73 6f 6e 73 20 61 72 65 20 64 6f 6e 65 20 77 69 74 68 20 50 .....Comparisons.are.done.with.P
48c60 52 45 44 49 43 41 54 45 2c 20 61 6e 64 20 64 65 66 61 75 6c 74 73 20 74 6f 20 e2 80 98 65 71 e2 REDICATE,.and.defaults.to....eq.
48c80 80 99 2e 20 20 55 6e 6c 69 6b 65 0a 20 20 20 20 20 e2 80 98 70 6c 69 73 74 2d 67 65 74 e2 80 99 .....Unlike.........plist-get...
48ca0 2c 20 74 68 69 73 20 61 6c 6c 6f 77 73 20 79 6f 75 20 74 6f 20 64 69 73 74 69 6e 67 75 69 73 68 ,.this.allows.you.to.distinguish
48cc0 20 62 65 74 77 65 65 6e 20 61 20 6d 69 73 73 69 6e 67 0a 20 20 20 20 20 70 72 6f 70 65 72 74 79 .between.a.missing......property
48ce0 20 61 6e 64 20 61 20 70 72 6f 70 65 72 74 79 20 77 69 74 68 20 74 68 65 20 76 61 6c 75 65 20 e2 .and.a.property.with.the.value..
48d00 80 98 6e 69 6c e2 80 99 2e 20 20 54 68 65 20 76 61 6c 75 65 20 69 73 0a 20 20 20 20 20 61 63 74 ..nil......The.value.is......act
48d20 75 61 6c 6c 79 20 74 68 65 20 74 61 69 6c 20 6f 66 20 50 4c 49 53 54 20 77 68 6f 73 65 20 e2 80 ually.the.tail.of.PLIST.whose...
48d40 98 63 61 72 e2 80 99 20 69 73 20 50 52 4f 50 45 52 54 59 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 .car....is.PROPERTY........*Note
48d60 20 28 65 6c 69 73 70 29 50 6c 69 73 74 20 41 63 63 65 73 73 3a 3a 2e 0a 0a 20 20 20 20 20 54 68 .(elisp)Plist.Access::........Th
48d80 69 73 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 76 65 72 73 69 6f 6e 20 68 61 6e 64 6c 65 73 is.compatibility.version.handles
48da0 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 50 52 45 44 49 43 41 54 45 .the.optional.argument.PREDICATE
48dc0 2e 0a 0a 32 2e 35 2e 33 20 4d 69 73 73 69 6e 67 20 44 65 66 69 6e 69 74 69 6f 6e 73 0a 2d 2d 2d ...2.5.3.Missing.Definitions.---
48de0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 43 6f 6d 70 61 74 20 64 ----------------------..Compat.d
48e00 6f 65 73 20 6e 6f 74 20 70 72 6f 76 69 64 65 20 73 75 70 70 6f 72 74 20 66 6f 72 20 74 68 65 20 oes.not.provide.support.for.the.
48e20 66 6f 6c 6c 6f 77 69 6e 67 20 4c 69 73 70 20 66 65 61 74 75 72 65 73 0a 69 6d 70 6c 65 6d 65 6e following.Lisp.features.implemen
48e40 74 65 64 20 69 6e 20 32 39 2e 31 3a 0a 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f ted.in.29.1:.........The.functio
48e60 6e 20 e2 80 98 69 6d 61 67 65 70 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 n....imagep............The.funct
48e80 69 6f 6e 20 e2 80 98 69 6d 61 67 65 2d 61 74 2d 70 6f 69 6e 74 2d 70 e2 80 99 2e 0a 20 20 20 e2 ion....image-at-point-p.........
48ea0 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 66 75 6e 63 74 69 6f 6e 2d 64 6f 63 75 ...The.function....function-docu
48ec0 6d 65 6e 74 61 74 69 6f 6e e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 6d 61 63 72 6f 20 e2 mentation............The.macro..
48ee0 80 98 77 69 74 68 2d 75 6e 64 6f 2d 61 6d 61 6c 67 61 6d 61 74 65 e2 80 99 2e 0a 20 20 20 e2 80 ..with-undo-amalgamate..........
48f00 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 73 74 72 69 6e 67 2d 67 6c 79 70 68 2d 73 ..The.function....string-glyph-s
48f20 70 6c 69 74 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 plit............The.function....
48f40 73 74 72 69 6e 67 2d 6c 69 6d 69 74 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 string-limit............The.func
48f60 74 69 6f 6e 20 e2 80 98 73 74 72 69 6e 67 2d 70 69 78 65 6c 2d 77 69 64 74 68 e2 80 99 20 61 6e tion....string-pixel-width....an
48f80 64 20 e2 80 98 62 75 66 66 65 72 2d 74 65 78 74 2d 70 69 78 65 6c 2d 73 69 7a 65 e2 80 99 2e 0a d....buffer-text-pixel-size.....
48fa0 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 6d 69 6e 69 62 75 66 66 65 .......The.function....minibuffe
48fc0 72 2d 6c 61 7a 79 2d 68 69 67 68 6c 69 67 68 74 2d 73 65 74 75 70 e2 80 99 2e 0a 20 20 20 e2 80 r-lazy-highlight-setup..........
48fe0 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 70 70 2d 65 6d 61 63 73 2d 6c 69 73 70 2d ..The.function....pp-emacs-lisp-
49000 63 6f 64 65 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 code............The.function....
49020 62 69 64 69 2d 73 74 72 69 6e 67 2d 73 74 72 69 70 2d 63 6f 6e 74 72 6f 6c 2d 63 68 61 72 61 63 bidi-string-strip-control-charac
49040 74 65 72 73 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 6e 61 74 69 76 65 20 66 75 6e 63 74 ters............The.native.funct
49060 69 6f 6e 20 e2 80 98 63 75 72 72 65 6e 74 2d 63 70 75 2d 74 69 6d 65 e2 80 99 2e 0a 20 20 20 e2 ion....current-cpu-time.........
49080 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 73 20 e2 80 98 78 64 67 2d 73 74 61 74 65 2d 68 6f ...The.functions....xdg-state-ho
490a0 6d 65 e2 80 99 2c 20 e2 80 98 78 64 67 2d 63 75 72 72 65 6e 74 2d 64 65 73 6b 74 6f 70 e2 80 99 me...,....xdg-current-desktop...
490c0 20 61 6e 64 0a 20 20 20 20 20 e2 80 98 78 64 67 2d 73 65 73 73 69 6f 6e 2d 74 79 70 65 e2 80 99 .and.........xdg-session-type...
490e0 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 6d 61 63 72 6f 20 e2 80 98 73 65 74 6f 70 74 e2 80 99 2e .........The.macro....setopt....
49100 0a 20 20 20 e2 80 a2 20 54 68 65 20 e2 80 98 6f 63 6c 6f 73 75 72 65 e2 80 99 20 6c 69 62 72 61 ........The....oclosure....libra
49120 72 79 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 e2 80 98 74 65 78 74 73 65 63 e2 80 99 20 6c 69 62 ry.........The....textsec....lib
49140 72 61 72 79 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 e2 80 98 72 61 6e 67 65 e2 80 99 20 6c 69 62 rary.........The....range....lib
49160 72 61 72 79 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 e2 80 98 73 74 72 69 6e 67 2d 65 64 69 74 e2 rary.........The....string-edit.
49180 80 99 20 6c 69 62 72 61 72 79 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 e2 80 98 76 74 61 62 6c 65 ...library.........The....vtable
491a0 e2 80 99 20 6c 69 62 72 61 72 79 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 e2 80 98 70 69 78 65 6c ....library.........The....pixel
491c0 2d 66 69 6c 6c e2 80 99 20 6c 69 62 72 61 72 79 2e 0a 20 20 20 e2 80 a2 20 53 75 70 70 6f 72 74 -fill....library.........Support
491e0 20 66 6f 72 20 73 79 6d 62 6f 6c 73 20 77 69 74 68 20 70 6f 73 69 74 69 6f 6e 20 69 6e 66 6f 72 .for.symbols.with.position.infor
49200 6d 61 74 69 6f 6e 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 32 33 47 70 47 36 2e 69 6e 66 6f 2c mation.....File:.doc23GpG6.info,
49220 20 20 4e 6f 64 65 3a 20 45 6d 61 63 73 20 33 30 2e 31 2c 20 20 50 72 65 76 3a 20 45 6d 61 63 73 ..Node:.Emacs.30.1,..Prev:.Emacs
49240 20 32 39 2e 31 2c 20 20 55 70 3a 20 53 75 70 70 6f 72 74 0a 0a 32 2e 36 20 45 6d 61 63 73 20 33 .29.1,..Up:.Support..2.6.Emacs.3
49260 30 2e 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 32 2e 36 2e 31 20 41 64 64 65 64 20 0.1.==============..2.6.1.Added.
49280 44 65 66 69 6e 69 74 69 6f 6e 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d Definitions.--------------------
492a0 2d 2d 2d 0a 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 ---..The.following.functions.and
492c0 20 6d 61 63 72 6f 73 20 61 72 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 69 6e 20 45 6d 61 63 73 .macros.are.implemented.in.Emacs
492e0 20 33 30 2e 31 2e 20 20 54 68 65 73 65 0a 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 6d 61 64 65 .30.1...These.functions.are.made
49300 20 61 76 61 69 6c 61 62 6c 65 20 62 79 20 43 6f 6d 70 61 74 20 6f 6e 20 45 6d 61 63 73 20 76 65 .available.by.Compat.on.Emacs.ve
49320 72 73 69 6f 6e 73 20 6f 6c 64 65 72 20 74 68 61 6e 0a 33 30 2e 31 2e 20 20 4e 6f 74 65 20 74 68 rsions.older.than.30.1...Note.th
49340 61 74 20 64 75 65 20 74 6f 20 75 70 73 74 72 65 61 6d 20 63 68 61 6e 67 65 73 2c 20 69 74 20 6d at.due.to.upstream.changes,.it.m
49360 69 67 68 74 20 68 61 70 70 65 6e 20 74 68 61 74 20 74 68 65 72 65 0a 77 69 6c 6c 20 62 65 20 74 ight.happen.that.there.will.be.t
49380 68 65 20 6e 65 65 64 20 66 6f 72 20 63 68 61 6e 67 65 73 2c 20 73 6f 20 75 73 65 20 74 68 65 73 he.need.for.changes,.so.use.thes
493a0 65 20 66 75 6e 63 74 69 6f 6e 73 20 77 69 74 68 20 63 61 72 65 2e 0a 0a 20 2d 2d 20 46 75 6e 63 e.functions.with.care....--.Func
493c0 74 69 6f 6e 3a 20 63 68 61 72 2d 74 6f 2d 6e 61 6d 65 20 63 68 61 72 0a 20 20 20 20 20 54 68 69 tion:.char-to-name.char......Thi
493e0 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 55 6e 69 63 6f 64 65 20 6e s.function.returns.the.Unicode.n
49400 61 6d 65 20 6f 66 20 43 48 41 52 2e 20 20 49 74 20 72 65 74 75 72 6e 73 20 e2 80 98 6e 69 6c e2 ame.of.CHAR...It.returns....nil.
49420 80 99 0a 20 20 20 20 20 69 66 20 43 48 41 52 20 69 73 20 6e 6f 74 20 61 20 63 68 61 72 61 63 74 ........if.CHAR.is.not.a.charact
49440 65 72 20 6f 72 20 68 61 73 20 6e 6f 20 55 6e 69 63 6f 64 65 20 6e 61 6d 65 2e 0a 0a 20 2d 2d 20 er.or.has.no.Unicode.name....--.
49460 46 75 6e 63 74 69 6f 6e 3a 20 6f 62 61 72 72 61 79 2d 63 6c 65 61 72 20 6f 62 61 72 72 61 79 0a Function:.obarray-clear.obarray.
49480 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 65 73 20 61 6c 6c 20 73 .....This.function.removes.all.s
494a0 79 6d 62 6f 6c 73 20 66 72 6f 6d 20 4f 42 41 52 52 41 59 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 ymbols.from.OBARRAY....--.Functi
494c0 6f 6e 3a 20 63 6c 6f 73 75 72 65 70 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 54 68 69 73 20 66 75 on:.closurep.object......This.fu
494e0 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 e2 80 98 74 e2 80 99 20 69 66 20 4f 42 4a 45 43 54 nction.returns....t....if.OBJECT
49500 20 69 73 20 61 20 63 6c 6f 73 75 72 65 2c 20 77 68 69 63 68 20 69 73 20 61 0a 20 20 20 20 20 70 .is.a.closure,.which.is.a......p
49520 61 72 74 69 63 75 6c 61 72 20 6b 69 6e 64 20 6f 66 20 66 75 6e 63 74 69 6f 6e 20 6f 62 6a 65 63 articular.kind.of.function.objec
49540 74 2e 20 20 43 75 72 72 65 6e 74 6c 79 20 63 6c 6f 73 75 72 65 73 20 61 72 65 20 75 73 65 64 0a t...Currently.closures.are.used.
49560 20 20 20 20 20 66 6f 72 20 61 6c 6c 20 62 79 74 65 2d 63 6f 64 65 20 66 75 6e 63 74 69 6f 6e 73 .....for.all.byte-code.functions
49580 20 61 6e 64 20 61 6c 6c 20 69 6e 74 65 72 70 72 65 74 65 64 20 66 75 6e 63 74 69 6f 6e 73 2e 0a .and.all.interpreted.functions..
495a0 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 69 6e 74 65 72 70 72 65 74 65 64 2d 66 75 6e 63 74 ..--.Function:.interpreted-funct
495c0 69 6f 6e 2d 70 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 ion-p.object......This.function.
495e0 72 65 74 75 72 6e 73 20 e2 80 98 74 e2 80 99 20 69 66 20 4f 42 4a 45 43 54 20 69 73 20 61 6e 20 returns....t....if.OBJECT.is.an.
49600 69 6e 74 65 72 70 72 65 74 65 64 20 66 75 6e 63 74 69 6f 6e 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 interpreted.function....--.Funct
49620 69 6f 6e 3a 20 70 72 69 6d 69 74 69 76 65 2d 66 75 6e 63 74 69 6f 6e 2d 70 20 6f 62 6a 65 63 74 ion:.primitive-function-p.object
49640 0a 20 20 20 20 20 52 65 74 75 72 6e 20 e2 80 98 74 e2 80 99 20 69 66 20 4f 42 4a 45 43 54 20 69 ......Return....t....if.OBJECT.i
49660 73 20 61 20 62 75 69 6c 74 2d 69 6e 20 70 72 69 6d 69 74 69 76 65 20 66 75 6e 63 74 69 6f 6e 2e s.a.built-in.primitive.function.
49680 20 20 54 68 69 73 0a 20 20 20 20 20 65 78 63 6c 75 64 65 73 20 73 70 65 63 69 61 6c 20 66 6f 72 ..This......excludes.special.for
496a0 6d 73 2c 20 73 69 6e 63 65 20 74 68 65 79 20 61 72 65 20 6e 6f 74 20 66 75 6e 63 74 69 6f 6e 73 ms,.since.they.are.not.functions
496c0 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 76 61 6c 75 65 3c 20 61 20 62 0a 20 20 20 20 ....--.Function:.value<.a.b.....
496e0 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d e2 80 98 6e 69 .This.function.returns.non-...ni
49700 6c e2 80 99 20 69 66 20 41 20 63 6f 6d 65 73 20 62 65 66 6f 72 65 20 42 20 69 6e 20 74 68 65 20 l....if.A.comes.before.B.in.the.
49720 73 74 61 6e 64 61 72 64 0a 20 20 20 20 20 73 6f 72 74 69 6e 67 20 6f 72 64 65 72 3b 20 74 68 69 standard......sorting.order;.thi
49740 73 20 6d 65 61 6e 73 20 74 68 61 74 20 69 74 20 72 65 74 75 72 6e 73 20 e2 80 98 6e 69 6c e2 80 s.means.that.it.returns....nil..
49760 99 20 77 68 65 6e 20 42 20 63 6f 6d 65 73 20 62 65 66 6f 72 65 0a 20 20 20 20 20 41 2c 20 6f 72 ..when.B.comes.before......A,.or
49780 20 69 66 20 74 68 65 79 20 61 72 65 20 65 71 75 61 6c 20 6f 72 20 75 6e 6f 72 64 65 72 65 64 2e .if.they.are.equal.or.unordered.
497a0 0a 0a 20 20 20 20 20 54 68 65 20 61 72 67 75 6d 65 6e 74 73 20 41 20 61 6e 64 20 42 20 6d 75 73 .......The.arguments.A.and.B.mus
497c0 74 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 74 79 70 65 2e 20 20 53 70 65 63 69 66 69 63 61 t.have.the.same.type...Specifica
497e0 6c 6c 79 3a 0a 0a 20 20 20 20 20 20 20 20 e2 80 a2 20 4e 75 6d 62 65 72 73 20 61 72 65 20 63 6f lly:..............Numbers.are.co
49800 6d 70 61 72 65 64 20 75 73 69 6e 67 20 e2 80 98 3c e2 80 99 2e 0a 20 20 20 20 20 20 20 20 e2 80 mpared.using....<...............
49820 a2 20 53 74 72 69 6e 67 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 75 73 69 6e 67 20 e2 80 98 ..Strings.are.compared.using....
49840 73 74 72 69 6e 67 3c e2 80 99 20 61 6e 64 20 73 79 6d 62 6f 6c 73 20 61 72 65 20 63 6f 6d 70 61 string<....and.symbols.are.compa
49860 72 65 64 0a 20 20 20 20 20 20 20 20 20 20 62 79 20 63 6f 6d 70 61 72 69 6e 67 20 74 68 65 69 72 red...........by.comparing.their
49880 20 6e 61 6d 65 73 20 61 73 20 73 74 72 69 6e 67 73 2e 0a 20 20 20 20 20 20 20 20 e2 80 a2 20 43 .names.as.strings..............C
498a0 6f 6e 73 65 73 2c 20 6c 69 73 74 73 2c 20 76 65 63 74 6f 72 73 20 61 6e 64 20 72 65 63 6f 72 64 onses,.lists,.vectors.and.record
498c0 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 0a 20 20 20 20 20 20 20 20 20 20 6c 65 78 69 63 6f 67 s.are.compared...........lexicog
498e0 72 61 70 68 69 63 61 6c 6c 79 2e 20 20 54 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 65 raphically...This.means.that.the
49900 20 74 77 6f 20 73 65 71 75 65 6e 63 65 73 20 61 72 65 0a 20 20 20 20 20 20 20 20 20 20 63 6f 6d .two.sequences.are...........com
49920 70 61 72 65 64 20 65 6c 65 6d 65 6e 74 2d 77 69 73 65 20 66 72 6f 6d 20 6c 65 66 74 20 74 6f 20 pared.element-wise.from.left.to.
49940 72 69 67 68 74 20 75 6e 74 69 6c 20 74 68 65 79 20 64 69 66 66 65 72 2c 0a 20 20 20 20 20 20 20 right.until.they.differ,........
49960 20 20 20 61 6e 64 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 74 68 65 6e 20 74 68 61 74 20 6f ...and.the.result.is.then.that.o
49980 66 20 e2 80 98 76 61 6c 75 65 3c e2 80 99 20 6f 6e 20 74 68 65 20 66 69 72 73 74 20 70 61 69 72 f....value<....on.the.first.pair
499a0 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 64 69 66 66 65 72 69 6e 67 20 65 6c 65 6d 65 6e 74 73 .of...........differing.elements
499c0 2e 20 20 49 66 20 6f 6e 65 20 73 65 71 75 65 6e 63 65 20 72 75 6e 73 20 6f 75 74 20 6f 66 20 65 ...If.one.sequence.runs.out.of.e
499e0 6c 65 6d 65 6e 74 73 0a 20 20 20 20 20 20 20 20 20 20 62 65 66 6f 72 65 20 74 68 65 20 6f 74 68 lements...........before.the.oth
49a00 65 72 2c 20 74 68 65 20 73 68 6f 72 74 65 72 20 73 65 71 75 65 6e 63 65 20 63 6f 6d 65 73 20 62 er,.the.shorter.sequence.comes.b
49a20 65 66 6f 72 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 6c 6f 6e 67 65 72 2e 0a 20 20 20 20 efore.the...........longer......
49a40 20 20 20 20 e2 80 a2 20 4d 61 72 6b 65 72 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 66 69 72 ........Markers.are.compared.fir
49a60 73 74 20 62 79 20 62 75 66 66 65 72 2c 20 74 68 65 6e 20 62 79 20 70 6f 73 69 74 69 6f 6e 2e 0a st.by.buffer,.then.by.position..
49a80 20 20 20 20 20 20 20 20 e2 80 a2 20 42 75 66 66 65 72 73 20 61 6e 64 20 70 72 6f 63 65 73 73 65 ............Buffers.and.processe
49aa0 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 62 79 20 63 6f 6d 70 61 72 69 6e 67 20 74 68 65 69 s.are.compared.by.comparing.thei
49ac0 72 20 6e 61 6d 65 73 20 61 73 0a 20 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 73 2e 20 20 44 r.names.as...........strings...D
49ae0 65 61 64 20 62 75 66 66 65 72 73 20 28 77 68 6f 73 65 20 6e 61 6d 65 20 69 73 20 e2 80 98 6e 69 ead.buffers.(whose.name.is....ni
49b00 6c e2 80 99 29 20 77 69 6c 6c 20 63 6f 6d 70 61 72 65 0a 20 20 20 20 20 20 20 20 20 20 62 65 66 l...).will.compare...........bef
49b20 6f 72 65 20 61 6e 79 20 6c 69 76 65 20 62 75 66 66 65 72 2e 0a 20 20 20 20 20 20 20 20 e2 80 a2 ore.any.live.buffer.............
49b40 20 4f 74 68 65 72 20 74 79 70 65 73 20 61 72 65 20 63 6f 6e 73 69 64 65 72 65 64 20 75 6e 6f 72 .Other.types.are.considered.unor
49b60 64 65 72 65 64 20 61 6e 64 20 74 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 77 69 6c 6c 0a dered.and.the.return.value.will.
49b80 20 20 20 20 20 20 20 20 20 20 62 65 20 e2 80 98 6e 69 6c e2 80 99 2e 0a 0a 20 20 20 20 20 45 78 ..........be....nil...........Ex
49ba0 61 6d 70 6c 65 73 3a 0a 20 20 20 20 20 20 20 20 20 20 28 76 61 6c 75 65 3c 20 2d 34 20 33 2e 35 amples:...........(value<.-4.3.5
49bc0 29 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 20 28 76 61 6c 75 65 3c 20 22 64 6f 67 22 20 ).....t...........(value<."dog".
49be0 22 63 61 74 22 29 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 76 61 6c 75 65 3c "cat").....nil...........(value<
49c00 20 27 79 69 70 20 27 79 69 70 29 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 28 76 .'yip.'yip).....nil...........(v
49c20 61 6c 75 65 3c 20 27 28 33 20 32 29 20 27 28 33 20 32 20 30 29 29 20 e2 87 92 20 74 0a 20 20 20 alue<.'(3.2).'(3.2.0)).....t....
49c40 20 20 20 20 20 20 20 28 76 61 6c 75 65 3c 20 5b 33 20 32 20 22 61 22 5d 20 5b 33 20 32 20 22 62 .......(value<.[3.2."a"].[3.2."b
49c60 22 5d 29 20 e2 87 92 20 74 0a 0a 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 e2 80 98 6e 69 6c "]).....t.......Note.that....nil
49c80 e2 80 99 20 69 73 20 74 72 65 61 74 65 64 20 61 73 20 65 69 74 68 65 72 20 61 20 73 79 6d 62 6f ....is.treated.as.either.a.symbo
49ca0 6c 20 6f 72 20 61 6e 20 65 6d 70 74 79 20 6c 69 73 74 2c 0a 20 20 20 20 20 64 65 70 65 6e 64 69 l.or.an.empty.list,......dependi
49cc0 6e 67 20 6f 6e 20 77 68 61 74 20 69 74 20 69 73 20 63 6f 6d 70 61 72 65 64 20 61 67 61 69 6e 73 ng.on.what.it.is.compared.agains
49ce0 74 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 28 76 61 6c 75 65 3c 20 6e 69 6c 20 27 28 30 29 29 20 t:............(value<.nil.'(0)).
49d00 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 20 28 76 61 6c 75 65 3c 20 27 6e 69 62 20 6e 69 6c ....t...........(value<.'nib.nil
49d20 29 20 e2 87 92 20 74 0a 0a 20 20 20 20 20 54 68 65 72 65 20 69 73 20 6e 6f 20 6c 69 6d 69 74 20 ).....t.......There.is.no.limit.
49d40 74 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 73 65 71 75 65 6e 63 65 73 20 28 6c 69 73 74 to.the.length.of.sequences.(list
49d60 73 2c 20 76 65 63 74 6f 72 73 20 61 6e 64 20 73 6f 0a 20 20 20 20 20 6f 6e 29 20 74 68 61 74 20 s,.vectors.and.so......on).that.
49d80 63 61 6e 20 62 65 20 63 6f 6d 70 61 72 65 64 2c 20 62 75 74 20 e2 80 98 76 61 6c 75 65 3c e2 80 can.be.compared,.but....value<..
49da0 99 20 6d 61 79 20 66 61 69 6c 20 77 69 74 68 20 61 6e 20 65 72 72 6f 72 20 69 66 0a 20 20 20 20 ..may.fail.with.an.error.if.....
49dc0 20 75 73 65 64 20 74 6f 20 63 6f 6d 70 61 72 65 20 63 69 72 63 75 6c 61 72 20 6f 72 20 64 65 65 .used.to.compare.circular.or.dee
49de0 70 6c 79 20 6e 65 73 74 65 64 20 64 61 74 61 20 73 74 72 75 63 74 75 72 65 73 2e 0a 0a 20 2d 2d ply.nested.data.structures....--
49e00 20 46 75 6e 63 74 69 6f 6e 3a 20 64 72 6f 70 20 6e 20 6c 69 73 74 0a 20 20 20 20 20 54 68 69 73 .Function:.drop.n.list......This
49e20 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 6e 20 61 6c 69 61 73 20 66 6f 72 20 e2 80 98 6e 74 68 .function.is.an.alias.for....nth
49e40 63 64 72 e2 80 99 2e 20 20 49 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 4e 74 68 20 43 44 52 20 cdr......It.returns.the.Nth.CDR.
49e60 6f 66 0a 20 20 20 20 20 4c 49 53 54 2e 20 20 49 6e 20 6f 74 68 65 72 20 77 6f 72 64 73 2c 20 69 of......LIST...In.other.words,.i
49e80 74 20 73 6b 69 70 73 20 70 61 73 74 20 74 68 65 20 66 69 72 73 74 20 4e 20 6c 69 6e 6b 73 20 6f t.skips.past.the.first.N.links.o
49ea0 66 20 4c 49 53 54 20 61 6e 64 0a 20 20 20 20 20 72 65 74 75 72 6e 73 20 77 68 61 74 20 66 6f 6c f.LIST.and......returns.what.fol
49ec0 6c 6f 77 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 67 65 74 2d 74 72 75 65 6e 61 6d lows....--.Function:.get-truenam
49ee0 65 2d 62 75 66 66 65 72 20 66 69 6c 65 6e 61 6d 65 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 e-buffer.filename......Return.th
49f00 65 20 62 75 66 66 65 72 20 77 69 74 68 20 e2 80 98 66 69 6c 65 2d 74 72 75 65 6e 61 6d 65 e2 80 e.buffer.with....file-truename..
49f20 99 20 65 71 75 61 6c 20 74 6f 20 46 49 4c 45 4e 41 4d 45 20 28 61 0a 20 20 20 20 20 73 74 72 69 ..equal.to.FILENAME.(a......stri
49f40 6e 67 29 2e 20 20 49 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 73 75 63 68 20 6c 69 76 65 20 62 ng)...If.there.is.no.such.live.b
49f60 75 66 66 65 72 2c 20 72 65 74 75 72 6e 20 6e 69 6c 2e 20 20 53 65 65 20 61 6c 73 6f 0a 20 20 20 uffer,.return.nil...See.also....
49f80 20 20 e2 80 98 66 69 6e 64 2d 62 75 66 66 65 72 2d 76 69 73 69 74 69 6e 67 e2 80 99 2e 0a 0a 20 .....find-buffer-visiting.......
49fa0 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 66 69 6e 64 2d 62 75 66 66 65 72 20 76 61 72 69 61 62 6c --.Function:.find-buffer.variabl
49fc0 65 20 76 61 6c 75 65 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 62 75 66 66 65 72 20 77 e.value......Return.the.buffer.w
49fe0 69 74 68 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 56 41 52 49 41 42 4c 45 20 65 71 75 61 6c 20 ith.buffer-local.VARIABLE.equal.
4a000 74 6f 20 56 41 4c 55 45 2e 20 20 49 66 0a 20 20 20 20 20 74 68 65 72 65 20 69 73 20 6e 6f 20 73 to.VALUE...If......there.is.no.s
4a020 75 63 68 20 6c 69 76 65 20 62 75 66 66 65 72 2c 20 72 65 74 75 72 6e 20 6e 69 6c 2e 0a 0a 20 2d uch.live.buffer,.return.nil....-
4a040 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 72 65 71 75 69 72 65 2d 77 69 74 68 2d 63 68 65 63 6b 20 66 -.Function:.require-with-check.f
4a060 65 61 74 75 72 65 20 26 6f 70 74 69 6f 6e 61 6c 20 66 69 6c 65 6e 61 6d 65 20 6e 6f 65 72 72 6f eature.&optional.filename.noerro
4a080 72 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 6f 72 6b 73 20 6c 69 6b 65 20 r......This.function.works.like.
4a0a0 e2 80 98 72 65 71 75 69 72 65 e2 80 99 2c 20 65 78 63 65 70 74 20 69 66 20 46 45 41 54 55 52 45 ...require...,.except.if.FEATURE
4a0c0 20 69 73 20 61 6c 72 65 61 64 79 0a 20 20 20 20 20 6c 6f 61 64 65 64 20 28 69 2e 65 2e 20 69 73 .is.already......loaded.(i.e..is
4a0e0 20 61 6c 72 65 61 64 79 20 61 20 6d 65 6d 62 65 72 20 6f 66 20 74 68 65 20 6c 69 73 74 20 69 6e .already.a.member.of.the.list.in
4a100 20 e2 80 98 66 65 61 74 75 72 65 73 e2 80 99 2c 20 73 65 65 0a 20 20 20 20 20 62 65 6c 6f 77 29 ....features...,.see......below)
4a120 2e 20 20 49 66 20 46 45 41 54 55 52 45 20 69 73 20 61 6c 72 65 61 64 79 20 6c 6f 61 64 65 64 2c ...If.FEATURE.is.already.loaded,
4a140 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 73 20 69 66 0a 20 20 20 20 20 46 45 .this.function.checks.if......FE
4a160 41 54 55 52 45 20 77 61 73 20 70 72 6f 76 69 64 65 64 20 62 79 20 61 20 66 69 6c 65 20 64 69 66 ATURE.was.provided.by.a.file.dif
4a180 66 65 72 65 6e 74 20 66 72 6f 6d 20 46 49 4c 45 4e 41 4d 45 2c 20 61 6e 64 20 69 66 20 73 6f 2c ferent.from.FILENAME,.and.if.so,
4a1a0 0a 20 20 20 20 20 69 74 20 62 79 20 64 65 66 61 75 6c 74 20 73 69 67 6e 61 6c 73 20 61 6e 20 65 ......it.by.default.signals.an.e
4a1c0 72 72 6f 72 2e 20 20 49 66 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 6f 70 74 69 6f rror...If.the.value.of.the.optio
4a1e0 6e 61 6c 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 20 4e 4f 45 52 52 4f 52 20 69 73 20 e2 80 98 nal......argument.NOERROR.is....
4a200 72 65 6c 6f 61 64 e2 80 99 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 64 6f 65 73 6e e2 80 99 reload...,.the.function.doesn...
4a220 74 20 73 69 67 6e 61 6c 20 61 6e 20 65 72 72 6f 72 2c 0a 20 20 20 20 20 62 75 74 20 69 6e 73 74 t.signal.an.error,......but.inst
4a240 65 61 64 20 66 6f 72 63 69 62 6c 79 20 72 65 6c 6f 61 64 73 20 46 49 4c 45 4e 41 4d 45 3b 20 69 ead.forcibly.reloads.FILENAME;.i
4a260 66 20 4e 4f 45 52 52 4f 52 20 69 73 20 73 6f 6d 65 20 6f 74 68 65 72 0a 20 20 20 20 20 6e 6f 6e f.NOERROR.is.some.other......non
4a280 2d e2 80 98 6e 69 6c e2 80 99 20 76 61 6c 75 65 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 65 -...nil....value,.the.function.e
4a2a0 6d 69 74 73 20 61 20 77 61 72 6e 69 6e 67 20 61 62 6f 75 74 20 46 45 41 54 55 52 45 20 62 65 69 mits.a.warning.about.FEATURE.bei
4a2c0 6e 67 0a 20 20 20 20 20 61 6c 72 65 61 64 79 20 70 72 6f 76 69 64 65 64 20 62 79 20 61 6e 6f 74 ng......already.provided.by.anot
4a2e0 68 65 72 20 66 69 6c 65 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6d 65 72 67 65 2d 6f her.file....--.Function:.merge-o
4a300 72 64 65 72 65 64 2d 6c 69 73 74 73 20 6c 69 73 74 73 20 26 6f 70 74 69 6f 6e 61 6c 20 65 72 72 rdered-lists.lists.&optional.err
4a320 6f 72 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 4d 65 72 67 65 20 4c 49 53 54 53 20 69 6e 20 or-function......Merge.LISTS.in.
4a340 61 20 63 6f 6e 73 69 73 74 65 6e 74 20 6f 72 64 65 72 2e 20 20 4c 49 53 54 53 20 69 73 20 61 20 a.consistent.order...LISTS.is.a.
4a360 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 20 6f 66 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 73 2e 20 list.of.lists.of......elements..
4a380 20 4d 65 72 67 65 20 74 68 65 6d 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c 65 20 6c 69 73 74 20 63 .Merge.them.into.a.single.list.c
4a3a0 6f 6e 74 61 69 6e 69 6e 67 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 73 ontaining.the.same......elements
4a3c0 20 28 72 65 6d 6f 76 69 6e 67 20 64 75 70 6c 69 63 61 74 65 73 29 2c 20 6f 62 65 79 69 6e 67 20 .(removing.duplicates),.obeying.
4a3e0 74 68 65 69 72 20 72 65 6c 61 74 69 76 65 20 70 6f 73 69 74 69 6f 6e 73 20 69 6e 0a 20 20 20 20 their.relative.positions.in.....
4a400 20 65 61 63 68 20 6c 69 73 74 2e 20 20 54 68 65 20 6f 72 64 65 72 20 6f 66 20 74 68 65 20 28 73 .each.list...The.order.of.the.(s
4a420 75 62 29 6c 69 73 74 73 20 64 65 74 65 72 6d 69 6e 65 73 20 74 68 65 20 66 69 6e 61 6c 20 6f 72 ub)lists.determines.the.final.or
4a440 64 65 72 0a 20 20 20 20 20 69 6e 20 74 68 6f 73 65 20 63 61 73 65 73 20 77 68 65 72 65 20 74 68 der......in.those.cases.where.th
4a460 65 20 6f 72 64 65 72 20 77 69 74 68 69 6e 20 74 68 65 20 73 75 62 6c 69 73 74 73 20 64 6f 65 73 e.order.within.the.sublists.does
4a480 20 6e 6f 74 20 69 6d 70 6f 73 65 0a 20 20 20 20 20 61 20 75 6e 69 71 75 65 20 63 68 6f 69 63 65 .not.impose......a.unique.choice
4a4a0 2e 20 20 45 71 75 61 6c 69 74 79 20 6f 66 20 65 6c 65 6d 65 6e 74 73 20 69 73 20 74 65 73 74 65 ...Equality.of.elements.is.teste
4a4c0 64 20 77 69 74 68 20 e2 80 98 65 71 6c e2 80 99 2e 0a 0a 20 20 20 20 20 49 66 20 61 20 63 6f 6e d.with....eql...........If.a.con
4a4e0 73 69 73 74 65 6e 74 20 6f 72 64 65 72 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 2c 20 63 61 sistent.order.does.not.exist,.ca
4a500 6c 6c 20 45 52 52 4f 52 2d 46 55 4e 43 54 49 4f 4e 20 77 69 74 68 20 61 0a 20 20 20 20 20 72 65 ll.ERROR-FUNCTION.with.a......re
4a520 6d 61 69 6e 69 6e 67 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 20 74 68 61 74 20 77 65 20 64 6f maining.list.of.lists.that.we.do
4a540 20 6e 6f 74 20 6b 6e 6f 77 20 68 6f 77 20 74 6f 20 6d 65 72 67 65 2e 20 20 49 74 0a 20 20 20 20 .not.know.how.to.merge...It.....
4a560 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 74 68 65 20 63 61 6e 64 69 64 61 74 65 20 74 6f 20 .should.return.the.candidate.to.
4a580 75 73 65 20 74 6f 20 63 6f 6e 74 69 6e 75 65 20 74 68 65 20 6d 65 72 67 65 2c 20 77 68 69 63 68 use.to.continue.the.merge,.which
4a5a0 20 68 61 73 0a 20 20 20 20 20 74 6f 20 62 65 20 74 68 65 20 68 65 61 64 20 6f 66 20 6f 6e 65 20 .has......to.be.the.head.of.one.
4a5c0 6f 66 20 74 68 65 20 6c 69 73 74 73 2e 20 20 42 79 20 64 65 66 61 75 6c 74 20 77 65 20 63 68 6f of.the.lists...By.default.we.cho
4a5e0 6f 73 65 20 74 68 65 20 68 65 61 64 0a 20 20 20 20 20 6f 66 20 74 68 65 20 66 69 72 73 74 20 6c ose.the.head......of.the.first.l
4a600 69 73 74 2e 0a 0a 20 2d 2d 20 56 61 72 69 61 62 6c 65 3a 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c ist....--.Variable:.completion-l
4a620 61 7a 79 2d 68 69 6c 69 74 0a 20 20 20 20 20 49 66 20 6e 6f 6e 2d 6e 69 6c 2c 20 72 65 71 75 65 azy-hilit......If.non-nil,.reque
4a640 73 74 20 6c 61 7a 79 20 68 69 67 68 6c 69 67 68 74 69 6e 67 20 6f 66 20 63 6f 6d 70 6c 65 74 69 st.lazy.highlighting.of.completi
4a660 6f 6e 20 63 61 6e 64 69 64 61 74 65 73 2e 0a 0a 20 20 20 20 20 4c 69 73 70 20 70 72 6f 67 72 61 on.candidates........Lisp.progra
4a680 6d 73 20 28 61 2e 6b 2e 61 2e 20 20 22 66 72 6f 6e 74 20 65 6e 64 73 22 29 20 74 68 61 74 20 70 ms.(a.k.a..."front.ends").that.p
4a6a0 72 65 73 65 6e 74 20 63 6f 6d 70 6c 65 74 69 6f 6e 0a 20 20 20 20 20 63 61 6e 64 69 64 61 74 65 resent.completion......candidate
4a6c0 73 20 6d 61 79 20 6f 70 74 20 74 6f 20 62 69 6e 64 20 74 68 69 73 20 76 61 72 69 61 62 6c 65 20 s.may.opt.to.bind.this.variable.
4a6e0 74 6f 20 61 20 6e 6f 6e 2d 6e 69 6c 20 76 61 6c 75 65 20 77 68 65 6e 0a 20 20 20 20 20 63 61 6c to.a.non-nil.value.when......cal
4a700 6c 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 20 28 73 75 63 68 20 61 73 20 e2 80 98 63 6f 6d 70 6c ling.functions.(such.as....compl
4a720 65 74 69 6f 6e 2d 61 6c 6c 2d 63 6f 6d 70 6c 65 74 69 6f 6e 73 e2 80 99 29 20 77 68 69 63 68 0a etion-all-completions...).which.
4a740 20 20 20 20 20 70 72 6f 64 75 63 65 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 6e 64 69 64 61 74 .....produce.completion.candidat
4a760 65 73 2e 20 20 54 68 69 73 20 74 65 6c 6c 73 20 74 68 65 20 75 6e 64 65 72 6c 79 69 6e 67 0a 20 es...This.tells.the.underlying..
4a780 20 20 20 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 73 74 79 6c 65 73 20 74 68 61 74 20 74 68 65 79 20 ....completion.styles.that.they.
4a7a0 64 6f 20 6e 6f 74 20 6e 65 65 64 20 74 6f 20 66 6f 6e 74 69 66 79 20 28 69 2e 65 2e 2c 0a 20 20 do.not.need.to.fontify.(i.e.,...
4a7c0 20 20 20 70 72 6f 70 65 72 74 69 7a 65 20 77 69 74 68 20 74 68 65 20 e2 80 98 66 61 63 65 e2 80 ...propertize.with.the....face..
4a7e0 99 20 70 72 6f 70 65 72 74 79 29 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 6e 64 69 64 61 74 65 ..property).completion.candidate
4a800 73 20 69 6e 20 61 20 77 61 79 0a 20 20 20 20 20 74 68 61 74 20 68 69 67 68 6c 69 67 68 74 73 20 s.in.a.way......that.highlights.
4a820 74 68 65 20 6d 61 74 63 68 69 6e 67 20 70 61 72 74 73 2e 20 20 54 68 65 6e 20 69 74 20 69 73 20 the.matching.parts...Then.it.is.
4a840 74 68 65 20 66 72 6f 6e 74 20 65 6e 64 20 77 68 69 63 68 0a 20 20 20 20 20 70 72 65 73 65 6e 74 the.front.end.which......present
4a860 73 20 74 68 65 20 63 61 6e 64 69 64 61 74 65 73 20 74 68 61 74 20 62 65 63 6f 6d 65 73 20 72 65 s.the.candidates.that.becomes.re
4a880 73 70 6f 6e 73 69 62 6c 65 20 66 6f 72 20 74 68 69 73 0a 20 20 20 20 20 66 6f 6e 74 69 66 69 63 sponsible.for.this......fontific
4a8a0 61 74 69 6f 6e 2e 20 20 54 68 65 20 66 72 6f 6e 74 20 65 6e 64 20 64 6f 65 73 20 74 68 61 74 20 ation...The.front.end.does.that.
4a8c0 62 79 20 63 61 6c 6c 69 6e 67 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 e2 80 98 by.calling.the.function.........
4a8e0 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 e2 80 99 20 6f 6e 20 65 61 63 68 completion-lazy-hilit....on.each
4a900 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 6e 64 69 64 61 74 65 20 74 68 61 74 20 69 73 20 74 6f .completion.candidate.that.is.to
4a920 20 62 65 0a 20 20 20 20 20 64 69 73 70 6c 61 79 65 64 20 74 6f 20 74 68 65 20 75 73 65 72 2e 0a .be......displayed.to.the.user..
4a940 0a 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 6f 6e 6c 79 20 73 6f 6d 65 20 63 6f 6d 70 6c 65 ......Note.that.only.some.comple
4a960 74 69 6f 6e 20 73 74 79 6c 65 73 20 74 61 6b 65 20 61 64 76 61 6e 74 61 67 65 20 6f 66 20 74 68 tion.styles.take.advantage.of.th
4a980 69 73 0a 20 20 20 20 20 76 61 72 69 61 62 6c 65 20 66 6f 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f is......variable.for.optimizatio
4a9a0 6e 20 70 75 72 70 6f 73 65 73 2e 20 20 4f 74 68 65 72 20 73 74 79 6c 65 73 20 77 69 6c 6c 20 69 n.purposes...Other.styles.will.i
4a9c0 67 6e 6f 72 65 20 74 68 65 0a 20 20 20 20 20 68 69 6e 74 20 61 6e 64 20 66 6f 6e 74 69 66 79 20 gnore.the......hint.and.fontify.
4a9e0 65 61 67 65 72 6c 79 20 61 73 20 75 73 75 61 6c 2e 20 20 49 74 20 69 73 20 73 74 69 6c 6c 20 73 eagerly.as.usual...It.is.still.s
4aa00 61 66 65 20 66 6f 72 20 61 20 66 72 6f 6e 74 0a 20 20 20 20 20 65 6e 64 20 74 6f 20 63 61 6c 6c afe.for.a.front......end.to.call
4aa20 20 e2 80 98 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 e2 80 99 20 69 6e 20 ....completion-lazy-hilit....in.
4aa40 74 68 65 73 65 20 73 69 74 75 61 74 69 6f 6e 73 2e 0a 0a 20 20 20 20 20 54 6f 20 61 75 74 68 6f these.situations........To.autho
4aa60 72 20 61 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 73 74 79 6c 65 20 74 68 61 74 20 74 61 6b 65 73 20 r.a.completion.style.that.takes.
4aa80 61 64 76 61 6e 74 61 67 65 20 6f 66 20 74 68 69 73 20 76 61 72 69 61 62 6c 65 2c 0a 20 20 20 20 advantage.of.this.variable,.....
4aaa0 20 73 65 65 20 e2 80 98 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 2d 66 6e .see....completion-lazy-hilit-fn
4aac0 e2 80 99 20 61 6e 64 0a 20 20 20 20 20 e2 80 98 63 6f 6d 70 6c 65 74 69 6f 6e 2d 70 63 6d 2d 2d ....and.........completion-pcm--
4aae0 68 69 6c 69 74 2d 63 6f 6d 6d 6f 6e 61 6c 69 74 79 e2 80 99 2e 0a 0a 20 2d 2d 20 56 61 72 69 61 hilit-commonality.......--.Varia
4ab00 62 6c 65 3a 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 2d 66 6e 0a 20 20 ble:.completion-lazy-hilit-fn...
4ab20 20 20 20 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 66 75 6e 63 74 69 6f 6e 20 73 65 74 20 62 79 ...Fontification.function.set.by
4ab40 20 6c 61 7a 79 2d 68 69 67 68 6c 69 67 68 74 69 6e 67 20 63 6f 6d 70 6c 65 74 69 6f 6e 73 20 73 .lazy-highlighting.completions.s
4ab60 74 79 6c 65 73 2e 0a 20 20 20 20 20 57 68 65 6e 20 61 20 67 69 76 65 6e 20 73 74 79 6c 65 20 77 tyles.......When.a.given.style.w
4ab80 61 6e 74 73 20 74 6f 20 65 6e 61 62 6c 65 20 73 75 70 70 6f 72 74 20 66 6f 72 0a 20 20 20 20 20 ants.to.enable.support.for......
4aba0 e2 80 98 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 e2 80 99 20 28 77 68 69 ...completion-lazy-hilit....(whi
4abc0 63 68 20 73 65 65 29 2c 20 74 68 61 74 20 73 74 79 6c 65 20 73 68 6f 75 6c 64 20 73 65 74 20 74 ch.see),.that.style.should.set.t
4abe0 68 69 73 0a 20 20 20 20 20 76 61 72 69 61 62 6c 65 20 74 6f 20 61 20 66 75 6e 63 74 69 6f 6e 20 his......variable.to.a.function.
4ac00 6f 66 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 2e 20 20 49 74 20 77 69 6c 6c 20 62 65 20 63 61 6c of.one.argument...It.will.be.cal
4ac20 6c 65 64 20 77 69 74 68 0a 20 20 20 20 20 65 61 63 68 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 led.with......each.completion.ca
4ac40 6e 64 69 64 61 74 65 2c 20 61 20 73 74 72 69 6e 67 2c 20 74 6f 20 62 65 20 64 69 73 70 6c 61 79 ndidate,.a.string,.to.be.display
4ac60 65 64 20 74 6f 20 74 68 65 20 75 73 65 72 2c 0a 20 20 20 20 20 61 6e 64 20 73 68 6f 75 6c 64 20 ed.to.the.user,......and.should.
4ac80 64 65 73 74 72 75 63 74 69 76 65 6c 79 20 70 72 6f 70 65 72 74 69 7a 65 20 74 68 65 73 65 20 73 destructively.propertize.these.s
4aca0 74 72 69 6e 67 73 20 77 69 74 68 20 74 68 65 20 e2 80 98 66 61 63 65 e2 80 99 0a 20 20 20 20 20 trings.with.the....face.........
4acc0 70 72 6f 70 65 72 74 79 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 63 6f 6d 70 6c 65 74 property....--.Function:.complet
4ace0 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 20 73 74 72 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 ion-lazy-hilit.str......Return.a
4ad00 20 63 6f 70 79 20 6f 66 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 6e 64 69 64 61 74 65 20 53 54 .copy.of.completion.candidate.ST
4ad20 52 20 74 68 61 74 20 69 73 20 66 61 63 65 2d 70 72 6f 70 65 72 74 69 7a 65 64 2e 0a 20 20 20 20 R.that.is.face-propertized......
4ad40 20 53 65 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 68 65 20 76 61 72 69 61 62 .See.documentation.of.the.variab
4ad60 6c 65 20 e2 80 98 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 e2 80 99 20 66 le....completion-lazy-hilit....f
4ad80 6f 72 20 6d 6f 72 65 0a 20 20 20 20 20 64 65 74 61 69 6c 73 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f or.more......details....--.Macro
4ada0 3a 20 73 74 61 74 69 63 2d 69 66 20 63 6f 6e 64 69 74 69 6f 6e 20 74 68 65 6e 2d 66 6f 72 6d 20 :.static-if.condition.then-form.
4adc0 65 6c 73 65 2d 66 6f 72 6d 73 2e 2e 2e 0a 20 20 20 20 20 54 65 73 74 20 43 4f 4e 44 49 54 49 4f else-forms.........Test.CONDITIO
4ade0 4e 20 61 74 20 6d 61 63 72 6f 2d 65 78 70 61 6e 73 69 6f 6e 20 74 69 6d 65 2e 20 20 49 66 20 69 N.at.macro-expansion.time...If.i
4ae00 74 73 20 76 61 6c 75 65 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 0a 20 20 20 20 20 ts.value.is.non-...nil...,......
4ae20 65 78 70 61 6e 64 20 74 68 65 20 6d 61 63 72 6f 20 74 6f 20 54 48 45 4e 2d 46 4f 52 4d 2c 20 6f expand.the.macro.to.THEN-FORM,.o
4ae40 74 68 65 72 77 69 73 65 20 65 78 70 61 6e 64 20 69 74 20 74 6f 20 45 4c 53 45 2d 46 4f 52 4d 53 therwise.expand.it.to.ELSE-FORMS
4ae60 0a 20 20 20 20 20 65 6e 63 6c 6f 73 65 64 20 69 6e 20 61 20 e2 80 98 70 72 6f 67 6e e2 80 99 2e ......enclosed.in.a....progn....
4ae80 20 20 45 4c 53 45 2d 46 4f 52 4d 53 20 6d 61 79 20 62 65 20 65 6d 70 74 79 2e 0a 0a 20 20 20 20 ..ELSE-FORMS.may.be.empty.......
4aea0 20 48 65 72 65 20 69 73 20 61 6e 20 65 78 61 6d 70 6c 65 20 6f 66 20 69 74 73 20 75 73 65 20 66 .Here.is.an.example.of.its.use.f
4aec0 72 6f 6d 20 43 43 20 4d 6f 64 65 2c 20 77 68 69 63 68 20 70 72 65 76 65 6e 74 73 20 61 0a 20 20 rom.CC.Mode,.which.prevents.a...
4aee0 20 20 20 e2 80 98 64 65 66 61 64 76 69 63 65 e2 80 99 20 66 6f 72 6d 20 62 65 69 6e 67 20 63 6f ......defadvice....form.being.co
4af00 6d 70 69 6c 65 64 20 69 6e 20 6e 65 77 65 72 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 45 6d 61 63 mpiled.in.newer.versions.of.Emac
4af20 73 3a 0a 20 20 20 20 20 20 20 20 20 20 28 73 74 61 74 69 63 2d 69 66 20 28 62 6f 75 6e 64 70 20 s:...........(static-if.(boundp.
4af40 27 63 6f 6d 6d 65 6e 74 2d 6c 69 6e 65 2d 62 72 65 61 6b 2d 66 75 6e 63 74 69 6f 6e 29 0a 20 20 'comment-line-break-function)...
4af60 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ............(progn).............
4af80 28 64 65 66 76 61 72 20 63 2d 69 6e 73 69 64 65 2d 6c 69 6e 65 2d 62 72 65 61 6b 2d 61 64 76 69 (defvar.c-inside-line-break-advi
4afa0 63 65 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 61 64 76 69 63 65 20 69 ce.nil).............(defadvice.i
4afc0 6e 64 65 6e 74 2d 6e 65 77 2d 63 6f 6d 6d 65 6e 74 2d 6c 69 6e 65 20 28 61 72 6f 75 6e 64 20 63 ndent-new-comment-line.(around.c
4afe0 2d 6c 69 6e 65 2d 62 72 65 61 6b 2d 61 64 76 69 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 -line-break-advice..............
4b000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4b020 20 20 20 20 20 20 20 20 20 20 61 63 74 69 76 61 74 65 20 70 72 65 61 63 74 69 76 61 74 65 29 0a ..........activate.preactivate).
4b040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 43 61 6c 6c 20 60 63 2d 69 6e 64 65 6e 74 2d 6e 65 .............."Call.`c-indent-ne
4b060 77 2d 63 6f 6d 6d 65 6e 74 2d 6c 69 6e 65 27 20 69 66 20 69 6e 20 43 43 20 4d 6f 64 65 2e 22 0a w-comment-line'.if.in.CC.Mode.".
4b080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6f 72 20 63 2d 69 6e 73 69 64 65 2d 6c ..............(if.(or.c-inside-l
4b0a0 69 6e 65 2d 62 72 65 61 6b 2d 61 64 76 69 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ine-break-advice................
4b0c0 20 20 20 20 20 20 20 28 6e 6f 74 20 63 2d 62 75 66 66 65 72 2d 69 73 2d 63 63 2d 6d 6f 64 65 29 .......(not.c-buffer-is-cc-mode)
4b0e0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 64 2d 64 6f 2d 69 74 0a 20 20 20 )...................ad-do-it....
4b100 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 2d 69 6e 73 69 64 65 2d 6c 69 6e .............(let.((c-inside-lin
4b120 65 2d 62 72 65 61 6b 2d 61 64 76 69 63 65 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 e-break-advice.t))..............
4b140 20 20 20 20 20 28 63 2d 69 6e 64 65 6e 74 2d 6e 65 77 2d 63 6f 6d 6d 65 6e 74 2d 6c 69 6e 65 20 .....(c-indent-new-comment-line.
4b160 28 61 64 2d 67 65 74 2d 61 72 67 20 30 29 29 29 29 29 29 0a 0a 32 2e 36 2e 32 20 45 78 74 65 6e (ad-get-arg.0))))))..2.6.2.Exten
4b180 64 65 64 20 44 65 66 69 6e 69 74 69 6f 6e 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ded.Definitions.----------------
4b1a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 6d 75 73 74 ----------..These.functions.must
4b1c0 20 62 65 20 63 61 6c 6c 65 64 20 65 78 70 6c 69 63 69 74 6c 79 20 76 69 61 20 e2 80 98 63 6f 6d .be.called.explicitly.via....com
4b1e0 70 61 74 2d 63 61 6c 6c e2 80 99 2c 20 73 69 6e 63 65 20 74 68 65 69 72 0a 63 61 6c 6c 69 6e 67 pat-call...,.since.their.calling
4b200 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 6f 72 20 62 65 68 61 76 69 6f 72 20 77 61 73 20 65 78 74 65 .convention.or.behavior.was.exte
4b220 6e 64 65 64 20 69 6e 20 45 6d 61 63 73 20 33 30 2e 31 3a 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f nded.in.Emacs.30.1:...--.Functio
4b240 6e 3a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 73 6f 72 74 20 73 65 71 75 65 6e 63 65 20 26 72 65 n:.compat-call.sort.sequence.&re
4b260 73 74 20 6b 65 79 77 6f 72 64 2d 61 72 67 73 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 st.keyword-args......This.functi
4b280 6f 6e 20 73 6f 72 74 73 20 53 45 51 55 45 4e 43 45 2c 20 77 68 69 63 68 20 6d 75 73 74 20 62 65 on.sorts.SEQUENCE,.which.must.be
4b2a0 20 61 20 6c 69 73 74 20 6f 72 20 76 65 63 74 6f 72 2c 20 61 6e 64 0a 20 20 20 20 20 72 65 74 75 .a.list.or.vector,.and......retu
4b2c0 72 6e 73 20 61 20 73 6f 72 74 65 64 20 73 65 71 75 65 6e 63 65 20 6f 66 20 74 68 65 20 73 61 6d rns.a.sorted.sequence.of.the.sam
4b2e0 65 20 74 79 70 65 2e 20 20 54 68 65 20 73 6f 72 74 20 69 73 20 73 74 61 62 6c 65 2c 0a 20 20 20 e.type...The.sort.is.stable,....
4b300 20 20 77 68 69 63 68 20 6d 65 61 6e 73 20 74 68 61 74 20 65 6c 65 6d 65 6e 74 73 20 77 69 74 68 ..which.means.that.elements.with
4b320 20 65 71 75 61 6c 20 73 6f 72 74 20 6b 65 79 73 20 6d 61 69 6e 74 61 69 6e 20 74 68 65 69 72 0a .equal.sort.keys.maintain.their.
4b340 20 20 20 20 20 72 65 6c 61 74 69 76 65 20 6f 72 64 65 72 2e 20 20 49 74 20 74 61 6b 65 73 20 74 .....relative.order...It.takes.t
4b360 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6f 70 74 69 6f 6e 61 6c 20 6b 65 79 77 6f 72 64 20 61 72 he.following.optional.keyword.ar
4b380 67 75 6d 65 6e 74 73 3a 0a 0a 20 20 20 20 20 e2 80 98 3a 6b 65 79 20 4b 45 59 46 55 4e 43 e2 80 guments:..........:key.KEYFUNC..
4b3a0 99 0a 20 20 20 20 20 20 20 20 20 20 55 73 65 20 4b 45 59 46 55 4e 43 2c 20 61 20 66 75 6e 63 74 ............Use.KEYFUNC,.a.funct
4b3c0 69 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 20 73 69 6e 67 6c 65 20 65 6c 65 6d 65 6e 74 20 ion.that.takes.a.single.element.
4b3e0 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 20 20 53 45 51 55 45 4e 43 45 20 61 6e 64 20 72 65 74 75 from...........SEQUENCE.and.retu
4b400 72 6e 73 20 69 74 73 20 6b 65 79 20 76 61 6c 75 65 2c 20 74 6f 20 67 65 6e 65 72 61 74 65 20 74 rns.its.key.value,.to.generate.t
4b420 68 65 20 6b 65 79 73 20 75 73 65 64 0a 20 20 20 20 20 20 20 20 20 20 69 6e 20 63 6f 6d 70 61 72 he.keys.used...........in.compar
4b440 69 73 6f 6e 2e 20 20 49 66 20 74 68 69 73 20 61 72 67 75 6d 65 6e 74 20 69 73 20 61 62 73 65 6e ison...If.this.argument.is.absen
4b460 74 20 6f 72 20 69 66 20 4b 45 59 46 55 4e 43 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 e2 80 98 t.or.if.KEYFUNC.is..............
4b480 6e 69 6c e2 80 99 20 74 68 65 6e 20 e2 80 98 69 64 65 6e 74 69 74 79 e2 80 99 20 69 73 20 61 73 nil....then....identity....is.as
4b4a0 73 75 6d 65 64 3b 20 74 68 61 74 20 69 73 2c 20 74 68 65 20 65 6c 65 6d 65 6e 74 73 0a 20 20 20 sumed;.that.is,.the.elements....
4b4c0 20 20 20 20 20 20 20 74 68 65 6d 73 65 6c 76 65 73 20 61 72 65 20 75 73 65 64 20 61 73 20 73 6f .......themselves.are.used.as.so
4b4e0 72 74 69 6e 67 20 6b 65 79 73 2e 0a 0a 20 20 20 20 20 e2 80 98 3a 6c 65 73 73 70 20 50 52 45 44 rting.keys...........:lessp.PRED
4b500 49 43 41 54 45 e2 80 99 0a 20 20 20 20 20 20 20 20 20 20 55 73 65 20 50 52 45 44 49 43 41 54 45 ICATE..............Use.PREDICATE
4b520 20 74 6f 20 6f 72 64 65 72 20 74 68 65 20 6b 65 79 73 2e 20 20 50 52 45 44 49 43 41 54 45 20 69 .to.order.the.keys...PREDICATE.i
4b540 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 0a 20 20 20 20 20 20 20 20 20 20 74 61 6b 65 s.a.function.that...........take
4b560 73 20 74 77 6f 20 73 6f 72 74 20 6b 65 79 73 20 61 73 20 61 72 67 75 6d 65 6e 74 73 20 61 6e 64 s.two.sort.keys.as.arguments.and
4b580 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 69 66 20 74 68 65 0a 20 20 .returns.non-...nil....if.the...
4b5a0 20 20 20 20 20 20 20 20 66 69 72 73 74 20 73 68 6f 75 6c 64 20 63 6f 6d 65 20 62 65 66 6f 72 65 ........first.should.come.before
4b5c0 20 74 68 65 20 73 65 63 6f 6e 64 2e 20 20 49 66 20 74 68 69 73 20 61 72 67 75 6d 65 6e 74 20 69 .the.second...If.this.argument.i
4b5e0 73 0a 20 20 20 20 20 20 20 20 20 20 61 62 73 65 6e 74 20 6f 72 20 50 52 45 44 49 43 41 54 45 20 s...........absent.or.PREDICATE.
4b600 69 73 20 e2 80 98 6e 69 6c e2 80 99 2c 20 74 68 65 6e 20 e2 80 98 76 61 6c 75 65 3c e2 80 99 20 is....nil...,.then....value<....
4b620 69 73 20 75 73 65 64 2c 20 77 68 69 63 68 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 61 70 70 6c is.used,.which.is...........appl
4b640 69 63 61 62 6c 65 20 74 6f 20 6d 61 6e 79 20 64 69 66 66 65 72 65 6e 74 20 4c 69 73 70 20 74 79 icable.to.many.different.Lisp.ty
4b660 70 65 73 20 61 6e 64 20 67 65 6e 65 72 61 6c 6c 79 20 73 6f 72 74 73 20 69 6e 0a 20 20 20 20 20 pes.and.generally.sorts.in......
4b680 20 20 20 20 20 61 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e 0a 0a 20 20 20 20 20 20 20 20 20 .....ascending.order............
4b6a0 20 46 6f 72 20 63 6f 6e 73 69 73 74 65 6e 63 79 2c 20 61 6e 79 20 70 72 65 64 69 63 61 74 65 20 .For.consistency,.any.predicate.
4b6c0 6d 75 73 74 20 6f 62 65 79 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 72 75 6c 65 73 3a 0a 20 must.obey.the.following.rules:..
4b6e0 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 a2 20 49 74 20 6d 75 73 74 20 62 65 20 e2 80 9c 61 6e ................It.must.be....an
4b700 74 69 73 79 6d 6d 65 74 72 69 63 e2 80 9d 3a 20 69 74 20 63 61 6e 6e 6f 74 20 62 6f 74 68 20 6f tisymmetric...:.it.cannot.both.o
4b720 72 64 65 72 20 41 20 62 65 66 6f 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 42 20 61 rder.A.before................B.a
4b740 6e 64 20 42 20 62 65 66 6f 72 65 20 41 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 a2 20 nd.B.before.A...................
4b760 49 74 20 6d 75 73 74 20 62 65 20 e2 80 9c 74 72 61 6e 73 69 74 69 76 65 e2 80 9d 3a 20 69 66 20 It.must.be....transitive...:.if.
4b780 69 74 20 6f 72 64 65 72 73 20 41 20 62 65 66 6f 72 65 20 42 20 61 6e 64 20 42 0a 20 20 20 20 20 it.orders.A.before.B.and.B......
4b7a0 20 20 20 20 20 20 20 20 20 20 62 65 66 6f 72 65 20 43 2c 20 74 68 65 6e 20 69 74 20 6d 75 73 74 ..........before.C,.then.it.must
4b7c0 20 61 6c 73 6f 20 6f 72 64 65 72 20 41 20 62 65 66 6f 72 65 20 43 2e 0a 0a 20 20 20 20 20 e2 80 .also.order.A.before.C..........
4b7e0 98 3a 72 65 76 65 72 73 65 20 46 4c 41 47 e2 80 99 0a 20 20 20 20 20 20 20 20 20 20 49 66 20 46 .:reverse.FLAG..............If.F
4b800 4c 41 47 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 74 68 65 20 73 6f 72 74 69 6e LAG.is.non-...nil...,.the.sortin
4b820 67 20 6f 72 64 65 72 20 69 73 20 72 65 76 65 72 73 65 64 2e 20 20 57 69 74 68 20 74 68 65 0a 20 g.order.is.reversed...With.the..
4b840 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 20 e2 80 98 3a 6c 65 73 73 70 e2 80 99 20 70 72 .........default....:lessp....pr
4b860 65 64 69 63 61 74 65 20 74 68 69 73 20 6d 65 61 6e 73 20 73 6f 72 74 69 6e 67 20 69 6e 20 64 65 edicate.this.means.sorting.in.de
4b880 73 63 65 6e 64 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 6f 72 64 65 72 2e 0a 0a 20 20 20 20 20 scending...........order........
4b8a0 e2 80 98 3a 69 6e 2d 70 6c 61 63 65 20 46 4c 41 47 e2 80 99 0a 20 20 20 20 20 20 20 20 20 20 49 ...:in-place.FLAG..............I
4b8c0 66 20 46 4c 41 47 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 74 68 65 6e 20 53 45 f.FLAG.is.non-...nil...,.then.SE
4b8e0 51 55 45 4e 43 45 20 69 73 20 73 6f 72 74 65 64 20 69 6e 2d 70 6c 61 63 65 0a 20 20 20 20 20 20 QUENCE.is.sorted.in-place.......
4b900 20 20 20 20 28 64 65 73 74 72 75 63 74 69 76 65 6c 79 29 20 61 6e 64 20 72 65 74 75 72 6e 65 64 ....(destructively).and.returned
4b920 2e 20 20 49 66 20 e2 80 98 6e 69 6c e2 80 99 2c 20 6f 72 20 69 66 20 74 68 69 73 20 61 72 67 75 ...If....nil...,.or.if.this.argu
4b940 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 69 73 20 6e 6f 74 20 67 69 76 65 6e 2c 20 61 20 73 ment...........is.not.given,.a.s
4b960 6f 72 74 65 64 20 63 6f 70 79 20 6f 66 20 74 68 65 20 69 6e 70 75 74 20 69 73 20 72 65 74 75 72 orted.copy.of.the.input.is.retur
4b980 6e 65 64 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 53 45 51 55 45 4e 43 45 20 69 74 73 65 6c ned.and...........SEQUENCE.itsel
4b9a0 66 20 72 65 6d 61 69 6e 73 20 75 6e 6d 6f 64 69 66 69 65 64 2e 20 20 49 6e 2d 70 6c 61 63 65 20 f.remains.unmodified...In-place.
4b9c0 73 6f 72 74 69 6e 67 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 73 6c 69 67 68 74 6c 79 20 66 61 sorting.is...........slightly.fa
4b9e0 73 74 65 72 2c 20 62 75 74 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 73 65 71 75 65 6e 63 65 20 ster,.but.the.original.sequence.
4ba00 69 73 20 6c 6f 73 74 2e 0a 0a 20 20 20 20 20 49 66 20 74 68 65 20 64 65 66 61 75 6c 74 20 62 65 is.lost........If.the.default.be
4ba20 68 61 76 69 6f 75 72 20 69 73 20 6e 6f 74 20 73 75 69 74 61 62 6c 65 20 66 6f 72 20 79 6f 75 72 haviour.is.not.suitable.for.your
4ba40 20 6e 65 65 64 73 2c 20 69 74 20 69 73 0a 20 20 20 20 20 75 73 75 61 6c 6c 79 20 65 61 73 69 65 .needs,.it.is......usually.easie
4ba60 72 20 61 6e 64 20 66 61 73 74 65 72 20 74 6f 20 73 75 70 70 6c 79 20 61 20 6e 65 77 20 e2 80 98 r.and.faster.to.supply.a.new....
4ba80 3a 6b 65 79 e2 80 99 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 6e 20 61 0a 20 20 20 20 20 64 69 66 :key....function.than.a......dif
4baa0 66 65 72 65 6e 74 20 e2 80 98 3a 6c 65 73 73 70 e2 80 99 20 70 72 65 64 69 63 61 74 65 2e 20 20 ferent....:lessp....predicate...
4bac0 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 63 6f 6e 73 69 64 65 72 20 73 6f 72 74 69 6e 67 20 74 68 For.example,.consider.sorting.th
4bae0 65 73 65 0a 20 20 20 20 20 73 74 72 69 6e 67 73 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 ese......strings:............(se
4bb00 74 71 20 6e 75 6d 62 65 72 73 20 27 28 22 6f 6e 65 22 20 22 74 77 6f 22 20 22 74 68 72 65 65 22 tq.numbers.'("one"."two"."three"
4bb20 20 22 66 6f 75 72 22 20 22 66 69 76 65 22 20 22 73 69 78 22 29 29 0a 20 20 20 20 20 20 20 20 20 ."four"."five"."six"))..........
4bb40 20 28 73 6f 72 74 20 6e 75 6d 62 65 72 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 .(sort.numbers).................
4bb60 87 92 20 28 22 66 69 76 65 22 20 22 66 6f 75 72 22 20 22 6f 6e 65 22 20 22 73 69 78 22 20 22 74 ...("five"."four"."one"."six"."t
4bb80 68 72 65 65 22 20 22 74 77 6f 22 29 0a 0a 20 20 20 20 20 59 6f 75 20 63 61 6e 20 73 6f 72 74 20 hree"."two").......You.can.sort.
4bba0 74 68 65 20 73 74 72 69 6e 67 73 20 62 79 20 6c 65 6e 67 74 68 20 69 6e 73 74 65 61 64 20 62 79 the.strings.by.length.instead.by
4bbc0 20 73 75 70 70 6c 79 69 6e 67 20 61 20 64 69 66 66 65 72 65 6e 74 0a 20 20 20 20 20 6b 65 79 20 .supplying.a.different......key.
4bbe0 66 75 6e 63 74 69 6f 6e 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 28 73 6f 72 74 20 6e 75 6d 62 65 function:............(sort.numbe
4bc00 72 73 20 3a 6b 65 79 20 23 27 6c 65 6e 67 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rs.:key.#'length)...............
4bc20 20 e2 87 92 20 28 22 6f 6e 65 22 20 22 74 77 6f 22 20 22 73 69 78 22 20 22 66 6f 75 72 22 20 22 .....("one"."two"."six"."four"."
4bc40 66 69 76 65 22 20 22 74 68 72 65 65 22 29 0a 0a 20 20 20 20 20 4e 6f 74 65 20 68 6f 77 20 73 74 five"."three").......Note.how.st
4bc60 72 69 6e 67 73 20 6f 66 20 74 68 65 20 73 61 6d 65 20 6c 65 6e 67 74 68 20 6b 65 65 70 20 74 68 rings.of.the.same.length.keep.th
4bc80 65 69 72 20 6f 72 69 67 69 6e 61 6c 20 6f 72 64 65 72 2c 0a 20 20 20 20 20 74 68 61 6e 6b 73 20 eir.original.order,......thanks.
4bca0 74 6f 20 74 68 65 20 73 6f 72 74 69 6e 67 20 73 74 61 62 69 6c 69 74 79 2e 20 20 4e 6f 77 20 73 to.the.sorting.stability...Now.s
4bcc0 75 70 70 6f 73 65 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 73 6f 72 74 20 62 79 0a 20 20 20 20 20 uppose.you.want.to.sort.by......
4bce0 6c 65 6e 67 74 68 2c 20 62 75 74 20 75 73 65 20 74 68 65 20 73 74 72 69 6e 67 20 63 6f 6e 74 65 length,.but.use.the.string.conte
4bd00 6e 74 73 20 74 6f 20 62 72 65 61 6b 20 74 69 65 73 2e 20 20 54 68 65 20 65 61 73 69 65 73 74 20 nts.to.break.ties...The.easiest.
4bd20 77 61 79 0a 20 20 20 20 20 69 73 20 74 6f 20 73 70 65 63 69 66 79 20 61 20 6b 65 79 20 66 75 6e way......is.to.specify.a.key.fun
4bd40 63 74 69 6f 6e 20 74 68 61 74 20 74 72 61 6e 73 66 6f 72 6d 73 20 61 6e 20 65 6c 65 6d 65 6e 74 ction.that.transforms.an.element
4bd60 20 74 6f 20 61 20 76 61 6c 75 65 0a 20 20 20 20 20 74 68 61 74 20 69 73 20 73 6f 72 74 65 64 20 .to.a.value......that.is.sorted.
4bd80 74 68 69 73 20 77 61 79 2e 20 20 53 69 6e 63 65 20 e2 80 98 76 61 6c 75 65 3c e2 80 99 20 6f 72 this.way...Since....value<....or
4bda0 64 65 72 73 20 63 6f 6d 70 6f 75 6e 64 20 6f 62 6a 65 63 74 73 0a 20 20 20 20 20 28 63 6f 6e 73 ders.compound.objects......(cons
4bdc0 65 73 2c 20 6c 69 73 74 73 2c 20 76 65 63 74 6f 72 73 20 61 6e 64 20 72 65 63 6f 72 64 73 29 20 es,.lists,.vectors.and.records).
4bde0 6c 65 78 69 63 6f 67 72 61 70 68 69 63 61 6c 6c 79 2c 20 79 6f 75 20 63 6f 75 6c 64 0a 20 20 20 lexicographically,.you.could....
4be00 20 20 64 6f 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 28 73 6f 72 74 20 6e 75 6d 62 65 72 73 20 3a ..do:............(sort.numbers.:
4be20 6b 65 79 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 63 6f 6e 73 20 28 6c 65 6e 67 74 68 20 78 29 key.(lambda.(x).(cons.(length.x)
4be40 20 78 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 6f 6e 65 22 20 .x)))....................("one".
4be60 22 73 69 78 22 20 22 74 77 6f 22 20 22 66 69 76 65 22 20 22 66 6f 75 72 22 20 22 74 68 72 65 65 "six"."two"."five"."four"."three
4be80 22 29 0a 0a 20 20 20 20 20 62 65 63 61 75 73 65 20 e2 80 98 28 33 20 2e 20 22 73 69 78 22 29 e2 ").......because....(3..."six").
4bea0 80 99 20 69 73 20 6f 72 64 65 72 65 64 20 62 65 66 6f 72 65 20 e2 80 98 28 33 20 2e 20 22 74 77 ...is.ordered.before....(3..."tw
4bec0 6f 22 29 e2 80 99 20 61 6e 64 20 73 6f 20 6f 6e 2e 0a 0a 20 20 20 20 20 46 6f 72 20 63 6f 6d 70 o")....and.so.on........For.comp
4bee0 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 70 72 65 76 69 6f 75 73 20 76 65 72 73 69 6f 6e 73 atibility.with.previous.versions
4bf00 20 6f 66 20 45 6d 61 63 73 2c 20 74 68 65 20 e2 80 98 73 6f 72 74 e2 80 99 0a 20 20 20 20 20 66 .of.Emacs,.the....sort.........f
4bf20 75 6e 63 74 69 6f 6e 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 63 61 6c 6c 65 64 20 75 73 69 6e 67 unction.can.also.be.called.using
4bf40 20 74 68 65 20 66 69 78 65 64 20 74 77 6f 2d 61 72 67 75 6d 65 6e 74 20 66 6f 72 6d 3a 0a 0a 20 .the.fixed.two-argument.form:...
4bf60 20 20 20 20 20 20 20 20 20 28 73 6f 72 74 20 53 45 51 55 45 4e 43 45 20 50 52 45 44 49 43 41 54 .........(sort.SEQUENCE.PREDICAT
4bf80 45 29 0a 0a 20 20 20 20 20 77 68 65 72 65 20 50 52 45 44 49 43 41 54 45 20 69 73 20 74 68 65 20 E).......where.PREDICATE.is.the.
4bfa0 e2 80 98 3a 6c 65 73 73 70 e2 80 99 20 61 72 67 75 6d 65 6e 74 2e 20 20 57 68 65 6e 20 75 73 69 ...:lessp....argument...When.usi
4bfc0 6e 67 20 74 68 69 73 20 66 6f 72 6d 2c 0a 20 20 20 20 20 73 6f 72 74 69 6e 67 20 69 73 20 61 6c ng.this.form,......sorting.is.al
4bfe0 77 61 79 73 20 64 6f 6e 65 20 69 6e 2d 70 6c 61 63 65 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f ways.done.in-place....--.Functio
4c000 6e 3a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6d 65 74 61 64 61 n:.compat-call.completion-metada
4c020 74 61 2d 67 65 74 20 6d 65 74 61 64 61 74 61 20 70 72 6f 70 0a 20 20 20 20 20 47 65 74 20 70 72 ta-get.metadata.prop......Get.pr
4c040 6f 70 65 72 74 79 20 50 52 4f 50 20 66 72 6f 6d 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 4d 45 54 41 operty.PROP.from.completion.META
4c060 44 41 54 41 2e 20 20 49 66 20 74 68 65 20 6d 65 74 61 64 61 74 61 0a 20 20 20 20 20 73 70 65 63 DATA...If.the.metadata......spec
4c080 69 66 69 65 73 20 61 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 74 65 67 6f 72 79 2c 20 74 68 65 ifies.a.completion.category,.the
4c0a0 20 76 61 72 69 61 62 6c 65 73 0a 20 20 20 20 20 e2 80 98 63 6f 6d 70 6c 65 74 69 6f 6e 2d 63 61 .variables.........completion-ca
4c0c0 74 65 67 6f 72 79 2d 6f 76 65 72 72 69 64 65 73 e2 80 99 20 61 6e 64 20 e2 80 98 63 6f 6d 70 6c tegory-overrides....and....compl
4c0e0 65 74 69 6f 6e 2d 63 61 74 65 67 6f 72 79 2d 64 65 66 61 75 6c 74 73 e2 80 99 0a 20 20 20 20 20 etion-category-defaults.........
4c100 74 61 6b 65 20 70 72 65 63 65 64 65 6e 63 65 20 66 6f 72 20 63 61 74 65 67 6f 72 79 2d 73 70 65 take.precedence.for.category-spe
4c120 63 69 66 69 63 20 6f 76 65 72 72 69 64 65 73 2e 20 20 49 66 20 74 68 65 20 63 6f 6d 70 6c 65 74 cific.overrides...If.the.complet
4c140 69 6f 6e 0a 20 20 20 20 20 6d 65 74 61 64 61 74 61 20 64 6f 65 73 20 6e 6f 74 20 73 70 65 63 69 ion......metadata.does.not.speci
4c160 66 79 20 74 68 65 20 70 72 6f 70 65 72 74 79 2c 20 74 68 65 0a 20 20 20 20 20 e2 80 98 63 6f 6d fy.the.property,.the.........com
4c180 70 6c 65 74 69 6f 6e 2d 65 78 74 72 61 2d 70 72 6f 70 65 72 74 69 65 73 e2 80 99 20 70 6c 69 73 pletion-extra-properties....plis
4c1a0 74 20 69 73 20 63 6f 6e 73 75 6c 74 65 64 2e 20 20 4e 6f 74 65 20 74 68 61 74 20 74 68 65 0a 20 t.is.consulted...Note.that.the..
4c1c0 20 20 20 20 6b 65 79 73 20 6f 66 20 74 68 65 20 e2 80 98 63 6f 6d 70 6c 65 74 69 6f 6e 2d 65 78 ....keys.of.the....completion-ex
4c1e0 74 72 61 2d 70 72 6f 70 65 72 74 69 65 73 e2 80 99 20 70 6c 69 73 74 20 61 72 65 20 6b 65 79 77 tra-properties....plist.are.keyw
4c200 6f 72 64 0a 20 20 20 20 20 73 79 6d 62 6f 6c 73 2c 20 6e 6f 74 20 70 6c 61 69 6e 20 73 79 6d 62 ord......symbols,.not.plain.symb
4c220 6f 6c 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 ols....--.Function:.compat-call.
4c240 63 6f 70 79 2d 74 72 65 65 20 74 72 65 65 20 26 6f 70 74 69 6f 6e 61 6c 20 76 65 63 74 6f 72 73 copy-tree.tree.&optional.vectors
4c260 2d 61 6e 64 2d 72 65 63 6f 72 64 73 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 -and-records......This.function.
4c280 72 65 74 75 72 6e 73 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 74 72 65 65 20 54 52 45 45 2e returns.a.copy.of.the.tree.TREE.
4c2a0 20 20 49 66 20 54 52 45 45 20 69 73 20 61 20 63 6f 6e 73 0a 20 20 20 20 20 63 65 6c 6c 2c 20 74 ..If.TREE.is.a.cons......cell,.t
4c2c0 68 69 73 20 6d 61 6b 65 73 20 61 20 6e 65 77 20 63 6f 6e 73 20 63 65 6c 6c 20 77 69 74 68 20 74 his.makes.a.new.cons.cell.with.t
4c2e0 68 65 20 73 61 6d 65 20 43 41 52 20 61 6e 64 20 43 44 52 2c 20 74 68 65 6e 0a 20 20 20 20 20 72 he.same.CAR.and.CDR,.then......r
4c300 65 63 75 72 73 69 76 65 6c 79 20 63 6f 70 69 65 73 20 74 68 65 20 43 41 52 20 61 6e 64 20 43 44 ecursively.copies.the.CAR.and.CD
4c320 52 20 69 6e 20 74 68 65 20 73 61 6d 65 20 77 61 79 2e 0a 0a 20 20 20 20 20 4e 6f 72 6d 61 6c 6c R.in.the.same.way........Normall
4c340 79 2c 20 77 68 65 6e 20 54 52 45 45 20 69 73 20 61 6e 79 74 68 69 6e 67 20 6f 74 68 65 72 20 74 y,.when.TREE.is.anything.other.t
4c360 68 61 6e 20 61 20 63 6f 6e 73 20 63 65 6c 6c 2c 20 e2 80 98 63 6f 70 79 2d 74 72 65 65 e2 80 99 han.a.cons.cell,....copy-tree...
4c380 0a 20 20 20 20 20 73 69 6d 70 6c 79 20 72 65 74 75 72 6e 73 20 54 52 45 45 2e 20 20 48 6f 77 65 ......simply.returns.TREE...Howe
4c3a0 76 65 72 2c 20 69 66 20 56 45 43 54 4f 52 53 2d 41 4e 44 2d 52 45 43 4f 52 44 53 20 69 73 20 6e ver,.if.VECTORS-AND-RECORDS.is.n
4c3c0 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 0a 20 20 20 20 20 69 74 20 63 6f 70 69 65 73 20 76 65 63 on-...nil...,......it.copies.vec
4c3e0 74 6f 72 73 20 61 6e 64 20 72 65 63 6f 72 64 73 20 74 6f 6f 20 28 61 6e 64 20 6f 70 65 72 61 74 tors.and.records.too.(and.operat
4c400 65 73 20 72 65 63 75 72 73 69 76 65 6c 79 20 6f 6e 0a 20 20 20 20 20 74 68 65 69 72 20 65 6c 65 es.recursively.on......their.ele
4c420 6d 65 6e 74 73 29 2e 20 20 54 68 65 20 54 52 45 45 20 61 72 67 75 6d 65 6e 74 20 6d 75 73 74 20 ments)...The.TREE.argument.must.
4c440 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 63 79 63 6c 65 73 2e 0a 0a 32 2e 36 2e 33 20 4d 69 73 73 69 not.contain.cycles...2.6.3.Missi
4c460 6e 67 20 44 65 66 69 6e 69 74 69 6f 6e 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ng.Definitions.-----------------
4c480 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 43 6f 6d 70 61 74 20 64 6f 65 73 20 6e 6f 74 20 70 72 6f 76 69 64 --------..Compat.does.not.provid
4c4a0 65 20 73 75 70 70 6f 72 74 20 66 6f 72 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 4c 69 73 70 e.support.for.the.following.Lisp
4c4c0 20 66 65 61 74 75 72 65 73 0a 69 6d 70 6c 65 6d 65 6e 74 65 64 20 69 6e 20 33 30 2e 31 3a 0a 0a .features.implemented.in.30.1:..
4c4e0 1f 0a 46 69 6c 65 3a 20 64 6f 63 32 33 47 70 47 36 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 44 ..File:.doc23GpG6.info,..Node:.D
4c500 65 76 65 6c 6f 70 6d 65 6e 74 2c 20 20 4e 65 78 74 3a 20 46 75 6e 63 74 69 6f 6e 20 49 6e 64 65 evelopment,..Next:.Function.Inde
4c520 78 2c 20 20 50 72 65 76 3a 20 53 75 70 70 6f 72 74 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 33 20 44 x,..Prev:.Support,..Up:.Top..3.D
4c540 65 76 65 6c 6f 70 6d 65 6e 74 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 43 6f 6d 70 61 74 evelopment.*************..Compat
4c560 20 69 73 20 64 65 76 65 6c 6f 70 65 64 20 6f 6e 20 47 69 74 48 75 62 2e 0a 0a 20 20 20 42 75 67 .is.developed.on.GitHub......Bug
4c580 20 72 65 70 6f 72 74 73 2c 20 70 61 74 63 68 65 73 20 61 6e 64 20 63 6f 6d 6d 65 6e 74 73 20 61 .reports,.patches.and.comments.a
4c5a0 72 65 20 62 65 73 74 20 73 65 6e 74 20 74 6f 20 74 68 65 20 69 73 73 75 65 20 74 72 61 63 6b 65 re.best.sent.to.the.issue.tracke
4c5c0 72 0a 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 65 6d 61 63 73 2d 63 6f 6d 70 r.(https://github.com/emacs-comp
4c5e0 61 74 2f 63 6f 6d 70 61 74 2f 69 73 73 75 65 73 29 2e 20 20 54 68 65 73 65 20 6d 61 79 20 69 6e at/compat/issues)...These.may.in
4c600 63 6c 75 64 65 0a 69 73 73 75 65 73 20 69 6e 20 74 68 65 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 clude.issues.in.the.compatibilit
4c620 79 20 63 6f 64 65 2c 20 6d 69 73 73 69 6e 67 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 6f 72 20 70 y.code,.missing.definitions.or.p
4c640 65 72 66 6f 72 6d 61 6e 63 65 0a 69 73 73 75 65 73 2e 20 20 57 65 20 61 6c 73 6f 20 70 72 6f 76 erformance.issues...We.also.prov
4c660 69 64 65 20 61 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 6d 61 69 6c 69 6e 67 20 6c 69 73 74 0a 28 ide.a.development.mailing.list.(
4c680 68 74 74 70 73 3a 2f 2f 6c 69 73 74 73 2e 73 72 2e 68 74 2f 7e 70 6b 61 6c 2f 63 6f 6d 70 61 74 https://lists.sr.ht/~pkal/compat
4c6a0 2d 64 65 76 65 6c 29 20 28 7e 70 6b 61 6c 2f 63 6f 6d 70 61 74 2d 64 65 76 65 6c 40 6c 69 73 74 -devel).(~pkal/compat-devel@list
4c6c0 73 2e 73 72 2e 68 74 0a 3c 7e 70 6b 61 6c 2f 63 6f 6d 70 61 74 2d 64 65 76 65 6c 40 6c 69 73 74 s.sr.ht.<~pkal/compat-devel@list
4c6e0 73 2e 73 72 2e 68 74 3e 29 2e 0a 0a 20 20 20 50 6c 65 61 73 65 20 6e 6f 74 65 20 74 68 61 74 20 s.sr.ht>)......Please.note.that.
4c700 61 73 20 61 20 47 4e 55 20 45 4c 50 41 20 70 61 63 6b 61 67 65 2c 20 43 6f 6d 70 61 74 20 72 65 as.a.GNU.ELPA.package,.Compat.re
4c720 71 75 69 72 65 73 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 0a 74 6f 20 68 61 76 65 20 73 69 67 6e quires.contributors.to.have.sign
4c740 65 64 20 74 68 65 20 46 53 46 20 63 6f 70 79 72 69 67 68 74 20 61 73 73 69 67 6e 6d 65 6e 74 0a ed.the.FSF.copyright.assignment.
4c760 28 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 73 6f 66 74 77 61 72 65 2f 65 6d (https://www.gnu.org/software/em
4c780 61 63 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c 5f 6e 6f 64 65 2f 65 6d 61 63 73 2f 43 6f 70 79 72 acs/manual/html_node/emacs/Copyr
4c7a0 69 67 68 74 2d 41 73 73 69 67 6e 6d 65 6e 74 2e 68 74 6d 6c 29 2c 0a 62 65 66 6f 72 65 20 61 6e ight-Assignment.html),.before.an
4c7c0 79 20 6e 6f 6e 2d 74 72 69 76 69 61 6c 20 63 6f 6e 74 72 69 62 75 74 69 6f 6e 20 28 72 6f 75 67 y.non-trivial.contribution.(roug
4c7e0 68 6c 79 20 31 35 20 6c 69 6e 65 73 20 6f 66 20 63 6f 64 65 29 20 63 61 6e 20 62 65 0a 61 70 70 hly.15.lines.of.code).can.be.app
4c800 6c 69 65 64 2e 0a 0a 20 20 20 49 74 20 69 73 20 69 6d 70 6f 72 74 61 6e 74 20 74 68 61 74 20 79 lied......It.is.important.that.y
4c820 6f 75 20 70 72 6f 76 69 64 65 20 74 65 73 74 73 20 77 68 65 6e 20 79 6f 75 20 63 6f 6e 74 72 69 ou.provide.tests.when.you.contri
4c840 62 75 74 65 20 6e 65 77 0a 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 2e 20 20 43 6f 6d 70 61 74 20 bute.new.functionality...Compat.
4c860 68 61 73 20 31 30 30 25 20 74 65 73 74 20 63 6f 76 65 72 61 67 65 20 62 79 20 74 68 65 20 74 65 has.100%.test.coverage.by.the.te
4c880 73 74 20 73 75 69 74 65 2e 20 20 57 65 20 75 73 65 0a 63 6f 6e 74 69 6e 75 6f 75 73 20 69 6e 74 st.suite...We.use.continuous.int
4c8a0 65 67 72 61 74 69 6f 6e 20 74 6f 20 63 68 65 63 6b 20 69 66 20 70 61 74 63 68 65 73 20 70 72 65 egration.to.check.if.patches.pre
4c8c0 73 65 72 76 65 20 65 78 69 73 74 69 6e 67 0a 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 2e 0a 0a 20 serve.existing.functionality....
4c8e0 20 20 44 65 76 65 6c 6f 70 6d 65 6e 74 20 66 6f 72 20 74 68 65 20 63 75 72 72 65 6e 74 6c 79 20 ..Development.for.the.currently.
4c900 73 74 61 62 6c 65 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 20 68 61 70 70 65 6e 73 20 69 6e 20 stable.Emacs.version.happens.in.
4c920 74 68 65 0a 6d 61 69 6e 20 62 72 61 6e 63 68 20 6f 66 20 74 68 65 20 43 6f 6d 70 61 74 20 47 69 the.main.branch.of.the.Compat.Gi
4c940 74 20 72 65 70 6f 73 69 74 6f 72 79 2e 20 20 45 4c 50 41 2d 64 65 76 65 6c 20 6e 69 67 68 74 6c t.repository...ELPA-devel.nightl
4c960 79 20 62 75 69 6c 64 73 20 61 72 65 0a 63 72 65 61 74 65 64 20 66 72 6f 6d 20 74 68 69 73 20 62 y.builds.are.created.from.this.b
4c980 72 61 6e 63 68 2e 20 20 4e 65 77 20 66 65 61 74 75 72 65 73 2c 20 77 68 69 63 68 20 61 72 65 20 ranch...New.features,.which.are.
4c9a0 6e 6f 74 20 79 65 74 20 72 65 61 64 79 20 74 6f 20 62 65 0a 6d 65 72 67 65 64 20 64 69 72 65 63 not.yet.ready.to.be.merged.direc
4c9c0 74 6c 79 20 69 6e 74 6f 20 74 68 65 20 6d 61 69 6e 20 62 72 61 6e 63 68 2c 20 61 72 65 20 64 65 tly.into.the.main.branch,.are.de
4c9e0 76 65 6c 6f 70 65 64 20 69 6e 20 66 65 61 74 75 72 65 20 62 72 61 6e 63 68 65 73 2e 0a 46 75 72 veloped.in.feature.branches..Fur
4ca00 74 68 65 72 6d 6f 72 65 20 74 68 65 20 47 69 74 20 72 65 70 6f 73 69 74 6f 72 79 20 68 61 73 20 thermore.the.Git.repository.has.
4ca20 61 20 62 72 61 6e 63 68 20 65 6d 61 63 73 2d 3c 76 65 72 73 69 6f 6e 3e 20 77 68 65 72 65 20 74 a.branch.emacs-<version>.where.t
4ca40 68 65 0a 64 65 76 65 6c 6f 70 6d 65 6e 74 20 66 6f 72 20 74 68 65 20 75 70 63 6f 6d 69 6e 67 20 he.development.for.the.upcoming.
4ca60 45 6d 61 63 73 20 72 65 6c 65 61 73 65 20 74 61 6b 65 73 20 70 6c 61 63 65 2e 20 20 54 68 69 73 Emacs.release.takes.place...This
4ca80 20 62 72 61 6e 63 68 20 69 73 0a 73 65 70 61 72 61 74 65 20 66 72 6f 6d 20 74 68 65 20 6d 61 69 .branch.is.separate.from.the.mai
4caa0 6e 20 62 72 61 6e 63 68 20 73 69 6e 63 65 20 74 68 65 20 6e 65 77 20 66 75 6e 63 74 69 6f 6e 61 n.branch.since.the.new.functiona
4cac0 6c 69 74 79 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62 65 0a 6d 61 64 65 20 61 76 61 69 6c 61 62 6c lity.should.not.be.made.availabl
4cae0 65 20 28 6e 65 69 74 68 65 72 20 76 69 61 20 45 4c 50 41 20 6e 6f 72 20 45 4c 50 41 2d 64 65 76 e.(neither.via.ELPA.nor.ELPA-dev
4cb00 65 6c 29 20 62 65 66 6f 72 65 20 74 68 65 20 6e 65 77 20 45 6d 61 63 73 0a 76 65 72 73 69 6f 6e el).before.the.new.Emacs.version
4cb20 20 68 61 73 20 62 65 65 6e 20 72 65 61 73 6f 6e 61 62 6c 79 20 73 74 61 62 69 6c 69 7a 65 64 2c .has.been.reasonably.stabilized,
4cb40 20 65 2e 67 2e 2c 20 61 72 6f 75 6e 64 20 74 68 65 20 74 69 6d 65 20 77 68 65 6e 20 74 68 65 0a .e.g.,.around.the.time.when.the.
4cb60 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 20 62 72 61 6e 63 68 20 69 73 20 63 72 65 61 74 65 64 20 Emacs.version.branch.is.created.
4cb80 69 6e 20 74 68 65 20 45 6d 61 63 73 20 72 65 70 6f 73 69 74 6f 72 79 20 6f 6e 20 53 61 76 61 6e in.the.Emacs.repository.on.Savan
4cba0 6e 61 68 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 32 33 47 70 47 36 2e 69 6e 66 6f 2c 20 20 4e nah.....File:.doc23GpG6.info,..N
4cbc0 6f 64 65 3a 20 46 75 6e 63 74 69 6f 6e 20 49 6e 64 65 78 2c 20 20 4e 65 78 74 3a 20 56 61 72 69 ode:.Function.Index,..Next:.Vari
4cbe0 61 62 6c 65 20 49 6e 64 65 78 2c 20 20 50 72 65 76 3a 20 44 65 76 65 6c 6f 70 6d 65 6e 74 2c 20 able.Index,..Prev:.Development,.
4cc00 20 55 70 3a 20 54 6f 70 0a 0a 41 70 70 65 6e 64 69 78 20 41 20 46 75 6e 63 74 69 6f 6e 20 49 6e .Up:.Top..Appendix.A.Function.In
4cc20 64 65 78 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 00 dex.*************************...
4cc40 08 5b 69 6e 64 65 78 00 08 5d 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 61 64 64 2d 64 69 73 70 6c 61 .[index..].*.Menu:..*.add-displa
4cc60 79 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 y-text-property:.............Ema
4cc80 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 39 30 29 0a 2a 20 61 cs.29.1...........(line.190).*.a
4cca0 6c 69 73 74 2d 67 65 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 list-get:.......................
4ccc0 20 20 20 20 20 20 45 6d 61 63 73 20 32 35 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 ......Emacs.25.1...........(line
4cce0 20 20 38 32 29 0a 2a 20 61 6c 77 61 79 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..82).*.always:.................
4cd00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 20 ...............Emacs.28.1.......
4cd20 20 20 20 20 28 6c 69 6e 65 20 20 38 33 29 0a 2a 20 61 6e 64 2d 6c 65 74 2a 3a 20 20 20 20 20 20 ....(line..83).*.and-let*:......
4cd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 36 ........................Emacs.26
4cd60 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 35 38 29 0a 2a 20 61 73 73 6f 63 2d .1...........(line.158).*.assoc-
4cd80 64 65 6c 65 74 65 2d 61 6c 6c 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 delete-all:.....................
4cda0 20 45 6d 61 63 73 20 32 36 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 31 33 29 .Emacs.26.1...........(line..13)
4cdc0 0a 2a 20 62 69 67 6e 75 6d 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .*.bignump:.....................
4cde0 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 ..........Emacs.27.1...........(
4ce00 6c 69 6e 65 20 20 35 35 29 0a 2a 20 62 6f 6f 6c 2d 76 65 63 74 6f 72 3a 20 20 20 20 20 20 20 20 line..55).*.bool-vector:........
4ce20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 35 2e 31 2e 20 20 ...................Emacs.25.1...
4ce40 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 37 37 29 0a 2a 20 62 6f 75 6e 64 73 2d 6f 66 2d 74 ........(line.177).*.bounds-of-t
4ce60 68 69 6e 67 2d 61 74 2d 6d 6f 75 73 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 hing-at-mouse:..............Emac
4ce80 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 39 32 29 0a 2a 20 62 75 s.28.1...........(line.292).*.bu
4cea0 66 66 65 72 2d 68 61 73 68 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ffer-hash:......................
4cec0 20 20 20 20 20 45 6d 61 63 73 20 32 36 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 .....Emacs.26.1...........(line.
4cee0 20 38 30 29 0a 2a 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 2d 62 6f 75 6e 64 70 3a 20 20 20 20 20 .80).*.buffer-local-boundp:.....
4cf00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 ..............Emacs.28.1........
4cf20 20 20 20 28 6c 69 6e 65 20 31 32 35 29 0a 2a 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 2d 72 65 73 ...(line.125).*.buffer-local-res
4cf40 74 6f 72 65 2d 73 74 61 74 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e tore-state:............Emacs.29.
4cf60 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 35 30 29 0a 2a 20 62 75 66 66 65 72 2d 1...........(line..50).*.buffer-
4cf80 6c 6f 63 61 6c 2d 73 65 74 2d 73 74 61 74 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 local-set-state:................
4cfa0 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 35 30 29 0a Emacs.29.1...........(line..50).
4cfc0 2a 20 62 75 66 66 65 72 2d 6d 61 74 63 68 2d 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.buffer-match-p:...............
4cfe0 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c .........Emacs.29.1...........(l
4d000 69 6e 65 20 32 35 38 29 0a 2a 20 62 75 74 74 6f 6e 69 7a 65 3a 20 20 20 20 20 20 20 20 20 20 20 ine.258).*.buttonize:...........
4d020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 ..................Emacs.29.1....
4d040 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 35 36 29 0a 2a 20 62 75 74 74 6f 6e 69 7a 65 2d 72 65 .......(line.156).*.buttonize-re
4d060 67 69 6f 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 gion:......................Emacs
4d080 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 36 35 29 0a 2a 20 63 68 61 .29.1...........(line.165).*.cha
4d0a0 72 2d 74 6f 2d 6e 61 6d 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r-to-name:......................
4d0c0 20 20 20 20 45 6d 61 63 73 20 33 30 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 ....Emacs.30.1...........(line..
4d0e0 31 34 29 0a 2a 20 63 68 61 72 2d 75 70 70 65 72 63 61 73 65 2d 70 3a 20 20 20 20 20 20 20 20 20 14).*.char-uppercase-p:.........
4d100 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 .............Emacs.29.1.........
4d120 20 20 28 6c 69 6e 65 20 31 32 37 29 0a 2a 20 63 6c 2d 63 6f 6e 73 74 61 6e 74 6c 79 3a 20 20 20 ..(line.127).*.cl-constantly:...
4d140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 ......................Emacs.29.1
4d160 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 36 33 35 29 0a 2a 20 63 6c 2d 6f 6e 63 65 2d ...........(line.635).*.cl-once-
4d180 6f 6e 6c 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 only:..........................E
4d1a0 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 36 35 38 29 0a 2a macs.29.1...........(line.658).*
4d1c0 20 63 6c 2d 77 69 74 68 2d 67 65 6e 73 79 6d 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .cl-with-gensyms:...............
4d1e0 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 ........Emacs.29.1...........(li
4d200 6e 65 20 36 33 39 29 0a 2a 20 63 6c 6f 73 75 72 65 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 ne.639).*.closurep:.............
4d220 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 33 30 2e 31 2e 20 20 20 20 .................Emacs.30.1.....
4d240 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 31 29 0a 2a 20 63 6f 6c 6f 72 2d 64 61 72 6b 2d 70 3a ......(line..21).*.color-dark-p:
4d260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 ..........................Emacs.
4d280 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 32 32 29 0a 2a 20 63 6f 6c 6f 28.1...........(line.322).*.colo
4d2a0 72 2d 76 61 6c 75 65 73 2d 66 72 6f 6d 2d 63 6f 6c 6f 72 2d 73 70 65 63 3a 20 20 20 20 20 20 20 r-values-from-color-spec:.......
4d2c0 20 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 32 ...Emacs.28.1...........(line.32
4d2e0 38 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 8).*.compat-call:...............
4d300 20 20 20 20 20 20 20 20 20 20 20 20 55 73 61 67 65 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ............Usage...............
4d320 20 28 6c 69 6e 65 20 20 35 30 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 61 6c 69 73 74 2d .(line..50).*.compat-call.alist-
4d340 67 65 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 36 2e 31 2e get:.................Emacs.26.1.
4d360 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 34 34 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 ..........(line.344).*.compat-ca
4d380 6c 6c 20 61 73 73 6f 63 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d ll.assoc:.....................Em
4d3a0 61 63 73 20 32 36 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 31 36 29 0a 2a 20 acs.26.1...........(line.316).*.
4d3c0 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 61 73 73 6f 63 2d 64 65 6c 65 74 65 2d 61 6c 6c 3a 20 20 20 compat-call.assoc-delete-all:...
4d3e0 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e .......Emacs.27.1...........(lin
4d400 65 20 34 31 37 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d e.417).*.compat-call.completion-
4d420 6d 65 74 61 64 61 74 61 2d 67 65 74 3a 20 20 20 45 6d 61 63 73 20 33 30 2e 31 2e 20 20 20 20 20 metadata-get:...Emacs.30.1......
4d440 20 20 20 20 20 28 6c 69 6e 65 20 32 35 31 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 63 6f .....(line.251).*.compat-call.co
4d460 70 79 2d 74 72 65 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 33 py-tree:.................Emacs.3
4d480 30 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 36 31 29 0a 2a 20 63 6f 6d 70 61 0.1...........(line.261).*.compa
4d4a0 74 2d 63 61 6c 6c 20 63 6f 75 6e 74 2d 77 69 6e 64 6f 77 73 3a 20 20 20 20 20 20 20 20 20 20 20 t-call.count-windows:...........
4d4c0 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 34 30 37 ..Emacs.28.1...........(line.407
4d4e0 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 64 65 66 69 6e 65 2d 6b 65 79 3a 20 20 20 20 20 ).*.compat-call.define-key:.....
4d500 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 ...........Emacs.29.1...........
4d520 28 6c 69 6e 65 20 37 35 35 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 65 78 65 63 75 74 61 (line.755).*.compat-call.executa
4d540 62 6c 65 2d 66 69 6e 64 3a 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 ble-find:...........Emacs.27.1..
4d560 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 34 32 39 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c .........(line.429).*.compat-cal
4d580 6c 20 66 69 6c 65 2d 73 69 7a 65 2d 68 75 6d 61 6e 2d 72 65 61 64 61 62 6c 65 3a 20 20 45 6d 61 l.file-size-human-readable:..Ema
4d5a0 63 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 39 37 29 0a 2a 20 63 cs.27.1...........(line.397).*.c
4d5c0 6f 6d 70 61 74 2d 63 61 6c 6c 20 6c 69 6e 65 2d 6e 75 6d 62 65 72 2d 61 74 2d 70 6f 73 3a 20 20 ompat-call.line-number-at-pos:..
4d5e0 20 20 20 20 20 20 45 6d 61 63 73 20 32 36 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 ......Emacs.26.1...........(line
4d600 20 33 33 30 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 6c 6f 6f 6b 75 70 2d 6b 65 79 3a 20 .330).*.compat-call.lookup-key:.
4d620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 20 20 20 20 ...............Emacs.27.1.......
4d640 20 20 20 20 28 6c 69 6e 65 20 33 35 36 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 6d 61 6b ....(line.356).*.compat-call.mak
4d660 65 2d 74 65 6d 70 2d 66 69 6c 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 36 e-temp-file:............Emacs.26
4d680 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 37 38 29 0a 2a 20 63 6f 6d 70 61 74 .1...........(line.278).*.compat
4d6a0 2d 63 61 6c 6c 20 70 6c 69 73 74 2d 67 65 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -call.plist-get:................
4d6c0 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 37 37 31 29 .Emacs.29.1...........(line.771)
4d6e0 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 70 6c 69 73 74 2d 6d 65 6d 62 65 72 3a 20 20 20 20 .*.compat-call.plist-member:....
4d700 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 ..........Emacs.29.1...........(
4d720 6c 69 6e 65 20 37 39 35 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 70 6c 69 73 74 2d 70 75 line.795).*.compat-call.plist-pu
4d740 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 t:.................Emacs.29.1...
4d760 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 37 38 33 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c ........(line.783).*.compat-call
4d780 20 72 65 63 65 6e 74 65 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 .recenter:..................Emac
4d7a0 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 34 36 29 0a 2a 20 63 6f s.27.1...........(line.346).*.co
4d7c0 6d 70 61 74 2d 63 61 6c 6c 20 72 65 67 65 78 70 2d 6f 70 74 3a 20 20 20 20 20 20 20 20 20 20 20 mpat-call.regexp-opt:...........
4d7e0 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 .....Emacs.27.1...........(line.
4d800 33 38 35 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 73 65 74 2d 74 72 61 6e 73 69 65 6e 74 385).*.compat-call.set-transient
4d820 2d 6d 61 70 3a 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 -map:.........Emacs.29.1........
4d840 20 20 20 28 6c 69 6e 65 20 37 31 30 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 73 65 74 71 ...(line.710).*.compat-call.setq
4d860 2d 6c 6f 63 61 6c 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e -local:................Emacs.27.
4d880 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 37 30 29 0a 2a 20 63 6f 6d 70 61 74 2d 1...........(line.370).*.compat-
4d8a0 63 61 6c 6c 20 73 6f 72 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 call.sort:......................
4d8c0 45 6d 61 63 73 20 33 30 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 37 36 29 0a Emacs.30.1...........(line.176).
4d8e0 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 73 74 72 69 6e 67 2d 6c 69 6e 65 73 3a 20 20 20 20 20 *.compat-call.string-lines:.....
4d900 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c .........Emacs.29.1...........(l
4d920 69 6e 65 20 37 34 36 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 73 74 72 69 6e 67 2d 74 72 ine.746).*.compat-call.string-tr
4d940 69 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 36 2e 31 2e 20 20 20 im:...............Emacs.26.1....
4d960 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 37 35 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 .......(line.375).*.compat-call.
4d980 73 74 72 69 6e 67 2d 74 72 69 6d 2d 6c 65 66 74 3a 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 string-trim-left:..........Emacs
4d9a0 20 32 36 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 35 39 29 0a 2a 20 63 6f 6d .26.1...........(line.359).*.com
4d9c0 70 61 74 2d 63 61 6c 6c 20 73 74 72 69 6e 67 2d 74 72 69 6d 2d 72 69 67 68 74 3a 20 20 20 20 20 pat-call.string-trim-right:.....
4d9e0 20 20 20 20 45 6d 61 63 73 20 32 36 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 ....Emacs.26.1...........(line.3
4da00 36 37 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 73 74 72 69 6e 67 2d 77 69 64 74 68 3a 20 67).*.compat-call.string-width:.
4da20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 .............Emacs.28.1.........
4da40 20 20 28 6c 69 6e 65 20 33 39 30 29 0a 2a 20 63 6f 6d 70 61 74 2d 66 75 6e 63 74 69 6f 6e 3a 20 ..(line.390).*.compat-function:.
4da60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 55 73 61 67 65 2e 20 20 20 20 ......................Usage.....
4da80 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 35 38 29 0a 2a 20 63 6f 6d 70 69 6c 65 64 ...........(line..58).*.compiled
4daa0 2d 66 75 6e 63 74 69 6f 6e 2d 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 -function-p:...................E
4dac0 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 32 36 29 0a 2a macs.29.1...........(line.226).*
4dae0 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 3a 20 20 20 20 20 20 20 20 20 .completion-lazy-hilit:.........
4db00 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 33 30 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 ........Emacs.30.1...........(li
4db20 6e 65 20 31 34 36 29 0a 2a 20 63 6f 75 6e 74 2d 73 65 6e 74 65 6e 63 65 73 3a 20 20 20 20 20 20 ne.146).*.count-sentences:......
4db40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 .................Emacs.29.1.....
4db60 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 35 29 0a 2a 20 63 58 58 58 72 3a 20 20 20 20 20 20 20 ......(line..25).*.cXXXr:.......
4db80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 ..........................Emacs.
4dba0 32 36 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 36 36 29 0a 2a 20 63 58 58 58 26.1...........(line..66).*.cXXX
4dbc0 58 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 Xr:.............................
4dbe0 20 20 20 45 6d 61 63 73 20 32 36 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 36 ...Emacs.26.1...........(line..6
4dc00 37 29 0a 2a 20 64 61 74 65 2d 64 61 79 73 2d 69 6e 2d 6d 6f 6e 74 68 3a 20 20 20 20 20 20 20 20 7).*.date-days-in-month:........
4dc20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 20 20 ............Emacs.27.1..........
4dc40 20 28 6c 69 6e 65 20 32 31 33 29 0a 2a 20 64 61 74 65 2d 6f 72 64 69 6e 61 6c 2d 74 6f 2d 74 69 .(line.213).*.date-ordinal-to-ti
4dc60 6d 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 2e me:..................Emacs.27.1.
4dc80 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 32 30 29 0a 2a 20 64 65 63 6f 64 65 64 2d 74 ..........(line.220).*.decoded-t
4dca0 69 6d 65 2d 64 61 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d ime-day:......................Em
4dcc0 61 63 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 37 35 29 0a 2a 20 acs.27.1...........(line.175).*.
4dce0 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 64 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 decoded-time-dst:...............
4dd00 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e .......Emacs.27.1...........(lin
4dd20 65 20 31 39 35 29 0a 2a 20 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 68 6f 75 72 3a 20 20 20 20 20 e.195).*.decoded-time-hour:.....
4dd40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 20 20 20 ................Emacs.27.1......
4dd60 20 20 20 20 20 28 6c 69 6e 65 20 31 37 30 29 0a 2a 20 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 6d .....(line.170).*.decoded-time-m
4dd80 69 6e 75 74 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 inute:...................Emacs.2
4dda0 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 36 35 29 0a 2a 20 64 65 63 6f 64 7.1...........(line.165).*.decod
4ddc0 65 64 2d 74 69 6d 65 2d 6d 6f 6e 74 68 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ed-time-month:..................
4dde0 20 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 38 30 ..Emacs.27.1...........(line.180
4de00 29 0a 2a 20 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 70 65 72 69 6f 64 3a 20 20 20 20 20 20 20 20 ).*.decoded-time-period:........
4de20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 ...........Emacs.28.1...........
4de40 28 6c 69 6e 65 20 33 35 39 29 0a 2a 20 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 73 65 63 6f 6e 64 (line.359).*.decoded-time-second
4de60 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 :...................Emacs.27.1..
4de80 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 36 30 29 0a 2a 20 64 65 63 6f 64 65 64 2d 74 69 .........(line.160).*.decoded-ti
4dea0 6d 65 2d 77 65 65 6b 64 61 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 me-weekday:..................Ema
4dec0 63 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 39 30 29 0a 2a 20 64 cs.27.1...........(line.190).*.d
4dee0 65 63 6f 64 65 64 2d 74 69 6d 65 2d 79 65 61 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ecoded-time-year:...............
4df00 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 ......Emacs.27.1...........(line
4df20 20 31 38 35 29 0a 2a 20 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 7a 6f 6e 65 3a 20 20 20 20 20 20 .185).*.decoded-time-zone:......
4df40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 20 20 20 20 ...............Emacs.27.1.......
4df60 20 20 20 20 28 6c 69 6e 65 20 32 30 30 29 0a 2a 20 64 65 66 69 6e 65 2d 6b 65 79 6d 61 70 3a 20 ....(line.200).*.define-keymap:.
4df80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 ........................Emacs.29
4dfa0 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 35 31 38 29 0a 2a 20 64 65 66 76 61 72 .1...........(line.518).*.defvar
4dfc0 2d 6b 65 79 6d 61 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -keymap:........................
4dfe0 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 35 38 36 29 .Emacs.29.1...........(line.586)
4e000 0a 2a 20 64 65 6c 65 74 65 2d 6c 69 6e 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .*.delete-line:.................
4e020 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 ..........Emacs.29.1...........(
4e040 6c 69 6e 65 20 20 35 39 29 0a 2a 20 64 69 72 65 63 74 6f 72 79 2d 61 62 62 72 65 76 2d 61 70 70 line..59).*.directory-abbrev-app
4e060 6c 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 ly:................Emacs.29.1...
4e080 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 38 32 29 0a 2a 20 64 69 72 65 63 74 6f 72 79 2d 61 ........(line.382).*.directory-a
4e0a0 62 62 72 65 76 2d 6d 61 6b 65 2d 72 65 67 65 78 70 3a 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 bbrev-make-regexp:..........Emac
4e0c0 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 37 39 29 0a 2a 20 64 69 s.29.1...........(line.379).*.di
4e0e0 72 65 63 74 6f 72 79 2d 65 6d 70 74 79 2d 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rectory-empty-p:................
4e100 20 20 20 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 .....Emacs.28.1...........(line.
4e120 32 34 33 29 0a 2a 20 64 69 72 65 63 74 6f 72 79 2d 6e 61 6d 65 2d 70 3a 20 20 20 20 20 20 20 20 243).*.directory-name-p:........
4e140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 35 2e 31 2e 20 20 20 20 20 20 20 ..............Emacs.25.1........
4e160 20 20 20 28 6c 69 6e 65 20 20 35 36 29 0a 2a 20 64 6c 65 74 3a 20 20 20 20 20 20 20 20 20 20 20 ...(line..56).*.dlet:...........
4e180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 38 2e .......................Emacs.28.
4e1a0 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 34 33 29 0a 2a 20 64 6f 6c 69 73 74 2d 1...........(line.143).*.dolist-
4e1c0 77 69 74 68 2d 70 72 6f 67 72 65 73 73 2d 72 65 70 6f 72 74 65 72 3a 20 20 20 20 20 20 20 20 20 with-progress-reporter:.........
4e1e0 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 31 39 29 0a Emacs.27.1...........(line.119).
4e200 2a 20 64 72 6f 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.drop:.........................
4e220 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 33 30 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c .........Emacs.30.1...........(l
4e240 69 6e 65 20 20 37 34 29 0a 2a 20 65 6e 73 75 72 65 2d 6c 69 73 74 3a 20 20 20 20 20 20 20 20 20 ine..74).*.ensure-list:.........
4e260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 ..................Emacs.28.1....
4e280 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 35 38 29 0a 2a 20 65 72 74 2d 77 69 74 68 2d 74 65 6d .......(line.158).*.ert-with-tem
4e2a0 70 2d 64 69 72 65 63 74 6f 72 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 p-directory:...............Emacs
4e2c0 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 36 32 33 29 0a 2a 20 65 72 74 .29.1...........(line.623).*.ert
4e2e0 2d 77 69 74 68 2d 74 65 6d 70 2d 66 69 6c 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -with-temp-file:................
4e300 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 36 ....Emacs.29.1...........(line.6
4e320 31 37 29 0a 2a 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 61 63 63 65 73 73 2d 74 69 6d 65 17).*.file-attribute-access-time
4e340 3a 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 36 2e 31 2e 20 20 20 20 20 20 20 20 :............Emacs.26.1.........
4e360 20 20 28 6c 69 6e 65 20 32 32 33 29 0a 2a 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 63 6f ..(line.223).*.file-attribute-co
4e380 6c 6c 65 63 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 36 2e 31 llect:................Emacs.26.1
4e3a0 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 36 30 29 0a 2a 20 66 69 6c 65 2d 61 74 74 ...........(line.260).*.file-att
4e3c0 72 69 62 75 74 65 2d 64 65 76 69 63 65 2d 6e 75 6d 62 65 72 3a 20 20 20 20 20 20 20 20 20 20 45 ribute-device-number:..........E
4e3e0 6d 61 63 73 20 32 36 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 35 35 29 0a 2a macs.26.1...........(line.255).*
4e400 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 66 69 6c 65 2d 69 64 65 6e 74 69 66 69 65 72 3a .file-attribute-file-identifier:
4e420 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 ........Emacs.29.1...........(li
4e440 6e 65 20 33 33 39 29 0a 2a 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 67 72 6f 75 70 2d 69 ne.339).*.file-attribute-group-i
4e460 64 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 36 2e 31 2e 20 20 20 20 d:...............Emacs.26.1.....
4e480 20 20 20 20 20 20 28 6c 69 6e 65 20 32 31 38 29 0a 2a 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 ......(line.218).*.file-attribut
4e4a0 65 2d 69 6e 6f 64 65 2d 6e 75 6d 62 65 72 3a 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 e-inode-number:...........Emacs.
4e4c0 32 36 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 35 30 29 0a 2a 20 66 69 6c 65 26.1...........(line.250).*.file
4e4e0 2d 61 74 74 72 69 62 75 74 65 2d 6c 69 6e 6b 2d 6e 75 6d 62 65 72 3a 20 20 20 20 20 20 20 20 20 -attribute-link-number:.........
4e500 20 20 20 45 6d 61 63 73 20 32 36 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 30 ...Emacs.26.1...........(line.20
4e520 38 29 0a 2a 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 6d 6f 64 65 73 3a 20 20 20 20 20 20 8).*.file-attribute-modes:......
4e540 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 36 2e 31 2e 20 20 20 20 20 20 20 20 20 ............Emacs.26.1..........
4e560 20 28 6c 69 6e 65 20 32 34 35 29 0a 2a 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 6d 6f 64 .(line.245).*.file-attribute-mod
4e580 69 66 69 63 61 74 69 6f 6e 2d 74 69 6d 65 3a 20 20 20 20 20 20 45 6d 61 63 73 20 32 36 2e 31 2e ification-time:......Emacs.26.1.
4e5a0 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 32 38 29 0a 2a 20 66 69 6c 65 2d 61 74 74 72 ..........(line.228).*.file-attr
4e5c0 69 62 75 74 65 2d 73 69 7a 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d ibute-size:...................Em
4e5e0 61 63 73 20 32 36 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 34 30 29 0a 2a 20 acs.26.1...........(line.240).*.
4e600 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 73 74 61 74 75 73 2d 63 68 61 6e 67 65 2d 74 69 6d file-attribute-status-change-tim
4e620 65 3a 20 20 20 20 20 45 6d 61 63 73 20 32 36 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e e:.....Emacs.26.1...........(lin
4e640 65 20 32 33 34 29 0a 2a 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 74 79 70 65 3a 20 20 20 e.234).*.file-attribute-type:...
4e660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 36 2e 31 2e 20 20 20 20 20 ................Emacs.26.1......
4e680 20 20 20 20 20 28 6c 69 6e 65 20 32 30 33 29 0a 2a 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 .....(line.203).*.file-attribute
4e6a0 2d 75 73 65 72 2d 69 64 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 -user-id:................Emacs.2
4e6c0 36 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 31 33 29 0a 2a 20 66 69 6c 65 2d 6.1...........(line.213).*.file-
4e6e0 62 61 63 6b 75 70 2d 66 69 6c 65 2d 6e 61 6d 65 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 backup-file-names:..............
4e700 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 34 37 ..Emacs.28.1...........(line.347
4e720 29 0a 2a 20 66 69 6c 65 2d 68 61 73 2d 63 68 61 6e 67 65 64 2d 70 3a 20 20 20 20 20 20 20 20 20 ).*.file-has-changed-p:.........
4e740 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 ...........Emacs.29.1...........
4e760 28 6c 69 6e 65 20 33 36 34 29 0a 2a 20 66 69 6c 65 2d 6c 6f 63 61 6c 2d 6e 61 6d 65 3a 20 20 20 (line.364).*.file-local-name:...
4e780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 36 2e 31 2e 20 ....................Emacs.26.1..
4e7a0 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 36 37 29 0a 2a 20 66 69 6c 65 2d 6d 6f 64 65 73 .........(line.167).*.file-modes
4e7c0 2d 6e 75 6d 62 65 72 2d 74 6f 2d 73 79 6d 62 6f 6c 69 63 3a 20 20 20 20 20 20 20 20 20 45 6d 61 -number-to-symbolic:.........Ema
4e7e0 63 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 34 31 29 0a 2a 20 66 cs.28.1...........(line.341).*.f
4e800 69 6c 65 2d 6e 61 6d 65 2d 63 6f 6e 63 61 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ile-name-concat:................
4e820 20 20 20 20 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 ......Emacs.28.1...........(line
4e840 20 20 35 33 29 0a 2a 20 66 69 6c 65 2d 6e 61 6d 65 2d 70 61 72 65 6e 74 2d 64 69 72 65 63 74 6f ..53).*.file-name-parent-directo
4e860 72 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 ry:............Emacs.29.1.......
4e880 20 20 20 20 28 6c 69 6e 65 20 33 35 35 29 0a 2a 20 66 69 6c 65 2d 6e 61 6d 65 2d 71 75 6f 74 65 ....(line.355).*.file-name-quote
4e8a0 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 36 :.......................Emacs.26
4e8c0 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 30 32 29 0a 2a 20 66 69 6c 65 2d 6e .1...........(line.102).*.file-n
4e8e0 61 6d 65 2d 71 75 6f 74 65 64 2d 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ame-quoted-p:...................
4e900 20 45 6d 61 63 73 20 32 36 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 39 35 29 .Emacs.26.1...........(line..95)
4e920 0a 2a 20 66 69 6c 65 2d 6e 61 6d 65 2d 73 70 6c 69 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 .*.file-name-split:.............
4e940 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 ..........Emacs.29.1...........(
4e960 6c 69 6e 65 20 33 34 35 29 0a 2a 20 66 69 6c 65 2d 6e 61 6d 65 2d 75 6e 71 75 6f 74 65 3a 20 20 line.345).*.file-name-unquote:..
4e980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 36 2e 31 2e 20 20 ...................Emacs.26.1...
4e9a0 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 39 30 29 0a 2a 20 66 69 6c 65 2d 6e 61 6d 65 2d 77 ........(line..90).*.file-name-w
4e9c0 69 74 68 2d 65 78 74 65 6e 73 69 6f 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 ith-extension:..............Emac
4e9e0 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 32 35 29 0a 2a 20 66 69 s.28.1...........(line.225).*.fi
4ea00 6c 65 2d 73 69 7a 65 2d 68 75 6d 61 6e 2d 72 65 61 64 61 62 6c 65 2d 69 65 63 3a 20 20 20 20 20 le-size-human-readable-iec:.....
4ea20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 .....Emacs.27.1...........(line.
4ea40 32 35 31 29 0a 2a 20 66 69 6e 64 2d 62 75 66 66 65 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 251).*.find-buffer:.............
4ea60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 33 30 2e 31 2e 20 20 20 20 20 20 20 ..............Emacs.30.1........
4ea80 20 20 20 28 6c 69 6e 65 20 20 38 34 29 0a 2a 20 66 69 78 6e 75 6d 70 3a 20 20 20 20 20 20 20 20 ...(line..84).*.fixnump:........
4eaa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e .......................Emacs.27.
4eac0 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 36 30 29 0a 2a 20 66 6c 61 74 74 65 6e 1...........(line..60).*.flatten
4eae0 2d 74 72 65 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -tree:..........................
4eb00 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 33 32 29 0a Emacs.27.1...........(line.132).
4eb20 2a 20 66 6f 72 6d 61 74 2d 6d 65 73 73 61 67 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.format-message:...............
4eb40 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 35 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c .........Emacs.25.1...........(l
4eb60 69 6e 65 20 20 34 34 29 0a 2a 20 66 6f 72 6d 61 74 2d 70 72 6f 6d 70 74 3a 20 20 20 20 20 20 20 ine..44).*.format-prompt:.......
4eb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 ..................Emacs.28.1....
4eba0 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 35 34 29 0a 2a 20 66 75 6e 63 61 6c 6c 2d 77 69 74 68 .......(line.254).*.funcall-with
4ebc0 2d 64 65 6c 61 79 65 64 2d 6d 65 73 73 61 67 65 3a 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 -delayed-message:..........Emacs
4ebe0 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 34 38 29 0a 2a 20 66 75 6e .29.1...........(line.148).*.fun
4ec00 63 74 69 6f 6e 2d 61 6c 69 61 73 2d 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ction-alias-p:..................
4ec20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 ....Emacs.29.1...........(line.2
4ec40 33 33 29 0a 2a 20 67 61 72 62 61 67 65 2d 63 6f 6c 6c 65 63 74 2d 6d 61 79 62 65 3a 20 20 20 20 33).*.garbage-collect-maybe:....
4ec60 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 .............Emacs.28.1.........
4ec80 20 20 28 6c 69 6e 65 20 20 36 38 29 0a 2a 20 67 65 6e 73 79 6d 3a 20 20 20 20 20 20 20 20 20 20 ..(line..68).*.gensym:..........
4eca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 36 2e 31 ......................Emacs.26.1
4ecc0 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 37 30 29 0a 2a 20 67 65 74 2d 64 69 73 70 ...........(line..70).*.get-disp
4ece0 6c 61 79 2d 70 72 6f 70 65 72 74 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 lay-property:..................E
4ed00 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 37 33 29 0a 2a macs.29.1...........(line.173).*
4ed20 20 67 65 74 2d 73 63 72 61 74 63 68 2d 62 75 66 66 65 72 2d 63 72 65 61 74 65 3a 20 20 20 20 20 .get-scratch-buffer-create:.....
4ed40 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 ........Emacs.29.1...........(li
4ed60 6e 65 20 20 33 38 29 0a 2a 20 67 65 74 2d 74 72 75 65 6e 61 6d 65 2d 62 75 66 66 65 72 3a 20 20 ne..38).*.get-truename-buffer:..
4ed80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 33 30 2e 31 2e 20 20 20 20 .................Emacs.30.1.....
4eda0 20 20 20 20 20 20 28 6c 69 6e 65 20 20 37 39 29 0a 2a 20 68 61 73 68 2d 74 61 62 6c 65 2d 65 6d ......(line..79).*.hash-table-em
4edc0 70 74 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 pty:......................Emacs.
4ede0 32 35 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 31 39 29 0a 2a 20 69 66 2d 6c 25.1...........(line.119).*.if-l
4ee00 65 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 et:.............................
4ee20 20 20 20 45 6d 61 63 73 20 32 35 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 39 ...Emacs.25.1...........(line..9
4ee40 36 29 0a 2a 20 69 66 2d 6c 65 74 2a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6).*.if-let*:...................
4ee60 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 36 2e 31 2e 20 20 20 20 20 20 20 20 20 ............Emacs.26.1..........
4ee80 20 28 6c 69 6e 65 20 31 34 39 29 0a 2a 20 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 3a 20 20 20 20 .(line.149).*.ignore-errors:....
4eea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 2e .....................Emacs.27.1.
4eec0 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 30 36 29 0a 2a 20 69 6d 61 67 65 2d 70 72 6f ..........(line.106).*.image-pro
4eee0 70 65 72 74 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d perty:........................Em
4ef00 61 63 73 20 32 36 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 39 38 29 0a 2a 20 acs.26.1...........(line.198).*.
4ef20 69 6e 73 65 72 74 2d 69 6e 74 6f 2d 62 75 66 66 65 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 insert-into-buffer:.............
4ef40 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e .......Emacs.28.1...........(lin
4ef60 65 20 20 39 32 29 0a 2a 20 69 6e 74 65 72 70 72 65 74 65 64 2d 66 75 6e 63 74 69 6f 6e 2d 70 3a e..92).*.interpreted-function-p:
4ef80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 33 30 2e 31 2e 20 20 20 20 20 ................Emacs.30.1......
4efa0 20 20 20 20 20 28 6c 69 6e 65 20 20 32 36 29 0a 2a 20 6b 65 79 2d 70 61 72 73 65 3a 20 20 20 20 .....(line..26).*.key-parse:....
4efc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 .........................Emacs.2
4efe0 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 34 31 39 29 0a 2a 20 6b 65 79 2d 76 9.1...........(line.419).*.key-v
4f000 61 6c 69 64 2d 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 alid-p:.........................
4f020 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 38 37 ..Emacs.29.1...........(line.387
4f040 29 0a 2a 20 6b 65 79 6d 61 70 2d 67 6c 6f 62 61 6c 2d 6c 6f 6f 6b 75 70 3a 20 20 20 20 20 20 20 ).*.keymap-global-lookup:.......
4f060 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 ...........Emacs.29.1...........
4f080 28 6c 69 6e 65 20 35 31 34 29 0a 2a 20 6b 65 79 6d 61 70 2d 67 6c 6f 62 61 6c 2d 73 65 74 3a 20 (line.514).*.keymap-global-set:.
4f0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 ....................Emacs.29.1..
4f0c0 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 34 34 38 29 0a 2a 20 6b 65 79 6d 61 70 2d 67 6c 6f .........(line.448).*.keymap-glo
4f0e0 62 61 6c 2d 75 6e 73 65 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 bal-unset:...................Ema
4f100 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 34 36 38 29 0a 2a 20 6b cs.29.1...........(line.468).*.k
4f120 65 79 6d 61 70 2d 6c 6f 63 61 6c 2d 6c 6f 6f 6b 75 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 eymap-local-lookup:.............
4f140 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 ......Emacs.29.1...........(line
4f160 20 35 31 30 29 0a 2a 20 6b 65 79 6d 61 70 2d 6c 6f 63 61 6c 2d 73 65 74 3a 20 20 20 20 20 20 20 .510).*.keymap-local-set:.......
4f180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 ...............Emacs.29.1.......
4f1a0 20 20 20 20 28 6c 69 6e 65 20 34 35 38 29 0a 2a 20 6b 65 79 6d 61 70 2d 6c 6f 63 61 6c 2d 75 6e ....(line.458).*.keymap-local-un
4f1c0 73 65 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 set:....................Emacs.29
4f1e0 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 34 38 33 29 0a 2a 20 6b 65 79 6d 61 70 .1...........(line.483).*.keymap
4f200 2d 6c 6f 6f 6b 75 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -lookup:........................
4f220 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 34 39 37 29 .Emacs.29.1...........(line.497)
4f240 0a 2a 20 6b 65 79 6d 61 70 2d 73 65 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .*.keymap-set:..................
4f260 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 ..........Emacs.29.1...........(
4f280 6c 69 6e 65 20 34 32 34 29 0a 2a 20 6b 65 79 6d 61 70 2d 73 75 62 73 74 69 74 75 74 65 3a 20 20 line.424).*.keymap-substitute:..
4f2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 ...................Emacs.29.1...
4f2c0 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 34 38 39 29 0a 2a 20 6c 65 6e 67 74 68 3c 3a 20 20 20 ........(line.489).*.length<:...
4f2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 ............................Emac
4f300 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 34 35 29 0a 2a 20 6c 65 s.28.1...........(line..45).*.le
4f320 6e 67 74 68 3d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ngth=:..........................
4f340 20 20 20 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 .....Emacs.28.1...........(line.
4f360 20 34 32 29 0a 2a 20 6c 65 6e 67 74 68 3e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .42).*.length>:.................
4f380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 ..............Emacs.28.1........
4f3a0 20 20 20 28 6c 69 6e 65 20 20 35 30 29 0a 2a 20 6c 69 73 74 2d 6f 66 2d 73 74 72 69 6e 67 73 2d ...(line..50).*.list-of-strings-
4f3c0 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e p:.....................Emacs.29.
4f3e0 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 36 32 29 0a 2a 20 6d 61 63 72 6f 65 78 1...........(line..62).*.macroex
4f400 70 2d 66 69 6c 65 2d 6e 61 6d 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 p-file-name:....................
4f420 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 30 31 29 0a Emacs.28.1...........(line.301).
4f440 2a 20 6d 61 63 72 6f 65 78 70 2d 70 61 72 73 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.macroexp-parse:...............
4f460 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 35 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c .........Emacs.25.1...........(l
4f480 69 6e 65 20 31 37 34 29 0a 2a 20 6d 61 63 72 6f 65 78 70 2d 71 75 6f 74 65 3a 20 20 20 20 20 20 ine.174).*.macroexp-quote:......
4f4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 35 2e 31 2e 20 20 20 ..................Emacs.25.1....
4f4c0 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 37 31 29 0a 2a 20 6d 61 63 72 6f 65 78 70 2d 77 61 72 .......(line.171).*.macroexp-war
4f4e0 6e 2d 61 6e 64 2d 72 65 74 75 72 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 n-and-return:..............Emacs
4f500 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 30 35 29 0a 2a 20 6d 61 63 .28.1...........(line.305).*.mac
4f520 72 6f 65 78 70 61 6e 64 2d 31 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 roexpand-1:.....................
4f540 20 20 20 20 45 6d 61 63 73 20 32 35 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 ....Emacs.25.1...........(line.1
4f560 36 34 29 0a 2a 20 6d 61 6a 6f 72 2d 6d 6f 64 65 2d 72 65 73 74 6f 72 65 3a 20 20 20 20 20 20 20 64).*.major-mode-restore:.......
4f580 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 20 .............Emacs.27.1.........
4f5a0 20 20 28 6c 69 6e 65 20 20 32 32 29 0a 2a 20 6d 61 6a 6f 72 2d 6d 6f 64 65 2d 73 75 73 70 65 6e ..(line..22).*.major-mode-suspen
4f5c0 64 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 d:....................Emacs.27.1
4f5e0 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 31 33 29 0a 2a 20 6d 61 6b 65 2d 65 6d 70 ...........(line..13).*.make-emp
4f600 74 79 2d 66 69 6c 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 ty-file:.......................E
4f620 6d 61 63 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 35 34 29 0a 2a macs.27.1...........(line.254).*
4f640 20 6d 61 6b 65 2d 6c 6f 63 6b 2d 66 69 6c 65 2d 6e 61 6d 65 3a 20 20 20 20 20 20 20 20 20 20 20 .make-lock-file-name:...........
4f660 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 ........Emacs.28.1...........(li
4f680 6e 65 20 33 35 35 29 0a 2a 20 6d 61 6b 65 2d 6e 65 61 72 62 79 2d 74 65 6d 70 2d 66 69 6c 65 3a ne.355).*.make-nearby-temp-file:
4f6a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 36 2e 31 2e 20 20 20 20 .................Emacs.26.1.....
4f6c0 20 20 20 20 20 20 28 6c 69 6e 65 20 31 32 30 29 0a 2a 20 6d 61 6b 65 2d 73 65 70 61 72 61 74 6f ......(line.120).*.make-separato
4f6e0 72 2d 6c 69 6e 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 r-line:...................Emacs.
4f700 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 38 38 29 0a 2a 20 6d 61 70 63 28.1...........(line..88).*.mapc
4f720 61 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 an:.............................
4f740 20 20 20 45 6d 61 63 73 20 32 36 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 35 ...Emacs.26.1...........(line..5
4f760 33 29 0a 2a 20 6d 61 72 6b 2d 74 68 69 6e 67 2d 61 74 2d 6d 6f 75 73 65 3a 20 20 20 20 20 20 20 3).*.mark-thing-at-mouse:.......
4f780 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 ............Emacs.28.1..........
4f7a0 20 28 6c 69 6e 65 20 32 39 38 29 0a 2a 20 6d 61 74 63 68 2d 62 75 66 66 65 72 73 3a 20 20 20 20 .(line.298).*.match-buffers:....
4f7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e .....................Emacs.29.1.
4f7e0 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 39 32 29 0a 2a 20 6d 65 72 67 65 2d 6f 72 64 ..........(line.292).*.merge-ord
4f800 65 72 65 64 2d 6c 69 73 74 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d ered-lists:...................Em
4f820 61 63 73 20 33 30 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 39 39 29 0a 2a 20 acs.30.1...........(line..99).*.
4f840 6d 69 6e 69 62 75 66 66 65 72 2d 68 69 73 74 6f 72 79 2d 76 61 6c 75 65 3a 20 20 20 20 20 20 20 minibuffer-history-value:.......
4f860 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e .......Emacs.27.1...........(lin
4f880 65 20 20 33 32 29 0a 2a 20 6e 61 6d 65 64 2d 6c 65 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 e..32).*.named-let:.............
4f8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 ................Emacs.28.1......
4f8c0 20 20 20 20 20 28 6c 69 6e 65 20 32 30 37 29 0a 2a 20 6e 61 74 69 76 65 2d 63 6f 6d 70 2d 61 76 .....(line.207).*.native-comp-av
4f8e0 61 69 6c 61 62 6c 65 2d 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 ailable-p:...............Emacs.2
4f900 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 37 31 29 0a 2a 20 6e 74 61 6b 65 8.1...........(line.371).*.ntake
4f920 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 :...............................
4f940 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 31 33 ..Emacs.29.1...........(line.213
4f960 29 0a 2a 20 6f 62 61 72 72 61 79 2d 63 6c 65 61 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).*.obarray-clear:..............
4f980 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 33 30 2e 31 2e 20 20 20 20 20 20 20 20 20 20 ...........Emacs.30.1...........
4f9a0 28 6c 69 6e 65 20 20 31 38 29 0a 2a 20 70 61 63 6b 61 67 65 2d 67 65 74 2d 76 65 72 73 69 6f 6e (line..18).*.package-get-version
4f9c0 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 :...................Emacs.27.1..
4f9e0 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 30 35 29 0a 2a 20 70 6c 69 73 74 70 3a 20 20 20 .........(line.205).*.plistp:...
4fa00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 .............................Ema
4fa20 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 36 35 29 0a 2a 20 70 cs.29.1...........(line..65).*.p
4fa40 6f 73 2d 62 6f 6c 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 os-bol:.........................
4fa60 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 ......Emacs.29.1...........(line
4fa80 20 31 31 39 29 0a 2a 20 70 6f 73 2d 65 6f 6c 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .119).*.pos-eol:................
4faa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 ...............Emacs.29.1.......
4fac0 20 20 20 20 28 6c 69 6e 65 20 31 32 33 29 0a 2a 20 70 72 69 6d 69 74 69 76 65 2d 66 75 6e 63 74 ....(line.123).*.primitive-funct
4fae0 69 6f 6e 2d 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 33 30 ion-p:..................Emacs.30
4fb00 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 39 29 0a 2a 20 70 72 6f 63 65 73 .1...........(line..29).*.proces
4fb20 73 2d 6c 69 6e 65 73 2d 68 61 6e 64 6c 69 6e 67 2d 73 74 61 74 75 73 3a 20 20 20 20 20 20 20 20 s-lines-handling-status:........
4fb40 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 30 29 .Emacs.28.1...........(line..20)
4fb60 0a 2a 20 70 72 6f 63 65 73 73 2d 6c 69 6e 65 73 2d 69 67 6e 6f 72 65 2d 73 74 61 74 75 73 3a 20 .*.process-lines-ignore-status:.
4fb80 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 ..........Emacs.28.1...........(
4fba0 6c 69 6e 65 20 20 31 36 29 0a 2a 20 70 72 6f 70 65 72 2d 6c 69 73 74 2d 70 3a 20 20 20 20 20 20 line..16).*.proper-list-p:......
4fbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 ...................Emacs.27.1...
4fbe0 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 37 36 29 0a 2a 20 70 72 6f 76 69 64 65 64 2d 6d 6f ........(line..76).*.provided-mo
4fc00 64 65 2d 64 65 72 69 76 65 64 2d 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 de-derived-p:...............Emac
4fc20 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 34 37 29 0a 2a 20 72 65 s.27.1...........(line.247).*.re
4fc40 61 64 2d 61 6e 73 77 65 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ad-answer:......................
4fc60 20 20 20 20 20 45 6d 61 63 73 20 32 36 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 .....Emacs.26.1...........(line.
4fc80 20 31 37 29 0a 2a 20 72 65 61 64 2d 63 68 61 72 2d 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 66 65 72 .17).*.read-char-from-minibuffer
4fca0 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 :.............Emacs.27.1........
4fcc0 20 20 20 28 6c 69 6e 65 20 20 34 34 29 0a 2a 20 72 65 61 64 2d 6d 75 6c 74 69 70 6c 65 2d 63 68 ...(line..44).*.read-multiple-ch
4fce0 6f 69 63 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 36 2e oice:..................Emacs.26.
4fd00 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 38 35 29 0a 2a 20 72 65 61 64 61 62 6c 1...........(line.185).*.readabl
4fd20 65 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ep:.............................
4fd40 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 38 29 0a Emacs.29.1...........(line..28).
4fd60 2a 20 72 65 67 69 6f 6e 2d 62 6f 75 6e 64 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.region-bounds:................
4fd80 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 35 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c .........Emacs.25.1...........(l
4fda0 69 6e 65 20 20 32 38 29 0a 2a 20 72 65 67 69 6f 6e 2d 6e 6f 6e 63 6f 6e 74 69 67 75 6f 75 73 2d ine..28).*.region-noncontiguous-
4fdc0 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 35 2e 31 2e 20 20 20 p:................Emacs.25.1....
4fde0 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 33 34 29 0a 2a 20 72 65 70 6c 61 63 65 2d 72 65 67 65 .......(line..34).*.replace-rege
4fe00 78 70 2d 69 6e 2d 73 74 72 69 6e 67 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 xp-in-string:..............Emacs
4fe20 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 31 37 29 0a 2a 20 72 65 70 .28.1...........(line.117).*.rep
4fe40 6c 61 63 65 2d 73 74 72 69 6e 67 2d 69 6e 2d 72 65 67 69 6f 6e 3a 20 20 20 20 20 20 20 20 20 20 lace-string-in-region:..........
4fe60 20 20 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 ....Emacs.28.1...........(line.1
4fe80 30 32 29 0a 2a 20 72 65 71 75 69 72 65 2d 77 69 74 68 2d 63 68 65 63 6b 3a 20 20 20 20 20 20 20 02).*.require-with-check:.......
4fea0 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 33 30 2e 31 2e 20 20 20 20 20 20 20 20 .............Emacs.30.1.........
4fec0 20 20 28 6c 69 6e 65 20 20 38 38 29 0a 2a 20 72 69 6e 67 2d 72 65 73 69 7a 65 3a 20 20 20 20 20 ..(line..88).*.ring-resize:.....
4fee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 ......................Emacs.27.1
4ff00 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 38 29 0a 2a 20 73 61 76 65 2d 6d 61 72 ...........(line..28).*.save-mar
4ff20 6b 2d 61 6e 64 2d 65 78 63 75 72 73 69 6f 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 k-and-excursion:...............E
4ff40 6d 61 63 73 20 32 35 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 33 39 29 0a 2a macs.25.1...........(line..39).*
4ff60 20 73 74 61 74 69 63 2d 69 66 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .static-if:.....................
4ff80 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 33 30 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 ........Emacs.30.1...........(li
4ffa0 6e 65 20 31 35 31 29 0a 2a 20 73 74 72 69 6e 67 2d 63 68 6f 70 2d 6e 65 77 6c 69 6e 65 3a 20 20 ne.151).*.string-chop-newline:..
4ffc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 .................Emacs.28.1.....
4ffe0 20 20 20 20 20 20 28 6c 69 6e 65 20 32 30 32 29 0a 2a 20 73 74 72 69 6e 67 2d 63 6c 65 61 6e 2d ......(line.202).*.string-clean-
50000 77 68 69 74 65 73 70 61 63 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 whitespace:...............Emacs.
50020 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 37 31 29 0a 2a 20 73 74 72 69 28.1...........(line.171).*.stri
50040 6e 67 2d 64 69 73 74 61 6e 63 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ng-distance:....................
50060 20 20 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 38 ...Emacs.27.1...........(line..8
50080 36 29 0a 2a 20 73 74 72 69 6e 67 2d 65 71 75 61 6c 2d 69 67 6e 6f 72 65 2d 63 61 73 65 3a 20 20 6).*.string-equal-ignore-case:..
500a0 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 ............Emacs.29.1..........
500c0 20 28 6c 69 6e 65 20 32 34 36 29 0a 2a 20 73 74 72 69 6e 67 2d 66 69 6c 6c 3a 20 20 20 20 20 20 .(line.246).*.string-fill:......
500e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 38 2e 31 2e .....................Emacs.28.1.
50100 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 37 38 29 0a 2a 20 73 74 72 69 6e 67 2d 67 6c ..........(line.178).*.string-gl
50120 79 70 68 2d 73 70 6c 69 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d yph-split:....................Em
50140 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 30 31 29 0a 2a 20 acs.29.1...........(line.301).*.
50160 73 74 72 69 6e 67 2d 67 72 65 61 74 65 72 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 string-greaterp:................
50180 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 35 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e .......Emacs.25.1...........(lin
501a0 65 20 20 36 34 29 0a 2a 20 73 74 72 69 6e 67 2d 6c 69 6e 65 73 3a 20 20 20 20 20 20 20 20 20 20 e..64).*.string-lines:..........
501c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 ................Emacs.28.1......
501e0 20 20 20 20 20 28 6c 69 6e 65 20 31 38 36 29 0a 2a 20 73 74 72 69 6e 67 2d 70 61 64 3a 20 20 20 .....(line.186).*.string-pad:...
50200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 .........................Emacs.2
50220 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 39 33 29 0a 2a 20 73 74 72 69 6e 8.1...........(line.193).*.strin
50240 67 2d 72 65 70 6c 61 63 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 g-replace:......................
50260 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 37 37 ..Emacs.28.1...........(line..77
50280 29 0a 2a 20 73 74 72 69 6e 67 2d 73 65 61 72 63 68 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).*.string-search:..............
502a0 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 ...........Emacs.28.1...........
502c0 28 6c 69 6e 65 20 20 33 34 29 0a 2a 20 73 74 72 69 6e 67 2d 73 70 6c 69 74 3a 20 20 20 20 20 20 (line..34).*.string-split:......
502e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 ....................Emacs.29.1..
50300 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 35 32 29 0a 2a 20 73 75 62 72 2d 70 72 69 6d 69 .........(line.252).*.subr-primi
50320 74 69 76 65 2d 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 tive-p:......................Ema
50340 63 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 36 34 29 0a 2a 20 73 cs.28.1...........(line.364).*.s
50360 75 62 73 74 69 74 75 74 65 2d 71 75 6f 74 65 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ubstitute-quotes:...............
50380 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 ......Emacs.29.1...........(line
503a0 20 20 33 34 29 0a 2a 20 74 61 6b 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..34).*.take:...................
503c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 ...............Emacs.29.1.......
503e0 20 20 20 20 28 6c 69 6e 65 20 31 39 39 29 0a 2a 20 74 65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 2d ....(line.199).*.temporary-file-
50400 64 69 72 65 63 74 6f 72 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 36 directory:..............Emacs.26
50420 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 33 37 29 0a 2a 20 74 65 78 74 2d 70 .1...........(line.137).*.text-p
50440 72 6f 70 65 72 74 79 2d 73 65 61 72 63 68 2d 62 61 63 6b 77 61 72 64 3a 20 20 20 20 20 20 20 20 roperty-search-backward:........
50460 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 33 32 29 .Emacs.27.1...........(line.332)
50480 0a 2a 20 74 65 78 74 2d 70 72 6f 70 65 72 74 79 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 3a .*.text-property-search-forward:
504a0 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 ..........Emacs.27.1...........(
504c0 6c 69 6e 65 20 32 36 30 29 0a 2a 20 74 65 78 74 2d 71 75 6f 74 69 6e 67 2d 73 74 79 6c 65 3a 20 line.260).*.text-quoting-style:.
504e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 ...................Emacs.28.1...
50500 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 38 29 0a 2a 20 74 68 69 6e 67 2d 61 74 2d 6d 6f ........(line..28).*.thing-at-mo
50520 75 73 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 use:........................Emac
50540 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 38 35 29 0a 2a 20 74 68 s.28.1...........(line.285).*.th
50560 72 65 61 64 2d 66 69 72 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 read-first:.....................
50580 20 20 20 20 20 45 6d 61 63 73 20 32 35 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 .....Emacs.25.1...........(line.
505a0 31 32 32 29 0a 2a 20 74 68 72 65 61 64 2d 6c 61 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 122).*.thread-last:.............
505c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 35 2e 31 2e 20 20 20 20 20 20 20 ..............Emacs.25.1........
505e0 20 20 20 28 6c 69 6e 65 20 31 34 33 29 0a 2a 20 74 69 6d 65 2d 65 71 75 61 6c 2d 70 3a 20 20 20 ...(line.143).*.time-equal-p:...
50600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e .......................Emacs.27.
50620 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 30 38 29 0a 2a 20 75 73 65 2d 72 65 67 1...........(line.208).*.use-reg
50640 69 6f 6e 2d 62 65 67 69 6e 6e 69 6e 67 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ion-beginning:..................
50660 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 34 37 29 0a Emacs.29.1...........(line..47).
50680 2a 20 75 73 65 2d 72 65 67 69 6f 6e 2d 65 6e 64 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *.use-region-end:...............
506a0 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c .........Emacs.29.1...........(l
506c0 69 6e 65 20 20 34 34 29 0a 2a 20 75 73 65 2d 72 65 67 69 6f 6e 2d 6e 6f 6e 63 6f 6e 74 69 67 75 ine..44).*.use-region-noncontigu
506e0 6f 75 73 2d 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 ous-p:............Emacs.29.1....
50700 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 34 31 29 0a 2a 20 76 61 6c 75 65 3c 3a 20 20 20 20 20 .......(line..41).*.value<:.....
50720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 ...........................Emacs
50740 20 33 30 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 33 33 29 0a 2a 20 77 68 65 .30.1...........(line..33).*.whe
50760 6e 2d 6c 65 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n-let:..........................
50780 20 20 20 20 45 6d 61 63 73 20 32 35 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 ....Emacs.25.1...........(line.1
507a0 31 34 29 0a 2a 20 77 68 65 6e 2d 6c 65 74 2a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 14).*.when-let*:................
507c0 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 36 2e 31 2e 20 20 20 20 20 20 20 20 .............Emacs.26.1.........
507e0 20 20 28 6c 69 6e 65 20 31 35 33 29 0a 2a 20 77 68 69 6c 65 2d 6c 65 74 3a 20 20 20 20 20 20 20 ..(line.153).*.while-let:.......
50800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 ......................Emacs.29.1
50820 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 36 30 36 29 0a 2a 20 77 69 6e 64 6f 77 2d 63 ...........(line.606).*.window-c
50840 6f 6e 66 69 67 75 72 61 74 69 6f 6e 2d 65 71 75 61 6c 2d 70 3a 20 20 20 20 20 20 20 20 20 20 45 onfiguration-equal-p:..........E
50860 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 36 31 32 29 0a 2a macs.29.1...........(line.612).*
50880 20 77 69 74 68 2d 62 75 66 66 65 72 2d 75 6e 6d 6f 64 69 66 69 65 64 2d 69 66 2d 75 6e 63 68 61 .with-buffer-unmodified-if-uncha
508a0 6e 67 65 64 3a 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 nged:...Emacs.29.1...........(li
508c0 6e 65 20 33 32 34 29 0a 2a 20 77 69 74 68 2d 64 65 6c 61 79 65 64 2d 6d 65 73 73 61 67 65 3a 20 ne.324).*.with-delayed-message:.
508e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 .................Emacs.29.1.....
50900 20 20 20 20 20 20 28 6c 69 6e 65 20 31 33 31 29 0a 2a 20 77 69 74 68 2d 65 6e 76 69 72 6f 6e 6d ......(line.131).*.with-environm
50920 65 6e 74 2d 76 61 72 69 61 62 6c 65 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 ent-variables:............Emacs.
50940 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 30 39 29 0a 2a 20 77 69 74 68 28.1...........(line.309).*.with
50960 2d 65 78 69 73 74 69 6e 67 2d 64 69 72 65 63 74 6f 72 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 -existing-directory:............
50980 20 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 33 ...Emacs.28.1...........(line.13
509a0 32 29 0a 2a 20 77 69 74 68 2d 66 69 6c 65 2d 6d 6f 64 65 73 3a 20 20 20 20 20 20 20 20 20 20 20 2).*.with-file-modes:...........
509c0 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 35 2e 31 2e 20 20 20 20 20 20 20 20 20 ............Emacs.25.1..........
509e0 20 28 6c 69 6e 65 20 20 37 31 29 0a 2a 20 77 69 74 68 2d 6d 65 6d 6f 69 7a 61 74 69 6f 6e 3a 20 .(line..71).*.with-memoization:.
50a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e .....................Emacs.29.1.
50a20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 36 38 29 0a 2a 20 77 69 74 68 2d 6d 69 6e 69 ..........(line..68).*.with-mini
50a40 62 75 66 66 65 72 2d 73 65 6c 65 63 74 65 64 2d 77 69 6e 64 6f 77 3a 20 20 20 20 20 20 20 45 6d buffer-selected-window:.......Em
50a60 61 63 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 33 38 29 0a 2a 20 acs.27.1...........(line..38).*.
50a80 77 69 74 68 2d 72 65 73 74 72 69 63 74 69 6f 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 with-restriction:...............
50aa0 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e .......Emacs.29.1...........(lin
50ac0 65 20 20 37 33 29 0a 2a 20 77 69 74 68 2d 73 75 70 70 72 65 73 73 65 64 2d 77 61 72 6e 69 6e 67 e..73).*.with-suppressed-warning
50ae0 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 20 20 20 s:..............Emacs.27.1......
50b00 20 20 20 20 20 28 6c 69 6e 65 20 20 36 35 29 0a 2a 20 77 69 74 68 2d 77 69 6e 64 6f 77 2d 6e 6f .....(line..65).*.with-window-no
50b20 6e 2d 64 65 64 69 63 61 74 65 64 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 n-dedicated:.............Emacs.2
50b40 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 37 39 29 0a 2a 20 77 69 74 68 6f 8.1...........(line.379).*.witho
50b60 75 74 2d 72 65 73 74 72 69 63 74 69 6f 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ut-restriction:.................
50b80 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 30 37 ..Emacs.29.1...........(line.107
50ba0 29 0a 2a 20 78 6f 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).*.xor:........................
50bc0 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 ...........Emacs.27.1...........
50be0 28 6c 69 6e 65 20 31 34 32 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 32 33 47 70 47 36 2e 69 6e (line.142)....File:.doc23GpG6.in
50c00 66 6f 2c 20 20 4e 6f 64 65 3a 20 56 61 72 69 61 62 6c 65 20 49 6e 64 65 78 2c 20 20 50 72 65 76 fo,..Node:.Variable.Index,..Prev
50c20 3a 20 46 75 6e 63 74 69 6f 6e 20 49 6e 64 65 78 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 41 70 70 65 :.Function.Index,..Up:.Top..Appe
50c40 6e 64 69 78 20 42 20 56 61 72 69 61 62 6c 65 20 49 6e 64 65 78 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ndix.B.Variable.Index.**********
50c60 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 00 08 5b 69 6e 64 65 78 00 08 5d 0a 2a 20 4d ***************....[index..].*.M
50c80 65 6e 75 3a 0a 0a 2a 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 3a 20 20 enu:..*.completion-lazy-hilit:..
50ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 33 30 2e 31 2e 20 20 20 20 20 20 ...............Emacs.30.1.......
50cc0 20 20 20 20 28 6c 69 6e 65 20 31 31 33 29 0a 2a 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 ....(line.113).*.completion-lazy
50ce0 2d 68 69 6c 69 74 2d 66 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 33 30 -hilit-fn:..............Emacs.30
50d00 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 33 37 29 0a 2a 20 65 78 65 63 2d 70 .1...........(line.137).*.exec-p
50d20 61 74 68 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ath:............................
50d40 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 32 38 29 .Emacs.27.1...........(line.228)
50d60 0a 2a 20 67 65 6e 73 79 6d 2d 63 6f 75 6e 74 65 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .*.gensym-counter:..............
50d80 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 36 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 ..........Emacs.26.1...........(
50da0 6c 69 6e 65 20 20 37 37 29 0a 2a 20 6c 69 73 70 2d 64 69 72 65 63 74 6f 72 79 3a 20 20 20 20 20 line..77).*.lisp-directory:.....
50dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 ...................Emacs.29.1...
50de0 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 31 37 29 0a 2a 20 6d 6f 75 6e 74 65 64 2d 66 69 6c ........(line..17).*.mounted-fil
50e00 65 2d 73 79 73 74 65 6d 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 e-systems:..................Emac
50e20 73 20 32 36 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 33 33 29 0a 2a 20 72 65 s.26.1...........(line.133).*.re
50e40 67 65 78 70 2d 75 6e 6d 61 74 63 68 61 62 6c 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 gexp-unmatchable:...............
50e60 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 .....Emacs.27.1...........(line.
50e80 31 35 32 29 0a 2a 20 73 65 74 2d 74 72 61 6e 73 69 65 6e 74 2d 6d 61 70 2d 74 69 6d 65 6f 75 74 152).*.set-transient-map-timeout
50ea0 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 :.............Emacs.29.1........
50ec0 20 20 20 28 6c 69 6e 65 20 37 33 36 29 0a 2a 20 74 65 78 74 2d 71 75 6f 74 69 6e 67 2d 73 74 79 ...(line.736).*.text-quoting-sty
50ee0 6c 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 35 2e le:....................Emacs.25.
50f00 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 31 33 29 0a 0a 0a 1f 0a 54 61 67 20 54 1...........(line..13).....Tag.T
50f20 61 62 6c 65 3a 0a 4e 6f 64 65 3a 20 54 6f 70 7f 38 32 39 0a 4e 6f 64 65 3a 20 49 6e 74 72 6f 64 able:.Node:.Top.829.Node:.Introd
50f40 75 63 74 69 6f 6e 7f 32 32 35 38 0a 4e 6f 64 65 3a 20 4f 76 65 72 76 69 65 77 7f 32 34 32 31 0a uction.2258.Node:.Overview.2421.
50f60 4e 6f 64 65 3a 20 55 73 61 67 65 7f 32 39 34 37 0a 4e 6f 64 65 3a 20 4c 69 6d 69 74 61 74 69 6f Node:.Usage.2947.Node:.Limitatio
50f80 6e 73 7f 37 33 32 36 0a 4e 6f 64 65 3a 20 53 75 70 70 6f 72 74 7f 31 32 31 39 32 0a 4e 6f 64 65 ns.7326.Node:.Support.12192.Node
50fa0 3a 20 45 6d 61 63 73 20 32 35 2e 31 7f 31 32 37 37 37 0a 4e 6f 64 65 3a 20 45 6d 61 63 73 20 32 :.Emacs.25.1.12777.Node:.Emacs.2
50fc0 36 2e 31 7f 32 31 32 36 35 0a 4e 6f 64 65 3a 20 45 6d 61 63 73 20 32 37 2e 31 7f 33 38 35 35 39 6.1.21265.Node:.Emacs.27.1.38559
50fe0 0a 4e 6f 64 65 3a 20 45 6d 61 63 73 20 32 38 2e 31 7f 35 38 39 35 36 0a 4e 6f 64 65 3a 20 45 6d .Node:.Emacs.28.1.58956.Node:.Em
51000 61 63 73 20 32 39 2e 31 7f 37 38 38 33 35 0a 4e 6f 64 65 3a 20 45 6d 61 63 73 20 33 30 2e 31 7f acs.29.1.78835.Node:.Emacs.30.1.
51020 31 31 36 32 33 33 0a 4e 6f 64 65 3a 20 44 65 76 65 6c 6f 70 6d 65 6e 74 7f 31 32 39 32 34 38 0a 116233.Node:.Development.129248.
51040 4e 6f 64 65 3a 20 46 75 6e 63 74 69 6f 6e 20 49 6e 64 65 78 7f 31 33 30 39 38 32 0a 4e 6f 64 65 Node:.Function.Index.130982.Node
51060 3a 20 56 61 72 69 61 62 6c 65 20 49 6e 64 65 78 7f 31 34 37 34 33 36 0a 1f 0a 45 6e 64 20 54 61 :.Variable.Index.147436...End.Ta
51080 67 20 54 61 62 6c 65 0a 0a 1f 0a 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3a 0a 63 6f 64 69 g.Table....Local.Variables:.codi
510a0 6e 67 3a 20 75 74 66 2d 38 0a 45 6e 64 3a 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ng:.utf-8.End:..................
510c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
510e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
511a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
511c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
511e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51200 63 6f 6d 70 61 74 2d 33 30 2e 30 2e 30 2e 30 2f 64 69 72 00 00 00 00 00 00 00 00 00 00 00 00 00 compat-30.0.0.0/dir.............
51220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51260 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
51280 30 30 30 31 31 35 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 33 35 32 00 20 30 00 00 00 0001152.00000000000.012352..0...
512a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
512c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
512e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51300 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...................
51320 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...................
51340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
513a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
513c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
513e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51400 54 68 69 73 20 69 73 20 74 68 65 20 66 69 6c 65 20 2e 2e 2e 2f 69 6e 66 6f 2f 64 69 72 2c 20 77 This.is.the.file..../info/dir,.w
51420 68 69 63 68 20 63 6f 6e 74 61 69 6e 73 20 74 68 65 0a 74 6f 70 6d 6f 73 74 20 6e 6f 64 65 20 6f hich.contains.the.topmost.node.o
51440 66 20 74 68 65 20 49 6e 66 6f 20 68 69 65 72 61 72 63 68 79 2c 20 63 61 6c 6c 65 64 20 28 64 69 f.the.Info.hierarchy,.called.(di
51460 72 29 54 6f 70 2e 0a 54 68 65 20 66 69 72 73 74 20 74 69 6d 65 20 79 6f 75 20 69 6e 76 6f 6b 65 r)Top..The.first.time.you.invoke
51480 20 49 6e 66 6f 20 79 6f 75 20 73 74 61 72 74 20 6f 66 66 20 6c 6f 6f 6b 69 6e 67 20 61 74 20 74 .Info.you.start.off.looking.at.t
514a0 68 69 73 20 6e 6f 64 65 2e 0a 1f 0a 46 69 6c 65 3a 20 64 69 72 2c 09 4e 6f 64 65 3a 20 54 6f 70 his.node....File:.dir,.Node:.Top
514c0 09 54 68 69 73 20 69 73 20 74 68 65 20 74 6f 70 20 6f 66 20 74 68 65 20 49 4e 46 4f 20 74 72 65 .This.is.the.top.of.the.INFO.tre
514e0 65 0a 0a 20 20 54 68 69 73 20 28 74 68 65 20 44 69 72 65 63 74 6f 72 79 20 6e 6f 64 65 29 20 67 e....This.(the.Directory.node).g
51500 69 76 65 73 20 61 20 6d 65 6e 75 20 6f 66 20 6d 61 6a 6f 72 20 74 6f 70 69 63 73 2e 0a 20 20 54 ives.a.menu.of.major.topics....T
51520 79 70 69 6e 67 20 22 71 22 20 65 78 69 74 73 2c 20 22 48 22 20 6c 69 73 74 73 20 61 6c 6c 20 49 yping."q".exits,."H".lists.all.I
51540 6e 66 6f 20 63 6f 6d 6d 61 6e 64 73 2c 20 22 64 22 20 72 65 74 75 72 6e 73 20 68 65 72 65 2c 0a nfo.commands,."d".returns.here,.
51560 20 20 22 68 22 20 67 69 76 65 73 20 61 20 70 72 69 6d 65 72 20 66 6f 72 20 66 69 72 73 74 2d 74 .."h".gives.a.primer.for.first-t
51580 69 6d 65 72 73 2c 0a 20 20 22 6d 45 6d 61 63 73 3c 52 65 74 75 72 6e 3e 22 20 76 69 73 69 74 73 imers,..."mEmacs<Return>".visits
515a0 20 74 68 65 20 45 6d 61 63 73 20 6d 61 6e 75 61 6c 2c 20 65 74 63 2e 0a 0a 20 20 49 6e 20 45 6d .the.Emacs.manual,.etc.....In.Em
515c0 61 63 73 2c 20 79 6f 75 20 63 61 6e 20 63 6c 69 63 6b 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 acs,.you.can.click.mouse.button.
515e0 32 20 6f 6e 20 61 20 6d 65 6e 75 20 69 74 65 6d 20 6f 72 20 63 72 6f 73 73 20 72 65 66 65 72 65 2.on.a.menu.item.or.cross.refere
51600 6e 63 65 0a 20 20 74 6f 20 73 65 6c 65 63 74 20 69 74 2e 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 45 6d nce...to.select.it...*.Menu:..Em
51620 61 63 73 0a 2a 20 43 6f 6d 70 61 74 3a 20 28 63 6f 6d 70 61 74 29 2e 20 20 20 20 20 20 20 20 20 acs.*.Compat:.(compat)..........
51640 20 20 20 20 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 4c 69 62 72 61 72 79 20 66 6f 72 20 45 6d ....Compatibility.Library.for.Em
51660 61 63 73 20 4c 69 73 70 2e 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 acs.Lisp........................
51680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
516a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
516c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
516e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
517a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
517c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
517e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51800 63 6f 6d 70 61 74 2d 33 30 2e 30 2e 30 2e 30 2f 63 6f 6d 70 61 74 2d 32 37 2e 65 6c 00 00 00 00 compat-30.0.0.0/compat-27.el....
51820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51860 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
51880 30 31 31 30 33 36 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 37 31 30 00 20 30 00 00 00 0110362.00000000000.013710..0...
518a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
518c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
518e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51900 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...................
51920 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...................
51940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
519a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
519c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
519e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
51a00 3b 3b 3b 20 63 6f 6d 70 61 74 2d 32 37 2e 65 6c 20 2d 2d 2d 20 46 75 6e 63 74 69 6f 6e 61 6c 69 ;;;.compat-27.el.---.Functionali
51a20 74 79 20 61 64 64 65 64 20 69 6e 20 45 6d 61 63 73 20 32 37 2e 31 20 2d 2a 2d 20 6c 65 78 69 63 ty.added.in.Emacs.27.1.-*-.lexic
51a40 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 al-binding:.t;.-*-..;;.Copyright
51a60 20 28 43 29 20 32 30 32 31 2d 32 30 32 34 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 .(C).2021-2024.Free.Software.Fou
51a80 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 ndation,.Inc...;;.This.program.i
51aa0 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 s.free.software;.you.can.redistr
51ac0 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 ibute.it.and/or.modify.;;.it.und
51ae0 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 er.the.terms.of.the.GNU.General.
51b00 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 3b Public.License.as.published.by.;
51b20 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 ;.the.Free.Software.Foundation,.
51b40 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c either.version.3.of.the.License,
51b60 20 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 .or.;;.(at.your.option).any.late
51b80 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 r.version...;;.This.program.is.d
51ba0 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 istributed.in.the.hope.that.it.w
51bc0 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e ill.be.useful,.;;.but.WITHOUT.AN
51be0 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 Y.WARRANTY;.without.even.the.imp
51c00 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c lied.warranty.of.;;.MERCHANTABIL
51c20 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 ITY.or.FITNESS.FOR.A.PARTICULAR.
51c40 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c PURPOSE...See.the.;;.GNU.General
51c60 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 .Public.License.for.more.details
51c80 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 ...;;.You.should.have.received.a
51ca0 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 .copy.of.the.GNU.General.Public.
51cc0 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 License.;;.along.with.this.progr
51ce0 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e am...If.not,.see.<https://www.gn
51d00 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 u.org/licenses/>...;;;.Commentar
51d20 79 3a 0a 0a 3b 3b 20 46 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 61 64 64 65 64 20 69 6e 20 45 6d y:..;;.Functionality.added.in.Em
51d40 61 63 73 20 32 37 2e 31 2c 20 6e 65 65 64 65 64 20 62 79 20 6f 6c 64 65 72 20 45 6d 61 63 73 20 acs.27.1,.needed.by.older.Emacs.
51d60 76 65 72 73 69 6f 6e 73 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 65 76 61 6c 2d 77 68 65 6e versions...;;;.Code:..(eval-when
51d80 2d 63 6f 6d 70 69 6c 65 20 28 6c 6f 61 64 20 22 63 6f 6d 70 61 74 2d 6d 61 63 73 2e 65 6c 22 20 -compile.(load."compat-macs.el".
51da0 6e 69 6c 20 74 20 74 29 29 0a 28 63 6f 6d 70 61 74 2d 72 65 71 75 69 72 65 20 63 6f 6d 70 61 74 nil.t.t)).(compat-require.compat
51dc0 2d 32 36 20 22 32 36 2e 31 22 29 0a 0a 28 63 6f 6d 70 61 74 2d 76 65 72 73 69 6f 6e 20 22 32 37 -26."26.1")..(compat-version."27
51de0 2e 31 22 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 66 6e 73 2e 63 0a 0a 28 63 6f .1")..;;;;.Defined.in.fns.c..(co
51e00 6d 70 61 74 2d 64 65 66 75 6e 20 70 72 6f 70 65 72 2d 6c 69 73 74 2d 70 20 28 6f 62 6a 65 63 74 mpat-defun.proper-list-p.(object
51e20 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 70 72 6f 70 65 72 2d 6c 69 73 74 2d 70 ).;;.<compat-tests:proper-list-p
51e40 3e 0a 20 20 22 52 65 74 75 72 6e 20 4f 42 4a 45 43 54 27 73 20 6c 65 6e 67 74 68 20 69 66 20 69 >..."Return.OBJECT's.length.if.i
51e60 74 20 69 73 20 61 20 70 72 6f 70 65 72 20 6c 69 73 74 2c 20 6e 69 6c 20 6f 74 68 65 72 77 69 73 t.is.a.proper.list,.nil.otherwis
51e80 65 2e 0a 41 20 70 72 6f 70 65 72 20 6c 69 73 74 20 69 73 20 6e 65 69 74 68 65 72 20 63 69 72 63 e..A.proper.list.is.neither.circ
51ea0 75 6c 61 72 20 6e 6f 72 20 64 6f 74 74 65 64 20 28 69 2e 65 2e 2c 20 69 74 73 20 6c 61 73 74 20 ular.nor.dotted.(i.e.,.its.last.
51ec0 63 64 72 0a 69 73 20 6e 69 6c 29 2e 22 0a 20 20 28 69 66 20 28 65 76 61 6c 2d 77 68 65 6e 2d 63 cdr.is.nil)."...(if.(eval-when-c
51ee0 6f 6d 70 69 6c 65 20 28 3c 20 65 6d 61 63 73 2d 6d 61 6a 6f 72 2d 76 65 72 73 69 6f 6e 20 32 36 ompile.(<.emacs-major-version.26
51f00 29 29 0a 20 20 20 20 20 20 3b 3b 20 4f 6e 20 6f 6c 64 65 72 20 45 6d 61 63 73 20 74 68 61 6e 20 )).......;;.On.older.Emacs.than.
51f20 32 36 2e 31 20 75 73 65 20 54 6f 72 74 6f 69 73 65 20 61 6e 64 20 48 61 72 65 20 61 6c 67 6f 72 26.1.use.Tortoise.and.Hare.algor
51f40 69 74 68 6d 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 6c 69 73 74 70 20 6f 62 6a 65 63 74 29 0a ithm.......(when.(listp.object).
51f60 20 20 20 20 20 20 20 20 28 63 61 74 63 68 20 27 63 79 63 6c 65 0a 20 20 20 20 20 20 20 20 20 20 ........(catch.'cycle...........
51f80 28 6c 65 74 20 28 28 68 61 72 65 20 6f 62 6a 65 63 74 29 20 28 74 6f 72 74 6f 69 73 65 20 6f 62 (let.((hare.object).(tortoise.ob
51fa0 6a 65 63 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 78 20 32 29 20 28 71 ject).................(max.2).(q
51fc0 20 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 63 6f 6e 73 70 20 68 .2)).............(while.(consp.h
51fe0 61 72 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 68 61 72 65 20 28 63 are)...............(setq.hare.(c
52000 64 72 20 68 61 72 65 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 dr.hare))...............(when.(a
52020 6e 64 20 28 6f 72 20 28 2f 3d 20 30 20 28 73 65 74 71 20 71 20 28 31 2d 20 71 29 29 29 0a 20 20 nd.(or.(/=.0.(setq.q.(1-.q)))...
52040 20 20 20 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 69 67 6e 6f ...........................(igno
52060 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 re..............................
52080 20 28 73 65 74 71 20 6d 61 78 20 28 61 73 68 20 6d 61 78 20 31 29 0a 20 20 20 20 20 20 20 20 20 .(setq.max.(ash.max.1)..........
520a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 71 20 6d 61 78 ...........................q.max
520c0 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 20 20 ................................
520e0 20 20 20 20 20 74 6f 72 74 6f 69 73 65 20 68 61 72 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 .....tortoise.hare)))...........
52100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 68 61 72 65 20 74 6f 72 74 6f 69 73 65 ...............(eq.hare.tortoise
52120 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 68 72 6f 77 20 27 63 79 63 6c 65 )).................(throw.'cycle
52140 20 6e 69 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 6e 75 6c 6c 20 68 .nil))).............(and.(null.h
52160 61 72 65 29 20 28 6c 65 6e 67 74 68 20 6f 62 6a 65 63 74 29 29 29 29 29 0a 20 20 20 20 3b 3b 20 are).(length.object))))).....;;.
52180 45 72 72 6f 72 73 20 6f 6e 20 32 36 2e 31 20 61 6e 64 20 6e 65 77 65 72 0a 20 20 20 20 28 61 6e Errors.on.26.1.and.newer.....(an
521a0 64 20 28 6c 69 73 74 70 20 6f 62 6a 65 63 74 29 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 20 d.(listp.object).(ignore-errors.
521c0 28 6c 65 6e 67 74 68 20 6f 62 6a 65 63 74 29 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 (length.object)))))..(compat-def
521e0 75 6e 20 73 74 72 69 6e 67 2d 64 69 73 74 61 6e 63 65 20 28 73 74 72 69 6e 67 31 20 73 74 72 69 un.string-distance.(string1.stri
52200 6e 67 32 20 26 6f 70 74 69 6f 6e 61 6c 20 62 79 74 65 63 6f 6d 70 61 72 65 29 20 3b 3b 20 3c 63 ng2.&optional.bytecompare).;;.<c
52220 6f 6d 70 61 74 2d 74 65 73 74 73 3a 73 74 72 69 6e 67 2d 64 69 73 74 61 6e 63 65 3e 0a 20 20 22 ompat-tests:string-distance>..."
52240 52 65 74 75 72 6e 20 4c 65 76 65 6e 73 68 74 65 69 6e 20 64 69 73 74 61 6e 63 65 20 62 65 74 77 Return.Levenshtein.distance.betw
52260 65 65 6e 20 53 54 52 49 4e 47 31 20 61 6e 64 20 53 54 52 49 4e 47 32 2e 0a 54 68 65 20 64 69 73 een.STRING1.and.STRING2..The.dis
52280 74 61 6e 63 65 20 69 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 64 65 6c 65 74 69 6f 6e 73 tance.is.the.number.of.deletions
522a0 2c 20 69 6e 73 65 72 74 69 6f 6e 73 2c 20 61 6e 64 20 73 75 62 73 74 69 74 75 74 69 6f 6e 73 0a ,.insertions,.and.substitutions.
522c0 72 65 71 75 69 72 65 64 20 74 6f 20 74 72 61 6e 73 66 6f 72 6d 20 53 54 52 49 4e 47 31 20 69 6e required.to.transform.STRING1.in
522e0 74 6f 20 53 54 52 49 4e 47 32 2e 0a 49 66 20 42 59 54 45 43 4f 4d 50 41 52 45 20 69 73 20 6e 69 to.STRING2..If.BYTECOMPARE.is.ni
52300 6c 20 6f 72 20 6f 6d 69 74 74 65 64 2c 20 63 6f 6d 70 75 74 65 20 64 69 73 74 61 6e 63 65 20 69 l.or.omitted,.compute.distance.i
52320 6e 20 74 65 72 6d 73 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 2e 0a 49 66 20 42 59 54 45 43 4f n.terms.of.characters..If.BYTECO
52340 4d 50 41 52 45 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 63 6f 6d 70 75 74 65 20 64 69 73 74 61 6e MPARE.is.non-nil,.compute.distan
52360 63 65 20 69 6e 20 74 65 72 6d 73 20 6f 66 20 62 79 74 65 73 2e 0a 4c 65 74 74 65 72 2d 63 61 73 ce.in.terms.of.bytes..Letter-cas
52380 65 20 69 73 20 73 69 67 6e 69 66 69 63 61 6e 74 2c 20 62 75 74 20 74 65 78 74 20 70 72 6f 70 65 e.is.significant,.but.text.prope
523a0 72 74 69 65 73 20 61 72 65 20 69 67 6e 6f 72 65 64 2e 22 0a 20 20 3b 3b 20 68 74 74 70 73 3a 2f rties.are.ignored."...;;.https:/
523c0 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 69 6b 69 2f 4c 65 76 65 6e 73 68 74 65 /en.wikipedia.org/wiki/Levenshte
523e0 69 6e 5f 64 69 73 74 61 6e 63 65 0a 20 20 28 6c 65 74 20 28 28 73 31 20 28 69 66 20 62 79 74 65 in_distance...(let.((s1.(if.byte
52400 63 6f 6d 70 61 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6e 63 6f 64 65 2d compare.................(encode-
52420 63 6f 64 69 6e 67 2d 73 74 72 69 6e 67 20 73 74 72 69 6e 67 31 20 27 72 61 77 2d 74 65 78 74 29 coding-string.string1.'raw-text)
52440 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 73 74 72 69 6e 67 31 20 22 ...............(concat.string1."
52460 22 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 32 20 28 69 66 20 62 79 74 65 63 6f 6d 70 61 72 65 "))).........(s2.(if.bytecompare
52480 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6e 63 6f 64 65 2d 63 6f 64 69 6e 67 2d .................(encode-coding-
524a0 73 74 72 69 6e 67 20 73 74 72 69 6e 67 32 20 27 72 61 77 2d 74 65 78 74 29 0a 20 20 20 20 20 20 string.string2.'raw-text).......
524c0 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 32 29 29 29 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 6c ........string2))).....(let*.((l
524e0 65 6e 31 20 28 6c 65 6e 67 74 68 20 73 31 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 6e en1.(length.s1))............(len
52500 32 20 28 6c 65 6e 67 74 68 20 73 32 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6c 75 6d 2.(length.s2))............(colum
52520 6e 20 28 6d 61 6b 65 2d 76 65 63 74 6f 72 20 28 31 2b 20 6c 65 6e 31 29 20 30 29 29 29 0a 20 20 n.(make-vector.(1+.len1).0)))...
52540 20 20 20 20 28 64 6f 74 69 6d 65 73 20 28 79 20 6c 65 6e 31 29 0a 20 20 20 20 20 20 20 20 28 73 ....(dotimes.(y.len1).........(s
52560 65 74 66 20 28 61 72 65 66 20 63 6f 6c 75 6d 6e 20 28 31 2b 20 79 29 29 20 79 29 29 0a 20 20 20 etf.(aref.column.(1+.y)).y))....
52580 20 20 20 28 64 6f 74 69 6d 65 73 20 28 78 20 6c 65 6e 32 29 0a 20 20 20 20 20 20 20 20 28 73 65 ...(dotimes.(x.len2).........(se
525a0 74 66 20 28 61 72 65 66 20 63 6f 6c 75 6d 6e 20 30 29 20 28 31 2b 20 78 29 29 0a 20 20 20 20 20 tf.(aref.column.0).(1+.x))......
525c0 20 20 20 28 6c 65 74 20 28 28 6c 61 73 74 64 69 61 67 20 78 29 20 6f 6c 64 64 69 61 67 29 0a 20 ...(let.((lastdiag.x).olddiag)..
525e0 20 20 20 20 20 20 20 20 20 28 64 6f 74 69 6d 65 73 20 28 79 20 6c 65 6e 31 29 0a 20 20 20 20 20 .........(dotimes.(y.len1)......
52600 20 20 20 20 20 20 20 28 73 65 74 66 20 6f 6c 64 64 69 61 67 20 28 61 72 65 66 20 63 6f 6c 75 6d .......(setf.olddiag.(aref.colum
52620 6e 20 28 31 2b 20 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 72 65 n.(1+.y))...................(are
52640 66 20 63 6f 6c 75 6d 6e 20 28 31 2b 20 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 f.column.(1+.y))................
52660 20 20 20 28 6d 69 6e 20 28 2b 20 28 69 66 20 28 3d 20 28 61 72 65 66 20 73 31 20 79 29 20 28 61 ...(min.(+.(if.(=.(aref.s1.y).(a
52680 72 65 66 20 73 32 20 78 29 29 20 30 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ref.s2.x)).0.1).................
526a0 20 20 20 20 20 20 20 20 20 20 6c 61 73 74 64 69 61 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..........lastdiag).............
526c0 20 20 20 20 20 20 20 20 20 20 20 28 31 2b 20 28 61 72 65 66 20 63 6f 6c 75 6d 6e 20 28 31 2b 20 ...........(1+.(aref.column.(1+.
526e0 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 31 2b 20 y)))........................(1+.
52700 28 61 72 65 66 20 63 6f 6c 75 6d 6e 20 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (aref.column.y)))...............
52720 20 20 20 20 6c 61 73 74 64 69 61 67 20 6f 6c 64 64 69 61 67 29 29 29 29 0a 20 20 20 20 20 20 28 ....lastdiag.olddiag)))).......(
52740 61 72 65 66 20 63 6f 6c 75 6d 6e 20 6c 65 6e 31 29 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e aref.column.len1))))..;;;;.Defin
52760 65 64 20 69 6e 20 77 69 6e 64 6f 77 2e 63 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 72 65 ed.in.window.c..(compat-defun.re
52780 63 65 6e 74 65 72 20 28 26 6f 70 74 69 6f 6e 61 6c 20 61 72 67 20 72 65 64 69 73 70 6c 61 79 29 center.(&optional.arg.redisplay)
527a0 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 72 65 63 65 6e 74 65 72 3e 0a 20 20 22 48 .;;.<compat-tests:recenter>..."H
527c0 61 6e 64 6c 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 52 45 44 49 53 50 4c 41 andle.optional.argument.REDISPLA
527e0 59 2e 22 0a 20 20 3a 65 78 74 65 6e 64 65 64 20 74 0a 20 20 28 72 65 63 65 6e 74 65 72 20 61 72 Y."...:extended.t...(recenter.ar
52800 67 29 0a 20 20 28 77 68 65 6e 20 28 61 6e 64 20 72 65 64 69 73 70 6c 61 79 20 72 65 63 65 6e 74 g)...(when.(and.redisplay.recent
52820 65 72 2d 72 65 64 69 73 70 6c 61 79 29 0a 20 20 20 20 28 72 65 64 69 73 70 6c 61 79 29 29 29 0a er-redisplay).....(redisplay))).
52840 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 6b 65 79 6d 61 70 2e 63 0a 0a 28 63 6f 6d 70 .;;;;.Defined.in.keymap.c..(comp
52860 61 74 2d 64 65 66 75 6e 20 6c 6f 6f 6b 75 70 2d 6b 65 79 20 28 6b 65 79 6d 61 70 20 6b 65 79 20 at-defun.lookup-key.(keymap.key.
52880 26 6f 70 74 69 6f 6e 61 6c 20 61 63 63 65 70 74 2d 64 65 66 61 75 6c 74 29 20 3b 3b 20 3c 63 6f &optional.accept-default).;;.<co
528a0 6d 70 61 74 2d 74 65 73 74 73 3a 6c 6f 6f 6b 75 70 2d 6b 65 79 3e 0a 20 20 22 41 6c 6c 6f 77 20 mpat-tests:lookup-key>..."Allow.
528c0 66 6f 72 20 4b 45 59 4d 41 50 20 74 6f 20 62 65 20 61 20 6c 69 73 74 20 6f 66 20 6b 65 79 6d 61 for.KEYMAP.to.be.a.list.of.keyma
528e0 70 73 2e 22 0a 20 20 3a 65 78 74 65 6e 64 65 64 20 74 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 ps."...:extended.t...(cond....((
52900 6b 65 79 6d 61 70 70 20 6b 65 79 6d 61 70 29 0a 20 20 20 20 28 6c 6f 6f 6b 75 70 2d 6b 65 79 20 keymapp.keymap).....(lookup-key.
52920 6b 65 79 6d 61 70 20 6b 65 79 20 61 63 63 65 70 74 2d 64 65 66 61 75 6c 74 29 29 0a 20 20 20 28 keymap.key.accept-default))....(
52940 28 6c 69 73 74 70 20 6b 65 79 6d 61 70 29 0a 20 20 20 20 28 63 61 74 63 68 20 27 66 6f 75 6e 64 (listp.keymap).....(catch.'found
52960 0a 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 6d 61 70 20 6b 65 79 6d 61 70 29 0a 20 20 20 20 .......(dolist.(map.keymap).....
52980 20 20 20 20 28 77 68 65 6e 2d 6c 65 74 20 28 28 66 6e 20 28 6c 6f 6f 6b 75 70 2d 6b 65 79 20 6d ....(when-let.((fn.(lookup-key.m
529a0 61 70 20 6b 65 79 20 61 63 63 65 70 74 2d 64 65 66 61 75 6c 74 29 29 29 0a 20 20 20 20 20 20 20 ap.key.accept-default)))........
529c0 20 20 20 28 74 68 72 6f 77 20 27 66 6f 75 6e 64 20 66 6e 29 29 29 29 29 0a 20 20 20 28 28 73 69 ...(throw.'found.fn)))))....((si
529e0 67 6e 61 6c 20 27 77 72 6f 6e 67 2d 74 79 70 65 2d 61 72 67 75 6d 65 6e 74 20 28 6c 69 73 74 20 gnal.'wrong-type-argument.(list.
52a00 27 6b 65 79 6d 61 70 70 20 6b 65 79 6d 61 70 29 29 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 'keymapp.keymap)))))..;;;;.Defin
52a20 65 64 20 69 6e 20 74 69 6d 65 66 6e 73 2e 63 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 74 ed.in.timefns.c..(compat-defun.t
52a40 69 6d 65 2d 65 71 75 61 6c 2d 70 20 28 74 31 20 74 32 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 ime-equal-p.(t1.t2).;;.<compat-t
52a60 65 73 74 73 3a 74 69 6d 65 2d 65 71 75 61 6c 2d 70 3e 0a 20 20 22 52 65 74 75 72 6e 20 6e 6f 6e ests:time-equal-p>..."Return.non
52a80 2d 6e 69 6c 20 69 66 20 74 69 6d 65 20 76 61 6c 75 65 20 54 31 20 69 73 20 65 71 75 61 6c 20 74 -nil.if.time.value.T1.is.equal.t
52aa0 6f 20 74 69 6d 65 20 76 61 6c 75 65 20 54 32 2e 0a 41 20 6e 69 6c 20 76 61 6c 75 65 20 66 6f 72 o.time.value.T2..A.nil.value.for
52ac0 20 65 69 74 68 65 72 20 61 72 67 75 6d 65 6e 74 20 73 74 61 6e 64 73 20 66 6f 72 20 74 68 65 20 .either.argument.stands.for.the.
52ae0 63 75 72 72 65 6e 74 20 74 69 6d 65 2e 0a 0a 4e 4f 54 45 3a 20 54 68 69 73 20 66 75 6e 63 74 69 current.time...NOTE:.This.functi
52b00 6f 6e 20 69 73 20 6e 6f 74 20 61 73 20 61 63 63 75 72 61 74 65 20 61 73 20 74 68 65 20 61 63 74 on.is.not.as.accurate.as.the.act
52b20 75 61 6c 20 60 74 69 6d 65 2d 65 71 75 61 6c 2d 70 27 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20 20 ual.`time-equal-p'."...(cond....
52b40 28 28 65 71 20 74 31 20 74 32 29 29 0a 20 20 20 28 28 61 6e 64 20 28 63 6f 6e 73 70 20 74 31 29 ((eq.t1.t2))....((and.(consp.t1)
52b60 20 28 63 6f 6e 73 70 20 74 32 29 29 0a 20 20 20 20 28 65 71 75 61 6c 20 74 31 20 74 32 29 29 0a .(consp.t2)).....(equal.t1.t2)).
52b80 20 20 20 28 74 0a 20 20 20 20 3b 3b 20 44 75 65 20 74 6f 20 69 6e 61 63 63 75 72 61 63 69 65 73 ...(t.....;;.Due.to.inaccuracies
52ba0 20 61 6e 64 20 74 68 65 20 72 65 6c 61 74 69 76 65 6c 79 20 73 6c 6f 77 20 65 76 61 6c 75 61 74 .and.the.relatively.slow.evaluat
52bc0 69 6e 67 20 6f 66 0a 20 20 20 20 3b 3b 20 45 6d 61 63 73 20 4c 69 73 70 20 63 6f 6d 70 61 72 65 ing.of.....;;.Emacs.Lisp.compare
52be0 64 20 74 6f 20 43 2c 20 77 65 20 61 6c 6c 6f 77 20 66 6f 72 20 73 6c 69 67 68 74 20 69 6e 61 63 d.to.C,.we.allow.for.slight.inac
52c00 63 75 72 61 63 69 65 73 0a 20 20 20 20 3b 3b 20 28 6c 65 73 73 20 74 68 61 6e 20 61 20 6d 69 6c curacies.....;;.(less.than.a.mil
52c20 6c 69 73 65 63 6f 6e 64 29 20 77 68 65 6e 20 63 6f 6d 70 61 72 69 6e 67 20 74 69 6d 65 20 76 61 lisecond).when.comparing.time.va
52c40 6c 75 65 73 2e 0a 20 20 20 20 28 3c 20 28 61 62 73 20 28 2d 20 28 66 6c 6f 61 74 2d 74 69 6d 65 lues......(<.(abs.(-.(float-time
52c60 20 74 31 29 20 28 66 6c 6f 61 74 2d 74 69 6d 65 20 74 32 29 29 29 0a 20 20 20 20 20 20 20 28 69 .t1).(float-time.t2)))........(i
52c80 66 20 28 61 6e 64 20 74 31 20 74 32 29 20 31 65 2d 36 20 31 65 2d 35 29 29 29 29 29 0a 0a 3b 3b f.(and.t1.t2).1e-6.1e-5)))))..;;
52ca0 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 73 75 62 72 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 ;;.Defined.in.subr.el..(compat-d
52cc0 65 66 61 6c 69 61 73 20 66 69 78 6e 75 6d 70 20 69 6e 74 65 67 65 72 70 29 20 3b 3b 20 3c 63 6f efalias.fixnump.integerp).;;.<co
52ce0 6d 70 61 74 2d 74 65 73 74 73 3a 66 69 78 6e 75 6d 70 3e 0a 28 63 6f 6d 70 61 74 2d 64 65 66 61 mpat-tests:fixnump>.(compat-defa
52d00 6c 69 61 73 20 62 69 67 6e 75 6d 70 20 69 67 6e 6f 72 65 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d lias.bignump.ignore).;;.<compat-
52d20 74 65 73 74 73 3a 62 69 67 6e 75 6d 70 3e 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 6d 61 63 72 6f tests:bignump>..(compat-defmacro
52d40 20 73 65 74 71 2d 6c 6f 63 61 6c 20 28 26 72 65 73 74 20 70 61 69 72 73 29 20 3b 3b 20 3c 63 6f .setq-local.(&rest.pairs).;;.<co
52d60 6d 70 61 74 2d 74 65 73 74 73 3a 73 65 74 71 2d 6c 6f 63 61 6c 3e 0a 20 20 22 48 61 6e 64 6c 65 mpat-tests:setq-local>..."Handle
52d80 20 6d 75 6c 74 69 70 6c 65 20 61 73 73 69 67 6e 6d 65 6e 74 73 2e 22 0a 20 20 3a 65 78 74 65 6e .multiple.assignments."...:exten
52da0 64 65 64 20 74 0a 20 20 28 75 6e 6c 65 73 73 20 28 7a 65 72 6f 70 20 28 6d 6f 64 20 28 6c 65 6e ded.t...(unless.(zerop.(mod.(len
52dc0 67 74 68 20 70 61 69 72 73 29 20 32 29 29 0a 20 20 20 20 28 65 72 72 6f 72 20 22 50 41 49 52 53 gth.pairs).2)).....(error."PAIRS
52de0 20 6d 75 73 74 20 68 61 76 65 20 61 6e 20 65 76 65 6e 20 6e 75 6d 62 65 72 20 6f 66 20 76 61 72 .must.have.an.even.number.of.var
52e00 69 61 62 6c 65 2f 76 61 6c 75 65 20 6d 65 6d 62 65 72 73 22 29 29 0a 20 20 28 6c 65 74 20 28 62 iable/value.members"))...(let.(b
52e20 6f 64 79 29 0a 20 20 20 20 28 77 68 69 6c 65 20 70 61 69 72 73 0a 20 20 20 20 20 20 28 6c 65 74 ody).....(while.pairs.......(let
52e40 2a 20 28 28 73 79 6d 20 28 70 6f 70 20 70 61 69 72 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 *.((sym.(pop.pairs))............
52e60 20 20 28 76 61 6c 20 28 70 6f 70 20 70 61 69 72 73 29 29 29 0a 20 20 20 20 20 20 20 20 28 75 6e ..(val.(pop.pairs))).........(un
52e80 6c 65 73 73 20 28 73 79 6d 62 6f 6c 70 20 73 79 6d 29 0a 20 20 20 20 20 20 20 20 20 20 28 65 72 less.(symbolp.sym)...........(er
52ea0 72 6f 72 20 22 41 74 74 65 6d 70 74 69 6e 67 20 74 6f 20 73 65 74 20 61 20 6e 6f 6e 2d 73 79 6d ror."Attempting.to.set.a.non-sym
52ec0 62 6f 6c 3a 20 25 73 22 20 28 63 61 72 20 70 61 69 72 73 29 29 29 0a 20 20 20 20 20 20 20 20 28 bol:.%s".(car.pairs))).........(
52ee0 70 75 73 68 20 60 28 73 65 74 20 28 6d 61 6b 65 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 20 push.`(set.(make-local-variable.
52f00 27 2c 73 79 6d 29 20 2c 76 61 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 64 79 29 ',sym).,val)...............body)
52f20 29 29 0a 20 20 20 20 28 63 6f 6e 73 20 27 70 72 6f 67 6e 20 28 6e 72 65 76 65 72 73 65 20 62 6f )).....(cons.'progn.(nreverse.bo
52f40 64 79 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 6d 61 63 72 6f 20 69 67 6e 6f 72 65 2d dy))))..(compat-defmacro.ignore-
52f60 65 72 72 6f 72 20 28 63 6f 6e 64 69 74 69 6f 6e 20 26 72 65 73 74 20 62 6f 64 79 29 20 3b 3b 20 error.(condition.&rest.body).;;.
52f80 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 69 67 6e 6f 72 65 2d 65 72 72 6f 72 3e 0a 20 20 22 45 <compat-tests:ignore-error>..."E
52fa0 78 65 63 75 74 65 20 42 4f 44 59 3b 20 69 66 20 74 68 65 20 65 72 72 6f 72 20 43 4f 4e 44 49 54 xecute.BODY;.if.the.error.CONDIT
52fc0 49 4f 4e 20 6f 63 63 75 72 73 2c 20 72 65 74 75 72 6e 20 6e 69 6c 2e 0a 4f 74 68 65 72 77 69 73 ION.occurs,.return.nil..Otherwis
52fe0 65 2c 20 72 65 74 75 72 6e 20 72 65 73 75 6c 74 20 6f 66 20 6c 61 73 74 20 66 6f 72 6d 20 69 6e e,.return.result.of.last.form.in
53000 20 42 4f 44 59 2e 0a 0a 43 4f 4e 44 49 54 49 4f 4e 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 61 20 .BODY...CONDITION.can.also.be.a.
53020 6c 69 73 74 20 6f 66 20 65 72 72 6f 72 20 63 6f 6e 64 69 74 69 6f 6e 73 2e 22 0a 20 20 28 64 65 list.of.error.conditions."...(de
53040 63 6c 61 72 65 20 28 64 65 62 75 67 20 74 29 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 60 28 clare.(debug.t).(indent.1))...`(
53060 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 6e 69 6c 20 28 70 72 6f 67 6e 20 2c 40 62 6f 64 79 condition-case.nil.(progn.,@body
53080 29 20 28 2c 63 6f 6e 64 69 74 69 6f 6e 20 6e 69 6c 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 ).(,condition.nil)))..(compat-de
530a0 66 6d 61 63 72 6f 20 64 6f 6c 69 73 74 2d 77 69 74 68 2d 70 72 6f 67 72 65 73 73 2d 72 65 70 6f fmacro.dolist-with-progress-repo
530c0 72 74 65 72 20 28 73 70 65 63 20 72 65 70 6f 72 74 65 72 2d 6f 72 2d 6d 65 73 73 61 67 65 20 26 rter.(spec.reporter-or-message.&
530e0 72 65 73 74 20 62 6f 64 79 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 64 6f 6c 69 rest.body).;;.<compat-tests:doli
53100 73 74 2d 77 69 74 68 2d 70 72 6f 67 72 65 73 73 2d 72 65 70 6f 72 74 65 72 3e 0a 20 20 22 4c 6f st-with-progress-reporter>..."Lo
53120 6f 70 20 6f 76 65 72 20 61 20 6c 69 73 74 20 61 6e 64 20 72 65 70 6f 72 74 20 70 72 6f 67 72 65 op.over.a.list.and.report.progre
53140 73 73 20 69 6e 20 74 68 65 20 65 63 68 6f 20 61 72 65 61 2e 0a 45 76 61 6c 75 61 74 65 20 42 4f ss.in.the.echo.area..Evaluate.BO
53160 44 59 20 77 69 74 68 20 56 41 52 20 62 6f 75 6e 64 20 74 6f 20 65 61 63 68 20 63 61 72 20 66 72 DY.with.VAR.bound.to.each.car.fr
53180 6f 6d 20 4c 49 53 54 2c 20 69 6e 20 74 75 72 6e 2e 0a 54 68 65 6e 20 65 76 61 6c 75 61 74 65 20 om.LIST,.in.turn..Then.evaluate.
531a0 52 45 53 55 4c 54 20 74 6f 20 67 65 74 20 72 65 74 75 72 6e 20 76 61 6c 75 65 2c 20 64 65 66 61 RESULT.to.get.return.value,.defa
531c0 75 6c 74 20 6e 69 6c 2e 0a 0a 52 45 50 4f 52 54 45 52 2d 4f 52 2d 4d 45 53 53 41 47 45 20 69 73 ult.nil...REPORTER-OR-MESSAGE.is
531e0 20 61 20 70 72 6f 67 72 65 73 73 20 72 65 70 6f 72 74 65 72 20 6f 62 6a 65 63 74 20 6f 72 20 61 .a.progress.reporter.object.or.a
53200 20 73 74 72 69 6e 67 2e 20 20 49 6e 20 74 68 65 20 6c 61 74 74 65 72 0a 63 61 73 65 2c 20 75 73 .string...In.the.latter.case,.us
53220 65 20 74 68 69 73 20 73 74 72 69 6e 67 20 74 6f 20 63 72 65 61 74 65 20 61 20 70 72 6f 67 72 65 e.this.string.to.create.a.progre
53240 73 73 20 72 65 70 6f 72 74 65 72 2e 0a 0a 41 74 20 65 61 63 68 20 69 74 65 72 61 74 69 6f 6e 2c ss.reporter...At.each.iteration,
53260 20 70 72 69 6e 74 20 74 68 65 20 72 65 70 6f 72 74 65 72 20 6d 65 73 73 61 67 65 20 66 6f 6c 6c .print.the.reporter.message.foll
53280 6f 77 65 64 20 62 79 20 70 72 6f 67 72 65 73 73 0a 70 65 72 63 65 6e 74 61 67 65 20 69 6e 20 74 owed.by.progress.percentage.in.t
532a0 68 65 20 65 63 68 6f 20 61 72 65 61 2e 20 20 41 66 74 65 72 20 74 68 65 20 6c 6f 6f 70 20 69 73 he.echo.area...After.the.loop.is
532c0 20 66 69 6e 69 73 68 65 64 2c 0a 70 72 69 6e 74 20 74 68 65 20 72 65 70 6f 72 74 65 72 20 6d 65 .finished,.print.the.reporter.me
532e0 73 73 61 67 65 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 74 68 65 20 77 6f 72 64 20 5c 22 64 6f 6e ssage.followed.by.the.word.\"don
53300 65 5c 22 2e 0a 0a 5c 28 66 6e 20 28 56 41 52 20 4c 49 53 54 20 5b 52 45 53 55 4c 54 5d 29 20 52 e\"...\(fn.(VAR.LIST.[RESULT]).R
53320 45 50 4f 52 54 45 52 2d 4f 52 2d 4d 45 53 53 41 47 45 20 42 4f 44 59 2e 2e 2e 29 22 0a 20 20 28 EPORTER-OR-MESSAGE.BODY...)"...(
53340 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 32 29 20 28 64 65 62 75 67 20 28 28 73 79 6d 62 declare.(indent.2).(debug.((symb
53360 6f 6c 70 20 66 6f 72 6d 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6f 72 6d 29 20 66 6f 72 6d 20 62 6f olp.form.&optional.form).form.bo
53380 64 79 29 29 29 0a 20 20 28 6c 65 74 20 28 28 70 72 65 70 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c dy)))...(let.((prep.(make-symbol
533a0 20 22 2d 2d 64 6f 6c 69 73 74 2d 70 72 6f 67 72 65 73 73 2d 72 65 70 6f 72 74 65 72 2d 2d 22 29 ."--dolist-progress-reporter--")
533c0 29 0a 20 20 20 20 20 20 20 20 28 63 6f 75 6e 74 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 2d ).........(count.(make-symbol."-
533e0 2d 64 6f 6c 69 73 74 2d 63 6f 75 6e 74 2d 2d 22 29 29 0a 20 20 20 20 20 20 20 20 28 6c 69 73 74 -dolist-count--")).........(list
53400 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 2d 2d 64 6f 6c 69 73 74 2d 6c 69 73 74 2d 2d 22 29 .(make-symbol."--dolist-list--")
53420 29 29 0a 20 20 20 20 60 28 6c 65 74 20 28 28 2c 70 72 65 70 20 2c 72 65 70 6f 72 74 65 72 2d 6f )).....`(let.((,prep.,reporter-o
53440 72 2d 6d 65 73 73 61 67 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 2c 63 6f 75 6e 74 20 30 29 r-message)............(,count.0)
53460 0a 20 20 20 20 20 20 20 20 20 20 20 28 2c 6c 69 73 74 20 2c 28 63 61 64 72 20 73 70 65 63 29 29 ............(,list.,(cadr.spec))
53480 29 0a 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 73 74 72 69 6e 67 70 20 2c 70 72 65 70 29 0a 20 )........(when.(stringp.,prep)..
534a0 20 20 20 20 20 20 20 20 28 73 65 74 71 20 2c 70 72 65 70 20 28 6d 61 6b 65 2d 70 72 6f 67 72 65 ........(setq.,prep.(make-progre
534c0 73 73 2d 72 65 70 6f 72 74 65 72 20 2c 70 72 65 70 20 30 20 28 6c 65 6e 67 74 68 20 2c 6c 69 73 ss-reporter.,prep.0.(length.,lis
534e0 74 29 29 29 29 0a 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 2c 28 63 61 72 20 73 70 65 63 t))))........(dolist.(,(car.spec
53500 29 20 2c 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 2c 40 62 6f 64 79 0a 20 20 20 20 20 20 20 ).,list)..........,@body........
53520 20 20 28 70 72 6f 67 72 65 73 73 2d 72 65 70 6f 72 74 65 72 2d 75 70 64 61 74 65 20 2c 70 72 65 ..(progress-reporter-update.,pre
53540 70 20 28 73 65 74 71 20 2c 63 6f 75 6e 74 20 28 31 2b 20 2c 63 6f 75 6e 74 29 29 29 29 0a 20 20 p.(setq.,count.(1+.,count))))...
53560 20 20 20 20 20 28 70 72 6f 67 72 65 73 73 2d 72 65 70 6f 72 74 65 72 2d 64 6f 6e 65 20 2c 70 72 .....(progress-reporter-done.,pr
53580 65 70 29 0a 20 20 20 20 20 20 20 28 6f 72 20 2c 40 28 63 64 72 20 28 63 64 72 20 73 70 65 63 29 ep)........(or.,@(cdr.(cdr.spec)
535a0 29 20 6e 69 6c 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 66 6c 61 74 74 65 6e ).nil))))..(compat-defun.flatten
535c0 2d 74 72 65 65 20 28 74 72 65 65 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 66 6c -tree.(tree).;;.<compat-tests:fl
535e0 61 74 74 65 6e 2d 74 72 65 65 3e 0a 20 20 22 52 65 74 75 72 6e 20 61 20 5c 22 66 6c 61 74 74 65 atten-tree>..."Return.a.\"flatte
53600 6e 65 64 5c 22 20 63 6f 70 79 20 6f 66 20 54 52 45 45 2e 0a 49 6e 20 6f 74 68 65 72 20 77 6f 72 ned\".copy.of.TREE..In.other.wor
53620 64 73 2c 20 72 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 6e 6f 6e 2d 6e 69 6c ds,.return.a.list.of.the.non-nil
53640 20 74 65 72 6d 69 6e 61 6c 20 6e 6f 64 65 73 2c 20 6f 72 0a 6c 65 61 76 65 73 2c 20 6f 66 20 74 .terminal.nodes,.or.leaves,.of.t
53660 68 65 20 74 72 65 65 20 6f 66 20 63 6f 6e 73 20 63 65 6c 6c 73 20 72 6f 6f 74 65 64 20 61 74 20 he.tree.of.cons.cells.rooted.at.
53680 54 52 45 45 2e 20 20 4c 65 61 76 65 73 20 69 6e 20 74 68 65 0a 72 65 74 75 72 6e 65 64 20 6c 69 TREE...Leaves.in.the.returned.li
536a0 73 74 20 61 72 65 20 69 6e 20 74 68 65 20 73 61 6d 65 20 6f 72 64 65 72 20 61 73 20 69 6e 20 54 st.are.in.the.same.order.as.in.T
536c0 52 45 45 2e 0a 0a 5c 28 66 6c 61 74 74 65 6e 2d 74 72 65 65 20 5c 5c 3d 27 28 31 20 28 32 20 2e REE...\(flatten-tree.\\='(1.(2..
536e0 20 33 29 20 6e 69 6c 20 28 34 20 35 20 28 36 29 29 20 37 29 29 0a 3d 3e 20 28 31 20 32 20 33 20 .3).nil.(4.5.(6)).7)).=>.(1.2.3.
53700 34 20 35 20 36 20 37 29 22 0a 20 20 28 6c 65 74 20 28 65 6c 65 6d 73 29 0a 20 20 20 20 28 77 68 4.5.6.7)"...(let.(elems).....(wh
53720 69 6c 65 20 28 63 6f 6e 73 70 20 74 72 65 65 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 65 6c ile.(consp.tree).......(let.((el
53740 65 6d 20 28 70 6f 70 20 74 72 65 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 em.(pop.tree))).........(while.(
53760 63 6f 6e 73 70 20 65 6c 65 6d 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 63 64 72 consp.elem)...........(push.(cdr
53780 20 65 6c 65 6d 29 20 74 72 65 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 65 6c 65 .elem).tree)...........(setq.ele
537a0 6d 20 28 63 61 72 20 65 6c 65 6d 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 65 6c 65 6d 20 m.(car.elem))).........(if.elem.
537c0 28 70 75 73 68 20 65 6c 65 6d 20 65 6c 65 6d 73 29 29 29 29 0a 20 20 20 20 28 69 66 20 74 72 65 (push.elem.elems)))).....(if.tre
537e0 65 20 28 70 75 73 68 20 74 72 65 65 20 65 6c 65 6d 73 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 e.(push.tree.elems)).....(nrever
53800 73 65 20 65 6c 65 6d 73 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 78 6f 72 20 28 se.elems)))..(compat-defun.xor.(
53820 63 6f 6e 64 31 20 63 6f 6e 64 32 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 78 6f cond1.cond2).;;.<compat-tests:xo
53840 72 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 62 6f 6f 6c 65 61 6e 20 65 78 63 6c 75 73 69 r>..."Return.the.boolean.exclusi
53860 76 65 2d 6f 72 20 6f 66 20 43 4f 4e 44 31 20 61 6e 64 20 43 4f 4e 44 32 2e 0a 49 66 20 6f 6e 6c ve-or.of.COND1.and.COND2..If.onl
53880 79 20 6f 6e 65 20 6f 66 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 69 73 20 6e 6f 6e 2d 6e 69 y.one.of.the.arguments.is.non-ni
538a0 6c 2c 20 72 65 74 75 72 6e 20 69 74 3b 20 6f 74 68 65 72 77 69 73 65 0a 72 65 74 75 72 6e 20 6e l,.return.it;.otherwise.return.n
538c0 69 6c 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 20 28 73 69 64 65 2d 65 il."...(declare.(pure.t).(side-e
538e0 66 66 65 63 74 2d 66 72 65 65 20 65 72 72 6f 72 2d 66 72 65 65 29 29 0a 20 20 28 63 6f 6e 64 20 ffect-free.error-free))...(cond.
53900 28 28 6e 6f 74 20 63 6f 6e 64 31 29 20 63 6f 6e 64 32 29 0a 20 20 20 20 20 20 20 20 28 28 6e 6f ((not.cond1).cond2).........((no
53920 74 20 63 6f 6e 64 32 29 20 63 6f 6e 64 31 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 76 61 t.cond2).cond1)))..(compat-defva
53940 72 20 72 65 67 65 78 70 2d 75 6e 6d 61 74 63 68 61 62 6c 65 20 22 5c 5c 60 61 5c 5c 60 22 20 3b r.regexp-unmatchable."\\`a\\`".;
53960 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 72 65 67 65 78 70 2d 75 6e 6d 61 74 63 68 61 62 ;.<compat-tests:regexp-unmatchab
53980 6c 65 3e 0a 20 20 22 53 74 61 6e 64 61 72 64 20 72 65 67 65 78 70 20 67 75 61 72 61 6e 74 65 65 le>..."Standard.regexp.guarantee
539a0 64 20 6e 6f 74 20 74 6f 20 6d 61 74 63 68 20 61 6e 79 20 73 74 72 69 6e 67 20 61 74 20 61 6c 6c d.not.to.match.any.string.at.all
539c0 2e 22 0a 20 20 3a 63 6f 6e 73 74 61 6e 74 20 74 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e ."...:constant.t)..(compat-defun
539e0 20 61 73 73 6f 63 2d 64 65 6c 65 74 65 2d 61 6c 6c 20 28 6b 65 79 20 61 6c 69 73 74 20 26 6f 70 .assoc-delete-all.(key.alist.&op
53a00 74 69 6f 6e 61 6c 20 74 65 73 74 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 61 73 tional.test).;;.<compat-tests:as
53a20 73 6f 63 2d 64 65 6c 65 74 65 2d 61 6c 6c 3e 0a 20 20 22 48 61 6e 64 6c 65 20 6f 70 74 69 6f 6e soc-delete-all>..."Handle.option
53a40 61 6c 20 61 72 67 75 6d 65 6e 74 20 54 45 53 54 2e 22 0a 20 20 3a 65 78 74 65 6e 64 65 64 20 22 al.argument.TEST."...:extended."
53a60 32 36 2e 32 22 0a 20 20 28 75 6e 6c 65 73 73 20 74 65 73 74 20 28 73 65 74 71 20 74 65 73 74 20 26.2"...(unless.test.(setq.test.
53a80 23 27 65 71 75 61 6c 29 29 0a 20 20 28 77 68 69 6c 65 20 28 61 6e 64 20 28 63 6f 6e 73 70 20 28 #'equal))...(while.(and.(consp.(
53aa0 63 61 72 20 61 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 car.alist))...............(funca
53ac0 6c 6c 20 74 65 73 74 20 28 63 61 61 72 20 61 6c 69 73 74 29 20 6b 65 79 29 29 0a 20 20 20 20 28 ll.test.(caar.alist).key)).....(
53ae0 73 65 74 71 20 61 6c 69 73 74 20 28 63 64 72 20 61 6c 69 73 74 29 29 29 0a 20 20 28 6c 65 74 20 setq.alist.(cdr.alist)))...(let.
53b00 28 28 74 61 69 6c 20 61 6c 69 73 74 29 20 74 61 69 6c 2d 63 64 72 29 0a 20 20 20 20 28 77 68 69 ((tail.alist).tail-cdr).....(whi
53b20 6c 65 20 28 73 65 74 71 20 74 61 69 6c 2d 63 64 72 20 28 63 64 72 20 74 61 69 6c 29 29 0a 20 20 le.(setq.tail-cdr.(cdr.tail))...
53b40 20 20 20 20 28 69 66 20 28 61 6e 64 20 28 63 6f 6e 73 70 20 28 63 61 72 20 74 61 69 6c 2d 63 64 ....(if.(and.(consp.(car.tail-cd
53b60 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 74 65 73 74 r))................(funcall.test
53b80 20 28 63 61 61 72 20 74 61 69 6c 2d 63 64 72 29 20 6b 65 79 29 29 0a 20 20 20 20 20 20 20 20 20 .(caar.tail-cdr).key))..........
53ba0 20 28 73 65 74 63 64 72 20 74 61 69 6c 20 28 63 64 72 20 74 61 69 6c 2d 63 64 72 29 29 0a 20 20 .(setcdr.tail.(cdr.tail-cdr))...
53bc0 20 20 20 20 20 20 28 73 65 74 71 20 74 61 69 6c 20 74 61 69 6c 2d 63 64 72 29 29 29 29 0a 20 20 ......(setq.tail.tail-cdr))))...
53be0 61 6c 69 73 74 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 76 61 72 20 6d 61 6a 6f 72 2d 6d 6f 64 alist)..(compat-defvar.major-mod
53c00 65 2d 2d 73 75 73 70 65 6e 64 65 64 20 6e 69 6c 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 e--suspended.nil.;;.<compat-test
53c20 73 3a 6d 61 6a 6f 72 2d 6d 6f 64 65 2d 73 75 73 70 65 6e 64 3e 0a 20 20 22 53 75 73 70 65 6e 64 s:major-mode-suspend>..."Suspend
53c40 65 64 20 6d 61 6a 6f 72 20 6d 6f 64 65 2e 22 0a 20 20 3a 6c 6f 63 61 6c 20 70 65 72 6d 61 6e 65 ed.major.mode."...:local.permane
53c60 6e 74 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 6d 61 6a 6f 72 2d 6d 6f 64 65 2d 73 75 nt)..(compat-defun.major-mode-su
53c80 73 70 65 6e 64 20 28 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 6d 61 6a 6f 72 2d spend.().;;.<compat-tests:major-
53ca0 6d 6f 64 65 2d 73 75 73 70 65 6e 64 3e 0a 20 20 22 45 78 69 74 20 63 75 72 72 65 6e 74 20 6d 61 mode-suspend>..."Exit.current.ma
53cc0 6a 6f 72 20 6d 6f 64 65 2c 20 72 65 6d 65 6d 62 65 72 69 6e 67 20 69 74 2e 22 0a 20 20 28 6c 65 jor.mode,.remembering.it."...(le
53ce0 74 2a 20 28 28 70 72 65 76 2d 6d 61 6a 6f 72 2d 6d 6f 64 65 20 28 6f 72 20 6d 61 6a 6f 72 2d 6d t*.((prev-major-mode.(or.major-m
53d00 6f 64 65 2d 2d 73 75 73 70 65 6e 64 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ode--suspended..................
53d20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 65 71 20 6d 61 6a 6f 72 2d 6d .............(unless.(eq.major-m
53d40 6f 64 65 20 27 66 75 6e 64 61 6d 65 6e 74 61 6c 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 20 20 ode.'fundamental-mode)..........
53d60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6d 61 6a 6f 72 2d 6d 6f 64 .......................major-mod
53d80 65 29 29 29 29 0a 20 20 20 20 28 6b 69 6c 6c 2d 61 6c 6c 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 e)))).....(kill-all-local-variab
53da0 6c 65 73 29 0a 20 20 20 20 28 73 65 74 71 2d 6c 6f 63 61 6c 20 6d 61 6a 6f 72 2d 6d 6f 64 65 2d les).....(setq-local.major-mode-
53dc0 2d 73 75 73 70 65 6e 64 65 64 20 70 72 65 76 2d 6d 61 6a 6f 72 2d 6d 6f 64 65 29 29 29 0a 0a 28 -suspended.prev-major-mode)))..(
53de0 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 6d 61 6a 6f 72 2d 6d 6f 64 65 2d 72 65 73 74 6f 72 65 20 compat-defun.major-mode-restore.
53e00 28 26 6f 70 74 69 6f 6e 61 6c 20 61 76 6f 69 64 65 64 2d 6d 6f 64 65 73 29 20 3b 3b 20 3c 63 6f (&optional.avoided-modes).;;.<co
53e20 6d 70 61 74 2d 74 65 73 74 73 3a 6d 61 6a 6f 72 2d 6d 6f 64 65 2d 73 75 73 70 65 6e 64 3e 0a 20 mpat-tests:major-mode-suspend>..
53e40 20 22 52 65 73 74 6f 72 65 20 6d 61 6a 6f 72 20 6d 6f 64 65 20 65 61 72 6c 69 65 72 20 73 75 73 ."Restore.major.mode.earlier.sus
53e60 70 65 6e 64 65 64 20 77 69 74 68 20 60 6d 61 6a 6f 72 2d 6d 6f 64 65 2d 73 75 73 70 65 6e 64 27 pended.with.`major-mode-suspend'
53e80 2e 0a 49 66 20 74 68 65 72 65 20 77 61 73 20 6e 6f 20 65 61 72 6c 69 65 72 20 73 75 73 70 65 6e ..If.there.was.no.earlier.suspen
53ea0 64 65 64 20 6d 61 6a 6f 72 20 6d 6f 64 65 2c 20 74 68 65 6e 20 66 61 6c 6c 62 61 63 6b 20 74 6f ded.major.mode,.then.fallback.to
53ec0 20 60 6e 6f 72 6d 61 6c 2d 6d 6f 64 65 27 2c 0a 74 68 6f 75 67 68 20 74 72 79 69 6e 67 20 74 6f .`normal-mode',.though.trying.to
53ee0 20 61 76 6f 69 64 20 41 56 4f 49 44 45 44 2d 4d 4f 44 45 53 2e 22 0a 20 20 28 69 66 20 6d 61 6a .avoid.AVOIDED-MODES."...(if.maj
53f00 6f 72 2d 6d 6f 64 65 2d 2d 73 75 73 70 65 6e 64 65 64 0a 20 20 20 20 20 20 28 66 75 6e 63 61 6c or-mode--suspended.......(funcal
53f20 6c 20 28 70 72 6f 67 31 20 6d 61 6a 6f 72 2d 6d 6f 64 65 2d 2d 73 75 73 70 65 6e 64 65 64 0a 20 l.(prog1.major-mode--suspended..
53f40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6b 69 6c 6c 2d 6c 6f 63 61 6c 2d 76 61 72 69 ................(kill-local-vari
53f60 61 62 6c 65 20 27 6d 61 6a 6f 72 2d 6d 6f 64 65 2d 2d 73 75 73 70 65 6e 64 65 64 29 29 29 0a 20 able.'major-mode--suspended)))..
53f80 20 20 20 28 6c 65 74 20 28 28 61 75 74 6f 2d 6d 6f 64 65 2d 61 6c 69 73 74 0a 20 20 20 20 20 20 ...(let.((auto-mode-alist.......
53fa0 20 20 20 20 20 28 6c 65 74 20 28 28 61 6c 69 73 74 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 .....(let.((alist.(copy-sequence
53fc0 20 61 75 74 6f 2d 6d 6f 64 65 2d 61 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .auto-mode-alist))).............
53fe0 20 28 64 6f 6c 69 73 74 20 28 6d 6f 64 65 20 61 76 6f 69 64 65 64 2d 6d 6f 64 65 73 29 0a 20 20 .(dolist.(mode.avoided-modes)...
54000 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 61 6c 69 73 74 20 28 72 61 73 73 71 2d .............(setq.alist.(rassq-
54020 64 65 6c 65 74 65 2d 61 6c 6c 20 6d 6f 64 65 20 61 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 delete-all.mode.alist)))........
54040 20 20 20 20 20 20 61 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 67 69 63 2d 66 ......alist))...........(magic-f
54060 61 6c 6c 62 61 63 6b 2d 6d 6f 64 65 2d 61 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c allback-mode-alist............(l
54080 65 74 20 28 28 61 6c 69 73 74 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 65 20 6d 61 67 69 63 2d et.((alist.(copy-sequence.magic-
540a0 66 61 6c 6c 62 61 63 6b 2d 6d 6f 64 65 2d 61 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 fallback-mode-alist)))..........
540c0 20 20 20 20 28 64 6f 6c 69 73 74 20 28 6d 6f 64 65 20 61 76 6f 69 64 65 64 2d 6d 6f 64 65 73 29 ....(dolist.(mode.avoided-modes)
540e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 61 6c 69 73 74 20 28 72 61 73 ................(setq.alist.(ras
54100 73 71 2d 64 65 6c 65 74 65 2d 61 6c 6c 20 6d 6f 64 65 20 61 6c 69 73 74 29 29 29 0a 20 20 20 20 sq-delete-all.mode.alist))).....
54120 20 20 20 20 20 20 20 20 20 61 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 28 6e 6f 72 6d 61 6c 2d .........alist))).......(normal-
54140 6d 6f 64 65 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 72 65 61 64 2d 63 68 61 mode))))..(compat-defun.read-cha
54160 72 2d 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 66 65 72 2d 69 6e 73 65 72 74 2d 63 68 61 72 20 28 29 r-from-minibuffer-insert-char.()
54180 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 72 65 61 64 2d 63 68 61 72 2d 66 72 6f 6d .;;.<compat-tests:read-char-from
541a0 2d 6d 69 6e 69 62 75 66 66 65 72 3e 0a 20 20 22 49 6e 73 65 72 74 20 74 68 65 20 63 68 61 72 61 -minibuffer>..."Insert.the.chara
541c0 63 74 65 72 20 79 6f 75 20 74 79 70 65 20 69 6e 74 6f 20 74 68 65 20 6d 69 6e 69 62 75 66 66 65 cter.you.type.into.the.minibuffe
541e0 72 20 61 6e 64 20 65 78 69 74 20 6d 69 6e 69 62 75 66 66 65 72 2e 0a 44 69 73 63 61 72 64 20 61 r.and.exit.minibuffer..Discard.a
54200 6c 6c 20 70 72 65 76 69 6f 75 73 20 69 6e 70 75 74 20 62 65 66 6f 72 65 20 69 6e 73 65 72 74 69 ll.previous.input.before.inserti
54220 6e 67 20 61 6e 64 20 65 78 69 74 69 6e 67 20 74 68 65 20 6d 69 6e 69 62 75 66 66 65 72 2e 22 0a ng.and.exiting.the.minibuffer.".
54240 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 77 68 65 6e 20 28 6d 69 6e 69 62 75 66 ..(interactive)...(when.(minibuf
54260 66 65 72 70 29 0a 20 20 20 20 28 64 65 6c 65 74 65 2d 6d 69 6e 69 62 75 66 66 65 72 2d 63 6f 6e ferp).....(delete-minibuffer-con
54280 74 65 6e 74 73 29 0a 20 20 20 20 28 69 6e 73 65 72 74 20 6c 61 73 74 2d 63 6f 6d 6d 61 6e 64 2d tents).....(insert.last-command-
542a0 65 76 65 6e 74 29 0a 20 20 20 20 28 65 78 69 74 2d 6d 69 6e 69 62 75 66 66 65 72 29 29 29 0a 0a event).....(exit-minibuffer)))..
542c0 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 72 65 61 64 2d 63 68 61 72 2d 66 72 6f 6d 2d 6d 69 6e (compat-defun.read-char-from-min
542e0 69 62 75 66 66 65 72 2d 69 6e 73 65 72 74 2d 6f 74 68 65 72 20 28 29 20 3b 3b 20 3c 63 6f 6d 70 ibuffer-insert-other.().;;.<comp
54300 61 74 2d 74 65 73 74 73 3a 72 65 61 64 2d 63 68 61 72 2d 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 66 at-tests:read-char-from-minibuff
54320 65 72 3e 0a 20 20 22 52 65 6a 65 63 74 20 61 20 64 69 73 61 6c 6c 6f 77 65 64 20 63 68 61 72 61 er>..."Reject.a.disallowed.chara
54340 63 74 65 72 20 74 79 70 65 64 20 69 6e 74 6f 20 74 68 65 20 6d 69 6e 69 62 75 66 66 65 72 2e 0a cter.typed.into.the.minibuffer..
54360 54 68 69 73 20 63 6f 6d 6d 61 6e 64 20 69 73 20 69 6e 74 65 6e 64 65 64 20 74 6f 20 62 65 20 62 This.command.is.intended.to.be.b
54380 6f 75 6e 64 20 74 6f 20 6b 65 79 73 20 74 68 61 74 20 75 73 65 72 73 20 61 72 65 20 6e 6f 74 0a ound.to.keys.that.users.are.not.
543a0 61 6c 6c 6f 77 65 64 20 74 6f 20 74 79 70 65 20 69 6e 74 6f 20 74 68 65 20 6d 69 6e 69 62 75 66 allowed.to.type.into.the.minibuf
543c0 66 65 72 2e 20 20 57 68 65 6e 20 74 68 65 20 75 73 65 72 20 74 79 70 65 73 20 61 6e 79 0a 73 75 fer...When.the.user.types.any.su
543e0 63 68 20 6b 65 79 2c 20 74 68 69 73 20 63 6f 6d 6d 61 6e 64 20 64 69 73 63 61 72 64 20 61 6c 6c ch.key,.this.command.discard.all
54400 20 6d 69 6e 69 62 75 66 66 65 72 20 69 6e 70 75 74 20 61 6e 64 20 64 69 73 70 6c 61 79 73 0a 61 .minibuffer.input.and.displays.a
54420 6e 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 n.error.message."...(interactive
54440 29 0a 20 20 28 77 68 65 6e 20 28 6d 69 6e 69 62 75 66 66 65 72 70 29 0a 20 20 20 20 28 64 65 6c )...(when.(minibufferp).....(del
54460 65 74 65 2d 6d 69 6e 69 62 75 66 66 65 72 2d 63 6f 6e 74 65 6e 74 73 29 0a 20 20 20 20 28 64 69 ete-minibuffer-contents).....(di
54480 6e 67 29 0a 20 20 20 20 28 64 69 73 63 61 72 64 2d 69 6e 70 75 74 29 0a 20 20 20 20 28 6d 69 6e ng).....(discard-input).....(min
544a0 69 62 75 66 66 65 72 2d 6d 65 73 73 61 67 65 20 22 57 72 6f 6e 67 20 61 6e 73 77 65 72 22 29 0a ibuffer-message."Wrong.answer").
544c0 20 20 20 20 28 73 69 74 2d 66 6f 72 20 32 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 76 61 ....(sit-for.2)))..(compat-defva
544e0 72 20 72 65 61 64 2d 63 68 61 72 2d 68 69 73 74 6f 72 79 20 6e 69 6c 20 3b 3b 20 3c 63 6f 6d 70 r.read-char-history.nil.;;.<comp
54500 61 74 2d 74 65 73 74 73 3a 72 65 61 64 2d 63 68 61 72 2d 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 66 at-tests:read-char-from-minibuff
54520 65 72 3e 0a 20 20 22 54 68 65 20 64 65 66 61 75 6c 74 20 68 69 73 74 6f 72 79 20 66 6f 72 20 74 er>..."The.default.history.for.t
54540 68 65 20 60 72 65 61 64 2d 63 68 61 72 2d 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 66 65 72 27 20 66 he.`read-char-from-minibuffer'.f
54560 75 6e 63 74 69 6f 6e 2e 22 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 76 61 72 20 72 65 61 64 2d unction.")..(compat-defvar.read-
54580 63 68 61 72 2d 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 66 65 72 2d 6d 61 70 20 3b 3b 20 3c 63 6f 6d char-from-minibuffer-map.;;.<com
545a0 70 61 74 2d 74 65 73 74 73 3a 72 65 61 64 2d 63 68 61 72 2d 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 pat-tests:read-char-from-minibuf
545c0 66 65 72 3e 0a 20 20 28 6c 65 74 20 28 28 6d 61 70 20 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b fer>...(let.((map.(make-sparse-k
545e0 65 79 6d 61 70 29 29 29 0a 20 20 20 20 28 73 65 74 2d 6b 65 79 6d 61 70 2d 70 61 72 65 6e 74 20 eymap))).....(set-keymap-parent.
54600 6d 61 70 20 6d 69 6e 69 62 75 66 66 65 72 2d 6c 6f 63 61 6c 2d 6d 61 70 29 0a 20 20 20 20 28 64 map.minibuffer-local-map).....(d
54620 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 5b 72 65 6d 61 70 20 73 65 6c 66 2d 69 6e 73 65 72 74 efine-key.map.[remap.self-insert
54640 2d 63 6f 6d 6d 61 6e 64 5d 20 23 27 72 65 61 64 2d 63 68 61 72 2d 66 72 6f 6d 2d 6d 69 6e 69 62 -command].#'read-char-from-minib
54660 75 66 66 65 72 2d 69 6e 73 65 72 74 2d 63 68 61 72 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b uffer-insert-char).....(define-k
54680 65 79 20 6d 61 70 20 5b 72 65 6d 61 70 20 65 78 69 74 2d 6d 69 6e 69 62 75 66 66 65 72 5d 20 23 ey.map.[remap.exit-minibuffer].#
546a0 27 72 65 61 64 2d 63 68 61 72 2d 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 66 65 72 2d 69 6e 73 65 72 'read-char-from-minibuffer-inser
546c0 74 2d 6f 74 68 65 72 29 0a 20 20 20 20 6d 61 70 29 0a 20 20 22 4b 65 79 6d 61 70 20 66 6f 72 20 t-other).....map)..."Keymap.for.
546e0 74 68 65 20 60 72 65 61 64 2d 63 68 61 72 2d 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 66 65 72 27 20 the.`read-char-from-minibuffer'.
54700 66 75 6e 63 74 69 6f 6e 2e 22 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 76 61 72 20 72 65 61 64 function.")..(compat-defvar.read
54720 2d 63 68 61 72 2d 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 66 65 72 2d 6d 61 70 2d 68 61 73 68 20 20 -char-from-minibuffer-map-hash..
54740 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 72 65 61 64 2d 63 68 61 72 2d 66 72 6f 6d 2d ;;.<compat-tests:read-char-from-
54760 6d 69 6e 69 62 75 66 66 65 72 3e 0a 20 20 28 6d 61 6b 65 2d 68 61 73 68 2d 74 61 62 6c 65 20 3a minibuffer>...(make-hash-table.:
54780 74 65 73 74 20 27 65 71 75 61 6c 29 0a 20 20 22 48 61 73 68 20 74 61 62 6c 65 20 6f 66 20 6b 65 test.'equal)..."Hash.table.of.ke
547a0 79 6d 61 70 73 20 75 73 65 64 20 62 79 20 60 72 65 61 64 2d 63 68 61 72 2d 66 72 6f 6d 2d 6d 69 ymaps.used.by.`read-char-from-mi
547c0 6e 69 62 75 66 66 65 72 27 2e 22 0a 20 20 3a 63 6f 6e 73 74 61 6e 74 20 74 29 0a 0a 28 63 6f 6d nibuffer'."...:constant.t)..(com
547e0 70 61 74 2d 64 65 66 75 6e 20 72 65 61 64 2d 63 68 61 72 2d 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 pat-defun.read-char-from-minibuf
54800 66 65 72 20 28 70 72 6f 6d 70 74 20 26 6f 70 74 69 6f 6e 61 6c 20 63 68 61 72 73 20 68 69 73 74 fer.(prompt.&optional.chars.hist
54820 6f 72 79 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 72 65 61 64 2d 63 68 61 72 2d ory).;;.<compat-tests:read-char-
54840 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 66 65 72 3e 0a 20 20 22 52 65 61 64 20 61 20 63 68 61 72 61 from-minibuffer>..."Read.a.chara
54860 63 74 65 72 20 66 72 6f 6d 20 74 68 65 20 6d 69 6e 69 62 75 66 66 65 72 2c 20 70 72 6f 6d 70 74 cter.from.the.minibuffer,.prompt
54880 69 6e 67 20 66 6f 72 20 69 74 20 77 69 74 68 20 50 52 4f 4d 50 54 2e 0a 4c 69 6b 65 20 60 72 65 ing.for.it.with.PROMPT..Like.`re
548a0 61 64 2d 63 68 61 72 27 2c 20 62 75 74 20 75 73 65 73 20 74 68 65 20 6d 69 6e 69 62 75 66 66 65 ad-char',.but.uses.the.minibuffe
548c0 72 20 74 6f 20 72 65 61 64 20 61 6e 64 20 72 65 74 75 72 6e 20 61 20 63 68 61 72 61 63 74 65 72 r.to.read.and.return.a.character
548e0 2e 0a 4f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 43 48 41 52 53 2c 20 69 66 20 6e 6f ..Optional.argument.CHARS,.if.no
54900 6e 2d 6e 69 6c 2c 20 73 68 6f 75 6c 64 20 62 65 20 61 20 6c 69 73 74 20 6f 66 20 63 68 61 72 61 n-nil,.should.be.a.list.of.chara
54920 63 74 65 72 73 3b 0a 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 69 67 6e 6f 72 65 20 cters;.the.function.will.ignore.
54940 61 6e 79 20 69 6e 70 75 74 20 74 68 61 74 20 69 73 20 6e 6f 74 20 6f 6e 65 20 6f 66 20 43 48 41 any.input.that.is.not.one.of.CHA
54960 52 53 2e 0a 4f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 48 49 53 54 4f 52 59 2c 20 69 RS..Optional.argument.HISTORY,.i
54980 66 20 6e 6f 6e 2d 6e 69 6c 2c 20 73 68 6f 75 6c 64 20 62 65 20 61 20 73 79 6d 62 6f 6c 20 74 68 f.non-nil,.should.be.a.symbol.th
549a0 61 74 0a 73 70 65 63 69 66 69 65 73 20 74 68 65 20 68 69 73 74 6f 72 79 20 6c 69 73 74 20 76 61 at.specifies.the.history.list.va
549c0 72 69 61 62 6c 65 20 74 6f 20 75 73 65 20 66 6f 72 20 6e 61 76 69 67 61 74 69 6e 67 20 69 6e 20 riable.to.use.for.navigating.in.
549e0 69 6e 70 75 74 0a 68 69 73 74 6f 72 79 20 75 73 69 6e 67 20 5c 5c 60 4d 2d 70 27 20 61 6e 64 20 input.history.using.\\`M-p'.and.
54a00 5c 5c 60 4d 2d 6e 27 2c 20 77 69 74 68 20 5c 5c 60 52 45 54 27 20 74 6f 20 73 65 6c 65 63 74 20 \\`M-n',.with.\\`RET'.to.select.
54a20 61 20 63 68 61 72 61 63 74 65 72 20 66 72 6f 6d 0a 68 69 73 74 6f 72 79 2e 0a 49 66 20 79 6f 75 a.character.from.history..If.you
54a40 20 62 69 6e 64 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 68 65 6c 70 2d 66 6f 72 6d 27 20 74 .bind.the.variable.`help-form'.t
54a60 6f 20 61 20 6e 6f 6e 2d 6e 69 6c 20 76 61 6c 75 65 0a 77 68 69 6c 65 20 63 61 6c 6c 69 6e 67 20 o.a.non-nil.value.while.calling.
54a80 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 2c 20 74 68 65 6e 20 70 72 65 73 73 69 6e 67 20 60 68 65 this.function,.then.pressing.`he
54aa0 6c 70 2d 63 68 61 72 27 0a 63 61 75 73 65 73 20 69 74 20 74 6f 20 65 76 61 6c 75 61 74 65 20 60 lp-char'.causes.it.to.evaluate.`
54ac0 68 65 6c 70 2d 66 6f 72 6d 27 20 61 6e 64 20 64 69 73 70 6c 61 79 20 74 68 65 20 72 65 73 75 6c help-form'.and.display.the.resul
54ae0 74 2e 0a 54 68 65 72 65 20 69 73 20 6e 6f 20 6e 65 65 64 20 74 6f 20 65 78 70 6c 69 63 69 74 6c t..There.is.no.need.to.explicitl
54b00 79 20 61 64 64 20 60 68 65 6c 70 2d 63 68 61 72 27 20 74 6f 20 43 48 41 52 53 3b 0a 60 68 65 6c y.add.`help-char'.to.CHARS;.`hel
54b20 70 2d 63 68 61 72 27 20 69 73 20 62 6f 75 6e 64 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 20 74 p-char'.is.bound.automatically.t
54b40 6f 20 60 68 65 6c 70 2d 66 6f 72 6d 2d 73 68 6f 77 27 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 6d o.`help-form-show'."...(let*.((m
54b60 61 70 20 28 69 66 20 28 63 6f 6e 73 70 20 63 68 61 72 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 ap.(if.(consp.chars)............
54b80 20 20 20 20 20 20 20 28 6f 72 20 28 67 65 74 68 61 73 68 20 28 6c 69 73 74 20 68 65 6c 70 2d 66 .......(or.(gethash.(list.help-f
54ba0 6f 72 6d 20 28 63 6f 6e 73 20 68 65 6c 70 2d 63 68 61 72 20 63 68 61 72 73 29 29 0a 20 20 20 20 orm.(cons.help-char.chars)).....
54bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 61 64 2d ...........................read-
54be0 63 68 61 72 2d 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 66 65 72 2d 6d 61 70 2d 68 61 73 68 29 0a 20 char-from-minibuffer-map-hash)..
54c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6d 61 70 20 .....................(let.((map.
54c20 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b 65 79 6d 61 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 (make-sparse-keymap))...........
54c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 73 67 20 68 65 6c 70 2d 66 6f 72 6d ..................(msg.help-form
54c60 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 28 73 65 74 2d )).........................(set-
54c80 6b 65 79 6d 61 70 2d 70 61 72 65 6e 74 20 6d 61 70 20 72 65 61 64 2d 63 68 61 72 2d 66 72 6f 6d keymap-parent.map.read-char-from
54ca0 2d 6d 69 6e 69 62 75 66 66 65 72 2d 6d 61 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -minibuffer-map)................
54cc0 20 20 20 20 20 20 20 20 20 3b 3b 20 49 66 20 77 65 20 68 61 76 65 20 61 20 64 79 6e 61 6d 69 63 .........;;.If.we.have.a.dynamic
54ce0 61 6c 6c 79 20 62 6f 75 6e 64 20 60 68 65 6c 70 2d 66 6f 72 6d 27 0a 20 20 20 20 20 20 20 20 20 ally.bound.`help-form'..........
54d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 68 65 72 65 2c 20 74 68 65 6e 20 74 68 65 ...............;;.here,.then.the
54d20 20 60 43 2d 68 27 20 28 69 2e 65 2e 2c 20 60 68 65 6c 70 2d 63 68 61 72 27 29 0a 20 20 20 20 20 .`C-h'.(i.e.,.`help-char')......
54d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 63 68 61 72 61 63 74 65 72 20 ...................;;.character.
54d60 73 68 6f 75 6c 64 20 6f 75 74 70 75 74 20 74 68 61 74 20 69 6e 73 74 65 61 64 20 6f 66 0a 20 20 should.output.that.instead.of...
54d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 62 65 69 6e 67 20 61 ......................;;.being.a
54da0 20 63 6f 6d 6d 61 6e 64 20 63 68 61 72 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .command.char...................
54dc0 20 20 20 20 20 20 20 28 77 68 65 6e 20 68 65 6c 70 2d 66 6f 72 6d 0a 20 20 20 20 20 20 20 20 20 .......(when.help-form..........
54de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 .................(define-key.map
54e00 20 28 76 65 63 74 6f 72 20 68 65 6c 70 2d 63 68 61 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .(vector.help-char).............
54e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 29 0a 20 20 20 20 20 ................(lambda.()......
54e40 20 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 69 6e 74 65 72 61 .........................(intera
54e60 63 74 69 76 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ctive)..........................
54e80 20 20 20 20 20 28 6c 65 74 20 28 28 68 65 6c 70 2d 66 6f 72 6d 20 6d 73 67 29 29 20 3b 20 6c 65 .....(let.((help-form.msg)).;.le
54ea0 78 69 63 61 6c 6c 79 20 62 6f 75 6e 64 20 6d 73 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 xically.bound.msg...............
54ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 65 6c 70 2d 66 6f 72 6d 2d 73 68 6f ..................(help-form-sho
54ee0 77 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 w))))).........................(
54f00 64 6f 6c 69 73 74 20 28 63 68 61 72 20 63 68 61 72 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 dolist.(char.chars).............
54f20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 28 76 ..............(define-key.map.(v
54f40 65 63 74 6f 72 20 63 68 61 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ector.char).....................
54f60 20 20 20 20 20 20 20 20 23 27 72 65 61 64 2d 63 68 61 72 2d 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 ........#'read-char-from-minibuf
54f80 66 65 72 2d 69 6e 73 65 72 74 2d 63 68 61 72 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 fer-insert-char))...............
54fa0 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 5b 72 65 6d 61 70 ..........(define-key.map.[remap
54fc0 20 73 65 6c 66 2d 69 6e 73 65 72 74 2d 63 6f 6d 6d 61 6e 64 5d 0a 20 20 20 20 20 20 20 20 20 20 .self-insert-command]...........
54fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 72 65 61 64 2d 63 68 61 72 2d 66 72 6f 6d ................#'read-char-from
55000 2d 6d 69 6e 69 62 75 66 66 65 72 2d 69 6e 73 65 72 74 2d 6f 74 68 65 72 29 0a 20 20 20 20 20 20 -minibuffer-insert-other).......
55020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 74 68 61 73 68 20 28 6c 69 73 74 ..................(puthash.(list
55040 20 68 65 6c 70 2d 66 6f 72 6d 20 28 63 6f 6e 73 20 68 65 6c 70 2d 63 68 61 72 20 63 68 61 72 73 .help-form.(cons.help-char.chars
55060 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ))..............................
55080 20 20 20 20 6d 61 70 20 72 65 61 64 2d 63 68 61 72 2d 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 66 65 ....map.read-char-from-minibuffe
550a0 72 2d 6d 61 70 2d 68 61 73 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r-map-hash).....................
550c0 20 20 20 20 6d 61 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 61 64 2d 63 ....map)).................read-c
550e0 68 61 72 2d 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 66 65 72 2d 6d 61 70 29 29 0a 20 20 20 20 20 20 har-from-minibuffer-map)).......
55100 20 20 20 3b 3b 20 50 72 6f 74 65 63 74 20 74 68 69 73 2d 63 6f 6d 6d 61 6e 64 20 77 68 65 6e 20 ...;;.Protect.this-command.when.
55120 63 61 6c 6c 65 64 20 66 72 6f 6d 20 70 72 65 2d 63 6f 6d 6d 61 6e 64 2d 68 6f 6f 6b 20 28 62 75 called.from.pre-command-hook.(bu
55140 67 23 34 35 30 32 39 29 0a 20 20 20 20 20 20 20 20 20 28 74 68 69 73 2d 63 6f 6d 6d 61 6e 64 20 g#45029)..........(this-command.
55160 74 68 69 73 2d 63 6f 6d 6d 61 6e 64 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 73 75 6c 74 20 28 this-command)..........(result.(
55180 72 65 61 64 2d 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 66 65 72 20 70 72 6f 6d 70 74 20 6e 69 6c 20 read-from-minibuffer.prompt.nil.
551a0 6d 61 70 20 6e 69 6c 20 28 6f 72 20 68 69 73 74 6f 72 79 20 74 29 29 29 0a 20 20 20 20 20 20 20 map.nil.(or.history.t)))........
551c0 20 20 28 63 68 61 72 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3e 20 28 6c 65 6e 67 74 68 ..(char...........(if.(>.(length
551e0 20 72 65 73 75 6c 74 29 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 57 65 20 .result).0)...............;;.We.
55200 68 61 76 65 20 61 20 73 74 72 69 6e 67 20 28 77 69 74 68 20 6f 6e 65 20 63 68 61 72 61 63 74 65 have.a.string.(with.one.characte
55220 72 29 2c 20 73 6f 20 72 65 74 75 72 6e 20 74 68 65 20 66 69 72 73 74 20 6f 6e 65 2e 0a 20 20 20 r),.so.return.the.first.one.....
55240 20 20 20 20 20 20 20 20 20 20 20 28 65 6c 74 20 72 65 73 75 6c 74 20 30 29 0a 20 20 20 20 20 20 ...........(elt.result.0).......
55260 20 20 20 20 20 20 3b 3b 20 54 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 69 73 20 52 45 ......;;.The.default.value.is.RE
55280 54 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 68 69 73 74 6f 72 79 20 28 70 75 T..............(when.history.(pu
552a0 73 68 20 22 5c 72 22 20 28 73 79 6d 62 6f 6c 2d 76 61 6c 75 65 20 68 69 73 74 6f 72 79 29 29 29 sh."\r".(symbol-value.history)))
552c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 3f 5c 72 29 29 29 0a 20 20 20 20 3b 3b 20 44 69 73 70 6c .............?\r))).....;;.Displ
552e0 61 79 20 74 68 65 20 71 75 65 73 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 61 6e 73 77 65 72 2e ay.the.question.with.the.answer.
55300 0a 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 25 73 25 73 22 20 70 72 6f 6d 70 74 20 28 63 68 61 .....(message."%s%s".prompt.(cha
55320 72 2d 74 6f 2d 73 74 72 69 6e 67 20 63 68 61 72 29 29 0a 20 20 20 20 63 68 61 72 29 29 0a 0a 3b r-to-string.char)).....char))..;
55340 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 73 69 6d 70 6c 65 2e 65 6c 0a 0a 28 63 6f 6d 70 61 ;;;.Defined.in.simple.el..(compa
55360 74 2d 67 75 61 72 64 20 28 6e 6f 74 20 28 66 62 6f 75 6e 64 70 20 27 64 65 63 6f 64 65 64 2d 74 t-guard.(not.(fboundp.'decoded-t
55380 69 6d 65 2d 73 65 63 6f 6e 64 29 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 64 65 ime-second)).;;.<compat-tests:de
553a0 63 6f 64 65 64 2d 74 69 6d 65 3e 0a 20 20 28 63 6c 2d 64 65 66 73 74 72 75 63 74 20 28 64 65 63 coded-time>...(cl-defstruct.(dec
553c0 6f 64 65 64 2d 74 69 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a 63 6f 6e oded-time..................(:con
553e0 73 74 72 75 63 74 6f 72 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 structor.nil)..................(
55400 3a 63 6f 70 69 65 72 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3a :copier.nil)..................(:
55420 74 79 70 65 20 6c 69 73 74 29 29 0a 20 20 20 20 28 73 65 63 6f 6e 64 20 6e 69 6c 20 3a 64 6f 63 type.list)).....(second.nil.:doc
55440 75 6d 65 6e 74 61 74 69 6f 6e 20 22 5c 0a 54 68 69 73 20 69 73 20 61 6e 20 69 6e 74 65 67 65 72 umentation."\.This.is.an.integer
55460 20 6f 72 20 61 20 4c 69 73 70 20 74 69 6d 65 73 74 61 6d 70 20 28 54 49 43 4b 53 20 2e 20 48 5a .or.a.Lisp.timestamp.(TICKS...HZ
55480 29 20 72 65 70 72 65 73 65 6e 74 69 6e 67 20 61 20 6e 6f 6e 6e 65 67 61 74 69 76 65 0a 6e 75 6d ).representing.a.nonnegative.num
554a0 62 65 72 20 6f 66 20 73 65 63 6f 6e 64 73 20 6c 65 73 73 20 74 68 61 6e 20 36 31 2e 20 20 28 49 ber.of.seconds.less.than.61...(I
554c0 66 20 6e 6f 74 20 6c 65 73 73 20 74 68 61 6e 20 36 30 2c 20 69 74 20 69 73 20 61 20 6c 65 61 70 f.not.less.than.60,.it.is.a.leap
554e0 20 73 65 63 6f 6e 64 2c 0a 77 68 69 63 68 20 6f 6e 6c 79 20 73 6f 6d 65 20 6f 70 65 72 61 74 69 .second,.which.only.some.operati
55500 6e 67 20 73 79 73 74 65 6d 73 20 73 75 70 70 6f 72 74 2e 29 22 29 0a 20 20 20 20 28 6d 69 6e 75 ng.systems.support.)").....(minu
55520 74 65 20 6e 69 6c 20 3a 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 22 54 68 69 73 20 69 73 20 61 te.nil.:documentation."This.is.a
55540 6e 20 69 6e 74 65 67 65 72 20 62 65 74 77 65 65 6e 20 30 20 61 6e 64 20 35 39 20 28 69 6e 63 6c n.integer.between.0.and.59.(incl
55560 75 73 69 76 65 29 2e 22 29 0a 20 20 20 20 28 68 6f 75 72 20 6e 69 6c 20 3a 64 6f 63 75 6d 65 6e usive).").....(hour.nil.:documen
55580 74 61 74 69 6f 6e 20 22 54 68 69 73 20 69 73 20 61 6e 20 69 6e 74 65 67 65 72 20 62 65 74 77 65 tation."This.is.an.integer.betwe
555a0 65 6e 20 30 20 61 6e 64 20 32 33 20 28 69 6e 63 6c 75 73 69 76 65 29 2e 22 29 0a 20 20 20 20 28 en.0.and.23.(inclusive).").....(
555c0 64 61 79 20 6e 69 6c 20 3a 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 22 54 68 69 73 20 69 73 20 day.nil.:documentation."This.is.
555e0 61 6e 20 69 6e 74 65 67 65 72 20 62 65 74 77 65 65 6e 20 31 20 61 6e 64 20 33 31 20 28 69 6e 63 an.integer.between.1.and.31.(inc
55600 6c 75 73 69 76 65 29 2e 22 29 0a 20 20 20 20 28 6d 6f 6e 74 68 20 6e 69 6c 20 3a 64 6f 63 75 6d lusive).").....(month.nil.:docum
55620 65 6e 74 61 74 69 6f 6e 20 22 5c 0a 54 68 69 73 20 69 73 20 61 6e 20 69 6e 74 65 67 65 72 20 62 entation."\.This.is.an.integer.b
55640 65 74 77 65 65 6e 20 31 20 61 6e 64 20 31 32 20 28 69 6e 63 6c 75 73 69 76 65 29 2e 20 20 4a 61 etween.1.and.12.(inclusive)...Ja
55660 6e 75 61 72 79 20 69 73 20 31 2e 22 29 0a 20 20 20 20 28 79 65 61 72 20 6e 69 6c 20 3a 64 6f 63 nuary.is.1.").....(year.nil.:doc
55680 75 6d 65 6e 74 61 74 69 6f 6e 20 22 54 68 69 73 20 69 73 20 61 20 66 6f 75 72 20 64 69 67 69 74 umentation."This.is.a.four.digit
556a0 20 69 6e 74 65 67 65 72 2e 22 29 0a 20 20 20 20 28 77 65 65 6b 64 61 79 20 6e 69 6c 20 3a 64 6f .integer.").....(weekday.nil.:do
556c0 63 75 6d 65 6e 74 61 74 69 6f 6e 20 22 5c 0a 54 68 69 73 20 69 73 20 61 20 6e 75 6d 62 65 72 20 cumentation."\.This.is.a.number.
556e0 62 65 74 77 65 65 6e 20 30 20 61 6e 64 20 36 2c 20 61 6e 64 20 30 20 69 73 20 53 75 6e 64 61 79 between.0.and.6,.and.0.is.Sunday
55700 2e 22 29 0a 20 20 20 20 28 64 73 74 20 2d 31 20 3a 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 22 .").....(dst.-1.:documentation."
55720 5c 0a 54 68 69 73 20 69 73 20 74 20 69 66 20 64 61 79 6c 69 67 68 74 20 73 61 76 69 6e 67 20 74 \.This.is.t.if.daylight.saving.t
55740 69 6d 65 20 69 73 20 69 6e 20 65 66 66 65 63 74 2c 20 6e 69 6c 20 69 66 20 69 74 20 69 73 20 6e ime.is.in.effect,.nil.if.it.is.n
55760 6f 74 0a 69 6e 20 65 66 66 65 63 74 2c 20 61 6e 64 20 2d 31 20 69 66 20 64 61 79 6c 69 67 68 74 ot.in.effect,.and.-1.if.daylight
55780 20 73 61 76 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 69 73 20 6e 6f 74 20 61 76 61 69 6c .saving.information.is.not.avail
557a0 61 62 6c 65 2e 0a 41 6c 73 6f 20 73 65 65 20 60 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 64 73 74 able..Also.see.`decoded-time-dst
557c0 27 2e 22 29 0a 20 20 20 20 28 7a 6f 6e 65 20 6e 69 6c 20 3a 64 6f 63 75 6d 65 6e 74 61 74 69 6f '.").....(zone.nil.:documentatio
557e0 6e 20 22 5c 0a 54 68 69 73 20 69 73 20 61 6e 20 69 6e 74 65 67 65 72 20 69 6e 64 69 63 61 74 69 n."\.This.is.an.integer.indicati
55800 6e 67 20 74 68 65 20 55 54 43 20 6f 66 66 73 65 74 20 69 6e 20 73 65 63 6f 6e 64 73 2c 20 69 2e ng.the.UTC.offset.in.seconds,.i.
55820 65 2e 2c 0a 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 73 65 63 6f 6e 64 73 20 65 61 73 74 20 6f e.,.the.number.of.seconds.east.o
55840 66 20 47 72 65 65 6e 77 69 63 68 2e 22 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 f.Greenwich.")))..(compat-defun.
55860 6d 69 6e 69 62 75 66 66 65 72 2d 68 69 73 74 6f 72 79 2d 76 61 6c 75 65 20 28 29 20 3b 3b 20 3c minibuffer-history-value.().;;.<
55880 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 6d 69 6e 69 62 75 66 66 65 72 2d 68 69 73 74 6f 72 79 2d compat-tests:minibuffer-history-
558a0 76 61 6c 75 65 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 value>..."Return.the.value.of.th
558c0 65 20 6d 69 6e 69 62 75 66 66 65 72 20 69 6e 70 75 74 20 68 69 73 74 6f 72 79 20 6c 69 73 74 2e e.minibuffer.input.history.list.
558e0 0a 49 66 20 60 6d 69 6e 69 62 75 66 66 65 72 2d 68 69 73 74 6f 72 79 2d 76 61 72 69 61 62 6c 65 .If.`minibuffer-history-variable
55900 27 20 70 6f 69 6e 74 73 20 74 6f 20 61 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 76 61 72 69 61 '.points.to.a.buffer-local.varia
55920 62 6c 65 20 61 6e 64 0a 74 68 65 20 6d 69 6e 69 62 75 66 66 65 72 20 69 73 20 61 63 74 69 76 65 ble.and.the.minibuffer.is.active
55940 2c 20 72 65 74 75 72 6e 20 74 68 65 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 76 61 6c 75 65 20 ,.return.the.buffer-local.value.
55960 66 6f 72 20 74 68 65 20 62 75 66 66 65 72 0a 74 68 61 74 20 77 61 73 20 63 75 72 72 65 6e 74 20 for.the.buffer.that.was.current.
55980 77 68 65 6e 20 74 68 65 20 6d 69 6e 69 62 75 66 66 65 72 20 77 61 73 20 61 63 74 69 76 61 74 65 when.the.minibuffer.was.activate
559a0 64 2e 22 0a 20 20 28 62 75 66 66 65 72 2d 6c 6f 63 61 6c 2d 76 61 6c 75 65 20 6d 69 6e 69 62 75 d."...(buffer-local-value.minibu
559c0 66 66 65 72 2d 68 69 73 74 6f 72 79 2d 76 61 72 69 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 ffer-history-variable...........
559e0 20 20 20 20 20 20 20 20 20 20 20 20 28 77 69 6e 64 6f 77 2d 62 75 66 66 65 72 20 28 6d 69 6e 69 ............(window-buffer.(mini
55a00 62 75 66 66 65 72 2d 73 65 6c 65 63 74 65 64 2d 77 69 6e 64 6f 77 29 29 29 29 0a 0a 3b 3b 3b 3b buffer-selected-window))))..;;;;
55a20 20 44 65 66 69 6e 65 64 20 69 6e 20 6d 69 6e 69 62 75 66 66 65 72 2e 65 6c 0a 0a 28 63 6f 6d 70 .Defined.in.minibuffer.el..(comp
55a40 61 74 2d 64 65 66 6d 61 63 72 6f 20 77 69 74 68 2d 6d 69 6e 69 62 75 66 66 65 72 2d 73 65 6c 65 at-defmacro.with-minibuffer-sele
55a60 63 74 65 64 2d 77 69 6e 64 6f 77 20 28 26 72 65 73 74 20 62 6f 64 79 29 20 3b 3b 20 3c 63 6f 6d cted-window.(&rest.body).;;.<com
55a80 70 61 74 2d 74 65 73 74 73 3a 77 69 74 68 2d 6d 69 6e 69 62 75 66 66 65 72 2d 73 65 6c 65 63 74 pat-tests:with-minibuffer-select
55aa0 65 64 2d 77 69 6e 64 6f 77 3e 0a 20 20 22 45 78 65 63 75 74 65 20 74 68 65 20 66 6f 72 6d 73 20 ed-window>..."Execute.the.forms.
55ac0 69 6e 20 42 4f 44 59 20 66 72 6f 6d 20 74 68 65 20 6d 69 6e 69 62 75 66 66 65 72 20 69 6e 20 69 in.BODY.from.the.minibuffer.in.i
55ae0 74 73 20 6f 72 69 67 69 6e 61 6c 20 77 69 6e 64 6f 77 2e 0a 57 68 65 6e 20 75 73 65 64 20 69 6e ts.original.window..When.used.in
55b00 20 61 20 6d 69 6e 69 62 75 66 66 65 72 20 77 69 6e 64 6f 77 2c 20 73 65 6c 65 63 74 20 74 68 65 .a.minibuffer.window,.select.the
55b20 20 77 69 6e 64 6f 77 20 73 65 6c 65 63 74 65 64 20 6a 75 73 74 20 62 65 66 6f 72 65 0a 74 68 65 .window.selected.just.before.the
55b40 20 6d 69 6e 69 62 75 66 66 65 72 20 77 61 73 20 61 63 74 69 76 61 74 65 64 2c 20 61 6e 64 20 65 .minibuffer.was.activated,.and.e
55b60 78 65 63 75 74 65 20 74 68 65 20 66 6f 72 6d 73 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 xecute.the.forms."...(declare.(i
55b80 6e 64 65 6e 74 20 30 29 20 28 64 65 62 75 67 20 74 29 29 0a 20 20 60 28 77 68 65 6e 2d 6c 65 74 ndent.0).(debug.t))...`(when-let
55ba0 20 28 28 77 69 6e 64 6f 77 20 28 6d 69 6e 69 62 75 66 66 65 72 2d 73 65 6c 65 63 74 65 64 2d 77 .((window.(minibuffer-selected-w
55bc0 69 6e 64 6f 77 29 29 29 0a 20 20 20 20 20 28 77 69 74 68 2d 73 65 6c 65 63 74 65 64 2d 77 69 6e indow)))......(with-selected-win
55be0 64 6f 77 20 77 69 6e 64 6f 77 0a 20 20 20 20 20 20 20 2c 40 62 6f 64 79 29 29 29 0a 0a 3b 3b 3b dow.window........,@body)))..;;;
55c00 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 62 79 74 65 2d 72 75 6e 2e 65 6c 0a 0a 28 63 6f 6d 70 61 ;.Defined.in.byte-run.el..(compa
55c20 74 2d 64 65 66 6d 61 63 72 6f 20 77 69 74 68 2d 73 75 70 70 72 65 73 73 65 64 2d 77 61 72 6e 69 t-defmacro.with-suppressed-warni
55c40 6e 67 73 20 28 5f 77 61 72 6e 69 6e 67 73 20 26 72 65 73 74 20 62 6f 64 79 29 20 3b 3b 20 3c 63 ngs.(_warnings.&rest.body).;;.<c
55c60 6f 6d 70 61 74 2d 74 65 73 74 73 3a 77 69 74 68 2d 73 75 70 70 72 65 73 73 65 64 2d 77 61 72 6e ompat-tests:with-suppressed-warn
55c80 69 6e 67 73 3e 0a 20 20 22 4c 69 6b 65 20 60 70 72 6f 67 6e 27 2c 20 62 75 74 20 70 72 65 76 65 ings>..."Like.`progn',.but.preve
55ca0 6e 74 73 20 63 6f 6d 70 69 6c 65 72 20 57 41 52 4e 49 4e 47 53 20 69 6e 20 42 4f 44 59 2e 0a 4e nts.compiler.WARNINGS.in.BODY..N
55cc0 4f 54 45 3a 20 54 68 65 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 76 65 72 73 69 6f 6e 20 62 OTE:.The.compatibility.version.b
55ce0 65 68 61 76 65 73 20 6c 69 6b 65 20 60 77 69 74 68 2d 6e 6f 2d 77 61 72 6e 69 6e 67 73 27 2e 22 ehaves.like.`with-no-warnings'."
55d00 0a 20 20 60 28 77 69 74 68 2d 6e 6f 2d 77 61 72 6e 69 6e 67 73 20 2c 40 62 6f 64 79 29 29 0a 0a ...`(with-no-warnings.,@body))..
55d20 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 69 6d 61 67 65 2e 65 6c 0a 0a 28 63 6f 6d 70 61 ;;;;.Defined.in.image.el..(compa
55d40 74 2d 64 65 66 75 6e 20 69 6d 61 67 65 2d 2d 73 65 74 2d 70 72 6f 70 65 72 74 79 20 28 69 6d 61 t-defun.image--set-property.(ima
55d60 67 65 20 70 72 6f 70 65 72 74 79 20 76 61 6c 75 65 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 ge.property.value).;;.<compat-te
55d80 73 74 73 3a 69 6d 61 67 65 2d 70 72 6f 70 65 72 74 79 3e 0a 20 20 22 53 65 74 20 50 52 4f 50 45 sts:image-property>..."Set.PROPE
55da0 52 54 59 20 69 6e 20 49 4d 41 47 45 20 74 6f 20 56 41 4c 55 45 2c 20 69 6e 74 65 72 6e 61 6c 20 RTY.in.IMAGE.to.VALUE,.internal.
55dc0 75 73 65 20 6f 6e 6c 79 2e 22 0a 20 20 3a 65 78 74 65 6e 64 65 64 20 22 32 36 2e 31 22 0a 20 20 use.only."...:extended."26.1"...
55de0 3a 66 65 61 74 75 72 65 20 69 6d 61 67 65 0a 20 20 28 69 66 20 28 6e 75 6c 6c 20 76 61 6c 75 65 :feature.image...(if.(null.value
55e00 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 63 64 72 20 69 6d 61 67 65 29 0a 20 20 20 20 20 ).......(while.(cdr.image)......
55e20 20 20 20 28 69 66 20 28 65 71 20 28 63 61 64 72 20 69 6d 61 67 65 29 20 70 72 6f 70 65 72 74 79 ...(if.(eq.(cadr.image).property
55e40 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 63 64 72 20 69 6d 61 67 65 20 28 63 64 64 ).............(setcdr.image.(cdd
55e60 64 72 20 69 6d 61 67 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 6d 61 67 65 dr.image))...........(setq.image
55e80 20 28 63 64 64 72 20 69 6d 61 67 65 29 29 29 29 0a 20 20 20 20 28 73 65 74 63 64 72 20 69 6d 61 .(cddr.image)))).....(setcdr.ima
55ea0 67 65 20 28 70 6c 69 73 74 2d 70 75 74 20 28 63 64 72 20 69 6d 61 67 65 29 20 70 72 6f 70 65 72 ge.(plist-put.(cdr.image).proper
55ec0 74 79 20 76 61 6c 75 65 29 29 29 0a 20 20 76 61 6c 75 65 29 0a 0a 3b 3b 20 48 41 43 4b 3a 20 69 ty.value)))...value)..;;.HACK:.i
55ee0 6d 61 67 65 2d 2d 73 65 74 2d 70 72 6f 70 65 72 74 79 20 77 61 73 20 62 72 6f 6b 65 6e 20 77 69 mage--set-property.was.broken.wi
55f00 74 68 20 61 6e 20 6f 66 66 2d 62 79 2d 6f 6e 65 20 65 72 72 6f 72 20 6f 6e 20 45 6d 61 63 73 20 th.an.off-by-one.error.on.Emacs.
55f20 32 36 2e 0a 3b 3b 20 54 68 65 20 62 75 67 20 77 61 73 20 66 69 78 65 64 20 69 6e 20 61 34 61 64 26..;;.The.bug.was.fixed.in.a4ad
55f40 37 62 65 64 31 38 37 34 39 33 63 31 63 32 33 30 66 32 32 33 62 35 32 63 37 31 66 35 63 33 34 66 7bed187493c1c230f223b52c71f5c34f
55f60 37 63 38 39 2e 20 54 68 65 72 65 66 6f 72 65 20 77 65 0a 3b 3b 20 6f 76 65 72 72 69 64 65 20 74 7c89..Therefore.we.;;.override.t
55f80 68 65 20 67 76 20 65 78 70 61 6e 64 65 72 20 75 6e 74 69 6c 20 45 6d 61 63 73 20 32 37 2e 31 2e he.gv.expander.until.Emacs.27.1.
55fa0 0a 28 63 6f 6d 70 61 74 2d 67 75 61 72 64 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a .(compat-guard.;;.<compat-tests:
55fc0 69 6d 61 67 65 2d 70 72 6f 70 65 72 74 79 3e 0a 20 20 20 20 28 6f 72 20 28 3d 20 65 6d 61 63 73 image-property>.....(or.(=.emacs
55fe0 2d 6d 61 6a 6f 72 2d 76 65 72 73 69 6f 6e 20 32 36 29 20 28 6e 6f 74 20 28 67 65 74 20 27 69 6d -major-version.26).(not.(get.'im
56000 61 67 65 2d 70 72 6f 70 65 72 74 79 20 27 67 76 2d 65 78 70 61 6e 64 65 72 29 29 29 0a 20 20 3a age-property.'gv-expander)))...:
56020 66 65 61 74 75 72 65 20 69 6d 61 67 65 0a 20 20 28 67 76 2d 64 65 66 69 6e 65 2d 73 65 74 74 65 feature.image...(gv-define-sette
56040 72 20 69 6d 61 67 65 2d 70 72 6f 70 65 72 74 79 20 28 76 61 6c 75 65 20 69 6d 61 67 65 20 70 72 r.image-property.(value.image.pr
56060 6f 70 29 0a 20 20 20 20 60 28 2c 28 69 66 20 28 3c 20 65 6d 61 63 73 2d 6d 61 6a 6f 72 2d 76 65 op).....`(,(if.(<.emacs-major-ve
56080 72 73 69 6f 6e 20 32 36 29 20 27 69 6d 61 67 65 2d 2d 73 65 74 2d 70 72 6f 70 65 72 74 79 20 27 rsion.26).'image--set-property.'
560a0 63 6f 6d 70 61 74 2d 2d 69 6d 61 67 65 2d 2d 73 65 74 2d 70 72 6f 70 65 72 74 79 29 0a 20 20 20 compat--image--set-property)....
560c0 20 20 20 2c 69 6d 61 67 65 20 2c 70 72 6f 70 20 2c 76 61 6c 75 65 29 29 29 0a 0a 3b 3b 3b 3b 20 ...,image.,prop.,value)))..;;;;.
560e0 44 65 66 69 6e 65 64 20 69 6e 20 66 69 6c 65 73 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 Defined.in.files.el..(compat-def
56100 75 6e 20 66 69 6c 65 2d 6e 61 6d 65 2d 71 75 6f 74 65 64 2d 70 20 28 6e 61 6d 65 20 26 6f 70 74 un.file-name-quoted-p.(name.&opt
56120 69 6f 6e 61 6c 20 74 6f 70 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 66 69 6c 65 ional.top).;;.<compat-tests:file
56140 2d 6e 61 6d 65 2d 71 75 6f 74 65 64 2d 70 3e 0a 20 20 22 48 61 6e 64 6c 65 20 6f 70 74 69 6f 6e -name-quoted-p>..."Handle.option
56160 61 6c 20 61 72 67 75 6d 65 6e 74 20 54 4f 50 2e 22 0a 20 20 3a 65 78 74 65 6e 64 65 64 20 22 32 al.argument.TOP."...:extended."2
56180 36 2e 31 22 0a 20 20 28 6c 65 74 20 28 28 66 69 6c 65 2d 6e 61 6d 65 2d 68 61 6e 64 6c 65 72 2d 6.1"...(let.((file-name-handler-
561a0 61 6c 69 73 74 20 28 75 6e 6c 65 73 73 20 74 6f 70 20 66 69 6c 65 2d 6e 61 6d 65 2d 68 61 6e 64 alist.(unless.top.file-name-hand
561c0 6c 65 72 2d 61 6c 69 73 74 29 29 29 0a 20 20 20 20 28 73 74 72 69 6e 67 2d 70 72 65 66 69 78 2d ler-alist))).....(string-prefix-
561e0 70 20 22 2f 3a 22 20 28 66 69 6c 65 2d 6c 6f 63 61 6c 2d 6e 61 6d 65 20 6e 61 6d 65 29 29 29 29 p."/:".(file-local-name.name))))
56200 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 66 69 6c 65 2d 6e 61 6d 65 2d 71 75 6f 74 65 20 ..(compat-defun.file-name-quote.
56220 28 6e 61 6d 65 20 26 6f 70 74 69 6f 6e 61 6c 20 74 6f 70 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d (name.&optional.top).;;.<compat-
56240 74 65 73 74 73 3a 66 69 6c 65 2d 6e 61 6d 65 2d 71 75 6f 74 65 3e 0a 20 20 22 48 61 6e 64 6c 65 tests:file-name-quote>..."Handle
56260 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 54 4f 50 2e 22 0a 20 20 3a 65 78 74 65 .optional.argument.TOP."...:exte
56280 6e 64 65 64 20 22 32 36 2e 31 22 0a 20 20 28 6c 65 74 2a 20 28 28 66 69 6c 65 2d 6e 61 6d 65 2d nded."26.1"...(let*.((file-name-
562a0 68 61 6e 64 6c 65 72 2d 61 6c 69 73 74 20 28 75 6e 6c 65 73 73 20 74 6f 70 20 66 69 6c 65 2d 6e handler-alist.(unless.top.file-n
562c0 61 6d 65 2d 68 61 6e 64 6c 65 72 2d 61 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 6f ame-handler-alist))..........(lo
562e0 63 61 6c 6e 61 6d 65 20 28 66 69 6c 65 2d 6c 6f 63 61 6c 2d 6e 61 6d 65 20 6e 61 6d 65 29 29 29 calname.(file-local-name.name)))
56300 0a 20 20 20 20 28 69 66 20 28 73 74 72 69 6e 67 2d 70 72 65 66 69 78 2d 70 20 22 2f 3a 22 20 6c .....(if.(string-prefix-p."/:".l
56320 6f 63 61 6c 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 6e 61 6d 65 0a 20 20 20 20 20 20 28 63 6f ocalname).........name.......(co
56340 6e 63 61 74 20 28 66 69 6c 65 2d 72 65 6d 6f 74 65 2d 70 20 6e 61 6d 65 29 20 22 2f 3a 22 20 6c ncat.(file-remote-p.name)."/:".l
56360 6f 63 61 6c 6e 61 6d 65 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 66 69 6c 65 ocalname))))..(compat-defun.file
56380 2d 6e 61 6d 65 2d 75 6e 71 75 6f 74 65 20 28 6e 61 6d 65 20 26 6f 70 74 69 6f 6e 61 6c 20 74 6f -name-unquote.(name.&optional.to
563a0 70 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 66 69 6c 65 2d 6e 61 6d 65 2d 75 6e p).;;.<compat-tests:file-name-un
563c0 71 75 6f 74 65 3e 0a 20 20 22 48 61 6e 64 6c 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 quote>..."Handle.optional.argume
563e0 6e 74 20 54 4f 50 2e 22 0a 20 20 3a 65 78 74 65 6e 64 65 64 20 22 32 36 2e 31 22 0a 20 20 28 6c nt.TOP."...:extended."26.1"...(l
56400 65 74 2a 20 28 28 66 69 6c 65 2d 6e 61 6d 65 2d 68 61 6e 64 6c 65 72 2d 61 6c 69 73 74 20 28 75 et*.((file-name-handler-alist.(u
56420 6e 6c 65 73 73 20 74 6f 70 20 66 69 6c 65 2d 6e 61 6d 65 2d 68 61 6e 64 6c 65 72 2d 61 6c 69 73 nless.top.file-name-handler-alis
56440 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 6f 63 61 6c 6e 61 6d 65 20 28 66 69 6c 65 2d 6c 6f t))..........(localname.(file-lo
56460 63 61 6c 2d 6e 61 6d 65 20 6e 61 6d 65 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 73 74 72 69 cal-name.name))).....(when.(stri
56480 6e 67 2d 70 72 65 66 69 78 2d 70 20 22 2f 3a 22 20 6c 6f 63 61 6c 6e 61 6d 65 29 0a 20 20 20 20 ng-prefix-p."/:".localname).....
564a0 20 20 28 73 65 74 71 20 6c 6f 63 61 6c 6e 61 6d 65 20 28 69 66 20 28 3d 20 28 6c 65 6e 67 74 68 ..(setq.localname.(if.(=.(length
564c0 20 6c 6f 63 61 6c 6e 61 6d 65 29 20 32 29 20 22 2f 22 20 28 73 75 62 73 74 72 69 6e 67 20 6c 6f .localname).2)."/".(substring.lo
564e0 63 61 6c 6e 61 6d 65 20 32 29 29 29 29 0a 20 20 20 20 28 63 6f 6e 63 61 74 20 28 66 69 6c 65 2d calname.2)))).....(concat.(file-
56500 72 65 6d 6f 74 65 2d 70 20 6e 61 6d 65 29 20 6c 6f 63 61 6c 6e 61 6d 65 29 29 29 0a 0a 28 63 6f remote-p.name).localname)))..(co
56520 6d 70 61 74 2d 64 65 66 75 6e 20 66 69 6c 65 2d 73 69 7a 65 2d 68 75 6d 61 6e 2d 72 65 61 64 61 mpat-defun.file-size-human-reada
56540 62 6c 65 20 28 66 69 6c 65 2d 73 69 7a 65 20 26 6f 70 74 69 6f 6e 61 6c 20 66 6c 61 76 6f 72 20 ble.(file-size.&optional.flavor.
56560 73 70 61 63 65 20 75 6e 69 74 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 66 69 6c space.unit).;;.<compat-tests:fil
56580 65 2d 73 69 7a 65 2d 68 75 6d 61 6e 2d 72 65 61 64 61 62 6c 65 3e 0a 20 20 22 48 61 6e 64 6c 65 e-size-human-readable>..."Handle
565a0 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73 20 53 50 41 43 45 20 61 6e .the.optional.arguments.SPACE.an
565c0 64 20 55 4e 49 54 2e 22 0a 20 20 3a 65 78 74 65 6e 64 65 64 20 74 0a 20 20 28 6c 65 74 20 28 28 d.UNIT."...:extended.t...(let.((
565e0 70 6f 77 65 72 20 28 69 66 20 28 6f 72 20 28 6e 75 6c 6c 20 66 6c 61 76 6f 72 29 20 28 65 71 20 power.(if.(or.(null.flavor).(eq.
56600 66 6c 61 76 6f 72 20 27 69 65 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 flavor.'iec))...................
56620 20 31 30 32 34 2e 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 31 30 30 30 2e 30 29 .1024.0..................1000.0)
56640 29 0a 20 20 20 20 20 20 20 20 28 70 72 65 66 69 78 65 73 20 27 28 22 22 20 22 6b 22 20 22 4d 22 ).........(prefixes.'(""."k"."M"
56660 20 22 47 22 20 22 54 22 20 22 50 22 20 22 45 22 20 22 5a 22 20 22 59 22 29 29 29 0a 20 20 20 20 ."G"."T"."P"."E"."Z"."Y"))).....
56680 28 77 68 69 6c 65 20 28 61 6e 64 20 28 3e 3d 20 66 69 6c 65 2d 73 69 7a 65 20 70 6f 77 65 72 29 (while.(and.(>=.file-size.power)
566a0 20 28 63 64 72 20 70 72 65 66 69 78 65 73 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 66 69 6c .(cdr.prefixes)).......(setq.fil
566c0 65 2d 73 69 7a 65 20 28 2f 20 66 69 6c 65 2d 73 69 7a 65 20 70 6f 77 65 72 29 0a 20 20 20 20 20 e-size.(/.file-size.power)......
566e0 20 20 20 20 20 20 20 70 72 65 66 69 78 65 73 20 28 63 64 72 20 70 72 65 66 69 78 65 73 29 29 29 .......prefixes.(cdr.prefixes)))
56700 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 70 72 65 66 69 78 20 28 63 61 72 20 70 72 65 66 69 78 65 .....(let*.((prefix.(car.prefixe
56720 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 72 65 66 69 78 65 64 2d 75 6e 69 74 20 28 69 s))............(prefixed-unit.(i
56740 66 20 28 65 71 20 66 6c 61 76 6f 72 20 27 69 65 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 f.(eq.flavor.'iec)..............
56760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 0a 20 20 20 20 20 20 20 .................(concat........
56780 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 69 66 20 28 73 74 72 ........................(if.(str
567a0 69 6e 67 3d 20 70 72 65 66 69 78 20 22 6b 22 29 20 22 4b 22 20 70 72 65 66 69 78 29 0a 20 20 20 ing=.prefix."k")."K".prefix)....
567c0 20 20 20 20 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 69 66 20 ............................(if.
567e0 28 73 74 72 69 6e 67 3d 20 70 72 65 66 69 78 20 22 22 29 20 22 22 20 22 69 22 29 0a 20 20 20 20 (string=.prefix."").""."i").....
56800 20 20 20 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 6f 72 20 75 ...........................(or.u
56820 6e 69 74 20 22 42 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 nit."B")).......................
56840 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 70 72 65 66 69 78 20 75 6e 69 74 29 29 29 29 0a 20 20 ......(concat.prefix.unit))))...
56860 20 20 20 20 28 66 6f 72 6d 61 74 20 28 69 66 20 28 61 6e 64 20 28 3e 3d 20 28 6d 6f 64 20 66 69 ....(format.(if.(and.(>=.(mod.fi
56880 6c 65 2d 73 69 7a 65 20 31 2e 30 29 20 30 2e 30 35 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 le-size.1.0).0.05)..............
568a0 20 20 20 20 20 20 20 20 20 20 28 3c 20 28 6d 6f 64 20 66 69 6c 65 2d 73 69 7a 65 20 31 2e 30 29 ..........(<.(mod.file-size.1.0)
568c0 20 30 2e 39 35 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 25 2e 31 66 25 .0.95))..................."%.1f%
568e0 73 25 73 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 25 2e 30 66 25 73 25 73 22 29 s%s"................."%.0f%s%s")
56900 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 69 6c 65 2d 73 69 7a 65 0a 20 20 20 20 20 20 20 ...............file-size........
56920 20 20 20 20 20 20 20 28 69 66 20 28 73 74 72 69 6e 67 3d 20 70 72 65 66 69 78 65 64 2d 75 6e 69 .......(if.(string=.prefixed-uni
56940 74 20 22 22 29 20 22 22 20 28 6f 72 20 73 70 61 63 65 20 22 22 29 29 0a 20 20 20 20 20 20 20 20 t."")."".(or.space."")).........
56960 20 20 20 20 20 20 70 72 65 66 69 78 65 64 2d 75 6e 69 74 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 ......prefixed-unit))))..(compat
56980 2d 64 65 66 75 6e 20 66 69 6c 65 2d 73 69 7a 65 2d 68 75 6d 61 6e 2d 72 65 61 64 61 62 6c 65 2d -defun.file-size-human-readable-
569a0 69 65 63 20 28 73 69 7a 65 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 66 69 6c 65 iec.(size).;;.<compat-tests:file
569c0 2d 73 69 7a 65 2d 68 75 6d 61 6e 2d 72 65 61 64 61 62 6c 65 2d 69 65 63 3e 0a 20 20 22 48 75 6d -size-human-readable-iec>..."Hum
569e0 61 6e 2d 72 65 61 64 61 62 6c 65 20 73 74 72 69 6e 67 20 66 6f 72 20 53 49 5a 45 20 62 79 74 65 an-readable.string.for.SIZE.byte
56a00 73 2c 20 75 73 69 6e 67 20 49 45 43 20 70 72 65 66 69 78 65 73 2e 22 0a 20 20 28 63 6f 6d 70 61 s,.using.IEC.prefixes."...(compa
56a20 74 2d 2d 66 69 6c 65 2d 73 69 7a 65 2d 68 75 6d 61 6e 2d 72 65 61 64 61 62 6c 65 20 73 69 7a 65 t--file-size-human-readable.size
56a40 20 27 69 65 63 20 22 20 22 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 65 78 65 63 2d .'iec."."))..(compat-defun.exec-
56a60 70 61 74 68 20 28 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 65 78 65 63 2d 70 61 path.().;;.<compat-tests:exec-pa
56a80 74 68 3e 0a 20 20 22 52 65 74 75 72 6e 20 6c 69 73 74 20 6f 66 20 64 69 72 65 63 74 6f 72 69 65 th>..."Return.list.of.directorie
56aa0 73 20 74 6f 20 73 65 61 72 63 68 20 70 72 6f 67 72 61 6d 73 20 74 6f 20 72 75 6e 20 69 6e 20 72 s.to.search.programs.to.run.in.r
56ac0 65 6d 6f 74 65 20 73 75 62 70 72 6f 63 65 73 73 65 73 2e 0a 54 68 65 20 72 65 6d 6f 74 65 20 68 emote.subprocesses..The.remote.h
56ae0 6f 73 74 20 69 73 20 69 64 65 6e 74 69 66 69 65 64 20 62 79 20 60 64 65 66 61 75 6c 74 2d 64 69 ost.is.identified.by.`default-di
56b00 72 65 63 74 6f 72 79 27 2e 20 20 46 6f 72 20 72 65 6d 6f 74 65 0a 68 6f 73 74 73 20 74 68 61 74 rectory'...For.remote.hosts.that
56b20 20 64 6f 20 6e 6f 74 20 73 75 70 70 6f 72 74 20 73 75 62 70 72 6f 63 65 73 73 65 73 2c 20 74 68 .do.not.support.subprocesses,.th
56b40 69 73 20 72 65 74 75 72 6e 73 20 6e 69 6c 2e 0a 49 66 20 60 64 65 66 61 75 6c 74 2d 64 69 72 65 is.returns.nil..If.`default-dire
56b60 63 74 6f 72 79 27 20 69 73 20 61 20 6c 6f 63 61 6c 20 64 69 72 65 63 74 6f 72 79 2c 20 74 68 69 ctory'.is.a.local.directory,.thi
56b80 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 0a 74 68 65 20 76 61 6c 75 65 20 6f 66 20 s.function.returns.the.value.of.
56ba0 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 65 78 65 63 2d 70 61 74 68 27 2e 22 0a 20 20 28 6c 65 the.variable.`exec-path'."...(le
56bc0 74 20 28 28 68 61 6e 64 6c 65 72 20 28 66 69 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 2d 68 61 6e 64 t.((handler.(find-file-name-hand
56be0 6c 65 72 20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 20 27 65 78 65 63 2d 70 61 74 68 ler.default-directory.'exec-path
56c00 29 29 29 0a 20 20 20 20 3b 3b 20 4e 4f 54 45 3a 20 54 68 65 20 68 61 6e 64 6c 65 72 20 6d 61 79 ))).....;;.NOTE:.The.handler.may
56c20 20 66 61 69 6c 20 73 69 6e 63 65 20 69 74 20 77 61 73 20 61 64 64 65 64 20 69 6e 20 32 37 2e 31 .fail.since.it.was.added.in.27.1
56c40 2e 0a 20 20 20 20 28 6f 72 20 28 61 6e 64 20 68 61 6e 64 6c 65 72 20 28 69 67 6e 6f 72 65 2d 65 ......(or.(and.handler.(ignore-e
56c60 72 72 6f 72 73 20 28 66 75 6e 63 61 6c 6c 20 68 61 6e 64 6c 65 72 20 27 65 78 65 63 2d 70 61 74 rrors.(funcall.handler.'exec-pat
56c80 68 29 29 29 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 66 69 6c 65 2d 72 65 6d 6f 74 65 2d 70 20 h))).........(if.(file-remote-p.
56ca0 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 3b default-directory).............;
56cc0 3b 20 46 49 58 4d 45 3a 20 4a 75 73 74 20 72 65 74 75 72 6e 20 73 6f 6d 65 20 73 74 61 6e 64 61 ;.FIXME:.Just.return.some.standa
56ce0 72 64 20 70 61 74 68 20 6f 6e 20 72 65 6d 6f 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 27 28 rd.path.on.remote.............'(
56d00 22 2f 62 69 6e 22 20 22 2f 75 73 72 2f 62 69 6e 22 20 22 2f 73 62 69 6e 22 20 22 2f 75 73 72 2f "/bin"."/usr/bin"."/sbin"."/usr/
56d20 73 62 69 6e 22 20 22 2f 75 73 72 2f 6c 6f 63 61 6c 2f 62 69 6e 22 20 22 2f 75 73 72 2f 6c 6f 63 sbin"."/usr/local/bin"."/usr/loc
56d40 61 6c 2f 73 62 69 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 65 78 65 63 2d 70 61 74 68 29 29 29 al/sbin")...........exec-path)))
56d60 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 65 78 65 63 75 74 61 62 6c 65 2d 66 69 6e 64 )..(compat-defun.executable-find
56d80 20 28 63 6f 6d 6d 61 6e 64 20 26 6f 70 74 69 6f 6e 61 6c 20 72 65 6d 6f 74 65 29 20 3b 3b 20 3c .(command.&optional.remote).;;.<
56da0 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 65 78 65 63 75 74 61 62 6c 65 2d 66 69 6e 64 3e 0a 20 20 compat-tests:executable-find>...
56dc0 22 48 61 6e 64 6c 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 52 45 4d 4f 54 45 "Handle.optional.argument.REMOTE
56de0 2e 22 0a 20 20 3a 65 78 74 65 6e 64 65 64 20 74 0a 20 20 28 69 66 20 28 61 6e 64 20 72 65 6d 6f ."...:extended.t...(if.(and.remo
56e00 74 65 20 28 66 69 6c 65 2d 72 65 6d 6f 74 65 2d 70 20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 te.(file-remote-p.default-direct
56e20 6f 72 79 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 72 65 73 20 28 6c 6f 63 61 74 65 2d 66 ory)).......(let.((res.(locate-f
56e40 69 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6d 6d 61 6e 64 0a 20 20 ile...................command...
56e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 0a 20 20 20 20 20 20 20 20 ................(mapcar.........
56e80 20 20 20 20 20 20 20 20 20 20 20 28 61 70 70 6c 79 2d 70 61 72 74 69 61 6c 6c 79 0a 20 20 20 20 ...........(apply-partially.....
56ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 63 6f 6e 63 61 74 20 28 66 69 6c 65 2d 72 ................#'concat.(file-r
56ec0 65 6d 6f 74 65 2d 70 20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 29 29 0a 20 20 20 20 emote-p.default-directory)).....
56ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 78 65 63 2d 70 61 74 68 29 29 0a 20 20 20 20 ...............(exec-path)).....
56f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 78 65 63 2d 73 75 66 66 69 78 65 73 20 27 66 69 6c ..............exec-suffixes.'fil
56f20 65 2d 65 78 65 63 75 74 61 62 6c 65 2d 70 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 e-executable-p))).........(when.
56f40 28 73 74 72 69 6e 67 70 20 72 65 73 29 20 28 66 69 6c 65 2d 6c 6f 63 61 6c 2d 6e 61 6d 65 20 72 (stringp.res).(file-local-name.r
56f60 65 73 29 29 29 0a 20 20 20 20 28 65 78 65 63 75 74 61 62 6c 65 2d 66 69 6e 64 20 63 6f 6d 6d 61 es))).....(executable-find.comma
56f80 6e 64 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 6d 61 6b 65 2d 65 6d 70 74 79 2d nd)))..(compat-defun.make-empty-
56fa0 66 69 6c 65 20 28 66 69 6c 65 6e 61 6d 65 20 26 6f 70 74 69 6f 6e 61 6c 20 70 61 72 65 6e 74 73 file.(filename.&optional.parents
56fc0 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 6d 61 6b 65 2d 65 6d 70 74 79 2d 66 69 ).;;.<compat-tests:make-empty-fi
56fe0 6c 65 3e 0a 20 20 22 43 72 65 61 74 65 20 61 6e 20 65 6d 70 74 79 20 66 69 6c 65 20 46 49 4c 45 le>..."Create.an.empty.file.FILE
57000 4e 41 4d 45 2e 0a 4f 70 74 69 6f 6e 61 6c 20 61 72 67 20 50 41 52 45 4e 54 53 2c 20 69 66 20 6e NAME..Optional.arg.PARENTS,.if.n
57020 6f 6e 2d 6e 69 6c 20 74 68 65 6e 20 63 72 65 61 74 65 73 20 70 61 72 65 6e 74 20 64 69 72 73 20 on-nil.then.creates.parent.dirs.
57040 61 73 20 6e 65 65 64 65 64 2e 22 0a 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 66 69 6c 65 2d 65 as.needed."...(when.(and.(file-e
57060 78 69 73 74 73 2d 70 20 66 69 6c 65 6e 61 6d 65 29 20 28 6e 75 6c 6c 20 70 61 72 65 6e 74 73 29 xists-p.filename).(null.parents)
57080 29 0a 20 20 20 20 28 73 69 67 6e 61 6c 20 27 66 69 6c 65 2d 61 6c 72 65 61 64 79 2d 65 78 69 73 ).....(signal.'file-already-exis
570a0 74 73 20 28 6c 69 73 74 20 22 46 69 6c 65 20 65 78 69 73 74 73 22 20 66 69 6c 65 6e 61 6d 65 29 ts.(list."File.exists".filename)
570c0 29 29 0a 20 20 28 6c 65 74 20 28 28 70 61 72 65 6e 2d 64 69 72 20 28 66 69 6c 65 2d 6e 61 6d 65 ))...(let.((paren-dir.(file-name
570e0 2d 64 69 72 65 63 74 6f 72 79 20 66 69 6c 65 6e 61 6d 65 29 29 29 0a 20 20 20 20 28 77 68 65 6e -directory.filename))).....(when
57100 20 28 61 6e 64 20 70 61 72 65 6e 2d 64 69 72 20 28 6e 6f 74 20 28 66 69 6c 65 2d 65 78 69 73 74 .(and.paren-dir.(not.(file-exist
57120 73 2d 70 20 70 61 72 65 6e 2d 64 69 72 29 29 29 0a 20 20 20 20 20 20 28 6d 61 6b 65 2d 64 69 72 s-p.paren-dir))).......(make-dir
57140 65 63 74 6f 72 79 20 70 61 72 65 6e 2d 64 69 72 20 70 61 72 65 6e 74 73 29 29 29 0a 20 20 28 77 ectory.paren-dir.parents)))...(w
57160 72 69 74 65 2d 72 65 67 69 6f 6e 20 22 22 20 6e 69 6c 20 66 69 6c 65 6e 61 6d 65 20 6e 69 6c 20 rite-region."".nil.filename.nil.
57180 30 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 72 65 67 65 78 70 2d 6f 70 74 2e 0))..;;;;.Defined.in.regexp-opt.
571a0 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 72 65 67 65 78 70 2d 6f 70 74 20 28 73 74 el..(compat-defun.regexp-opt.(st
571c0 72 69 6e 67 73 20 26 6f 70 74 69 6f 6e 61 6c 20 70 61 72 65 6e 29 20 3b 3b 20 3c 63 6f 6d 70 61 rings.&optional.paren).;;.<compa
571e0 74 2d 74 65 73 74 73 3a 72 65 67 65 78 70 2d 6f 70 74 3e 0a 20 20 22 48 61 6e 64 6c 65 20 61 6e t-tests:regexp-opt>..."Handle.an
57200 20 65 6d 70 74 79 20 6c 69 73 74 20 6f 66 20 53 54 52 49 4e 47 53 2e 22 0a 20 20 3a 65 78 74 65 .empty.list.of.STRINGS."...:exte
57220 6e 64 65 64 20 74 0a 20 20 28 69 66 20 28 6e 75 6c 6c 20 73 74 72 69 6e 67 73 29 0a 20 20 20 20 nded.t...(if.(null.strings).....
57240 20 20 28 6c 65 74 20 28 28 72 65 20 22 5c 5c 60 61 5c 5c 60 22 29 29 0a 20 20 20 20 20 20 20 20 ..(let.((re."\\`a\\`")).........
57260 28 63 6f 6e 64 20 28 28 6e 75 6c 6c 20 70 61 72 65 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 (cond.((null.paren).............
57280 20 20 20 28 63 6f 6e 63 61 74 20 22 5c 5c 28 3f 3a 22 20 72 65 20 22 5c 5c 29 22 29 29 0a 20 20 ...(concat."\\(?:".re."\\)"))...
572a0 20 20 20 20 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e 67 70 20 70 61 72 65 6e 29 0a 20 20 20 ............((stringp.paren)....
572c0 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 70 61 72 65 6e 20 72 65 20 22 5c 5c ............(concat.paren.re."\\
572e0 29 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 70 61 72 65 6e 20 27 77 )"))...............((eq.paren.'w
57300 6f 72 64 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 5c 5c ords)................(concat."\\
57320 3c 5c 5c 28 22 20 72 65 20 22 5c 5c 29 5c 5c 3e 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 <\\(".re."\\)\\>")).............
57340 20 20 28 28 65 71 20 70 61 72 65 6e 20 27 73 79 6d 62 6f 6c 73 29 0a 20 20 20 20 20 20 20 20 20 ..((eq.paren.'symbols)..........
57360 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 5c 5c 5f 5c 5c 28 3c 22 20 72 65 20 22 5c 5c 29 5c ......(concat."\\_\\(<".re."\\)\
57380 5c 5f 3e 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 63 6f 6e 63 61 74 20 22 5c \_>"))...............((concat."\
573a0 5c 28 22 20 72 65 20 22 5c 5c 29 22 29 29 29 29 0a 20 20 20 20 28 72 65 67 65 78 70 2d 6f 70 74 \(".re."\\)")))).....(regexp-opt
573c0 20 73 74 72 69 6e 67 73 20 70 61 72 65 6e 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 .strings.paren)))..;;;;.Defined.
573e0 69 6e 20 70 61 63 6b 61 67 65 2e 65 6c 0a 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e in.package.el..(declare-function
57400 20 6c 6d 2d 68 65 61 64 65 72 20 22 6c 69 73 70 2d 6d 6e 74 22 29 0a 28 64 65 63 6c 61 72 65 2d .lm-header."lisp-mnt").(declare-
57420 66 75 6e 63 74 69 6f 6e 20 6d 61 63 72 6f 65 78 70 2d 66 69 6c 65 2d 6e 61 6d 65 20 6e 69 6c 29 function.macroexp-file-name.nil)
57440 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 70 61 63 6b 61 67 65 2d 67 65 74 2d 76 65 72 73 ..(compat-defun.package-get-vers
57460 69 6f 6e 20 28 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 70 61 63 6b 61 67 65 2d ion.().;;.<compat-tests:package-
57480 67 65 74 2d 76 65 72 73 69 6f 6e 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 76 65 72 73 69 get-version>..."Return.the.versi
574a0 6f 6e 20 6e 75 6d 62 65 72 20 6f 66 20 74 68 65 20 70 61 63 6b 61 67 65 20 69 6e 20 77 68 69 63 on.number.of.the.package.in.whic
574c0 68 20 74 68 69 73 20 69 73 20 75 73 65 64 2e 0a 41 73 73 75 6d 65 73 20 69 74 20 69 73 20 75 73 h.this.is.used..Assumes.it.is.us
574e0 65 64 20 66 72 6f 6d 20 61 6e 20 45 6c 69 73 70 20 66 69 6c 65 20 70 6c 61 63 65 64 20 69 6e 73 ed.from.an.Elisp.file.placed.ins
57500 69 64 65 20 74 68 65 20 74 6f 70 2d 6c 65 76 65 6c 20 64 69 72 65 63 74 6f 72 79 0a 6f 66 20 61 ide.the.top-level.directory.of.a
57520 6e 20 69 6e 73 74 61 6c 6c 65 64 20 45 4c 50 41 20 70 61 63 6b 61 67 65 2e 0a 54 68 65 20 72 65 n.installed.ELPA.package..The.re
57540 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 61 20 73 74 72 69 6e 67 20 28 6f 72 20 6e 69 6c 20 69 turn.value.is.a.string.(or.nil.i
57560 6e 20 63 61 73 65 20 77 65 20 63 61 6e e2 80 99 74 20 66 69 6e 64 20 69 74 29 2e 22 0a 20 20 3b n.case.we.can...t.find.it)."...;
57580 3b 20 4e 6f 20 3a 66 65 61 74 75 72 65 20 73 69 6e 63 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e ;.No.:feature.since.the.function
575a0 20 69 73 20 61 75 74 6f 6c 6f 61 64 65 64 2e 0a 20 20 3b 3b 20 49 6e 20 61 20 73 65 6e 73 65 2c .is.autoloaded....;;.In.a.sense,
575c0 20 74 68 69 73 20 69 73 20 61 20 6c 69 65 2c 20 62 75 74 20 69 74 20 64 6f 65 73 20 6a 75 73 74 .this.is.a.lie,.but.it.does.just
575e0 20 77 68 61 74 20 77 65 20 77 61 6e 74 3a 20 70 72 65 63 6f 6d 70 75 74 65 0a 20 20 3b 3b 20 74 .what.we.want:.precompute...;;.t
57600 68 65 20 76 65 72 73 69 6f 6e 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 20 61 6e 64 20 68 he.version.at.compile.time.and.h
57620 61 72 64 63 6f 64 65 73 20 69 74 20 69 6e 74 6f 20 74 68 65 20 2e 65 6c 63 20 66 69 6c 65 21 0a ardcodes.it.into.the..elc.file!.
57640 20 20 28 64 65 63 6c 61 72 65 20 28 70 75 72 65 20 74 29 29 0a 20 20 3b 3b 20 48 61 63 6b 20 61 ..(declare.(pure.t))...;;.Hack.a
57660 6c 65 72 74 21 0a 20 20 28 6c 65 74 20 28 28 66 69 6c 65 20 28 6f 72 20 28 6d 61 63 72 6f 65 78 lert!...(let.((file.(or.(macroex
57680 70 2d 66 69 6c 65 2d 6e 61 6d 65 29 20 62 75 66 66 65 72 2d 66 69 6c 65 2d 6e 61 6d 65 29 29 29 p-file-name).buffer-file-name)))
576a0 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 28 28 6e 75 6c 6c 20 66 69 6c 65 29 20 6e 69 6c .....(cond......((null.file).nil
576c0 29 0a 20 20 20 20 20 3b 3b 20 50 61 63 6b 61 67 65 73 20 61 72 65 20 6e 6f 72 6d 61 6c 6c 79 20 )......;;.Packages.are.normally.
576e0 69 6e 73 74 61 6c 6c 65 64 20 69 6e 74 6f 20 64 69 72 65 63 74 6f 72 69 65 73 20 6e 61 6d 65 64 installed.into.directories.named
57700 20 22 3c 70 6b 67 3e 2d 3c 76 65 72 73 3e 22 2c 0a 20 20 20 20 20 3b 3b 20 73 6f 20 67 65 74 20 ."<pkg>-<vers>",......;;.so.get.
57720 74 68 65 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 20 66 72 6f 6d 20 74 68 65 72 65 2e 0a 20 the.version.number.from.there...
57740 20 20 20 20 28 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 0a 20 20 20 20 20 20 20 22 2f 5b 5e 2f 5d ....((string-match........"/[^/]
57760 2b 2d 5c 5c 28 5b 30 2d 39 5d 5c 5c 28 3f 3a 5b 30 2d 39 2e 5d 5c 5c 7c 70 72 65 5c 5c 7c 62 65 +-\\([0-9]\\(?:[0-9.]\\|pre\\|be
57780 74 61 5c 5c 7c 61 6c 70 68 61 5c 5c 7c 73 6e 61 70 73 68 6f 74 5c 5c 29 2b 5c 5c 29 2f 5b 5e 2f ta\\|alpha\\|snapshot\\)+\\)/[^/
577a0 5d 2b 5c 5c 27 22 0a 20 20 20 20 20 20 20 66 69 6c 65 29 0a 20 20 20 20 20 20 28 6d 61 74 63 68 ]+\\'"........file).......(match
577c0 2d 73 74 72 69 6e 67 20 31 20 66 69 6c 65 29 29 0a 20 20 20 20 20 3b 3b 20 46 6f 72 20 70 61 63 -string.1.file))......;;.For.pac
577e0 6b 61 67 65 73 20 72 75 6e 20 73 74 72 61 69 67 68 74 20 66 72 6f 6d 20 74 68 65 20 61 6e 20 65 kages.run.straight.from.the.an.e
57800 6c 70 61 2e 67 69 74 20 63 6c 6f 6e 65 2c 20 74 68 65 72 65 27 73 20 6e 6f 0a 20 20 20 20 20 3b lpa.git.clone,.there's.no......;
57820 3b 20 22 2d 3c 76 65 72 73 3e 22 20 69 6e 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d ;."-<vers>".in.the.directory.nam
57840 65 2c 20 73 6f 20 77 65 20 68 61 76 65 20 74 6f 20 66 65 74 63 68 20 74 68 65 20 76 65 72 73 69 e,.so.we.have.to.fetch.the.versi
57860 6f 6e 0a 20 20 20 20 20 3b 3b 20 74 68 65 20 68 61 72 64 20 77 61 79 2e 0a 20 20 20 20 20 28 28 on......;;.the.hard.way.......((
57880 6c 65 74 2a 20 28 28 70 6b 67 64 69 72 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f let*.((pkgdir.(file-name-directo
578a0 72 79 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6b 67 6e 61 6d 65 20 ry.file))..............(pkgname.
578c0 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 20 28 64 69 72 65 63 74 6f (file-name-nondirectory.(directo
578e0 72 79 2d 66 69 6c 65 2d 6e 61 6d 65 20 70 6b 67 64 69 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 ry-file-name.pkgdir)))..........
57900 20 20 20 20 28 6d 61 69 6e 66 69 6c 65 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 ....(mainfile.(expand-file-name.
57920 28 63 6f 6e 63 61 74 20 70 6b 67 6e 61 6d 65 20 22 2e 65 6c 22 29 20 70 6b 67 64 69 72 29 29 29 (concat.pkgname.".el").pkgdir)))
57940 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 66 69 6c 65 2d 72 65 61 64 61 62 6c 65 2d 70 20 .........(when.(file-readable-p.
57960 6d 61 69 6e 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 27 6c 69 mainfile)...........(require.'li
57980 73 70 2d 6d 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 sp-mnt)...........(with-temp-buf
579a0 66 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 2d 66 69 6c 65 2d 63 6f 6e fer.............(insert-file-con
579c0 74 65 6e 74 73 20 6d 61 69 6e 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 tents.mainfile).............(or.
579e0 28 6c 6d 2d 68 65 61 64 65 72 20 22 70 61 63 6b 61 67 65 2d 76 65 72 73 69 6f 6e 22 29 0a 20 20 (lm-header."package-version")...
57a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6d 2d 68 65 61 64 65 72 20 22 76 65 72 73 69 6f ..............(lm-header."versio
57a20 6e 22 29 29 29 29 29 29 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 74 69 6d n")))))))))..;;;;.Defined.in.tim
57a40 65 2d 64 61 74 65 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 6d 61 6b 65 2d 64 65 e-date.el..(compat-defun.make-de
57a60 63 6f 64 65 64 2d 74 69 6d 65 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 6d 61 6b 65 coded-time.;;.<compat-tests:make
57a80 2d 64 65 63 6f 64 65 64 2d 74 69 6d 65 3e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 26 6b -decoded-time>...............(&k
57aa0 65 79 20 73 65 63 6f 6e 64 20 6d 69 6e 75 74 65 20 68 6f 75 72 20 64 61 79 20 6d 6f 6e 74 68 20 ey.second.minute.hour.day.month.
57ac0 79 65 61 72 20 28 64 73 74 20 2d 31 29 20 7a 6f 6e 65 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 year.(dst.-1).zone)..."Return.a.
57ae0 60 64 65 63 6f 64 65 64 2d 74 69 6d 65 27 20 73 74 72 75 63 74 75 72 65 20 77 69 74 68 20 6f 6e `decoded-time'.structure.with.on
57b00 6c 79 20 74 68 65 20 6b 65 79 77 6f 72 64 73 20 67 69 76 65 6e 20 66 69 6c 6c 65 64 20 6f 75 74 ly.the.keywords.given.filled.out
57b20 2e 22 0a 20 20 3a 66 65 61 74 75 72 65 20 74 69 6d 65 2d 64 61 74 65 0a 20 20 28 6c 69 73 74 20 ."...:feature.time-date...(list.
57b40 73 65 63 6f 6e 64 20 6d 69 6e 75 74 65 20 68 6f 75 72 20 64 61 79 20 6d 6f 6e 74 68 20 79 65 61 second.minute.hour.day.month.yea
57b60 72 20 6e 69 6c 20 64 73 74 20 7a 6f 6e 65 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 r.nil.dst.zone))..(compat-defun.
57b80 64 61 74 65 2d 64 61 79 73 2d 69 6e 2d 6d 6f 6e 74 68 20 28 79 65 61 72 20 6d 6f 6e 74 68 29 20 date-days-in-month.(year.month).
57ba0 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 64 61 74 65 2d 64 61 79 73 2d 69 6e 2d 6d 6f ;;.<compat-tests:date-days-in-mo
57bc0 6e 74 68 3e 0a 20 20 22 54 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 64 61 79 73 20 69 6e 20 4d 4f nth>..."The.number.of.days.in.MO
57be0 4e 54 48 20 69 6e 20 59 45 41 52 2e 22 0a 20 20 3a 66 65 61 74 75 72 65 20 74 69 6d 65 2d 64 61 NTH.in.YEAR."...:feature.time-da
57c00 74 65 0a 20 20 28 75 6e 6c 65 73 73 20 28 61 6e 64 20 28 6e 75 6d 62 65 72 70 20 6d 6f 6e 74 68 te...(unless.(and.(numberp.month
57c20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3c 3d 20 31 20 6d 6f 6e 74 68 29 0a 20 20 )................(<=.1.month)...
57c40 20 20 20 20 20 20 20 20 20 20 20 20 20 28 3c 3d 20 6d 6f 6e 74 68 20 31 32 29 29 0a 20 20 20 20 .............(<=.month.12)).....
57c60 28 65 72 72 6f 72 20 22 4d 6f 6e 74 68 20 25 73 20 69 73 20 69 6e 76 61 6c 69 64 22 20 6d 6f 6e (error."Month.%s.is.invalid".mon
57c80 74 68 29 29 0a 20 20 28 69 66 20 28 3d 20 6d 6f 6e 74 68 20 32 29 0a 20 20 20 20 20 20 28 69 66 th))...(if.(=.month.2).......(if
57ca0 20 28 64 61 74 65 2d 6c 65 61 70 2d 79 65 61 72 2d 70 20 79 65 61 72 29 0a 20 20 20 20 20 20 20 .(date-leap-year-p.year)........
57cc0 20 20 20 32 39 0a 20 20 20 20 20 20 20 20 32 38 29 0a 20 20 20 20 28 69 66 20 28 6d 65 6d 71 20 ...29.........28).....(if.(memq.
57ce0 6d 6f 6e 74 68 20 27 28 31 20 33 20 35 20 37 20 38 20 31 30 20 31 32 29 29 0a 20 20 20 20 20 20 month.'(1.3.5.7.8.10.12)).......
57d00 20 20 33 31 0a 20 20 20 20 20 20 33 30 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 ..31.......30)))..(compat-defun.
57d20 64 61 74 65 2d 6f 72 64 69 6e 61 6c 2d 74 6f 2d 74 69 6d 65 20 28 79 65 61 72 20 6f 72 64 69 6e date-ordinal-to-time.(year.ordin
57d40 61 6c 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 64 61 74 65 2d 6f 72 64 69 6e 61 al).;;.<compat-tests:date-ordina
57d60 6c 2d 74 6f 2d 74 69 6d 65 3e 0a 20 20 22 43 6f 6e 76 65 72 74 20 61 20 59 45 41 52 2f 4f 52 44 l-to-time>..."Convert.a.YEAR/ORD
57d80 49 4e 41 4c 20 74 6f 20 74 68 65 20 65 71 75 69 76 61 6c 65 6e 74 20 60 64 65 63 6f 64 65 64 2d INAL.to.the.equivalent.`decoded-
57da0 74 69 6d 65 27 20 73 74 72 75 63 74 75 72 65 2e 0a 4f 52 44 49 4e 41 4c 20 69 73 20 74 68 65 20 time'.structure..ORDINAL.is.the.
57dc0 6e 75 6d 62 65 72 20 6f 66 20 64 61 79 73 20 73 69 6e 63 65 20 74 68 65 20 73 74 61 72 74 20 6f number.of.days.since.the.start.o
57de0 66 20 74 68 65 20 79 65 61 72 2c 20 77 69 74 68 0a 4a 61 6e 75 61 72 79 20 31 73 74 20 62 65 69 f.the.year,.with.January.1st.bei
57e00 6e 67 20 31 2e 22 0a 20 20 28 6c 65 74 20 28 28 6d 6f 6e 74 68 20 31 29 29 0a 20 20 20 20 28 77 ng.1."...(let.((month.1)).....(w
57e20 68 69 6c 65 20 28 3e 20 6f 72 64 69 6e 61 6c 20 28 64 61 74 65 2d 64 61 79 73 2d 69 6e 2d 6d 6f hile.(>.ordinal.(date-days-in-mo
57e40 6e 74 68 20 79 65 61 72 20 6d 6f 6e 74 68 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6f 72 64 nth.year.month)).......(setq.ord
57e60 69 6e 61 6c 20 28 2d 20 6f 72 64 69 6e 61 6c 20 28 64 61 74 65 2d 64 61 79 73 2d 69 6e 2d 6d 6f inal.(-.ordinal.(date-days-in-mo
57e80 6e 74 68 20 79 65 61 72 20 6d 6f 6e 74 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 6d 6f 6e nth.year.month)).............mon
57ea0 74 68 20 28 31 2b 20 6d 6f 6e 74 68 29 29 29 0a 20 20 20 20 28 6c 69 73 74 20 6e 69 6c 20 6e 69 th.(1+.month))).....(list.nil.ni
57ec0 6c 20 6e 69 6c 20 6f 72 64 69 6e 61 6c 20 6d 6f 6e 74 68 20 79 65 61 72 20 6e 69 6c 20 6e 69 6c l.nil.ordinal.month.year.nil.nil
57ee0 20 6e 69 6c 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 74 65 78 74 2d 70 72 .nil)))..;;;;.Defined.in.text-pr
57f00 6f 70 65 72 74 79 2d 73 65 61 72 63 68 2e 65 6c 0a 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 operty-search.el..(declare-funct
57f20 69 6f 6e 20 6d 61 6b 65 2d 70 72 6f 70 2d 6d 61 74 63 68 20 6e 69 6c 29 0a 28 63 6f 6d 70 61 74 ion.make-prop-match.nil).(compat
57f40 2d 67 75 61 72 64 20 28 6e 6f 74 20 28 66 62 6f 75 6e 64 70 20 27 6d 61 6b 65 2d 70 72 6f 70 2d -guard.(not.(fboundp.'make-prop-
57f60 6d 61 74 63 68 29 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 70 72 6f 70 2d 6d 61 match)).;;.<compat-tests:prop-ma
57f80 74 63 68 3e 0a 20 20 28 63 6c 2d 64 65 66 73 74 72 75 63 74 20 28 70 72 6f 70 2d 6d 61 74 63 68 tch>...(cl-defstruct.(prop-match
57fa0 29 20 62 65 67 69 6e 6e 69 6e 67 20 65 6e 64 20 76 61 6c 75 65 29 29 0a 0a 28 63 6f 6d 70 61 74 ).beginning.end.value))..(compat
57fc0 2d 64 65 66 75 6e 20 74 65 78 74 2d 70 72 6f 70 65 72 74 79 2d 73 65 61 72 63 68 2d 66 6f 72 77 -defun.text-property-search-forw
57fe0 61 72 64 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 74 65 78 74 2d 70 72 6f 70 65 72 ard.;;.<compat-tests:text-proper
58000 74 79 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 3e 0a 20 20 20 20 28 70 72 6f 70 65 72 74 79 ty-search-forward>.....(property
58020 20 26 6f 70 74 69 6f 6e 61 6c 20 76 61 6c 75 65 20 70 72 65 64 69 63 61 74 65 20 6e 6f 74 2d 63 .&optional.value.predicate.not-c
58040 75 72 72 65 6e 74 29 0a 20 20 22 53 65 61 72 63 68 20 66 6f 72 20 74 68 65 20 6e 65 78 74 20 72 urrent)..."Search.for.the.next.r
58060 65 67 69 6f 6e 20 6f 66 20 74 65 78 74 20 77 68 65 72 65 20 50 52 45 44 49 43 41 54 45 20 69 73 egion.of.text.where.PREDICATE.is
58080 20 74 72 75 65 2e 0a 50 52 45 44 49 43 41 54 45 20 69 73 20 75 73 65 64 20 74 6f 20 64 65 63 69 .true..PREDICATE.is.used.to.deci
580a0 64 65 20 77 68 65 74 68 65 72 20 61 20 76 61 6c 75 65 20 6f 66 20 50 52 4f 50 45 52 54 59 20 73 de.whether.a.value.of.PROPERTY.s
580c0 68 6f 75 6c 64 20 62 65 0a 63 6f 6e 73 69 64 65 72 65 64 20 61 73 20 6d 61 74 63 68 69 6e 67 20 hould.be.considered.as.matching.
580e0 56 41 4c 55 45 2e 0a 0a 49 66 20 50 52 45 44 49 43 41 54 45 20 69 73 20 61 20 66 75 6e 63 74 69 VALUE...If.PREDICATE.is.a.functi
58100 6f 6e 2c 20 69 74 20 77 69 6c 6c 20 62 65 20 63 61 6c 6c 65 64 20 77 69 74 68 20 74 77 6f 20 61 on,.it.will.be.called.with.two.a
58120 72 67 75 6d 65 6e 74 73 3a 0a 56 41 4c 55 45 20 61 6e 64 20 74 68 65 20 76 61 6c 75 65 20 6f 66 rguments:.VALUE.and.the.value.of
58140 20 50 52 4f 50 45 52 54 59 2e 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 73 68 6f 75 6c 64 20 .PROPERTY...The.function.should.
58160 72 65 74 75 72 6e 0a 6e 6f 6e 2d 6e 69 6c 20 69 66 20 74 68 65 73 65 20 74 77 6f 20 76 61 6c 75 return.non-nil.if.these.two.valu
58180 65 73 20 61 72 65 20 74 6f 20 62 65 20 63 6f 6e 73 69 64 65 72 65 64 20 61 20 6d 61 74 63 68 2e es.are.to.be.considered.a.match.
581a0 0a 0a 54 77 6f 20 73 70 65 63 69 61 6c 20 76 61 6c 75 65 73 20 6f 66 20 50 52 45 44 49 43 41 54 ..Two.special.values.of.PREDICAT
581c0 45 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 75 73 65 64 3a 0a 49 66 20 50 52 45 44 49 43 41 54 45 E.can.also.be.used:.If.PREDICATE
581e0 20 69 73 20 74 2c 20 74 68 61 74 20 6d 65 61 6e 73 20 61 20 76 61 6c 75 65 20 6d 75 73 74 20 60 .is.t,.that.means.a.value.must.`
58200 65 71 75 61 6c 27 20 56 41 4c 55 45 20 74 6f 20 62 65 0a 63 6f 6e 73 69 64 65 72 65 64 20 61 20 equal'.VALUE.to.be.considered.a.
58220 6d 61 74 63 68 2e 0a 49 66 20 50 52 45 44 49 43 41 54 45 20 69 73 20 6e 69 6c 20 28 77 68 69 63 match..If.PREDICATE.is.nil.(whic
58240 68 20 69 73 20 74 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 29 2c 20 61 20 76 61 6c 75 65 h.is.the.default.value),.a.value
58260 20 77 69 6c 6c 0a 6d 61 74 63 68 20 69 66 20 69 73 20 6e 6f 74 20 60 65 71 75 61 6c 27 20 74 6f .will.match.if.is.not.`equal'.to
58280 20 56 41 4c 55 45 2e 20 20 46 75 72 74 68 65 72 6d 6f 72 65 2c 20 61 20 6e 69 6c 20 50 52 45 44 .VALUE...Furthermore,.a.nil.PRED
582a0 49 43 41 54 45 0a 6d 65 61 6e 73 20 74 68 61 74 20 74 68 65 20 6d 61 74 63 68 20 72 65 67 69 6f ICATE.means.that.the.match.regio
582c0 6e 20 69 73 20 65 6e 64 65 64 20 69 66 20 74 68 65 20 76 61 6c 75 65 20 63 68 61 6e 67 65 73 2e n.is.ended.if.the.value.changes.
582e0 20 20 46 6f 72 0a 69 6e 73 74 61 6e 63 65 2c 20 74 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 ..For.instance,.this.means.that.
58300 69 66 20 79 6f 75 20 6c 6f 6f 70 20 77 69 74 68 0a 0a 20 20 28 77 68 69 6c 65 20 28 73 65 74 71 if.you.loop.with....(while.(setq
58320 20 70 72 6f 70 20 28 74 65 78 74 2d 70 72 6f 70 65 72 74 79 2d 73 65 61 72 63 68 2d 66 6f 72 77 .prop.(text-property-search-forw
58340 61 72 64 20 5c 5c 3d 27 66 61 63 65 29 29 0a 20 20 20 20 2e 2e 2e 29 0a 0a 79 6f 75 20 77 69 6c ard.\\='face))........)..you.wil
58360 6c 20 67 65 74 20 61 6c 6c 20 64 69 73 74 69 6e 63 74 20 72 65 67 69 6f 6e 73 20 77 69 74 68 20 l.get.all.distinct.regions.with.
58380 6e 6f 6e 2d 6e 69 6c 20 60 66 61 63 65 27 20 76 61 6c 75 65 73 20 69 6e 0a 74 68 65 20 62 75 66 non-nil.`face'.values.in.the.buf
583a0 66 65 72 2c 20 61 6e 64 20 74 68 65 20 60 70 72 6f 70 27 20 6f 62 6a 65 63 74 20 77 69 6c 6c 20 fer,.and.the.`prop'.object.will.
583c0 68 61 76 65 20 74 68 65 20 64 65 74 61 69 6c 73 20 61 62 6f 75 74 20 74 68 65 0a 6d 61 74 63 68 have.the.details.about.the.match
583e0 2e 20 20 53 65 65 20 74 68 65 20 6d 61 6e 75 61 6c 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 ...See.the.manual.for.more.detai
58400 6c 73 20 61 6e 64 20 65 78 61 6d 70 6c 65 73 20 61 62 6f 75 74 20 68 6f 77 0a 56 41 4c 55 45 20 ls.and.examples.about.how.VALUE.
58420 61 6e 64 20 50 52 45 44 49 43 41 54 45 20 69 6e 74 65 72 61 63 74 2e 0a 0a 49 66 20 4e 4f 54 2d and.PREDICATE.interact...If.NOT-
58440 43 55 52 52 45 4e 54 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e CURRENT.is.non-nil,.the.function
58460 20 77 69 6c 6c 20 73 65 61 72 63 68 20 66 6f 72 20 74 68 65 20 66 69 72 73 74 0a 72 65 67 69 6f .will.search.for.the.first.regio
58480 6e 20 74 68 61 74 20 64 6f 65 73 6e 27 74 20 69 6e 63 6c 75 64 65 20 70 6f 69 6e 74 20 61 6e 64 n.that.doesn't.include.point.and
584a0 20 68 61 73 20 61 20 76 61 6c 75 65 20 6f 66 20 50 52 4f 50 45 52 54 59 0a 74 68 61 74 20 6d 61 .has.a.value.of.PROPERTY.that.ma
584c0 74 63 68 65 73 20 56 41 4c 55 45 2e 0a 0a 49 66 20 6e 6f 20 6d 61 74 63 68 65 73 20 63 61 6e 20 tches.VALUE...If.no.matches.can.
584e0 62 65 20 66 6f 75 6e 64 2c 20 72 65 74 75 72 6e 20 6e 69 6c 20 61 6e 64 20 64 6f 6e 27 74 20 6d be.found,.return.nil.and.don't.m
58500 6f 76 65 20 70 6f 69 6e 74 2e 0a 49 66 20 66 6f 75 6e 64 2c 20 6d 6f 76 65 20 70 6f 69 6e 74 20 ove.point..If.found,.move.point.
58520 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 72 65 67 69 6f 6e 20 61 6e 64 20 72 65 74 to.the.end.of.the.region.and.ret
58540 75 72 6e 20 61 0a 60 70 72 6f 70 2d 6d 61 74 63 68 27 20 6f 62 6a 65 63 74 20 64 65 73 63 72 69 urn.a.`prop-match'.object.descri
58560 62 69 6e 67 20 74 68 65 20 6d 61 74 63 68 2e 20 20 54 6f 20 61 63 63 65 73 73 20 74 68 65 20 64 bing.the.match...To.access.the.d
58580 65 74 61 69 6c 73 0a 6f 66 20 74 68 65 20 6d 61 74 63 68 2c 20 75 73 65 20 60 70 72 6f 70 2d 6d etails.of.the.match,.use.`prop-m
585a0 61 74 63 68 2d 62 65 67 69 6e 6e 69 6e 67 27 20 61 6e 64 20 60 70 72 6f 70 2d 6d 61 74 63 68 2d atch-beginning'.and.`prop-match-
585c0 65 6e 64 27 20 66 6f 72 0a 74 68 65 20 62 75 66 66 65 72 20 70 6f 73 69 74 69 6f 6e 73 20 74 68 end'.for.the.buffer.positions.th
585e0 61 74 20 6c 69 6d 69 74 20 74 68 65 20 72 65 67 69 6f 6e 2c 20 61 6e 64 0a 60 70 72 6f 70 2d 6d at.limit.the.region,.and.`prop-m
58600 61 74 63 68 2d 76 61 6c 75 65 27 20 66 6f 72 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 50 52 4f atch-value'.for.the.value.of.PRO
58620 50 45 52 54 59 20 69 6e 20 74 68 65 20 72 65 67 69 6f 6e 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 PERTY.in.the.region."...(let*.((
58640 6d 61 74 63 68 2d 70 0a 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 70 72 6f 70 2d match-p...........(lambda.(prop-
58660 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 0a 20 20 20 20 value).............(funcall.....
58680 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 .........(cond...............((e
586a0 71 20 70 72 65 64 69 63 61 74 65 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 q.predicate.t)................#'
586c0 65 71 75 61 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 70 72 65 64 69 63 equal)...............((eq.predic
586e0 61 74 65 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 ate.nil)................(lambda.
58700 28 76 61 6c 20 70 2d 76 61 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f (val.p-val)..................(no
58720 74 20 28 65 71 75 61 6c 20 76 61 6c 20 70 2d 76 61 6c 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 t.(equal.val.p-val))))..........
58740 20 20 20 20 20 28 70 72 65 64 69 63 61 74 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 76 .....(predicate))..............v
58760 61 6c 75 65 20 70 72 6f 70 2d 76 61 6c 75 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 69 6e alue.prop-value)))..........(fin
58780 64 2d 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 73 74 61 72 74 29 0a d-end...........(lambda.(start).
587a0 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 ............(let.(end)..........
587c0 20 20 20 20 20 28 69 66 20 28 61 6e 64 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 .....(if.(and.value.............
587e0 20 20 20 20 20 20 20 20 20 20 20 28 6e 75 6c 6c 20 70 72 65 64 69 63 61 74 65 29 29 0a 20 20 20 ...........(null.predicate))....
58800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 54 68 69 73 20 69 73 20 74 68 65 20 6e 6f ...............;;.This.is.the.no
58820 72 6d 61 6c 20 63 61 73 65 3a 20 57 65 27 72 65 20 6c 6f 6f 6b 69 6e 67 20 66 6f 72 20 61 72 65 rmal.case:.We're.looking.for.are
58840 61 73 20 77 68 65 72 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b as.where.the...................;
58860 3b 20 76 61 6c 75 65 73 20 61 72 65 6e 27 74 2c 20 73 6f 20 77 65 20 61 72 65 6e 27 74 20 69 6e ;.values.aren't,.so.we.aren't.in
58880 74 65 72 65 73 74 65 64 20 69 6e 20 73 75 62 2d 61 72 65 61 73 20 77 68 65 72 65 20 74 68 65 0a terested.in.sub-areas.where.the.
588a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 70 72 6f 70 65 72 74 79 20 68 61 ..................;;.property.ha
588c0 73 20 64 69 66 66 65 72 65 6e 74 20 76 61 6c 75 65 73 2c 20 61 6c 6c 20 6e 6f 6e 2d 6d 61 74 63 s.different.values,.all.non-matc
588e0 68 69 6e 67 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c hing.value....................(l
58900 65 74 20 28 28 65 6e 64 65 64 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 et.((ended.nil))................
58920 20 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 20 65 6e 64 65 64 29 0a 20 20 20 20 20 20 20 20 .....(while.(not.ended).........
58940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 65 6e 64 20 28 6e 65 78 74 2d 73 69 ..............(setq.end.(next-si
58960 6e 67 6c 65 2d 70 72 6f 70 65 72 74 79 2d 63 68 61 6e 67 65 20 28 70 6f 69 6e 74 29 20 70 72 6f ngle-property-change.(point).pro
58980 70 65 72 74 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 perty)).......................(i
589a0 66 20 28 6e 6f 74 20 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 f.(not.end).....................
589c0 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......(progn....................
589e0 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 .........(goto-char.(point-max))
58a00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 .............................(se
58a20 74 71 20 65 6e 64 20 28 70 6f 69 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tq.end.(point)..................
58a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 64 65 64 20 74 29 29 0a 20 20 20 20 20 .................ended.t))......
58a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 65 6e ...................(goto-char.en
58a80 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 d).........................(unle
58aa0 73 73 20 28 66 75 6e 63 61 6c 6c 20 6d 61 74 63 68 2d 70 20 28 67 65 74 2d 74 65 78 74 2d 70 72 ss.(funcall.match-p.(get-text-pr
58ac0 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 70 72 6f 70 65 72 74 79 29 29 0a 20 20 20 20 20 20 operty.(point).property)).......
58ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 65 6e 64 65 64 20 ....................(setq.ended.
58b00 74 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 45 6e 64 20 74 68 t))))).................;;.End.th
58b20 69 73 20 61 74 20 74 68 65 20 66 69 72 73 74 20 70 6c 61 63 65 20 74 68 65 20 70 72 6f 70 65 72 is.at.the.first.place.the.proper
58b40 74 79 20 63 68 61 6e 67 65 73 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ty.changes.value................
58b60 20 20 28 73 65 74 71 20 65 6e 64 20 28 6e 65 78 74 2d 73 69 6e 67 6c 65 2d 70 72 6f 70 65 72 74 ..(setq.end.(next-single-propert
58b80 79 2d 63 68 61 6e 67 65 20 28 70 6f 69 6e 74 29 20 70 72 6f 70 65 72 74 79 20 6e 69 6c 20 28 70 y-change.(point).property.nil.(p
58ba0 6f 69 6e 74 2d 6d 61 78 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 oint-max))).................(got
58bc0 6f 2d 63 68 61 72 20 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 o-char.end))...............(make
58be0 2d 70 72 6f 70 2d 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 62 65 67 69 -prop-match................:begi
58c00 6e 6e 69 6e 67 20 73 74 61 72 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 65 6e 64 20 nning.start................:end.
58c20 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 76 61 6c 75 65 20 28 67 65 74 2d 74 end................:value.(get-t
58c40 65 78 74 2d 70 72 6f 70 65 72 74 79 20 73 74 61 72 74 20 70 72 6f 70 65 72 74 79 29 29 29 29 29 ext-property.start.property)))))
58c60 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 3b 3b 20 4e 6f 20 6d 61 74 63 68 65 73 20 61 ).....(cond......;;.No.matches.a
58c80 74 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 62 75 66 66 65 72 2e 0a 20 20 20 20 20 28 28 t.the.end.of.the.buffer.......((
58ca0 65 6f 62 70 29 0a 20 20 20 20 20 20 6e 69 6c 29 0a 20 20 20 20 20 3b 3b 20 57 65 27 72 65 20 73 eobp).......nil)......;;.We're.s
58cc0 74 61 6e 64 69 6e 67 20 69 6e 20 74 68 65 20 70 72 6f 70 65 72 74 79 20 77 65 27 72 65 20 6c 6f tanding.in.the.property.we're.lo
58ce0 6f 6b 69 6e 67 20 66 6f 72 2c 20 73 6f 20 66 69 6e 64 20 74 68 65 0a 20 20 20 20 20 3b 3b 20 65 oking.for,.so.find.the......;;.e
58d00 6e 64 2e 0a 20 20 20 20 20 28 28 61 6e 64 20 28 66 75 6e 63 61 6c 6c 20 6d 61 74 63 68 2d 70 20 nd.......((and.(funcall.match-p.
58d20 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 70 72 6f 70 65 (get-text-property.(point).prope
58d40 72 74 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 6e 6f 74 2d 63 75 72 72 65 6e rty))............(not.not-curren
58d60 74 29 29 0a 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 66 69 6e 64 2d 65 6e 64 20 28 70 6f 69 t)).......(funcall.find-end.(poi
58d80 6e 74 29 29 29 0a 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 6f 72 69 67 69 nt)))......(t.......(let.((origi
58da0 6e 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 65 6e 64 65 64 20 6e 69 n.(point)).............(ended.ni
58dc0 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 6f 73 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 46 l).............pos).........;;.F
58de0 69 6e 64 20 74 68 65 20 6e 65 78 74 20 63 61 6e 64 69 64 61 74 65 2e 0a 20 20 20 20 20 20 20 20 ind.the.next.candidate..........
58e00 28 77 68 69 6c 65 20 28 6e 6f 74 20 65 6e 64 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 (while.(not.ended)...........(se
58e20 74 71 20 70 6f 73 20 28 6e 65 78 74 2d 73 69 6e 67 6c 65 2d 70 72 6f 70 65 72 74 79 2d 63 68 61 tq.pos.(next-single-property-cha
58e40 6e 67 65 20 28 70 6f 69 6e 74 29 20 70 72 6f 70 65 72 74 79 29 29 0a 20 20 20 20 20 20 20 20 20 nge.(point).property))..........
58e60 20 28 69 66 20 28 6e 6f 74 20 70 6f 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 .(if.(not.pos)...............(pr
58e80 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 6f ogn.................(goto-char.o
58ea0 72 69 67 69 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 65 6e 64 rigin).................(setq.end
58ec0 65 64 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 70 6f ed.t)).............(goto-char.po
58ee0 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 66 75 6e 63 61 6c 6c 20 6d 61 74 63 s).............(if.(funcall.matc
58f00 68 2d 70 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 70 h-p.(get-text-property.(point).p
58f20 72 6f 70 65 72 74 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 roperty)).................(setq.
58f40 65 6e 64 65 64 20 28 66 75 6e 63 61 6c 6c 20 66 69 6e 64 2d 65 6e 64 20 28 70 6f 69 6e 74 29 29 ended.(funcall.find-end.(point))
58f60 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 53 6b 69 70 20 70 61 73 74 20 74 68 69 )...............;;.Skip.past.thi
58f80 73 20 73 65 63 74 69 6f 6e 20 6f 66 20 6e 6f 6e 2d 6d 61 74 63 68 65 73 2e 0a 20 20 20 20 20 20 s.section.of.non-matches........
58fa0 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 6f 73 20 28 6e 65 78 74 2d 73 69 6e 67 6c 65 2d 70 ........(setq.pos.(next-single-p
58fc0 72 6f 70 65 72 74 79 2d 63 68 61 6e 67 65 20 28 70 6f 69 6e 74 29 20 70 72 6f 70 65 72 74 79 29 roperty-change.(point).property)
58fe0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 70 6f 73 0a 20 20 20 20 )...............(unless.pos.....
59000 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 6f 72 69 67 69 6e 29 0a 20 ............(goto-char.origin)..
59020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 65 6e 64 65 64 20 74 29 29 29 29 ...............(setq.ended.t))))
59040 29 0a 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 6e 6f 74 20 28 65 71 20 65 6e 64 65 64 20 74 29 ).........(and.(not.(eq.ended.t)
59060 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6e 64 65 64 29 29 29 29 29 29 0a 0a 28 63 6f 6d )..............ended))))))..(com
59080 70 61 74 2d 64 65 66 75 6e 20 74 65 78 74 2d 70 72 6f 70 65 72 74 79 2d 73 65 61 72 63 68 2d 62 pat-defun.text-property-search-b
590a0 61 63 6b 77 61 72 64 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 74 65 78 74 2d 70 72 ackward.;;.<compat-tests:text-pr
590c0 6f 70 65 72 74 79 2d 73 65 61 72 63 68 2d 62 61 63 6b 77 61 72 64 3e 0a 20 20 20 20 28 70 72 6f operty-search-backward>.....(pro
590e0 70 65 72 74 79 20 26 6f 70 74 69 6f 6e 61 6c 20 76 61 6c 75 65 20 70 72 65 64 69 63 61 74 65 20 perty.&optional.value.predicate.
59100 6e 6f 74 2d 63 75 72 72 65 6e 74 29 0a 20 20 22 53 65 61 72 63 68 20 66 6f 72 20 74 68 65 20 70 not-current)..."Search.for.the.p
59120 72 65 76 69 6f 75 73 20 72 65 67 69 6f 6e 20 6f 66 20 74 65 78 74 20 77 68 6f 73 65 20 50 52 4f revious.region.of.text.whose.PRO
59140 50 45 52 54 59 20 6d 61 74 63 68 65 73 20 56 41 4c 55 45 2e 0a 0a 4c 69 6b 65 20 60 74 65 78 74 PERTY.matches.VALUE...Like.`text
59160 2d 70 72 6f 70 65 72 74 79 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 27 2c 20 77 68 69 63 68 -property-search-forward',.which
59180 20 73 65 65 2c 20 62 75 74 20 73 65 61 72 63 68 65 73 20 62 61 63 6b 77 61 72 64 2c 0a 61 6e 64 .see,.but.searches.backward,.and
591a0 20 69 66 20 61 20 6d 61 74 63 68 69 6e 67 20 72 65 67 69 6f 6e 20 69 73 20 66 6f 75 6e 64 2c 20 .if.a.matching.region.is.found,.
591c0 70 6c 61 63 65 20 70 6f 69 6e 74 20 61 74 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 74 68 65 20 place.point.at.the.start.of.the.
591e0 72 65 67 69 6f 6e 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 6d 61 74 63 68 2d 70 0a 20 20 20 20 20 region."...(let*.((match-p......
59200 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 70 72 6f 70 2d 76 61 6c 75 65 29 0a 20 20 20 20 20 20 .....(lambda.(prop-value).......
59220 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e ......(funcall..............(con
59240 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 70 72 65 64 69 63 61 74 65 20 74 d...............((eq.predicate.t
59260 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 65 71 75 61 6c 29 0a 20 20 20 20 20 20 )................#'equal).......
59280 20 20 20 20 20 20 20 20 28 28 65 71 20 70 72 65 64 69 63 61 74 65 20 6e 69 6c 29 0a 20 20 20 20 ........((eq.predicate.nil).....
592a0 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 76 61 6c 20 70 2d 76 61 6c 29 0a 20 ...........(lambda.(val.p-val)..
592c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 65 71 75 61 6c 20 76 61 6c 20 ................(not.(equal.val.
592e0 70 2d 76 61 6c 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 65 64 69 63 61 p-val))))...............(predica
59300 74 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 6c 75 65 20 70 72 6f 70 2d 76 61 6c te))..............value.prop-val
59320 75 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 69 6e 64 2d 65 6e 64 0a 20 20 20 20 20 20 20 ue)))..........(find-end........
59340 20 20 20 28 6c 61 6d 62 64 61 20 28 73 74 61 72 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 ...(lambda.(start).............(
59360 6c 65 74 20 28 65 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 61 6e 64 let.(end)...............(if.(and
59380 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e .value........................(n
593a0 75 6c 6c 20 70 72 65 64 69 63 61 74 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ull.predicate)).................
593c0 20 20 3b 3b 20 54 68 69 73 20 69 73 20 74 68 65 20 6e 6f 72 6d 61 6c 20 63 61 73 65 3a 20 57 65 ..;;.This.is.the.normal.case:.We
593e0 27 72 65 20 6c 6f 6f 6b 69 6e 67 20 66 6f 72 20 61 72 65 61 73 20 77 68 65 72 65 20 74 68 65 0a 're.looking.for.areas.where.the.
59400 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 76 61 6c 75 65 73 20 61 72 65 6e ..................;;.values.aren
59420 27 74 2c 20 73 6f 20 77 65 20 61 72 65 6e 27 74 20 69 6e 74 65 72 65 73 74 65 64 20 69 6e 20 73 't,.so.we.aren't.interested.in.s
59440 75 62 2d 61 72 65 61 73 20 77 68 65 72 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ub-areas.where.the..............
59460 20 20 20 20 20 3b 3b 20 70 72 6f 70 65 72 74 79 20 68 61 73 20 64 69 66 66 65 72 65 6e 74 20 76 .....;;.property.has.different.v
59480 61 6c 75 65 73 2c 20 61 6c 6c 20 6e 6f 6e 2d 6d 61 74 63 68 69 6e 67 20 76 61 6c 75 65 2e 0a 20 alues,.all.non-matching.value...
594a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 65 6e 64 65 64 20 6e 69 .................(let.((ended.ni
594c0 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 l)).....................(while.(
594e0 6e 6f 74 20 65 6e 64 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 not.ended)......................
59500 20 28 73 65 74 71 20 65 6e 64 20 28 70 72 65 76 69 6f 75 73 2d 73 69 6e 67 6c 65 2d 70 72 6f 70 .(setq.end.(previous-single-prop
59520 65 72 74 79 2d 63 68 61 6e 67 65 20 28 70 6f 69 6e 74 29 20 70 72 6f 70 65 72 74 79 29 29 0a 20 erty-change.(point).property))..
59540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6e 6f 74 20 65 6e .....................(if.(not.en
59560 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 d)...........................(pr
59580 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ogn.............................
595a0 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 0a 20 20 20 20 20 20 20 20 (goto-char.(point-min)).........
595c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 65 6e 64 20 28 70 ....................(setq.end.(p
595e0 6f 69 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 oint)...........................
59600 20 20 20 20 20 20 20 20 65 6e 64 65 64 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........ended.t))...............
59620 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 31 2d 20 65 6e 64 29 29 0a 20 ..........(goto-char.(1-.end))..
59640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 .......................(unless.(
59660 66 75 6e 63 61 6c 6c 20 6d 61 74 63 68 2d 70 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 funcall.match-p.(get-text-proper
59680 74 79 20 28 70 6f 69 6e 74 29 20 70 72 6f 70 65 72 74 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 ty.(point).property))...........
596a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 65 6e 64 29 0a ................(goto-char.end).
596c0 20 20 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 65 74 71 20 ..........................(setq.
596e0 65 6e 64 65 64 20 74 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 ended.t))))).................;;.
59700 45 6e 64 20 74 68 69 73 20 61 74 20 74 68 65 20 66 69 72 73 74 20 70 6c 61 63 65 20 74 68 65 20 End.this.at.the.first.place.the.
59720 70 72 6f 70 65 72 74 79 20 63 68 61 6e 67 65 73 20 76 61 6c 75 65 2e 0a 20 20 20 20 20 20 20 20 property.changes.value..........
59740 20 20 20 20 20 20 20 20 28 73 65 74 71 20 65 6e 64 20 28 70 72 65 76 69 6f 75 73 2d 73 69 6e 67 ........(setq.end.(previous-sing
59760 6c 65 2d 70 72 6f 70 65 72 74 79 2d 63 68 61 6e 67 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 le-property-change..............
59780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6f 69 6e 74 29 20 70 72 6f 70 65 72 74 79 20 6e ..............(point).property.n
597a0 69 6c 20 28 70 6f 69 6e 74 2d 6d 69 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 il.(point-min)))................
597c0 20 28 67 6f 74 6f 2d 63 68 61 72 20 65 6e 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(goto-char.end))...............
597e0 28 6d 61 6b 65 2d 70 72 6f 70 2d 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (make-prop-match................
59800 3a 62 65 67 69 6e 6e 69 6e 67 20 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 65 :beginning.end................:e
59820 6e 64 20 28 31 2b 20 73 74 61 72 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 76 61 nd.(1+.start)................:va
59840 6c 75 65 20 28 67 65 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 65 6e 64 20 70 72 6f 70 65 lue.(get-text-property.end.prope
59860 72 74 79 29 29 29 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 20 20 3b 3b 20 57 65 27 72 rty)))))).....(cond......;;.We'r
59880 65 20 61 74 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 74 68 65 20 62 75 66 66 65 72 3b 20 6e 6f e.at.the.start.of.the.buffer;.no
598a0 20 70 72 65 76 69 6f 75 73 20 6d 61 74 63 68 65 73 2e 0a 20 20 20 20 20 28 28 62 6f 62 70 29 0a .previous.matches.......((bobp).
598c0 20 20 20 20 20 20 6e 69 6c 29 0a 20 20 20 20 20 3b 3b 20 57 65 27 72 65 20 73 74 61 6e 64 69 6e ......nil)......;;.We're.standin
598e0 67 20 69 6e 20 74 68 65 20 70 72 6f 70 65 72 74 79 20 77 65 27 72 65 20 6c 6f 6f 6b 69 6e 67 20 g.in.the.property.we're.looking.
59900 66 6f 72 2c 20 73 6f 20 66 69 6e 64 20 74 68 65 0a 20 20 20 20 20 3b 3b 20 65 6e 64 2e 0a 20 20 for,.so.find.the......;;.end....
59920 20 20 20 28 28 66 75 6e 63 61 6c 6c 20 6d 61 74 63 68 2d 70 20 28 67 65 74 2d 74 65 78 74 2d 70 ...((funcall.match-p.(get-text-p
59940 72 6f 70 65 72 74 79 20 28 31 2d 20 28 70 6f 69 6e 74 29 29 20 70 72 6f 70 65 72 74 79 29 29 0a roperty.(1-.(point)).property)).
59960 20 20 20 20 20 20 28 6c 65 74 20 28 28 6f 72 69 67 69 6e 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 ......(let.((origin.(point))....
59980 20 20 20 20 20 20 20 20 20 28 6d 61 74 63 68 20 28 66 75 6e 63 61 6c 6c 20 66 69 6e 64 2d 65 6e .........(match.(funcall.find-en
599a0 64 20 28 31 2d 20 28 70 6f 69 6e 74 29 29 20 70 72 6f 70 65 72 74 79 20 76 61 6c 75 65 20 70 72 d.(1-.(point)).property.value.pr
599c0 65 64 69 63 61 74 65 29 29 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 57 68 65 6e 20 77 65 20 77 61 edicate))).........;;.When.we.wa
599e0 6e 74 20 74 6f 20 69 67 6e 6f 72 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 6c 65 6d 65 6e 74 nt.to.ignore.the.current.element
59a00 2c 20 74 68 65 6e 20 72 65 70 65 61 74 20 74 68 65 0a 20 20 20 20 20 20 20 20 3b 3b 20 73 65 61 ,.then.repeat.the.........;;.sea
59a20 72 63 68 20 69 66 20 77 65 20 68 61 76 65 6e 27 74 20 6d 6f 76 65 64 20 6f 75 74 20 6f 66 20 69 rch.if.we.haven't.moved.out.of.i
59a40 74 20 79 65 74 2e 0a 20 20 20 20 20 20 20 20 28 69 66 20 28 61 6e 64 20 6e 6f 74 2d 63 75 72 72 t.yet..........(if.(and.not-curr
59a60 65 6e 74 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 67 65 74 ent..................(equal.(get
59a80 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 20 28 70 6f 69 6e 74 29 20 70 72 6f 70 65 72 74 79 29 -text-property.(point).property)
59aa0 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 28 67 65 74 2d 74 65 .........................(get-te
59ac0 78 74 2d 70 72 6f 70 65 72 74 79 20 6f 72 69 67 69 6e 20 70 72 6f 70 65 72 74 79 29 29 29 0a 20 xt-property.origin.property)))..
59ae0 20 20 20 20 20 20 20 20 20 20 20 28 74 65 78 74 2d 70 72 6f 70 65 72 74 79 2d 73 65 61 72 63 68 ...........(text-property-search
59b00 2d 62 61 63 6b 77 61 72 64 20 70 72 6f 70 65 72 74 79 20 76 61 6c 75 65 20 70 72 65 64 69 63 61 -backward.property.value.predica
59b20 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 6d 61 74 63 68 29 29 29 0a 20 20 20 20 20 28 74 0a 20 te)...........match)))......(t..
59b40 20 20 20 20 20 28 6c 65 74 20 28 28 6f 72 69 67 69 6e 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 .....(let.((origin.(point)).....
59b60 20 20 20 20 20 20 20 20 28 65 6e 64 65 64 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ........(ended.nil).............
59b80 70 6f 73 29 0a 20 20 20 20 20 20 20 20 3b 3b 20 46 69 6e 64 20 74 68 65 20 70 72 65 76 69 6f 75 pos).........;;.Find.the.previou
59ba0 73 20 63 61 6e 64 69 64 61 74 65 2e 0a 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 6e 6f 74 s.candidate..........(while.(not
59bc0 20 65 6e 64 65 64 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 6f 73 20 28 70 72 65 .ended)...........(setq.pos.(pre
59be0 76 69 6f 75 73 2d 73 69 6e 67 6c 65 2d 70 72 6f 70 65 72 74 79 2d 63 68 61 6e 67 65 20 28 70 6f vious-single-property-change.(po
59c00 69 6e 74 29 20 70 72 6f 70 65 72 74 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6e int).property))...........(if.(n
59c20 6f 74 20 70 6f 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 0a 20 20 20 ot.pos)...............(progn....
59c40 20 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 6f 72 69 67 69 6e 29 0a .............(goto-char.origin).
59c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 65 6e 64 65 64 20 74 29 29 0a ................(setq.ended.t)).
59c80 20 20 20 20 20 20 20 20 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 31 2d 20 70 6f 73 29 29 ............(goto-char.(1-.pos))
59ca0 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 66 75 6e 63 61 6c 6c 20 6d 61 74 63 68 2d .............(if.(funcall.match-
59cc0 70 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 70 72 6f p.(get-text-property.(point).pro
59ce0 70 65 72 74 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 65 6e perty)).................(setq.en
59d00 64 65 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 ded.......................(funca
59d20 6c 6c 20 66 69 6e 64 2d 65 6e 64 20 28 70 6f 69 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 ll.find-end.(point)))...........
59d40 20 20 20 20 3b 3b 20 53 6b 69 70 20 70 61 73 74 20 74 68 69 73 20 73 65 63 74 69 6f 6e 20 6f 66 ....;;.Skip.past.this.section.of
59d60 20 6e 6f 6e 2d 6d 61 74 63 68 65 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 .non-matches................(set
59d80 71 20 70 6f 73 20 28 70 72 65 76 69 6f 75 73 2d 73 69 6e 67 6c 65 2d 70 72 6f 70 65 72 74 79 2d q.pos.(previous-single-property-
59da0 63 68 61 6e 67 65 20 28 70 6f 69 6e 74 29 20 70 72 6f 70 65 72 74 79 29 29 0a 20 20 20 20 20 20 change.(point).property)).......
59dc0 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 70 6f 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 ........(unless.pos.............
59de0 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 6f 72 69 67 69 6e 29 0a 20 20 20 20 20 20 20 20 20 ....(goto-char.origin)..........
59e00 20 20 20 20 20 20 20 28 73 65 74 71 20 65 6e 64 65 64 20 74 29 29 29 29 29 0a 20 20 20 20 20 20 .......(setq.ended.t))))).......
59e20 20 20 28 61 6e 64 20 28 6e 6f 74 20 28 65 71 20 65 6e 64 65 64 20 74 29 29 0a 20 20 20 20 20 20 ..(and.(not.(eq.ended.t)).......
59e40 20 20 20 20 20 20 20 65 6e 64 65 64 29 29 29 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 .......ended))))))..;;;;.Defined
59e60 20 69 6e 20 72 69 6e 67 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 72 69 6e 67 2d .in.ring.el..(compat-defun.ring-
59e80 72 65 73 69 7a 65 20 28 72 69 6e 67 20 73 69 7a 65 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 resize.(ring.size).;;.<compat-te
59ea0 73 74 73 3a 72 69 6e 67 2d 72 65 73 69 7a 65 3e 0a 20 20 22 53 65 74 20 74 68 65 20 73 69 7a 65 sts:ring-resize>..."Set.the.size
59ec0 20 6f 66 20 52 49 4e 47 20 74 6f 20 53 49 5a 45 2e 0a 49 66 20 74 68 65 20 6e 65 77 20 73 69 7a .of.RING.to.SIZE..If.the.new.siz
59ee0 65 20 69 73 20 73 6d 61 6c 6c 65 72 2c 20 74 68 65 6e 20 74 68 65 20 6f 6c 64 65 73 74 20 69 74 e.is.smaller,.then.the.oldest.it
59f00 65 6d 73 20 69 6e 20 74 68 65 20 72 69 6e 67 20 61 72 65 0a 64 69 73 63 61 72 64 65 64 2e 22 0a ems.in.the.ring.are.discarded.".
59f20 20 20 3a 66 65 61 74 75 72 65 20 72 69 6e 67 0a 20 20 28 77 68 65 6e 20 28 69 6e 74 65 67 65 72 ..:feature.ring...(when.(integer
59f40 70 20 73 69 7a 65 29 0a 20 20 20 20 28 6c 65 74 20 28 28 6c 65 6e 67 74 68 20 28 72 69 6e 67 2d p.size).....(let.((length.(ring-
59f60 6c 65 6e 67 74 68 20 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6e 65 77 2d 76 65 63 length.ring))...........(new-vec
59f80 20 28 6d 61 6b 65 2d 76 65 63 74 6f 72 20 73 69 7a 65 20 6e 69 6c 29 29 29 0a 20 20 20 20 20 20 .(make-vector.size.nil))).......
59fa0 28 69 66 20 28 3d 20 6c 65 6e 67 74 68 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 63 (if.(=.length.0)...........(setc
59fc0 64 72 20 72 69 6e 67 20 28 63 6f 6e 73 20 30 20 6e 65 77 2d 76 65 63 29 29 0a 20 20 20 20 20 20 dr.ring.(cons.0.new-vec)).......
59fe0 20 20 28 6c 65 74 2a 20 28 28 68 64 20 28 63 61 72 20 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 ..(let*.((hd.(car.ring))........
5a000 20 20 20 20 20 20 20 20 28 6f 6c 64 2d 73 69 7a 65 20 28 72 69 6e 67 2d 73 69 7a 65 20 72 69 6e ........(old-size.(ring-size.rin
5a020 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 6c 64 2d 76 65 63 20 28 63 64 64 g))................(old-vec.(cdd
5a040 72 20 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 70 79 2d 6c 65 r.ring))................(copy-le
5a060 6e 67 74 68 20 28 6d 69 6e 20 73 69 7a 65 20 6c 65 6e 67 74 68 29 29 0a 20 20 20 20 20 20 20 20 ngth.(min.size.length)).........
5a080 20 20 20 20 20 20 20 28 63 6f 70 79 2d 68 64 20 28 6d 6f 64 20 28 2b 20 68 64 20 28 2d 20 6c 65 .......(copy-hd.(mod.(+.hd.(-.le
5a0a0 6e 67 74 68 20 63 6f 70 79 2d 6c 65 6e 67 74 68 29 29 20 6c 65 6e 67 74 68 29 29 29 0a 20 20 20 ngth.copy-length)).length)))....
5a0c0 20 20 20 20 20 20 20 28 73 65 74 63 64 72 20 72 69 6e 67 20 28 63 6f 6e 73 20 63 6f 70 79 2d 6c .......(setcdr.ring.(cons.copy-l
5a0e0 65 6e 67 74 68 20 6e 65 77 2d 76 65 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 49 66 20 ength.new-vec))...........;;.If.
5a100 74 68 65 20 72 69 6e 67 20 69 73 20 77 72 61 70 70 65 64 2c 20 74 68 65 20 65 78 69 73 74 69 6e the.ring.is.wrapped,.the.existin
5a120 67 20 65 6c 65 6d 65 6e 74 73 20 6d 75 73 74 20 62 65 20 77 72 69 74 74 65 6e 0a 20 20 20 20 20 g.elements.must.be.written......
5a140 20 20 20 20 20 3b 3b 20 6f 75 74 20 69 6e 20 74 68 65 20 72 69 67 68 74 20 6f 72 64 65 72 2e 0a .....;;.out.in.the.right.order..
5a160 20 20 20 20 20 20 20 20 20 20 28 64 6f 74 69 6d 65 73 20 28 6a 20 63 6f 70 79 2d 6c 65 6e 67 74 ..........(dotimes.(j.copy-lengt
5a180 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 61 73 65 74 20 6e 65 77 2d 76 65 63 20 6a 20 28 h).............(aset.new-vec.j.(
5a1a0 61 72 65 66 20 6f 6c 64 2d 76 65 63 20 28 6d 6f 64 20 28 2b 20 63 6f 70 79 2d 68 64 20 6a 29 20 aref.old-vec.(mod.(+.copy-hd.j).
5a1c0 6f 6c 64 2d 73 69 7a 65 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 63 61 72 20 72 old-size))))...........(setcar.r
5a1e0 69 6e 67 20 30 29 29 29 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 6d 61 70 ing.0))))))..;;;;.Defined.in.map
5a200 2d 79 6e 70 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 76 65 72 73 69 6f 6e 20 22 32 36 2e 32 22 29 -ynp.el..(compat-version."26.2")
5a220 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 76 61 72 20 72 65 61 64 2d 61 6e 73 77 65 72 2d 73 68 6f ..(compat-defvar.read-answer-sho
5a240 72 74 20 27 61 75 74 6f 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 72 65 61 64 2d 61 rt.'auto.;;.<compat-tests:read-a
5a260 6e 73 77 65 72 3e 0a 20 20 22 49 66 20 6e 6f 6e 2d 6e 69 6c 2c 20 74 68 65 20 60 72 65 61 64 2d nswer>..."If.non-nil,.the.`read-
5a280 61 6e 73 77 65 72 27 20 66 75 6e 63 74 69 6f 6e 20 61 63 63 65 70 74 73 20 73 69 6e 67 6c 65 2d answer'.function.accepts.single-
5a2a0 63 68 61 72 61 63 74 65 72 20 61 6e 73 77 65 72 73 2e 0a 49 66 20 74 2c 20 61 63 63 65 70 74 20 character.answers..If.t,.accept.
5a2c0 73 68 6f 72 74 20 28 73 69 6e 67 6c 65 20 6b 65 79 2d 70 72 65 73 73 29 20 61 6e 73 77 65 72 73 short.(single.key-press).answers
5a2e0 20 74 6f 20 74 68 65 20 71 75 65 73 74 69 6f 6e 2e 0a 49 66 20 6e 69 6c 2c 20 72 65 71 75 69 72 .to.the.question..If.nil,.requir
5a300 65 20 6c 6f 6e 67 20 61 6e 73 77 65 72 73 2e 20 20 49 66 20 60 61 75 74 6f 27 2c 20 61 63 63 65 e.long.answers...If.`auto',.acce
5a320 70 74 20 73 68 6f 72 74 20 61 6e 73 77 65 72 73 20 69 66 0a 60 75 73 65 2d 73 68 6f 72 74 2d 61 pt.short.answers.if.`use-short-a
5a340 6e 73 77 65 72 73 27 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 6f 72 20 74 68 65 20 66 75 6e 63 74 nswers'.is.non-nil,.or.the.funct
5a360 69 6f 6e 20 63 65 6c 6c 20 6f 66 20 60 79 65 73 2d 6f 72 2d 6e 6f 2d 70 27 0a 69 73 20 73 65 74 ion.cell.of.`yes-or-no-p'.is.set
5a380 20 74 6f 20 60 79 2d 6f 72 2d 6e 2d 70 27 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 20 74 68 69 73 20 .to.`y-or-n-p'...Note.that.this.
5a3a0 76 61 72 69 61 62 6c 65 20 64 6f 65 73 20 6e 6f 74 20 61 66 66 65 63 74 20 63 61 6c 6c 73 20 74 variable.does.not.affect.calls.t
5a3c0 6f 20 74 68 65 20 6d 6f 72 65 0a 63 6f 6d 6d 6f 6e 6c 79 2d 75 73 65 64 20 60 79 65 73 2d 6f 72 o.the.more.commonly-used.`yes-or
5a3e0 2d 6e 6f 2d 70 27 20 66 75 6e 63 74 69 6f 6e 3b 20 69 74 20 6f 6e 6c 79 20 61 66 66 65 63 74 73 -no-p'.function;.it.only.affects
5a400 20 63 61 6c 6c 73 20 74 6f 0a 74 68 65 20 60 72 65 61 64 2d 61 6e 73 77 65 72 27 20 66 75 6e 63 .calls.to.the.`read-answer'.func
5a420 74 69 6f 6e 2e 20 20 54 6f 20 63 6f 6e 74 72 6f 6c 20 77 68 65 74 68 65 72 20 60 79 65 73 2d 6f tion...To.control.whether.`yes-o
5a440 72 2d 6e 6f 2d 70 27 0a 72 65 71 75 69 72 65 73 20 61 20 6c 6f 6e 67 20 6f 72 20 61 20 73 68 6f r-no-p'.requires.a.long.or.a.sho
5a460 72 74 20 61 6e 73 77 65 72 2c 20 73 65 65 20 74 68 65 20 60 75 73 65 2d 73 68 6f 72 74 2d 61 6e rt.answer,.see.the.`use-short-an
5a480 73 77 65 72 73 27 0a 76 61 72 69 61 62 6c 65 2e 22 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 swers'.variable.")..(compat-defu
5a4a0 6e 20 72 65 61 64 2d 61 6e 73 77 65 72 20 28 71 75 65 73 74 69 6f 6e 20 61 6e 73 77 65 72 73 29 n.read-answer.(question.answers)
5a4c0 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 72 65 61 64 2d 61 6e 73 77 65 72 3e 0a 20 .;;.<compat-tests:read-answer>..
5a4e0 20 22 52 65 61 64 20 61 6e 20 61 6e 73 77 65 72 20 65 69 74 68 65 72 20 61 73 20 61 20 63 6f 6d ."Read.an.answer.either.as.a.com
5a500 70 6c 65 74 65 20 77 6f 72 64 20 6f 72 20 69 74 73 20 63 68 61 72 61 63 74 65 72 20 61 62 62 72 plete.word.or.its.character.abbr
5a520 65 76 69 61 74 69 6f 6e 2e 0a 41 73 6b 20 75 73 65 72 20 61 20 71 75 65 73 74 69 6f 6e 20 61 6e eviation..Ask.user.a.question.an
5a540 64 20 61 63 63 65 70 74 20 61 6e 20 61 6e 73 77 65 72 20 66 72 6f 6d 20 74 68 65 20 6c 69 73 74 d.accept.an.answer.from.the.list
5a560 20 6f 66 20 70 6f 73 73 69 62 6c 65 20 61 6e 73 77 65 72 73 2e 0a 0a 51 55 45 53 54 49 4f 4e 20 .of.possible.answers...QUESTION.
5a580 73 68 6f 75 6c 64 20 65 6e 64 20 69 6e 20 61 20 73 70 61 63 65 3b 20 74 68 69 73 20 66 75 6e 63 should.end.in.a.space;.this.func
5a5a0 74 69 6f 6e 20 61 64 64 73 20 61 20 6c 69 73 74 20 6f 66 20 61 6e 73 77 65 72 73 20 74 6f 20 69 tion.adds.a.list.of.answers.to.i
5a5c0 74 2e 0a 0a 41 4e 53 57 45 52 53 20 69 73 20 61 6e 20 61 6c 69 73 74 20 77 69 74 68 20 65 6c 65 t...ANSWERS.is.an.alist.with.ele
5a5e0 6d 65 6e 74 73 20 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 6f 72 6d 61 74 3a 0a 20 ments.in.the.following.format:..
5a600 20 28 4c 4f 4e 47 2d 41 4e 53 57 45 52 20 53 48 4f 52 54 2d 41 4e 53 57 45 52 20 48 45 4c 50 2d .(LONG-ANSWER.SHORT-ANSWER.HELP-
5a620 4d 45 53 53 41 47 45 29 0a 77 68 65 72 65 0a 20 20 4c 4f 4e 47 2d 41 4e 53 57 45 52 20 69 73 20 MESSAGE).where...LONG-ANSWER.is.
5a640 61 20 63 6f 6d 70 6c 65 74 65 20 61 6e 73 77 65 72 2c 0a 20 20 53 48 4f 52 54 2d 41 4e 53 57 45 a.complete.answer,...SHORT-ANSWE
5a660 52 20 69 73 20 61 6e 20 61 62 62 72 65 76 69 61 74 65 64 20 6f 6e 65 2d 63 68 61 72 61 63 74 65 R.is.an.abbreviated.one-characte
5a680 72 20 61 6e 73 77 65 72 2c 0a 20 20 48 45 4c 50 2d 4d 45 53 53 41 47 45 20 69 73 20 61 20 73 74 r.answer,...HELP-MESSAGE.is.a.st
5a6a0 72 69 6e 67 20 64 65 73 63 72 69 62 69 6e 67 20 74 68 65 20 6d 65 61 6e 69 6e 67 20 6f 66 20 74 ring.describing.the.meaning.of.t
5a6c0 68 65 20 61 6e 73 77 65 72 2e 0a 0a 53 48 4f 52 54 2d 41 4e 53 57 45 52 20 69 73 20 6e 6f 74 20 he.answer...SHORT-ANSWER.is.not.
5a6e0 6e 65 63 65 73 73 61 72 69 6c 79 20 61 20 73 69 6e 67 6c 65 20 63 68 61 72 61 63 74 65 72 20 61 necessarily.a.single.character.a
5a700 6e 73 77 65 72 2e 20 20 49 74 20 63 61 6e 20 62 65 0a 61 6c 73 6f 20 61 20 66 75 6e 63 74 69 6f nswer...It.can.be.also.a.functio
5a720 6e 20 6b 65 79 20 6c 69 6b 65 20 46 31 2c 20 61 20 63 68 61 72 61 63 74 65 72 20 65 76 65 6e 74 n.key.like.F1,.a.character.event
5a740 20 73 75 63 68 20 61 73 20 43 2d 4d 2d 68 2c 20 6f 72 0a 61 20 63 6f 6e 74 72 6f 6c 20 63 68 61 .such.as.C-M-h,.or.a.control.cha
5a760 72 61 63 74 65 72 20 6c 69 6b 65 20 43 2d 68 2e 0a 0a 45 78 61 6d 70 6c 65 3a 0a 20 20 5c 5c 3d racter.like.C-h...Example:...\\=
5a780 27 28 28 5c 22 79 65 73 5c 22 20 20 3f 79 20 5c 22 70 65 72 66 6f 72 6d 20 74 68 65 20 61 63 74 '((\"yes\"..?y.\"perform.the.act
5a7a0 69 6f 6e 5c 22 29 0a 20 20 20 20 28 5c 22 6e 6f 5c 22 20 20 20 3f 6e 20 5c 22 73 6b 69 70 20 74 ion\").....(\"no\"...?n.\"skip.t
5a7c0 6f 20 74 68 65 20 6e 65 78 74 5c 22 29 0a 20 20 20 20 28 5c 22 61 6c 6c 5c 22 20 20 3f 21 20 5c o.the.next\").....(\"all\"..?!.\
5a7e0 22 61 63 63 65 70 74 20 61 6c 6c 20 72 65 6d 61 69 6e 69 6e 67 20 77 69 74 68 6f 75 74 20 6d 6f "accept.all.remaining.without.mo
5a800 72 65 20 71 75 65 73 74 69 6f 6e 73 5c 22 29 0a 20 20 20 20 28 5c 22 68 65 6c 70 5c 22 20 3f 68 re.questions\").....(\"help\".?h
5a820 20 5c 22 73 68 6f 77 20 68 65 6c 70 5c 22 29 0a 20 20 20 20 28 5c 22 71 75 69 74 5c 22 20 3f 71 .\"show.help\").....(\"quit\".?q
5a840 20 5c 22 65 78 69 74 5c 22 29 29 0a 0a 57 68 65 6e 20 60 72 65 61 64 2d 61 6e 73 77 65 72 2d 73 .\"exit\"))..When.`read-answer-s
5a860 68 6f 72 74 27 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 61 63 63 65 70 74 20 73 68 6f 72 74 20 61 hort'.is.non-nil,.accept.short.a
5a880 6e 73 77 65 72 73 2e 0a 0a 52 65 74 75 72 6e 20 61 20 6c 6f 6e 67 20 61 6e 73 77 65 72 20 65 76 nswers...Return.a.long.answer.ev
5a8a0 65 6e 20 69 6e 20 63 61 73 65 20 6f 66 20 61 63 63 65 70 74 69 6e 67 20 73 68 6f 72 74 20 6f 6e en.in.case.of.accepting.short.on
5a8c0 65 73 2e 0a 0a 57 68 65 6e 20 60 75 73 65 2d 64 69 61 6c 6f 67 2d 62 6f 78 27 20 69 73 20 74 2c es...When.`use-dialog-box'.is.t,
5a8e0 20 70 6f 70 20 75 70 20 61 20 64 69 61 6c 6f 67 20 77 69 6e 64 6f 77 20 74 6f 20 67 65 74 20 75 .pop.up.a.dialog.window.to.get.u
5a900 73 65 72 20 69 6e 70 75 74 2e 22 0a 20 20 3b 3b 20 4e 4f 54 45 3a 20 46 6f 72 20 73 69 6d 70 6c ser.input."...;;.NOTE:.For.simpl
5a920 69 63 69 74 79 20 77 65 20 70 72 6f 76 69 64 65 20 61 20 70 72 69 6d 69 74 69 76 65 20 69 6d 70 icity.we.provide.a.primitive.imp
5a940 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 62 61 73 65 64 20 6f 6e 0a 20 20 3b 3b 20 60 72 65 61 64 2d lementation.based.on...;;.`read-
5a960 6d 75 6c 74 69 70 6c 65 2d 63 68 6f 69 63 65 27 2c 20 77 68 69 63 68 20 64 6f 65 73 20 6e 65 69 multiple-choice',.which.does.nei
5a980 74 68 65 72 20 73 75 70 70 6f 72 74 20 6c 6f 6e 67 20 61 6e 73 77 65 72 73 20 6e 6f 72 20 74 68 ther.support.long.answers.nor.th
5a9a0 65 20 74 68 65 0a 20 20 3b 3b 20 67 75 69 20 64 69 61 6c 6f 67 20 62 6f 78 2e 0a 20 20 28 63 61 e.the...;;.gui.dialog.box....(ca
5a9c0 64 72 20 28 72 65 61 64 2d 6d 75 6c 74 69 70 6c 65 2d 63 68 6f 69 63 65 0a 20 20 20 20 20 20 20 dr.(read-multiple-choice........
5a9e0 20 20 28 73 74 72 69 6e 67 2d 74 72 69 6d 2d 72 69 67 68 74 20 71 75 65 73 74 69 6f 6e 29 0a 20 ..(string-trim-right.question)..
5aa00 20 20 20 20 20 20 20 20 28 64 65 6c 71 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........(delq.nil...............
5aa20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 75 6e 6c 65 73 73 20 28 65 71 .(mapcar.(lambda.(x).(unless.(eq
5aa40 75 61 6c 20 22 68 65 6c 70 22 20 28 63 61 72 20 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ual."help".(car.x)).............
5aa60 20 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 6c 69 73 74 20 28 .........................(list.(
5aa80 63 61 64 72 20 78 29 20 28 63 61 72 20 78 29 20 28 63 61 64 64 72 20 78 29 29 29 29 0a 20 20 20 cadr.x).(car.x).(caddr.x))))....
5aaa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 6e 73 77 65 72 73 29 29 29 29 29 ....................answers)))))
5aac0 0a 0a 28 70 72 6f 76 69 64 65 20 27 63 6f 6d 70 61 74 2d 32 37 29 0a 3b 3b 3b 20 63 6f 6d 70 61 ..(provide.'compat-27).;;;.compa
5aae0 74 2d 32 37 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 t-27.el.ends.here...............
5ab00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ab20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ab40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ab60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ab80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5aba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5abc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5abe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ac00 63 6f 6d 70 61 74 2d 33 30 2e 30 2e 30 2e 30 2f 63 6f 6d 70 61 74 2d 70 6b 67 2e 65 6c 00 00 00 compat-30.0.0.0/compat-pkg.el...
5ac20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ac40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ac60 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
5ac80 30 30 30 30 37 33 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 32 34 34 00 20 30 00 00 00 0000736.00000000000.014244..0...
5aca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5acc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ace0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ad00 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...................
5ad20 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...................
5ad40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ad60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ad80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ada0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5adc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ade0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ae00 3b 3b 20 47 65 6e 65 72 61 74 65 64 20 70 61 63 6b 61 67 65 20 64 65 73 63 72 69 70 74 69 6f 6e ;;.Generated.package.description
5ae20 20 66 72 6f 6d 20 63 6f 6d 70 61 74 2e 65 6c 20 20 2d 2a 2d 20 6e 6f 2d 62 79 74 65 2d 63 6f 6d .from.compat.el..-*-.no-byte-com
5ae40 70 69 6c 65 3a 20 74 20 2d 2a 2d 0a 28 64 65 66 69 6e 65 2d 70 61 63 6b 61 67 65 20 22 63 6f 6d pile:.t.-*-.(define-package."com
5ae60 70 61 74 22 20 22 33 30 2e 30 2e 30 2e 30 22 20 22 45 6d 61 63 73 20 4c 69 73 70 20 43 6f 6d 70 pat"."30.0.0.0"."Emacs.Lisp.Comp
5ae80 61 74 69 62 69 6c 69 74 79 20 4c 69 62 72 61 72 79 22 20 27 28 28 65 6d 61 63 73 20 22 32 34 2e atibility.Library".'((emacs."24.
5aea0 34 22 29 20 28 73 65 71 20 22 32 2e 32 33 22 29 29 20 3a 63 6f 6d 6d 69 74 20 22 30 39 64 63 65 4").(seq."2.23")).:commit."09dce
5aec0 38 61 31 39 33 63 35 61 37 30 32 37 37 35 31 32 32 36 33 37 38 32 62 38 32 66 61 31 63 62 61 38 8a193c5a70277512263782b82fa1cba8
5aee0 34 63 30 22 20 3a 61 75 74 68 6f 72 73 20 27 28 28 22 50 68 69 6c 69 70 20 4b 61 6c 75 64 65 72 4c0".:authors.'(("Philip.Kaluder
5af00 63 69 63 22 20 2e 20 22 70 68 69 6c 69 70 6b 40 70 6f 73 74 65 6f 2e 6e 65 74 22 29 20 28 22 44 cic"..."philipk@posteo.net").("D
5af20 61 6e 69 65 6c 20 4d 65 6e 64 6c 65 72 22 20 2e 20 22 6d 61 69 6c 40 64 61 6e 69 65 6c 2d 6d 65 aniel.Mendler"..."mail@daniel-me
5af40 6e 64 6c 65 72 2e 64 65 22 29 29 20 3a 6d 61 69 6e 74 61 69 6e 65 72 20 27 28 22 43 6f 6d 70 61 ndler.de")).:maintainer.'("Compa
5af60 74 20 44 65 76 65 6c 6f 70 6d 65 6e 74 22 20 2e 20 22 7e 70 6b 61 6c 2f 63 6f 6d 70 61 74 2d 64 t.Development"..."~pkal/compat-d
5af80 65 76 65 6c 40 6c 69 73 74 73 2e 73 72 2e 68 74 22 29 20 3a 6b 65 79 77 6f 72 64 73 20 27 28 22 evel@lists.sr.ht").:keywords.'("
5afa0 6c 69 73 70 22 20 22 6d 61 69 6e 74 22 29 20 3a 75 72 6c 20 22 68 74 74 70 73 3a 2f 2f 67 69 74 lisp"."maint").:url."https://git
5afc0 68 75 62 2e 63 6f 6d 2f 65 6d 61 63 73 2d 63 6f 6d 70 61 74 2f 63 6f 6d 70 61 74 22 29 0a 00 00 hub.com/emacs-compat/compat")...
5afe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b000 63 6f 6d 70 61 74 2d 33 30 2e 30 2e 30 2e 30 2f 63 6f 6d 70 61 74 2e 65 6c 00 00 00 00 00 00 00 compat-30.0.0.0/compat.el.......
5b020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b060 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
5b080 30 30 30 37 36 32 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 34 37 33 00 20 30 00 00 00 0007627.00000000000.013473..0...
5b0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b100 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...................
5b120 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...................
5b140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b200 3b 3b 3b 20 63 6f 6d 70 61 74 2e 65 6c 20 2d 2d 2d 20 45 6d 61 63 73 20 4c 69 73 70 20 43 6f 6d ;;;.compat.el.---.Emacs.Lisp.Com
5b220 70 61 74 69 62 69 6c 69 74 79 20 4c 69 62 72 61 72 79 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 patibility.Library.-*-.lexical-b
5b240 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 inding:.t;.-*-..;;.Copyright.(C)
5b260 20 32 30 32 31 2d 32 30 32 34 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 .2021-2024.Free.Software.Foundat
5b280 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 50 68 69 6c 69 70 20 4b 61 6c ion,.Inc...;;.Author:.Philip.Kal
5b2a0 75 64 65 72 63 69 63 20 3c 70 68 69 6c 69 70 6b 40 70 6f 73 74 65 6f 2e 6e 65 74 3e 2c 20 44 61 udercic.<philipk@posteo.net>,.Da
5b2c0 6e 69 65 6c 20 4d 65 6e 64 6c 65 72 20 3c 6d 61 69 6c 40 64 61 6e 69 65 6c 2d 6d 65 6e 64 6c 65 niel.Mendler.<mail@daniel-mendle
5b2e0 72 2e 64 65 3e 0a 3b 3b 20 4d 61 69 6e 74 61 69 6e 65 72 3a 20 43 6f 6d 70 61 74 20 44 65 76 65 r.de>.;;.Maintainer:.Compat.Deve
5b300 6c 6f 70 6d 65 6e 74 20 3c 7e 70 6b 61 6c 2f 63 6f 6d 70 61 74 2d 64 65 76 65 6c 40 6c 69 73 74 lopment.<~pkal/compat-devel@list
5b320 73 2e 73 72 2e 68 74 3e 0a 3b 3b 20 56 65 72 73 69 6f 6e 3a 20 33 30 2e 30 2e 30 2e 30 0a 3b 3b s.sr.ht>.;;.Version:.30.0.0.0.;;
5b340 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 65 6d 61 63 73 2d 63 .URL:.https://github.com/emacs-c
5b360 6f 6d 70 61 74 2f 63 6f 6d 70 61 74 0a 3b 3b 20 50 61 63 6b 61 67 65 2d 52 65 71 75 69 72 65 73 ompat/compat.;;.Package-Requires
5b380 3a 20 28 28 65 6d 61 63 73 20 22 32 34 2e 34 22 29 20 28 73 65 71 20 22 32 2e 32 33 22 29 29 0a :.((emacs."24.4").(seq."2.23")).
5b3a0 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 6c 69 73 70 2c 20 6d 61 69 6e 74 0a 0a 3b 3b 20 54 68 69 ;;.Keywords:.lisp,.maint..;;.Thi
5b3c0 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 3b 20 79 6f 75 20 s.program.is.free.software;.you.
5b3e0 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 20 6d 6f 64 69 66 can.redistribute.it.and/or.modif
5b400 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 20 74 68 65 20 47 y.;;.it.under.the.terms.of.the.G
5b420 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 61 73 20 70 75 62 NU.General.Public.License.as.pub
5b440 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 77 61 72 65 20 46 lished.by.;;.the.Free.Software.F
5b460 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 33 20 6f 66 20 74 oundation,.either.version.3.of.t
5b480 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 20 6f 70 74 69 6f he.License,.or.;;.(at.your.optio
5b4a0 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 54 68 69 73 20 70 n).any.later.version...;;.This.p
5b4c0 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 68 65 20 68 6f 70 rogram.is.distributed.in.the.hop
5b4e0 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 3b 3b 20 62 75 74 e.that.it.will.be.useful,.;;.but
5b500 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 68 6f 75 74 20 65 .WITHOUT.ANY.WARRANTY;.without.e
5b520 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 66 0a 3b 3b 20 4d ven.the.implied.warranty.of.;;.M
5b540 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 46 4f 52 20 41 20 ERCHANTABILITY.or.FITNESS.FOR.A.
5b560 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 68 65 0a 3b 3b 20 PARTICULAR.PURPOSE...See.the.;;.
5b580 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 66 6f 72 20 6d GNU.General.Public.License.for.m
5b5a0 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 64 20 68 61 76 65 ore.details...;;.You.should.have
5b5c0 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 55 20 47 65 6e 65 .received.a.copy.of.the.GNU.Gene
5b5e0 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 67 20 77 69 74 68 ral.Public.License.;;.along.with
5b600 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 65 20 3c 68 74 74 .this.program...If.not,.see.<htt
5b620 70 73 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 2e 0a 0a 3b 3b ps://www.gnu.org/licenses/>...;;
5b640 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 43 6f 6d 70 61 74 20 69 73 20 74 68 65 20 ;.Commentary:..;;.Compat.is.the.
5b660 45 6c 69 73 70 20 66 6f 72 77 61 72 64 73 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 6c 69 62 Elisp.forwards.compatibility.lib
5b680 72 61 72 79 2c 20 77 68 69 63 68 20 70 72 6f 76 69 64 65 73 0a 3b 3b 20 64 65 66 69 6e 69 74 69 rary,.which.provides.;;.definiti
5b6a0 6f 6e 73 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 6e 65 77 65 72 20 45 6d 61 63 73 20 76 65 ons.introduced.in.newer.Emacs.ve
5b6c0 72 73 69 6f 6e 73 2e 20 20 54 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 73 0a 3b 3b 20 61 72 65 20 rsions...The.definitions.;;.are.
5b6e0 6f 6e 6c 79 20 69 6e 73 74 61 6c 6c 65 64 20 69 66 20 6e 65 63 65 73 73 61 72 79 20 66 6f 72 20 only.installed.if.necessary.for.
5b700 79 6f 75 72 20 63 75 72 72 65 6e 74 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 2e 20 20 49 66 0a your.current.Emacs.version...If.
5b720 3b 3b 20 43 6f 6d 70 61 74 20 69 73 20 63 6f 6d 70 69 6c 65 64 20 6f 6e 20 61 20 72 65 63 65 6e ;;.Compat.is.compiled.on.a.recen
5b740 74 20 76 65 72 73 69 6f 6e 20 6f 66 20 45 6d 61 63 73 2c 20 61 6c 6c 20 6f 66 20 74 68 65 0a 3b t.version.of.Emacs,.all.of.the.;
5b760 3b 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 61 72 65 20 64 69 73 61 62 6c 65 64 20 61 74 20 63 6f ;.definitions.are.disabled.at.co
5b780 6d 70 69 6c 65 20 74 69 6d 65 2c 20 73 75 63 68 20 74 68 61 74 20 6e 6f 20 6e 65 67 61 74 69 76 mpile.time,.such.that.no.negativ
5b7a0 65 0a 3b 3b 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 69 6d 70 61 63 74 20 69 73 20 69 6e 63 75 72 e.;;.performance.impact.is.incur
5b7c0 72 65 64 2e 20 20 54 68 65 20 70 72 6f 76 69 64 65 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 red...The.provided.compatibility
5b7e0 0a 3b 3b 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 73 20 6f 66 20 66 75 6e 63 74 69 6f 6e 73 .;;.implementations.of.functions
5b800 20 61 6e 64 20 6d 61 63 72 6f 73 20 61 72 65 20 61 74 20 6c 65 61 73 74 20 73 75 62 73 65 74 73 .and.macros.are.at.least.subsets
5b820 20 6f 66 20 74 68 65 0a 3b 3b 20 61 63 74 75 61 6c 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e .of.the.;;.actual.implementation
5b840 73 2e 20 20 42 65 20 73 75 72 65 20 74 6f 20 72 65 61 64 20 74 68 65 20 64 6f 63 75 6d 65 6e 74 s...Be.sure.to.read.the.document
5b860 61 74 69 6f 6e 20 73 74 72 69 6e 67 0a 3b 3b 20 61 6e 64 20 74 68 65 20 43 6f 6d 70 61 74 20 6d ation.string.;;.and.the.Compat.m
5b880 61 6e 75 61 6c 2e 0a 3b 3b 0a 3b 3b 20 4e 6f 74 20 65 76 65 72 79 20 66 75 6e 63 74 69 6f 6e 20 anual..;;.;;.Not.every.function.
5b8a0 70 72 6f 76 69 64 65 64 20 69 6e 20 6e 65 77 65 72 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 45 6d provided.in.newer.versions.of.Em
5b8c0 61 63 73 20 69 73 20 70 72 6f 76 69 64 65 64 0a 3b 3b 20 68 65 72 65 2e 20 20 53 6f 6d 65 20 64 acs.is.provided.;;.here...Some.d
5b8e0 65 70 65 6e 64 20 6f 6e 20 6e 65 77 20 66 65 61 74 75 72 65 73 20 66 72 6f 6d 20 74 68 65 20 43 epend.on.new.features.from.the.C
5b900 20 63 6f 72 65 2c 20 6f 74 68 65 72 73 20 63 61 6e 6e 6f 74 0a 3b 3b 20 62 65 20 69 6d 70 6c 65 .core,.others.cannot.;;.be.imple
5b920 6d 65 6e 74 65 64 20 74 6f 20 61 20 6d 65 61 6e 69 6e 67 66 75 6c 20 64 65 67 72 65 65 2e 20 20 mented.to.a.meaningful.degree...
5b940 50 6c 65 61 73 65 20 63 6f 6e 73 75 6c 74 20 74 68 65 20 43 6f 6d 70 61 74 0a 3b 3b 20 6d 61 6e Please.consult.the.Compat.;;.man
5b960 75 61 6c 20 66 6f 72 20 64 65 74 61 69 6c 73 20 72 65 67 61 72 64 69 6e 67 20 74 68 65 20 75 73 ual.for.details.regarding.the.us
5b980 61 67 65 20 6f 66 20 74 68 65 20 43 6f 6d 70 61 74 20 6c 69 62 72 61 72 79 20 61 6e 64 0a 3b 3b age.of.the.Compat.library.and.;;
5b9a0 20 74 68 65 20 70 72 6f 76 69 64 65 64 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 2e 0a 0a 3b 3b .the.provided.functionality...;;
5b9c0 20 54 68 65 20 6d 61 69 6e 20 61 75 64 69 65 6e 63 65 20 66 6f 72 20 74 68 69 73 20 6c 69 62 72 .The.main.audience.for.this.libr
5b9e0 61 72 79 20 61 72 65 20 6e 6f 74 20 72 65 67 75 6c 61 72 20 75 73 65 72 73 2c 20 62 75 74 0a 3b ary.are.not.regular.users,.but.;
5ba00 3b 20 70 61 63 6b 61 67 65 20 6d 61 69 6e 74 61 69 6e 65 72 73 2e 20 20 54 68 65 72 65 66 6f 72 ;.package.maintainers...Therefor
5ba20 65 20 6e 6f 20 63 6f 6d 6d 61 6e 64 73 2c 20 75 73 65 72 2d 66 61 63 69 6e 67 20 6d 6f 64 65 73 e.no.commands,.user-facing.modes
5ba40 20 6f 72 0a 3b 3b 20 75 73 65 72 20 6f 70 74 69 6f 6e 73 20 61 72 65 20 69 6d 70 6c 65 6d 65 6e .or.;;.user.options.are.implemen
5ba60 74 65 64 20 68 65 72 65 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 3b 3b 20 45 6e 73 75 72 65 20 ted.here...;;;.Code:..;;.Ensure.
5ba80 74 68 61 74 20 74 68 65 20 6e 65 77 65 73 74 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 6c 61 that.the.newest.compatibility.la
5baa0 79 65 72 20 69 73 20 72 65 71 75 69 72 65 64 20 61 74 20 63 6f 6d 70 69 6c 65 0a 3b 3b 20 74 69 yer.is.required.at.compile.;;.ti
5bac0 6d 65 20 61 6e 64 20 72 75 6e 74 69 6d 65 2c 20 62 75 74 20 6f 6e 6c 79 20 69 66 20 6e 65 65 64 me.and.runtime,.but.only.if.need
5bae0 65 64 2e 0a 28 65 76 61 6c 2d 77 68 65 6e 2d 63 6f 6d 70 69 6c 65 0a 20 20 28 64 65 66 6d 61 63 ed..(eval-when-compile...(defmac
5bb00 72 6f 20 63 6f 6d 70 61 74 2d 2d 6d 61 79 62 65 2d 72 65 71 75 69 72 65 20 28 29 0a 20 20 20 20 ro.compat--maybe-require.().....
5bb20 28 77 68 65 6e 20 28 76 65 72 73 69 6f 6e 3c 20 65 6d 61 63 73 2d 76 65 72 73 69 6f 6e 20 22 33 (when.(version<.emacs-version."3
5bb40 30 2e 30 2e 35 30 22 29 0a 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 27 63 6f 6d 70 61 74 2d 0.0.50").......(require.'compat-
5bb60 33 30 29 0a 20 20 20 20 20 20 27 28 72 65 71 75 69 72 65 20 27 63 6f 6d 70 61 74 2d 33 30 29 29 30).......'(require.'compat-30))
5bb80 29 29 0a 28 63 6f 6d 70 61 74 2d 2d 6d 61 79 62 65 2d 72 65 71 75 69 72 65 29 0a 0a 3b 3b 3b 3b )).(compat--maybe-require)..;;;;
5bba0 20 4d 61 63 72 6f 73 20 66 6f 72 20 65 78 74 65 6e 64 65 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 .Macros.for.extended.compatibili
5bbc0 74 79 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 73 0a 0a 28 64 65 66 6d 61 63 72 6f 20 63 6f 6d ty.function.calls..(defmacro.com
5bbe0 70 61 74 2d 66 75 6e 63 74 69 6f 6e 20 28 66 75 6e 29 0a 20 20 22 52 65 74 75 72 6e 20 63 6f 6d pat-function.(fun)..."Return.com
5bc00 70 61 74 69 62 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 20 73 79 6d 62 6f 6c 20 66 6f 72 20 46 patibility.function.symbol.for.F
5bc20 55 4e 2e 0a 0a 49 66 20 74 68 65 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 20 70 72 6f 76 69 64 UN...If.the.Emacs.version.provid
5bc40 65 73 20 61 20 73 75 66 66 69 63 69 65 6e 74 6c 79 20 72 65 63 65 6e 74 20 76 65 72 73 69 6f 6e es.a.sufficiently.recent.version
5bc60 20 6f 66 0a 46 55 4e 2c 20 74 68 65 20 73 79 6d 62 6f 6c 20 46 55 4e 20 69 73 20 72 65 74 75 72 .of.FUN,.the.symbol.FUN.is.retur
5bc80 6e 65 64 20 69 74 73 65 6c 66 2e 20 20 4f 74 68 65 72 77 69 73 65 20 74 68 65 20 6d 61 63 72 6f ned.itself...Otherwise.the.macro
5bca0 0a 72 65 74 75 72 6e 73 20 74 68 65 20 73 79 6d 62 6f 6c 20 6f 66 20 61 20 63 6f 6d 70 61 74 69 .returns.the.symbol.of.a.compati
5bcc0 62 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 20 77 68 69 63 68 20 73 75 70 70 6f 72 74 73 20 74 bility.function.which.supports.t
5bce0 68 65 0a 62 65 68 61 76 69 6f 72 20 61 6e 64 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 he.behavior.and.calling.conventi
5bd00 6f 6e 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 73 74 61 62 6c 65 20 45 6d 61 63 73 0a 76 on.of.the.current.stable.Emacs.v
5bd20 65 72 73 69 6f 6e 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 20 43 6f 6d 70 61 74 20 32 39 2e 31 ersion...For.example.Compat.29.1
5bd40 20 77 69 6c 6c 20 70 72 6f 76 69 64 65 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 0a 66 75 6e 63 .will.provide.compatibility.func
5bd60 74 69 6f 6e 73 20 77 68 69 63 68 20 69 6d 70 6c 65 6d 65 6e 74 20 74 68 65 20 62 65 68 61 76 69 tions.which.implement.the.behavi
5bd80 6f 72 20 61 6e 64 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 6f 66 0a 45 6d 61 or.and.calling.convention.of.Ema
5bda0 63 73 20 32 39 2e 31 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 60 63 6f 6d 70 61 74 2d 63 61 6c 6c 27 cs.29.1...See.also.`compat-call'
5bdc0 20 74 6f 20 64 69 72 65 63 74 6c 79 20 63 61 6c 6c 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 .to.directly.call.compatibility.
5bde0 66 75 6e 63 74 69 6f 6e 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 63 6f 6d 70 61 74 20 28 69 6e 74 functions."...(let.((compat.(int
5be00 65 72 6e 20 28 66 6f 72 6d 61 74 20 22 63 6f 6d 70 61 74 2d 2d 25 73 22 20 66 75 6e 29 29 29 29 ern.(format."compat--%s".fun))))
5be20 0a 20 20 20 20 60 23 27 2c 28 69 66 20 28 66 62 6f 75 6e 64 70 20 63 6f 6d 70 61 74 29 20 63 6f .....`#',(if.(fboundp.compat).co
5be40 6d 70 61 74 20 66 75 6e 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 63 6f 6d 70 61 74 2d 63 61 mpat.fun)))..(defmacro.compat-ca
5be60 6c 6c 20 28 66 75 6e 20 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 22 43 61 6c 6c 20 63 6f 6d 70 ll.(fun.&rest.args)..."Call.comp
5be80 61 74 69 62 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 20 6f 72 20 6d 61 63 72 6f 20 46 55 4e 20 atibility.function.or.macro.FUN.
5bea0 77 69 74 68 20 41 52 47 53 2e 0a 0a 41 20 67 6f 6f 64 20 65 78 61 6d 70 6c 65 20 66 75 6e 63 74 with.ARGS...A.good.example.funct
5bec0 69 6f 6e 20 69 73 20 60 70 6c 69 73 74 2d 67 65 74 27 20 77 68 69 63 68 20 77 61 73 20 65 78 74 ion.is.`plist-get'.which.was.ext
5bee0 65 6e 64 65 64 20 77 69 74 68 20 61 6e 0a 61 64 64 69 74 69 6f 6e 61 6c 20 70 72 65 64 69 63 61 ended.with.an.additional.predica
5bf00 74 65 20 61 72 67 75 6d 65 6e 74 20 69 6e 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 54 68 65 20 te.argument.in.Emacs.29.1...The.
5bf20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 0a 66 75 6e 63 74 69 6f 6e 2c 20 77 68 69 63 68 20 73 75 compatibility.function,.which.su
5bf40 70 70 6f 72 74 73 20 74 68 69 73 20 61 64 64 69 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 2c pports.this.additional.argument,
5bf60 20 63 61 6e 20 62 65 0a 6f 62 74 61 69 6e 65 64 20 76 69 61 20 28 63 6f 6d 70 61 74 2d 66 75 6e .can.be.obtained.via.(compat-fun
5bf80 63 74 69 6f 6e 20 70 6c 69 73 74 2d 67 65 74 29 20 61 6e 64 20 63 61 6c 6c 65 64 0a 76 69 61 20 ction.plist-get).and.called.via.
5bfa0 28 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 73 74 20 70 72 6f (compat-call.plist-get.plist.pro
5bfc0 70 20 70 72 65 64 69 63 61 74 65 29 2e 20 20 49 74 20 69 73 20 6e 6f 74 0a 70 6f 73 73 69 62 6c p.predicate)...It.is.not.possibl
5bfe0 65 20 74 6f 20 64 69 72 65 63 74 6c 79 20 63 61 6c 6c 20 28 70 6c 69 73 74 2d 67 65 74 20 70 6c e.to.directly.call.(plist-get.pl
5c000 69 73 74 20 70 72 6f 70 20 70 72 65 64 69 63 61 74 65 29 20 6f 6e 0a 45 6d 61 63 73 20 6f 6c 64 ist.prop.predicate).on.Emacs.old
5c020 65 72 20 74 68 61 6e 20 32 39 2e 31 2c 20 73 69 6e 63 65 20 74 68 65 20 6f 72 69 67 69 6e 61 6c er.than.29.1,.since.the.original
5c040 20 60 70 6c 69 73 74 2d 67 65 74 27 20 66 75 6e 63 74 69 6f 6e 0a 64 6f 65 73 20 6e 6f 74 20 79 .`plist-get'.function.does.not.y
5c060 65 74 20 73 75 70 70 6f 72 74 20 74 68 65 20 70 72 65 64 69 63 61 74 65 20 61 72 67 75 6d 65 6e et.support.the.predicate.argumen
5c080 74 2e 20 20 4e 6f 74 65 20 74 68 61 74 20 74 68 65 0a 43 6f 6d 70 61 74 20 6c 69 62 72 61 72 79 t...Note.that.the.Compat.library
5c0a0 20 6e 65 76 65 72 20 6f 76 65 72 72 69 64 65 73 20 65 78 69 73 74 69 6e 67 20 66 75 6e 63 74 69 .never.overrides.existing.functi
5c0c0 6f 6e 73 2e 0a 0a 53 65 65 20 61 6c 73 6f 20 60 63 6f 6d 70 61 74 2d 66 75 6e 63 74 69 6f 6e 27 ons...See.also.`compat-function'
5c0e0 20 74 6f 20 6c 6f 6f 6b 75 70 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 66 75 6e 63 74 69 6f .to.lookup.compatibility.functio
5c100 6e 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 63 6f 6d 70 61 74 20 28 69 6e 74 65 72 6e 20 28 66 6f ns."...(let.((compat.(intern.(fo
5c120 72 6d 61 74 20 22 63 6f 6d 70 61 74 2d 2d 25 73 22 20 66 75 6e 29 29 29 29 0a 20 20 20 20 60 28 rmat."compat--%s".fun)))).....`(
5c140 2c 28 69 66 20 28 66 62 6f 75 6e 64 70 20 63 6f 6d 70 61 74 29 20 63 6f 6d 70 61 74 20 66 75 6e ,(if.(fboundp.compat).compat.fun
5c160 29 20 2c 40 61 72 67 73 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 63 6f 6d 70 61 74 29 0a 3b ).,@args)))..(provide.'compat).;
5c180 3b 3b 20 63 6f 6d 70 61 74 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 ;;.compat.el.ends.here..........
5c1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................