summaryrefslogtreecommitdiff
path: root/.localrepo/compat-30.1.0.1.tar
blob: d75a87a1dd419f5b2fcae6f5e9d0b62a5fe61947 (plain)
ofshex dumpascii
0000 63 6f 6d 70 61 74 2d 33 30 2e 31 2e 30 2e 31 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 compat-30.1.0.1/................
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 34 00 20 35 00 00 00 0000000.00000000000.011654..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 31 2e 30 2e 31 2f 63 6f 6d 70 61 74 2d 32 35 2e 65 6c 00 00 00 00 compat-30.1.0.1/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 36 00 20 30 00 00 00 0022555.00000000000.013716..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 35 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 .(C).2021-2025.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 31 2e 30 2e 31 2f 63 6f 6d 70 61 74 2d 32 38 2e 65 6c 00 00 00 00 compat-30.1.0.1/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 33 36 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 37 32 33 00 20 30 00 00 00 0106365.00000000000.013723..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 35 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 .(C).2021-2025.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 65 71 20 28 63 61 72 2d 73 61 66 65 20 65 78 70 72 .............((eq.(car-safe.expr
81c0 29 20 27 61 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 63 ).'and)...................(if.(c
81e0 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 20 20 20 20 ddr.expr).......................
8200 28 66 75 6e 63 61 6c 6c 20 74 63 6f 20 60 28 69 66 20 2c 28 63 61 64 72 20 65 78 70 72 29 20 2c (funcall.tco.`(if.,(cadr.expr).,
8220 28 63 6f 6e 73 20 27 61 6e 64 20 28 63 64 64 72 20 65 78 70 72 29 29 29 29 0a 20 20 20 20 20 20 (cons.'and.(cddr.expr)))).......
8240 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 63 61 64 72 ..............(funcall.tco.(cadr
8260 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 65 71 20 .expr))))..................((eq.
8280 28 63 61 72 2d 73 61 66 65 20 65 78 70 72 29 20 27 70 72 6f 67 6e 29 0a 20 20 20 20 20 20 20 20 (car-safe.expr).'progn).........
82a0 20 20 20 20 20 20 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 ..........(cons.(car.expr).(func
82c0 61 6c 6c 20 74 63 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 all.tco-progn.(cdr.expr)))).....
82e0 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
8300 70 72 29 20 27 28 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 pr).'(let.let*))................
8320 20 20 20 28 61 70 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 ...(append.(list.(car.expr).(cad
8340 72 20 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 r.expr))........................
8360 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 64 72 20 65 78 70 72 ...(funcall.tco-progn.(cddr.expr
8380 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 2d ))))..................((eq.(car-
83a0 73 61 66 65 20 65 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 safe.expr).name)................
83c0 20 20 20 28 6c 65 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 ...(let.(sets.(args.(cdr.expr)))
83e0 0a 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 66 61 .....................(dolist.(fa
8400 72 67 20 66 61 72 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 rg.fargs).......................
8420 28 70 75 73 68 20 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 (push.(list.farg.(pop.args))....
8440 20 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 74 73 29 29 0a .........................sets)).
8460 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 27 73 65 74 71 20 ....................(cons.'setq.
8480 28 61 70 70 6c 79 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 (apply.#'nconc.(nreverse.sets)))
84a0 29 29 0a 20 20 20 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 ))..................(`(throw.',q
84c0 75 69 74 20 2c 65 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 uit.,expr)))))).......(when-let.
84e0 28 28 74 63 6f 2d 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 ((tco-body.(funcall.tco.(macroex
8500 70 61 6e 64 2d 61 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 pand-all.(macroexp-progn.body)))
8520 29 29 0a 20 20 20 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 )).........(setq.body.`((catch.'
8540 2c 71 75 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 ,quit........................(wh
8560 69 6c 65 20 74 20 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 ile.t.(let.,rargs.,@(macroexp-un
8580 70 72 6f 67 6e 20 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 progn.tco-body))))))).......(let
85a0 20 28 28 65 78 70 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 .((expand.(macroexpand-all.(macr
85c0 6f 65 78 70 2d 70 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 oexp-progn.body).(list.(cons.nam
85e0 65 20 6d 61 63 72 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 e.macro))))).........(if.total-t
8600 63 6f 0a 20 20 20 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 co.............`(let.,bindings.,
8620 65 78 70 61 6e 64 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 expand)...........`(funcall.....
8640 20 20 20 20 20 20 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 ........(letrec.((,self.(lambda.
8660 2c 66 61 72 67 73 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 ,fargs.,expand))).,self)........
8680 20 20 20 20 20 2c 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 .....,@aargs))))))..;;;;.Defined
86a0 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 6e 20 66 69 6c 65 .in.files.el..(compat-defun.file
86c0 2d 6e 61 6d 65 2d 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 -name-with-extension.(filename.e
86e0 78 74 65 6e 73 69 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 xtension).;;.<compat-tests:file-
8700 6e 61 6d 65 2d 77 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 name-with-extension>..."Set.the.
8720 45 58 54 45 4e 53 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 EXTENSION.of.a.FILENAME..The.ext
8740 65 6e 73 69 6f 6e 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 ension.(in.a.file.name).is.the.p
8760 61 72 74 20 74 68 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 art.that.begins.with.the.last.\"
8780 2e 5c 22 2e 0a 0a 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 .\"...Trims.a.leading.dot.from.t
87a0 68 65 20 45 58 54 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 he.EXTENSION.so.that.either.\"fo
87c0 6f 5c 22 20 6f 72 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 o\".or.\".foo\".can.be.given...E
87e0 72 72 6f 72 73 20 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 rrors.if.the.FILENAME.or.EXTENSI
8800 4f 4e 20 61 72 65 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 ON.are.empty,.or.if.the.given.FI
8820 4c 45 4e 41 4d 45 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 LENAME.has.the.format.of.a.direc
8840 74 6f 72 79 2e 0a 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 tory...See.also.`file-name-sans-
8860 65 78 74 65 6e 73 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 extension'."...(let.((extn.(stri
8880 6e 67 2d 72 65 6d 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 ng-remove-prefix.".".extension))
88a0 29 0a 20 20 20 20 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 ).....(cond......((string=.filen
88c0 61 6d 65 20 22 22 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 ame."").......(error."Empty.file
88e0 6e 61 6d 65 22 29 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 name"))......((string=.extn."").
8900 20 20 20 20 20 20 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 ......(error."Malformed.extensio
8920 6e 3a 20 25 73 22 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 n:.%s".extension))......((direct
8940 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 20 20 28 65 72 72 6f ory-name-p.filename).......(erro
8960 72 20 22 46 69 6c 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 r."Filename.is.a.directory:.%s".
8980 66 69 6c 65 6e 61 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 filename))......(t.......(concat
89a0 20 28 66 69 6c 65 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 .(file-name-sans-extension.filen
89c0 61 6d 65 29 20 22 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 ame).".".extn)))))..(compat-defu
89e0 6e 20 64 69 72 65 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 n.directory-empty-p.(dir).;;.<co
8a00 6d 70 61 74 2d 74 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 mpat-tests:directory-empty-p>...
8a20 22 52 65 74 75 72 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 "Return.t.if.DIR.names.an.existi
8a40 6e 67 20 64 69 72 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 ng.directory.containing.no.other
8a60 20 66 69 6c 65 73 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 .files..Return.nil.if.DIR.does.n
8a80 6f 74 20 6e 61 6d 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 ot.name.a.directory,.or.if.there
8aa0 20 77 61 73 0a 74 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 .was.trouble.determining.whether
8ac0 20 44 49 52 20 69 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 .DIR.is.a.directory.or.empty...S
8ae0 79 6d 62 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 ymbolic.links.to.directories.cou
8b00 6e 74 20 61 73 20 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 nt.as.directories..See.`file-sym
8b20 6c 69 6e 6b 2d 70 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 link-p'.to.distinguish.symlinks.
8b40 22 0a 20 20 28 61 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 "...(and.(file-directory-p.dir).
8b60 20 20 20 20 20 20 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 .......(null.(directory-files.di
8b80 72 20 6e 69 6c 20 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 r.nil.directory-files-no-dot-fil
8ba0 65 73 2d 72 65 67 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 es-regexp.t))))..(compat-defun.f
8bc0 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 20 28 6d 6f ile-modes-number-to-symbolic.(mo
8be0 64 65 20 26 6f 70 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 de.&optional.filetype).;;.<compa
8c00 74 2d 74 65 73 74 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 t-tests:file-modes-number-to-sym
8c20 62 6f 6c 69 63 3e 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 bolic>..."Return.a.string.descri
8c40 62 69 6e 67 20 61 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 bing.a.file's.MODE..For.instance
8c60 2c 20 69 66 20 4d 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 ,.if.MODE.is.#o700,.then.it.prod
8c80 75 63 65 73 20 60 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 uces.`-rwx------'..FILETYPE.if.p
8ca0 72 6f 76 69 64 65 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 rovided.should.be.a.character.de
8cc0 6e 6f 74 69 6e 67 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 noting.the.type.of.file,.such.as
8ce0 20 60 3f 64 27 20 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 .`?d'.for.a.directory,.or.`?l'.f
8d00 6f 72 20 61 20 73 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 or.a.symbolic.link.and.will.over
8d20 72 69 64 65 0a 74 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 ride.the.leading.`-'.char."...(s
8d40 74 72 69 6e 67 0a 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 tring....(or.filetype........(pc
8d60 61 73 65 20 28 61 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 ase.(ash.mode.-12)..........;;.P
8d80 4f 53 49 58 20 73 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 OSIX.specifies.that.the.file.typ
8da0 65 20 69 73 20 69 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 e.is.included.in.st_mode........
8dc0 20 20 3b 3b 20 61 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 ..;;.and.provides.names.for.the.
8de0 66 69 6c 65 20 74 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 file.types.but.values.only.for..
8e00 20 20 20 20 20 20 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 ........;;.the.permissions.(e.g.
8e20 2c 20 53 5f 49 57 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 ,.S_IWOTH=2)............;;.(#o01
8e40 37 20 3f 3f 29 20 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 7.??).;;.#define.S_IFMT..0017000
8e60 30 0a 20 20 20 20 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 0..........(#o014.?s)....;;.#def
8e80 69 6e 65 20 53 5f 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 ine.S_IFSOCK.0140000..........(#
8ea0 6f 30 31 32 20 3f 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 o012.?l)....;;.#define.S_IFLNK..
8ec0 30 31 32 30 30 30 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 0120000..........;;.(8..??)....;
8ee0 3b 20 23 64 65 66 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 ;.#define.S_IFREG..0100000......
8f00 20 20 20 20 28 23 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 ....(#o006..?b)...;;.#define.S_I
8f20 46 42 4c 4b 20 20 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 FBLK..0060000..........(#o004..?
8f40 64 29 20 20 20 3b 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 d)...;;.#define.S_IFDIR..0040000
8f60 0a 20 20 20 20 20 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 ..........(#o002..?c)...;;.#defi
8f80 6e 65 20 53 5f 49 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 ne.S_IFCHR..0020000..........(#o
8fa0 30 30 31 20 20 3f 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 001..?p)...;;.#define.S_IFIFO..0
8fc0 30 31 30 30 30 30 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 010000..........(_.?-)))....(if.
8fe0 28 7a 65 72 6f 70 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 (zerop.(logand...256.mode)).?-.?
9000 72 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 31 32 38 20 6d r)....(if.(zerop.(logand...128.m
9020 6f 64 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 ode)).?-.?w)....(if.(zerop.(loga
9040 6e 64 20 20 20 20 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 nd....64.mode))........(if.(zero
9060 70 20 28 6c 6f 67 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 p.(logand..2048.mode)).?-.?S)...
9080 20 20 20 28 69 66 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 ...(if.(zerop.(logand..2048.mode
90a0 29 29 20 3f 78 20 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 )).?x.?s))....(if.(zerop.(logand
90c0 20 20 20 20 33 32 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 ....32.mode)).?-.?r)....(if.(zer
90e0 6f 70 20 28 6c 6f 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 op.(logand....16.mode)).?-.?w)..
9100 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 38 20 6d 6f 64 65 29 ..(if.(zerop.(logand.....8.mode)
9120 29 0a 20 20 20 20 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 )........(if.(zerop.(logand..102
9140 34 20 6d 6f 64 65 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 4.mode)).?-.?S)......(if.(zerop.
9160 28 6c 6f 67 61 6e 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 (logand..1024.mode)).?x.?s))....
9180 28 69 66 20 28 7a 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 (if.(zerop.(logand.....4.mode)).
91a0 3f 2d 20 3f 72 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 ?-.?r)....(if.(zerop.(logand....
91c0 20 32 20 6d 6f 64 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 .2.mode)).?-.?w)....(if.(zerop.(
91e0 6c 6f 67 61 6e 64 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 logand.512.mode))........(if.(ze
9200 72 6f 70 20 28 6c 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 rop.(logand...1.mode)).?-.?x)...
9220 20 20 20 28 69 66 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 ...(if.(zerop.(logand...1.mode))
9240 20 3f 54 20 3f 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 62 .?T.?t))))..(compat-defun.file-b
9260 61 63 6b 75 70 2d 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 ackup-file-names.(filename).;;.<
9280 63 6f 6d 70 61 74 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 compat-tests:file-backup-file-na
92a0 6d 65 73 3e 0a 20 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 mes>..."Return.a.list.of.backup.
92c0 66 69 6c 65 73 20 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 files.for.FILENAME..The.list.wil
92e0 6c 20 62 65 20 73 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 l.be.sorted.by.modification.time
9300 20 73 6f 20 74 68 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 .so.that.the.most.recent.files.a
9320 72 65 20 66 69 72 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 re.first."...;;.`make-backup-fil
9340 65 2d 6e 61 6d 65 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 e-name'.will.get.us.the.right.di
9360 72 65 63 74 6f 72 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 rectory.for...;;.ordinary.or.num
9380 65 72 69 63 20 62 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 eric.backups...It.might.create.a
93a0 20 64 69 72 65 63 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 .directory.for...;;.backups.as.a
93c0 20 73 69 64 65 2d 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 .side-effect,.according.to.`back
93e0 75 70 2d 64 69 72 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 up-directory-alist'....(let*.((f
9400 69 6c 65 6e 61 6d 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 ilename.(file-name-sans-versions
9420 0a 20 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 62 61 63 6b 75 .....................(make-backu
9440 70 2d 66 69 6c 65 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 p-file-name.(expand-file-name.fi
9460 6c 65 6e 61 6d 65 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 lename))))..........(dir.(file-n
9480 61 6d 65 2d 64 69 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 ame-directory.filename))........
94a0 20 20 66 69 6c 65 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 ..files).....(dolist.(file.(file
94c0 2d 6e 61 6d 65 2d 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 -name-all-completions...........
94e0 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f 72 79 .........(file-name-nondirectory
9500 20 66 69 6c 65 6e 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 .filename).dir)).......(let.((ca
9520 6e 64 69 64 61 74 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 ndidate.(concat.dir.file))).....
9540 20 20 20 20 28 77 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 ....(when.(and.(backup-file-name
9560 2d 70 20 63 61 6e 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 -p.candidate)...................
9580 20 28 73 74 72 69 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 .(string=.(file-name-sans-versio
95a0 6e 73 20 63 61 6e 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 ns.candidate).filename))........
95c0 20 20 20 28 70 75 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 ...(push.candidate.files))))....
95e0 20 28 73 6f 72 74 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 .(sort.files.#'file-newer-than-f
9600 69 6c 65 2d 70 29 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 ile-p)))..(compat-defun.make-loc
9620 6b 2d 66 69 6c 65 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 k-file-name.(filename).;;.<compa
9640 74 2d 74 65 73 74 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 t-tests:make-lock-file-name>..."
9660 4d 61 6b 65 20 61 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 Make.a.lock.file.name.for.FILENA
9680 4d 45 2e 0a 54 68 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 ME..This.prepends.\".#\".to.the.
96a0 6e 6f 6e 2d 64 69 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 non-directory.part.of.FILENAME,.
96c0 61 6e 64 0a 64 6f 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 and.doesn't.respect.`lock-file-n
96e0 61 6d 65 2d 74 72 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 ame-transforms',.as.Emacs.28.1.a
9700 6e 64 0a 6f 6e 77 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 nd.onwards.does."...(expand-file
9720 2d 6e 61 6d 65 0a 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 -name....(concat.....".#".(file-
9740 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 29 0a 20 20 20 name-nondirectory.filename))....
9760 28 66 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 (file-name-directory.filename)))
9780 0a 0a 3b 3b 3b 3b 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 ..;;;;.Defined.in.minibuffer.el.
97a0 0a 28 63 6f 6d 70 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 .(compat-defun.format-prompt.(pr
97c0 6f 6d 70 74 20 64 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 ompt.default.&rest.format-args).
97e0 3b 3b 20 3c 63 6f 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 ;;.<compat-tests:format-prompt>.
9800 20 20 22 46 6f 72 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 .."Format.PROMPT.with.DEFAULT..I
9820 66 20 46 4f 52 4d 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 f.FORMAT-ARGS.is.nil,.PROMPT.is.
9840 75 73 65 64 20 61 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 used.as.a.plain.string...If.FORM
9860 41 54 2d 41 52 47 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 AT-ARGS.is.non-nil,.PROMPT.is.us
9880 65 64 20 61 73 20 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 ed.as.a.format.control.string,.a
98a0 6e 64 20 46 4f 52 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 nd.FORMAT-ARGS.are.the.arguments
98c0 20 74 6f 20 62 65 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 .to.be.substituted.into.it...See
98e0 20 60 66 6f 72 6d 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 .`format'.for.details...If.DEFAU
9900 4c 54 20 69 73 20 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 LT.is.a.list,.the.first.element.
9920 69 73 20 75 73 65 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 is.used.as.the.default..If.not,.
9940 74 68 65 20 65 6c 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 the.element.is.used.as.is...If.D
9960 45 46 41 55 4c 54 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 EFAULT.is.nil.or.an.empty.string
9980 2c 20 6e 6f 20 5c 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 ,.no.\"default.value\".string.is
99a0 20 69 6e 63 6c 75 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 .included.in.the.return.value.".
99c0 20 20 28 63 6f 6e 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 ..(concat....(if.(null.format-ar
99e0 67 73 29 0a 20 20 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 gs)........prompt......(apply.#'
9a00 66 6f 72 6d 61 74 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 format.prompt.format-args))....(
9a20 61 6e 64 20 64 65 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 and.default.........(or.(not.(st
9a40 72 69 6e 67 70 20 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 ringp.default)).............(>.(
9a60 6c 65 6e 67 74 68 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 length.default).0)).........(for
9a80 6d 61 74 20 22 20 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 mat.".(default.%s)".............
9aa0 20 20 20 20 28 69 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 ....(if.(consp.default).........
9ac0 20 20 20 20 20 20 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 ............(car.default).......
9ae0 20 20 20 20 20 20 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 ............default)))....":."))
9b00 0a 0a 3b 3b 3b 3b 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 ..;;;;.Defined.in.faces.el..(com
9b20 70 61 74 2d 64 65 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 pat-defvar.color-luminance-dark-
9b40 6c 69 6d 69 74 20 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 limit.0.325.;;.<compat-tests:col
9b60 6f 72 2d 64 61 72 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 or-dark-p>..."The.relative.lumin
9b80 61 6e 63 65 20 62 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 ance.below.which.a.color.is.cons
9ba0 69 64 65 72 65 64 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 idered.\"dark\"..A.\"dark\".colo
9bc0 72 20 69 6e 20 74 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 r.in.this.sense.provides.better.
9be0 63 6f 6e 74 72 61 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 contrast.with.white.than.with.bl
9c00 61 63 6b 3b 20 73 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 ack;.see.`color-dark-p'..This.va
9c20 6c 75 65 20 77 61 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 lue.was.determined.experimentall
9c40 79 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 y."...:constant.t)..(compat-defu
9c60 6e 20 63 6f 6c 6f 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 n.color-dark-p.(rgb).;;.<compat-
9c80 74 65 73 74 73 3a 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 tests:color-dark-p>..."Whether.R
9ca0 47 42 20 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 GB.is.more.readable.against.whit
9cc0 65 20 74 68 61 6e 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 e.than.black..RGB.is.a.3-element
9ce0 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 20 69 6e .list.(R.G.B),.each.component.in
9d00 20 74 68 65 20 72 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 .the.range.[0,1]..This.predicate
9d20 20 63 61 6e 20 62 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 .can.be.used.both.for.determinin
9d40 67 20 61 20 73 75 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 g.a.suitable.(black.or.white).co
9d60 6e 74 72 61 73 74 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 ntrast.color.with.RGB.as.backgro
9d80 75 6e 64 20 61 6e 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 und.and.as.foreground."...(unles
9da0 73 20 28 3c 3d 20 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 s.(<=.0.(apply.#'min.rgb).(apply
9dc0 20 23 27 6d 61 78 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 .#'max.rgb).1).....(error."RGB.c
9de0 6f 6d 70 6f 6e 65 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 omponents.%S.not.in.[0,1]".rgb))
9e00 0a 20 20 3b 3b 20 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 ...;;.Compute.the.relative.lumin
9e20 61 6e 63 65 20 61 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 ance.after.gamma-correcting.(ass
9e40 75 6d 69 6e 67 20 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 uming.sRGB),...;;.and.compare.to
9e60 20 61 20 63 75 74 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 .a.cut-off.value.determined.expe
9e80 72 69 6d 65 6e 74 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 rimentally....;;.See.https://en.
9ea0 77 69 6b 69 70 65 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 wikipedia.org/wiki/Relative_lumi
9ec0 6e 61 6e 63 65 20 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 nance.for.details....(let*.((sr.
9ee0 28 6e 74 68 20 30 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 (nth.0.rgb))..........(sg.(nth.1
9f00 20 72 67 62 29 29 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 .rgb))..........(sb.(nth.2.rgb))
9f20 0a 20 20 20 20 20 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 ..........;;.Gamma-correct.the.R
9f40 47 42 20 63 6f 6d 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 GB.components.to.linear.values..
9f60 20 20 20 20 20 20 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 .........;;.Use.the.power.2.2.as
9f80 20 61 6e 20 61 70 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 .an.approximation.to.sRGB.gamma;
9fa0 0a 20 20 20 20 20 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 ..........;;.it.should.be.good.e
9fc0 6e 6f 75 67 68 20 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 nough.for.the.purpose.of.this.fu
9fe0 6e 63 74 69 6f 6e 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 nction...........(r.(expt.sr.2.2
a000 29 29 0a 20 20 20 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 ))..........(g.(expt.sg.2.2))...
a020 20 20 20 20 20 20 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 .......(b.(expt.sb.2.2))........
a040 20 20 28 79 20 28 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 ..(y.(+.(*.r.0.2126).(*.g.0.7152
a060 29 20 28 2a 20 62 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 ).(*.b.0.0722)))).....(<.y.color
a080 2d 6c 75 6d 69 6e 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 -luminance-dark-limit)))..;;;;.D
a0a0 65 66 69 6e 65 64 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 efined.in.window.el..(compat-def
a0c0 6d 61 63 72 6f 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 macro.with-window-non-dedicated.
a0e0 28 77 69 6e 64 6f 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 (window.&rest.body).;;.<compat-t
a100 65 73 74 73 3a 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 3e 0a ests:with-window-non-dedicated>.
a120 20 20 22 45 76 61 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 .."Evaluate.BODY.with.WINDOW.tem
a140 70 6f 72 61 72 69 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 porarily.made.non-dedicated..If.
a160 57 49 4e 44 4f 57 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 WINDOW.is.nil,.use.the.selected.
a180 77 69 6e 64 6f 77 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 window...Return.the.value.of.the
a1a0 20 6c 61 73 74 20 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 .last.form.in.BODY."...(declare.
a1c0 28 69 6e 64 65 6e 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 (indent.1).(debug.t))...(let.((w
a1e0 69 6e 64 6f 77 2d 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 indow-dedicated-sym.(gensym))...
a200 20 20 20 20 20 20 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 ......(window-sym.(gensym)))....
a220 20 60 28 6c 65 74 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 .`(let*.((,window-sym.(window-no
a240 72 6d 61 6c 69 7a 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 rmalize-window.,window.t))......
a260 20 20 20 20 20 20 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 .......(,window-dedicated-sym.(w
a280 69 6e 64 6f 77 2d 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 indow-dedicated-p.,window-sym)))
a2a0 0a 20 20 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 ........(set-window-dedicated-p.
a2c0 2c 77 69 6e 64 6f 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 ,window-sym.nil)........(unwind-
a2e0 70 72 6f 74 65 63 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 protect............(progn.,@body
a300 29 0a 20 20 20 20 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 )..........(set-window-dedicated
a320 2d 70 20 2c 77 69 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 -p.,window-sym.,window-dedicated
a340 2d 73 79 6d 29 29 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 -sym)))))..(compat-defun.count-w
a360 69 6e 64 6f 77 73 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 indows.(&optional.minibuf.all-fr
a380 61 6d 65 73 29 20 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 ames).;;.<compat-tests:count-win
a3a0 64 6f 77 73 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 dows>..."Handle.optional.argumen
a3c0 74 20 41 4c 4c 2d 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 t.ALL-FRAMES."...:extended.t...(
a3e0 69 66 20 61 6c 6c 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 if.all-frames.......(let.((sum.0
a400 29 29 0a 20 20 20 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 )).........(dolist.(frame.(frame
a420 2d 6c 69 73 74 29 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 -list))...........(with-selected
a440 2d 66 72 61 6d 65 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 -frame.frame.............(setq.s
a460 75 6d 20 28 2b 20 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 um.(+.(count-windows.minibuf).su
a480 6d 29 29 29 29 0a 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 m)))).........sum).....(count-wi
a4a0 6e 64 6f 77 73 20 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 ndows.minibuf)))..;;;;.Defined.i
a4c0 6e 20 74 68 69 6e 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 n.thingatpt.el..(compat-defun.th
a4e0 69 6e 67 2d 61 74 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 ing-at-mouse.(event.thing.&optio
a500 6e 61 6c 20 6e 6f 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 nal.no-properties).;;.<compat-te
a520 73 74 73 3a 74 68 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 sts:thing-at-mouse>..."Return.th
a540 65 20 54 48 49 4e 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 e.THING.at.mouse.click..Like.`th
a560 69 6e 67 2d 61 74 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 ing-at-point',.but.tries.to.use.
a580 74 68 65 20 65 76 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 the.event.where.the.mouse.button
a5a0 20 69 73 20 63 6c 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 .is.clicked.to.find.a.thing.near
a5c0 62 79 2e 22 0a 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 by."...;;.No.:feature.specified,
a5e0 20 73 69 6e 63 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 .since.the.function.is.autoloade
a600 64 2e 0a 20 20 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 d....(save-excursion.....(mouse-
a620 73 65 74 2d 70 6f 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 set-point.event).....(thing-at-p
a640 6f 69 6e 74 20 74 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 oint.thing.no-properties)))..(co
a660 6d 70 61 74 2d 64 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 mpat-defun.bounds-of-thing-at-mo
a680 75 73 65 20 28 65 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 use.(event.thing).;;.<compat-tes
a6a0 74 73 3a 74 68 69 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 ts:thing-at-mouse>..."Determine.
a6c0 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 49 4e start.and.end.locations.for.THIN
a6e0 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 20 45 56 45 4e 54 2e G.at.mouse.click.given.by.EVENT.
a700 0a 4c 69 6b 65 20 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 .Like.`bounds-of-thing-at-point'
a720 2c 20 62 75 74 20 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 ,.but.tries.to.use.the.position.
a740 69 6e 20 45 56 45 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 in.EVENT.where.the.mouse.button.
a760 69 73 20 63 6c 69 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 is.clicked.to.find.the.thing.nea
a780 72 62 79 2e 22 0a 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 rby."...;;.No.:feature.specified
a7a0 2c 20 73 69 6e 63 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 ,.since.the.function.is.autoload
a7c0 65 64 2e 0a 20 20 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 ed....(save-excursion.....(mouse
a7e0 2d 73 65 74 2d 70 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 -set-point.event).....(bounds-of
a800 2d 74 68 69 6e 67 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 -thing-at-point.thing)))..;;;;.D
a820 65 66 69 6e 65 64 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 efined.in.mouse.el..(compat-defu
a840 6e 20 6d 61 72 6b 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 n.mark-thing-at-mouse.(click.thi
a860 6e 67 29 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 ng).;;.<compat-tests:thing-at-mo
a880 75 73 65 3e 0a 20 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 use>..."Activate.the.region.arou
a8a0 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 6f 75 73 65 20 43 4c nd.THING.found.near.the.mouse.CL
a8c0 49 43 4b 2e 22 0a 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 ICK."...(when-let.((bounds.(boun
a8e0 64 73 2d 6f 66 2d 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 ds-of-thing-at-mouse.click.thing
a900 29 29 29 0a 20 20 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 ))).....(goto-char.(if.mouse-sel
a920 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 20 20 ect-region-move-to-beginning....
a940 20 20 20 20 20 20 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 ................(car.bounds).(cd
a960 72 20 62 6f 75 6e 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 r.bounds))).....(push-mark.(if.m
a980 6f 75 73 65 2d 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 ouse-select-region-move-to-begin
a9a0 6e 69 6e 67 0a 20 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 ning....................(cdr.bou
a9c0 6e 64 73 29 20 28 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 nds).(car.bounds))..............
a9e0 20 20 74 20 27 61 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 ..t.'activate)))..;;;;.Defined.i
aa00 6e 20 6d 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 n.macroexp.el..(compat-defun.mac
aa20 72 6f 65 78 70 2d 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 roexp-warn-and-return.(msg.form.
aa40 26 6f 70 74 69 6f 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 &optional._category._compile-onl
aa60 79 20 5f 61 72 67 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 y._arg).;;.<compat-tests:macroex
aa80 70 2d 77 61 72 6e 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 p-warn-and-return>..."Return.cod
aaa0 65 20 65 71 75 69 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 e.equivalent.to.FORM.labeled.wit
aac0 68 20 77 61 72 6e 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 h.warning.MSG..CATEGORY.is.the.c
aae0 61 74 65 67 6f 72 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 ategory.of.the.warning,.like.the
ab00 20 63 61 74 65 67 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 .categories.that.can.appear.in.`
ab20 62 79 74 65 2d 63 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 byte-compile-warnings'..COMPILE-
ab40 4f 4e 4c 59 20 6e 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 ONLY.non-nil.means.no.warning.sh
ab60 6f 75 6c 64 20 62 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 ould.be.emitted.if.the.code.is.e
ab80 78 65 63 75 74 65 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 xecuted.without.being.compiled.f
aba0 69 72 73 74 2e 0a 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 irst..ARG.is.a.symbol.(or.a.form
abc0 29 20 67 69 76 69 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 ).giving.the.source.code.positio
abe0 6e 20 66 6f 72 20 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 n.for.the.message..It.should.nor
ac00 6d 61 6c 6c 79 20 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 mally.be.a.symbol.with.position.
ac20 61 6e 64 20 69 74 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 and.it.defaults.to.FORM."...(mac
ac40 72 6f 65 78 70 2d 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 roexp--warn-and-return.msg.form)
ac60 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 66 69 6c 65 2d 6e )..(compat-defun.macroexp-file-n
ac80 61 6d 65 20 28 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 ame.().;;.<compat-tests:macroexp
aca0 2d 66 69 6c 65 2d 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 -file-name>..."Return.the.name.o
acc0 66 20 74 68 65 20 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 f.the.file.from.which.the.code.c
ace0 6f 6d 65 73 2e 0a 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 omes..Returns.nil.when.we.do.not
ad00 20 6b 6e 6f 77 2e 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 .know..A.non-nil.result.is.expec
ad20 74 65 64 20 74 6f 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 ted.to.be.reliable.when.called.f
ad40 72 6f 6d 20 61 20 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 rom.a.macro.in.order.to.find.the
ad60 20 66 69 6c 65 20 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 .file.in.which.the.macro's.call.
ad80 77 61 73 20 66 6f 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 was.found,.and.it.should.be.reli
ada0 61 62 6c 65 20 61 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 able.as.well.when.used.at.the.to
adc0 70 2d 6c 65 76 65 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 p-level.of.a.file..Other.uses.ri
ade0 73 6b 20 72 65 74 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 sk.returning.non-nil.value.that.
ae00 70 6f 69 6e 74 20 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 point.to.the.wrong.file."...(let
ae20 20 28 28 66 69 6c 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 .((file.(car.(last.current-load-
ae40 6c 69 73 74 29 29 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 list)))).....(or.(if.(stringp.fi
ae60 6c 65 29 20 66 69 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 le).file).........(bound-and-tru
ae80 65 2d 70 20 62 79 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 e-p.byte-compile-current-file)))
aea0 29 0a 0a 3b 3b 3b 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 )..;;;;.Defined.in.env.el..(comp
aec0 61 74 2d 64 65 66 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 at-defmacro.with-environment-var
aee0 69 61 62 6c 65 73 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 iables.(variables.&rest.body).;;
af00 20 3c 63 6f 6d 70 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 .<compat-tests:with-environment-
af20 76 61 72 69 61 62 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 variables>..."Set.VARIABLES.in.t
af40 68 65 20 65 6e 76 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 he.environment.and.execute.BODY.
af60 0a 56 41 52 49 41 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 .VARIABLES.is.a.list.of.variable
af80 20 73 65 74 74 69 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 .settings.of.the.form.(VAR.VALUE
afa0 29 2c 0a 77 68 65 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 ),.where.VAR.is.the.name.of.the.
afc0 76 61 72 69 61 62 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 variable.(a.string).and.VALUE.is
afe0 20 69 74 73 20 76 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 .its.value.(also.a.string)...The
b000 20 70 72 65 76 69 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 .previous.values.will.be.be.rest
b020 6f 72 65 64 20 75 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 ored.upon.exit."...(declare.(ind
b040 65 6e 74 20 31 29 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 ent.1).(debug.(sexp.body)))...(u
b060 6e 6c 65 73 73 20 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 nless.(consp.variables).....(err
b080 6f 72 20 22 49 6e 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 or."Invalid.VARIABLES:.%s".varia
b0a0 62 6c 65 73 29 29 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 bles))...`(let.((process-environ
b0c0 6d 65 6e 74 20 28 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 ment.(copy-sequence.process-envi
b0e0 72 6f 6e 6d 65 6e 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 ronment)))......,@(mapcar.(lambd
b100 61 20 28 65 6c 65 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 a.(elem)..................`(sete
b120 6e 76 20 2c 28 63 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 nv.,(car.elem).,(cadr.elem)))...
b140 20 20 20 20 20 20 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 .............variables)......,@b
b160 6f 64 79 29 29 0a 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 ody))..;;;;.Defined.in.time-data
b180 2e 65 6c 0a 0a 28 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 .el..(compat-defun.decoded-time-
b1a0 70 65 72 69 6f 64 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 period.(time).;;.<compat-tests:d
b1c0 65 63 6f 64 65 64 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 ecoded-time-period>..."Interpret
b1e0 20 44 45 43 4f 44 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 .DECODED.as.a.period.and.return.
b200 69 74 73 20 6c 65 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 its.length.in.seconds..For.compu
b220 74 61 74 69 6f 6e 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 tational.purposes,.years.are.365
b240 20 64 61 79 73 20 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 .days.long.and.months.are.30.day
b260 73 20 6c 6f 6e 67 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 s.long."...:feature.time-date...
b280 28 2b 20 28 69 66 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 (+.(if.(consp.(decoded-time-seco
b2a0 6e 64 20 74 69 6d 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 nd.time))..........(/.(float.(ca
b2c0 72 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 65 29 29 29 0a 20 r.(decoded-time-second.time)))..
b2e0 20 20 20 20 20 20 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 ...........(cdr.(decoded-time-se
b300 63 6f 6e 64 20 74 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 cond.time)))........(or.(decoded
b320 2d 74 69 6d 65 2d 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 -time-second.time).0))......(*.(
b340 6f 72 20 28 64 65 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 or.(decoded-time-minute.time).0)
b360 20 36 30 29 0a 20 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 .60)......(*.(or.(decoded-time-h
b380 6f 75 72 20 74 69 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 our.time).0).60.60)......(*.(or.
b3a0 28 64 65 63 6f 64 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 (decoded-time-day.time).0).60.60
b3c0 20 32 34 29 0a 20 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 .24)......(*.(or.(decoded-time-m
b3e0 6f 6e 74 68 20 74 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 onth.time).0).60.60.24.30)......
b400 28 2a 20 28 6f 72 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 (*.(or.(decoded-time-year.time).
b420 30 29 20 36 30 20 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 0).60.60.24.365)))..;;;;.Defined
b440 20 69 6e 20 64 6f 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 .in.doc.c..(compat-defun.text-qu
b460 6f 74 69 6e 67 2d 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 oting-style.().;;.<compat-tests:
b480 74 65 78 74 2d 71 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 text-quoting-style>..."Return.th
b4a0 65 20 63 75 72 72 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 e.current.effective.text.quoting
b4c0 20 73 74 79 6c 65 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 .style..If.the.variable.`text-qu
b4e0 6f 74 69 6e 67 2d 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 oting-style'.is.`grave',.`straig
b500 68 74 27 20 6f 72 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 ht'.or.`curve',.just.return.that
b520 20 76 61 6c 75 65 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 .value...If.it.is.nil.(the.defau
b540 6c 74 29 2c 20 72 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 lt),.return.`grave'.if.curved.qu
b560 6f 74 65 73 20 63 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 otes.cannot.be.displayed.(for.in
b580 73 74 61 6e 63 65 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 stance,.on.a.terminal.with.no.su
b5a0 70 70 6f 72 74 20 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 pport.for.these.characters),.oth
b5c0 65 72 77 69 73 65 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 erwise.return.`quote'...Any.othe
b5e0 72 20 76 61 6c 75 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 r.value.is.treated.as.`grave'...
b600 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 74 68 65 20 76 61 72 Note.that.in.contrast.to.the.var
b620 69 61 62 6c 65 20 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 iable.`text-quoting-style',.this
b640 0a 66 75 6e 63 74 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 .function.will.never.return.nil.
b660 22 0a 20 20 28 63 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 "...(cond....((memq.text-quoting
b680 2d 73 74 79 6c 65 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 -style.'(grave.straight.curve)).
b6a0 20 20 20 20 74 65 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 ....text-quoting-style)....((not
b6c0 20 74 65 78 74 2d 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 .text-quoting-style).'grave)....
b6e0 28 74 20 27 63 75 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 (t.'curve)))..;;;;.Defined.in.bu
b700 74 74 6f 6e 2e 65 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 tton.el..;;.Obsolete.Alias.since
b720 20 32 39 0a 28 63 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 .29.(compat-defalias.button-butt
b740 6f 6e 69 7a 65 20 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 onize.buttonize.:obsolete.t).;;.
b760 3c 63 6f 6d 70 61 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 <compat-tests:obsolete-button-bu
b780 74 74 6f 6e 69 7a 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 ttonize>..;;;;.Defined.in.wid-ed
b7a0 69 74 2e 65 6c 0a 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 it.el..(compat-guard.t.;;.<compa
b7c0 74 2d 74 65 73 74 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 t-tests:widget-natnum>...:featur
b7e0 65 20 77 69 64 2d 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 e.wid-edit...(define-widget.'nat
b800 6e 75 6d 20 27 72 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 num.'restricted-sexp....."A.nonn
b820 65 67 61 74 69 76 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 egative.integer.".....:tag."Inte
b840 67 65 72 20 28 70 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 ger.(positive)".....:value.0....
b860 20 3a 74 79 70 65 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 .:type-error."This.field.should.
b880 63 6f 6e 74 61 69 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 contain.a.nonnegative.integer"..
b8a0 20 20 20 3a 6d 61 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 ...:match-alternatives.'(natnump
b8c0 29 29 29 0a 0a 28 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 )))..(provide.'compat-28).;;;.co
b8e0 6d 70 61 74 2d 32 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 mpat-28.el.ends.here............
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 31 2e 30 2e 31 2f 63 6f 6d 70 61 74 2d 6d 61 63 73 2e 65 6c 00 00 compat-30.1.0.1/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 33 34 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 34 31 36 00 20 30 00 00 00 0027346.00000000000.014416..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 35 20 46 72 65 65 20 53 6f 66 Copyright.(C).2021-2025.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 72 69 73 6b 79 20 3a 3a 20 4d as.constant.if.t...-.:risky.::.M
e2e0 61 72 6b 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 61 73 20 72 69 73 6b 79 20 69 66 20 74 2e 0a ark.the.variable.as.risky.if.t..
e300 0a 2d 20 3a 6c 6f 63 61 6c 20 3a 3a 20 4d 61 6b 65 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 62 .-.:local.::.Make.the.variable.b
e320 75 66 66 65 72 2d 6c 6f 63 61 6c 20 69 66 20 74 2e 20 20 49 66 20 74 68 65 20 76 61 6c 75 65 20 uffer-local.if.t...If.the.value.
e340 69 73 0a 20 20 60 70 65 72 6d 61 6e 65 6e 74 27 20 6d 61 6b 65 20 74 68 65 20 76 61 72 69 61 62 is...`permanent'.make.the.variab
e360 6c 65 20 61 64 64 69 74 69 6f 6e 61 6c 6c 79 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 6c 6f 63 61 le.additionally.permanently.loca
e380 6c 2e 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 76 61 72 69 l...-.:obsolete.::.Mark.the.vari
e3a0 61 62 6c 65 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 able.as.obsolete.if.t,.can.be.a.
e3c0 20 20 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 ..string.describing.the.obsoleti
e3e0 6f 6e 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 on...-.:feature.::.See.`compat-g
e400 75 61 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 6e 61 6d 65 20 uard'."...(declare.(debug.(name.
e420 66 6f 72 6d 20 73 74 72 69 6e 67 70 20 5b 26 72 65 73 74 20 6b 65 79 77 6f 72 64 70 20 73 65 78 form.stringp.[&rest.keywordp.sex
e440 70 5d 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 63 2d 73 74 72 69 6e 67 20 33 29 20 28 p]))............(doc-string.3).(
e460 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 67 75 61 72 64 indent.2))...(compat-macs--guard
e480 0a 20 20 20 20 20 20 61 74 74 72 73 20 28 6c 69 73 74 20 3a 63 6f 6e 73 74 61 6e 74 20 23 27 62 .......attrs.(list.:constant.#'b
e4a0 6f 6f 6c 65 61 6e 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 72 69 73 6b 79 ooleanp...................:risky
e4c0 20 23 27 62 6f 6f 6c 65 61 6e 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6c .#'booleanp...................:l
e4e0 6f 63 61 6c 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 6d 65 6d 71 20 78 20 27 28 6e 69 6c 20 74 ocal.(lambda.(x).(memq.x.'(nil.t
e500 20 70 65 72 6d 61 6e 65 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .permanent)))...................
e520 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 6f 6f 6c 65 :obsolete.(lambda.(x).(or.(boole
e540 61 6e 70 20 78 29 20 28 73 74 72 69 6e 67 70 20 78 29 29 29 29 0a 20 20 20 20 28 6c 61 6d 62 64 anp.x).(stringp.x)))).....(lambd
e560 61 20 28 63 6f 6e 73 74 61 6e 74 20 72 69 73 6b 79 20 6c 6f 63 61 6c 20 6f 62 73 6f 6c 65 74 65 a.(constant.risky.local.obsolete
e580 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 63 74 20 28 6e 6f ).......(compat-macs--strict.(no
e5a0 74 20 28 62 6f 75 6e 64 70 20 6e 61 6d 65 29 29 20 22 25 73 20 61 6c 72 65 61 64 79 20 64 65 66 t.(boundp.name))."%s.already.def
e5c0 69 6e 65 64 22 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 28 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d ined".name).......(compat-macs--
e5e0 61 73 73 65 72 74 20 28 6e 6f 74 20 28 61 6e 64 20 63 6f 6e 73 74 61 6e 74 20 6c 6f 63 61 6c 29 assert.(not.(and.constant.local)
e600 29 20 22 42 6f 74 68 20 3a 63 6f 6e 73 74 61 6e 74 20 61 6e 64 20 3a 6c 6f 63 61 6c 22 29 0a 20 )."Both.:constant.and.:local")..
e620 20 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 6e 6f 74 20 28 .....(compat-macs--assert.(not.(
e640 61 6e 64 20 6c 6f 63 61 6c 20 72 69 73 6b 79 29 29 20 22 42 6f 74 68 20 3a 72 69 73 6b 79 20 61 and.local.risky))."Both.:risky.a
e660 6e 64 20 3a 6c 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 nd.:local").......;;.The.boundp.
e680 63 68 65 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 check.is.performed.at.runtime.to
e6a0 20 6d 61 6b 65 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 .make.sure.that.we.never.......;
e6c0 3b 20 72 65 64 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 ;.redefine.an.existing.definitio
e6e0 6e 20 69 66 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 77 65 72 n.if.Compat.is.loaded.on.a.newer
e700 20 45 6d 61 63 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 .Emacs.......;;.version........`
e720 28 28 64 65 66 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 ((defvar.,name).........(unless.
e740 28 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 2c 28 69 66 20 (boundp.',name)...........(,(if.
e760 63 6f 6e 73 74 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 constant.'defconst.'defvar).....
e780 20 20 20 20 20 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 .......,name.,initval...........
e7a0 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 27 76 61 72 69 61 .,(compat-macs--docstring.'varia
e7c0 62 6c 65 20 6e 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 ble.name.docstring))...........,
e7e0 40 28 77 68 65 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 @(when.obsolete...............`(
e800 28 6d 61 6b 65 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 (make-obsolete-variable.........
e820 20 20 20 20 20 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 .........',name.,(if.(stringp.ob
e840 73 6f 6c 65 74 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 solete).obsolete."No.substitute"
e860 29 0a 20 20 20 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 )..................,compat-macs-
e880 2d 76 65 72 73 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 -version)))).........,@(and.loca
e8a0 6c 20 60 28 28 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 l.`((make-variable-buffer-local.
e8c0 27 2c 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 2c 40 28 61 6e 64 20 72 69 73 6b 79 20 60 ',name))).........,@(and.risky.`
e8e0 28 28 70 75 74 20 27 2c 6e 61 6d 65 20 27 72 69 73 6b 79 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 ((put.',name.'risky-local-variab
e900 6c 65 20 74 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 le.t))).........,@(and.(eq.local
e920 20 27 70 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 .'permanent).`((put.',name.'perm
e940 61 6e 65 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 anent-local.t)))))))..(defmacro.
e960 63 6f 6d 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 compat-version.(version)..."Set.
e980 74 68 65 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 the.Emacs.version.that.is.curren
e9a0 74 6c 79 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 tly.being.handled.to.VERSION."..
e9c0 20 28 73 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 .(setq.compat-macs--version.vers
e9e0 69 6f 6e 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 ion)...nil)..(defmacro.compat-re
ea00 71 75 69 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 quire.(feature.version)..."Requi
ea20 72 65 20 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 re.FEATURE.if.the.Emacs.version.
ea40 69 73 20 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 is.less.than.VERSION."...(when.(
ea60 76 65 72 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 version<.emacs-version.version).
ea80 20 20 20 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 ....(require.feature).....`(requ
eaa0 69 72 65 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 ire.',feature)))..(provide.'comp
eac0 61 74 2d 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 at-macs).;;;.compat-macs.el.ends
eae0 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .here...........................
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 31 2e 30 2e 31 2f 63 6f 6d 70 61 74 2d 33 30 2e 65 6c 00 00 00 00 compat-30.1.0.1/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 35 31 31 33 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 37 30 37 00 20 30 00 00 00 0051136.00000000000.013707..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 35 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 C).2023-2025.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 28 63 6f 6d 70 61 74 2d 76 65 72 73 69 6f 6e 20 22 32 39 2e 33 22 29 "29.1")..(compat-version."29.3")
f1e0 0a 28 63 6f 6d 70 61 74 2d 64 65 66 76 61 72 20 75 6e 74 72 75 73 74 65 64 2d 63 6f 6e 74 65 6e .(compat-defvar.untrusted-conten
f200 74 20 6e 69 6c 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 75 6e 74 72 75 73 74 65 64 t.nil.;;.<compat-tests:untrusted
f220 2d 63 6f 6e 74 65 6e 74 3e 0a 20 20 22 4e 6f 6e 2d 6e 69 6c 20 6d 65 61 6e 73 20 74 68 61 74 20 -content>..."Non-nil.means.that.
f240 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 20 6f 72 69 67 69 6e 61 74 65 64 20 66 72 6f 6d 20 61 current.buffer.originated.from.a
f260 6e 20 75 6e 74 72 75 73 74 65 64 20 73 6f 75 72 63 65 2e 0a 45 6d 61 69 6c 20 63 6c 69 65 6e 74 n.untrusted.source..Email.client
f280 73 20 61 6e 64 20 73 6f 6d 65 20 6f 74 68 65 72 20 6d 6f 64 65 73 20 6d 61 79 20 73 65 74 20 74 s.and.some.other.modes.may.set.t
f2a0 68 69 73 20 6e 6f 6e 2d 6e 69 6c 20 74 6f 20 6d 61 72 6b 20 74 68 65 0a 62 75 66 66 65 72 20 63 his.non-nil.to.mark.the.buffer.c
f2c0 6f 6e 74 65 6e 74 73 20 61 73 20 75 6e 74 72 75 73 74 65 64 2e 0a 0a 54 68 69 73 20 76 61 72 69 ontents.as.untrusted...This.vari
f2e0 61 62 6c 65 20 6d 69 67 68 74 20 62 65 20 73 75 62 6a 65 63 74 20 74 6f 20 63 68 61 6e 67 65 20 able.might.be.subject.to.change.
f300 77 69 74 68 6f 75 74 20 6e 6f 74 69 63 65 2e 22 0a 20 20 3a 6c 6f 63 61 6c 20 70 65 72 6d 61 6e without.notice."...:local.perman
f320 65 6e 74 29 0a 0a 28 63 6f 6d 70 61 74 2d 76 65 72 73 69 6f 6e 20 22 33 30 2e 31 22 29 0a 0a 3b ent)..(compat-version."30.1")..;
f340 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 6c 72 65 61 64 2e 63 0a 0a 28 63 6f 6d 70 61 74 2d ;;;.Defined.in.lread.c..(compat-
f360 64 65 66 75 6e 20 6f 62 61 72 72 61 79 2d 63 6c 65 61 72 20 28 6f 62 29 20 3b 3b 20 3c 63 6f 6d defun.obarray-clear.(ob).;;.<com
f380 70 61 74 2d 74 65 73 74 73 3a 6f 62 61 72 72 61 79 2d 63 6c 65 61 72 3e 0a 20 20 22 52 65 6d 6f pat-tests:obarray-clear>..."Remo
f3a0 76 65 20 61 6c 6c 20 73 79 6d 62 6f 6c 73 20 66 72 6f 6d 20 6f 62 61 72 72 61 79 20 4f 42 2e 22 ve.all.symbols.from.obarray.OB."
f3c0 0a 20 20 28 66 69 6c 6c 61 72 72 61 79 20 6f 62 20 30 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e ...(fillarray.ob.0))..;;;;.Defin
f3e0 65 64 20 69 6e 20 62 75 66 66 65 72 2e 63 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 66 69 ed.in.buffer.c..(compat-defun.fi
f400 6e 64 2d 62 75 66 66 65 72 20 28 76 61 72 69 61 62 6c 65 20 76 61 6c 75 65 29 20 3b 3b 20 3c 63 nd-buffer.(variable.value).;;.<c
f420 6f 6d 70 61 74 2d 74 65 73 74 73 3a 66 69 6e 64 2d 62 75 66 66 65 72 3e 0a 20 20 22 52 65 74 75 ompat-tests:find-buffer>..."Retu
f440 72 6e 20 74 68 65 20 62 75 66 66 65 72 20 77 69 74 68 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 rn.the.buffer.with.buffer-local.
f460 56 41 52 49 41 42 4c 45 20 65 71 75 61 6c 20 74 6f 20 56 41 4c 55 45 2e 0a 49 66 20 74 68 65 72 VARIABLE.equal.to.VALUE..If.ther
f480 65 20 69 73 20 6e 6f 20 73 75 63 68 20 6c 69 76 65 20 62 75 66 66 65 72 2c 20 72 65 74 75 72 6e e.is.no.such.live.buffer,.return
f4a0 20 6e 69 6c 2e 22 0a 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 62 75 66 66 65 72 20 74 68 65 .nil."...(cl-loop.for.buffer.the
f4c0 20 62 75 66 66 65 72 73 0a 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 65 71 75 61 6c 20 28 62 .buffers............if.(equal.(b
f4e0 75 66 66 65 72 2d 6c 6f 63 61 6c 2d 76 61 6c 75 65 20 76 61 72 69 61 62 6c 65 20 62 75 66 66 65 uffer-local-value.variable.buffe
f500 72 29 20 76 61 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 62 75 66 66 r).value)............return.buff
f520 65 72 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 67 65 74 2d 74 72 75 65 6e 61 6d 65 er))..(compat-defun.get-truename
f540 2d 62 75 66 66 65 72 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 -buffer.(filename).;;.<compat-te
f560 73 74 73 3a 67 65 74 2d 74 72 75 65 6e 61 6d 65 2d 62 75 66 66 65 72 3e 0a 20 20 22 52 65 74 75 sts:get-truename-buffer>..."Retu
f580 72 6e 20 74 68 65 20 62 75 66 66 65 72 20 77 69 74 68 20 60 66 69 6c 65 2d 74 72 75 65 6e 61 6d rn.the.buffer.with.`file-truenam
f5a0 65 27 20 65 71 75 61 6c 20 74 6f 20 46 49 4c 45 4e 41 4d 45 20 28 61 20 73 74 72 69 6e 67 29 2e e'.equal.to.FILENAME.(a.string).
f5c0 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 66 65 72 .If.there.is.no.such.live.buffer
f5e0 2c 20 72 65 74 75 72 6e 20 6e 69 6c 2e 0a 53 65 65 20 61 6c 73 6f 20 60 66 69 6e 64 2d 62 75 66 ,.return.nil..See.also.`find-buf
f600 66 65 72 2d 76 69 73 69 74 69 6e 67 27 2e 22 0a 20 20 28 66 69 6e 64 2d 62 75 66 66 65 72 20 27 fer-visiting'."...(find-buffer.'
f620 62 75 66 66 65 72 2d 66 69 6c 65 2d 74 72 75 65 6e 61 6d 65 20 66 69 6c 65 6e 61 6d 65 29 29 0a buffer-file-truename.filename)).
f640 0a 3b 3b 3b 3b 20 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 .;;;;.Defined.in.files.el..(comp
f660 61 74 2d 64 65 66 76 61 72 20 74 72 75 73 74 65 64 2d 63 6f 6e 74 65 6e 74 20 6e 69 6c 20 3b 3b at-defvar.trusted-content.nil.;;
f680 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 74 72 75 73 74 65 64 2d 63 6f 6e 74 65 6e 74 3e 0a .<compat-tests:trusted-content>.
f6a0 20 20 22 4c 69 73 74 20 6f 66 20 66 69 6c 65 73 20 61 6e 64 20 64 69 72 65 63 74 6f 72 69 65 73 .."List.of.files.and.directories
f6c0 20 77 68 6f 73 65 20 63 6f 6e 74 65 6e 74 20 77 65 20 74 72 75 73 74 2e 0a 42 65 20 65 78 74 72 .whose.content.we.trust..Be.extr
f6e0 61 20 63 61 72 65 66 75 6c 20 68 65 72 65 20 73 69 6e 63 65 20 74 72 75 73 74 69 6e 67 20 6d 65 a.careful.here.since.trusting.me
f700 61 6e 73 20 74 68 61 74 20 45 6d 61 63 73 20 6d 69 67 68 74 20 65 78 65 63 75 74 65 20 74 68 65 ans.that.Emacs.might.execute.the
f720 0a 63 6f 64 65 20 63 6f 6e 74 61 69 6e 65 64 20 77 69 74 68 69 6e 20 74 68 6f 73 65 20 66 69 6c .code.contained.within.those.fil
f740 65 73 20 61 6e 64 20 64 69 72 65 63 74 6f 72 69 65 73 20 77 69 74 68 6f 75 74 20 61 6e 20 65 78 es.and.directories.without.an.ex
f760 70 6c 69 63 69 74 0a 72 65 71 75 65 73 74 20 62 79 20 74 68 65 20 75 73 65 72 2e 0a 4f 6e 65 20 plicit.request.by.the.user..One.
f780 69 6d 70 6f 72 74 61 6e 74 20 63 61 73 65 20 77 68 65 6e 20 74 68 69 73 20 6d 69 67 68 74 20 68 important.case.when.this.might.h
f7a0 61 70 70 65 6e 20 69 73 20 77 68 65 6e 20 60 66 6c 79 6d 61 6b 65 2d 6d 6f 64 65 27 20 69 73 0a appen.is.when.`flymake-mode'.is.
f7c0 65 6e 61 62 6c 65 64 20 28 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 77 68 65 6e 20 69 74 20 69 73 enabled.(for.example,.when.it.is
f7e0 20 61 64 64 65 64 20 74 6f 20 61 20 6d 6f 64 65 20 68 6f 6f 6b 29 2e 0a 45 61 63 68 20 65 6c 65 .added.to.a.mode.hook)..Each.ele
f800 6d 65 6e 74 20 6f 66 20 74 68 65 20 6c 69 73 74 20 73 68 6f 75 6c 64 20 62 65 20 61 20 73 74 72 ment.of.the.list.should.be.a.str
f820 69 6e 67 3a 0a 2d 20 49 66 20 69 74 20 65 6e 64 73 20 69 6e 20 5c 22 2f 5c 22 2c 20 69 74 20 69 ing:.-.If.it.ends.in.\"/\",.it.i
f840 73 20 63 6f 6e 73 69 64 65 72 65 64 20 61 73 20 61 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65 s.considered.as.a.directory.name
f860 20 61 6e 64 20 6d 65 61 6e 73 20 74 68 61 74 0a 20 20 45 6d 61 63 73 20 73 68 6f 75 6c 64 20 74 .and.means.that...Emacs.should.t
f880 72 75 73 74 20 61 6c 6c 20 74 68 65 20 66 69 6c 65 73 20 77 68 6f 73 65 20 6e 61 6d 65 20 68 61 rust.all.the.files.whose.name.ha
f8a0 73 20 74 68 69 73 20 64 69 72 65 63 74 6f 72 79 20 61 73 20 61 20 70 72 65 66 69 78 2e 0a 2d 20 s.this.directory.as.a.prefix..-.
f8c0 65 6c 73 65 20 69 74 20 69 73 20 63 6f 6e 73 69 64 65 72 65 64 20 61 73 20 61 20 66 69 6c 65 20 else.it.is.considered.as.a.file.
f8e0 6e 61 6d 65 2e 0a 55 73 65 20 61 62 62 72 65 76 69 61 74 65 64 20 66 69 6c 65 20 6e 61 6d 65 73 name..Use.abbreviated.file.names
f900 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 61 6e 20 65 6e 74 72 79 20 5c 22 7e 2f 6d 79 63 ...For.example,.an.entry.\"~/myc
f920 6f 64 65 5c 22 20 6d 65 61 6e 73 0a 74 68 61 74 20 45 6d 61 63 73 20 77 69 6c 6c 20 74 72 75 73 ode\".means.that.Emacs.will.trus
f940 74 20 61 6c 6c 20 74 68 65 20 66 69 6c 65 73 20 69 6e 20 79 6f 75 72 20 64 69 72 65 63 74 6f 72 t.all.the.files.in.your.director
f960 79 20 5c 22 6d 79 63 6f 64 65 5c 22 2e 0a 54 68 69 73 20 76 61 72 69 61 62 6c 65 20 63 61 6e 20 y.\"mycode\"..This.variable.can.
f980 61 6c 73 6f 20 62 65 20 73 65 74 20 74 6f 20 60 3a 61 6c 6c 27 2c 20 69 6e 20 77 68 69 63 68 20 also.be.set.to.`:all',.in.which.
f9a0 63 61 73 65 20 45 6d 61 63 73 20 77 69 6c 6c 20 74 72 75 73 74 0a 61 6c 6c 20 66 69 6c 65 73 2c case.Emacs.will.trust.all.files,
f9c0 20 77 68 69 63 68 20 6f 70 65 6e 73 20 61 20 67 61 70 69 6e 67 20 73 65 63 75 72 69 74 79 20 68 .which.opens.a.gaping.security.h
f9e0 6f 6c 65 2e 22 0a 20 20 3a 72 69 73 6b 79 20 74 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e ole."...:risky.t)..(compat-defun
fa00 20 74 72 75 73 74 65 64 2d 63 6f 6e 74 65 6e 74 2d 70 20 28 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 .trusted-content-p.().;;.<compat
fa20 2d 74 65 73 74 73 3a 74 72 75 73 74 65 64 2d 63 6f 6e 74 65 6e 74 2d 70 3e 0a 20 20 22 52 65 74 -tests:trusted-content-p>..."Ret
fa40 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 77 65 20 74 72 75 73 74 20 74 68 65 20 63 6f 6e 74 urn.non-nil.if.we.trust.the.cont
fa60 65 6e 74 73 20 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2e 0a 48 65 72 65 ents.of.the.current.buffer..Here
fa80 2c 20 5c 22 74 72 75 73 74 5c 22 20 6d 65 61 6e 73 20 74 68 61 74 20 77 65 20 61 72 65 20 77 69 ,.\"trust\".means.that.we.are.wi
faa0 6c 6c 69 6e 67 20 74 6f 20 72 75 6e 20 63 6f 64 65 20 66 6f 75 6e 64 20 69 6e 73 69 64 65 20 6f lling.to.run.code.found.inside.o
fac0 66 20 69 74 2e 0a 53 65 65 20 61 6c 73 6f 20 60 74 72 75 73 74 65 64 2d 63 6f 6e 74 65 6e 74 27 f.it..See.also.`trusted-content'
fae0 2e 22 0a 20 20 28 61 6e 64 20 28 6e 6f 74 20 75 6e 74 72 75 73 74 65 64 2d 63 6f 6e 74 65 6e 74 ."...(and.(not.untrusted-content
fb00 29 0a 20 20 20 20 20 20 20 28 6f 72 0a 20 20 20 20 20 20 20 20 28 65 71 20 74 72 75 73 74 65 64 )........(or.........(eq.trusted
fb20 2d 63 6f 6e 74 65 6e 74 20 3a 61 6c 6c 29 0a 20 20 20 20 20 20 20 20 28 61 6e 64 0a 20 20 20 20 -content.:all).........(and.....
fb40 20 20 20 20 20 62 75 66 66 65 72 2d 66 69 6c 65 2d 74 72 75 65 6e 61 6d 65 0a 20 20 20 20 20 20 .....buffer-file-truename.......
fb60 20 20 20 28 77 69 74 68 2d 64 65 6d 6f 74 65 64 2d 65 72 72 6f 72 73 20 22 74 72 75 73 74 65 64 ...(with-demoted-errors."trusted
fb80 2d 63 6f 6e 74 65 6e 74 2d 70 3a 20 25 53 22 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 -content-p:.%S"............(let.
fba0 28 28 65 78 69 73 74 73 20 28 66 69 6c 65 2d 65 78 69 73 74 73 2d 70 20 62 75 66 66 65 72 2d 66 ((exists.(file-exists-p.buffer-f
fbc0 69 6c 65 2d 74 72 75 65 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 ile-truename)))..............(or
fbe0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 61 6e 64 20 65 78 69 73 74 73 20 75 ...............(if.(and.exists.u
fc00 73 65 72 2d 69 6e 69 74 2d 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ser-init-file)..................
fc20 20 28 66 69 6c 65 2d 65 71 75 61 6c 2d 70 20 62 75 66 66 65 72 2d 66 69 6c 65 2d 74 72 75 65 6e .(file-equal-p.buffer-file-truen
fc40 61 6d 65 20 75 73 65 72 2d 69 6e 69 74 2d 66 69 6c 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ame.user-init-file).............
fc60 20 20 20 20 28 65 71 75 61 6c 20 62 75 66 66 65 72 2d 66 69 6c 65 2d 74 72 75 65 6e 61 6d 65 20 ....(equal.buffer-file-truename.
fc80 75 73 65 72 2d 69 6e 69 74 2d 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 user-init-file))...............(
fca0 6c 65 74 20 28 28 66 69 6c 65 20 28 61 62 62 72 65 76 69 61 74 65 2d 66 69 6c 65 2d 6e 61 6d 65 let.((file.(abbreviate-file-name
fcc0 20 62 75 66 66 65 72 2d 66 69 6c 65 2d 74 72 75 65 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 .buffer-file-truename)).........
fce0 20 20 20 20 20 20 20 20 20 20 20 20 28 74 72 75 73 74 65 64 20 6e 69 6c 29 29 0a 20 20 20 20 20 ............(trusted.nil))......
fd00 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 74 66 20 74 72 75 73 74 65 64 2d 63 ...........(dolist.(tf.trusted-c
fd20 6f 6e 74 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 ontent)...................(when.
fd40 28 6f 72 20 28 69 66 20 65 78 69 73 74 73 20 28 66 69 6c 65 2d 65 71 75 61 6c 2d 70 20 74 66 20 (or.(if.exists.(file-equal-p.tf.
fd60 66 69 6c 65 29 20 28 65 71 75 61 6c 20 74 66 20 66 69 6c 65 29 29 0a 20 20 20 20 20 20 20 20 20 file).(equal.tf.file))..........
fd80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 73 74 72 69 6e 67 2d ...................(and.(string-
fda0 73 75 66 66 69 78 2d 70 20 22 2f 22 20 74 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 suffix-p."/".tf)................
fdc0 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 70 72 65 66 69 78 ..................(string-prefix
fde0 2d 70 20 74 66 20 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -p.tf.file)))...................
fe00 20 20 28 73 65 74 71 20 74 72 75 73 74 65 64 20 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ..(setq.trusted.t)))............
fe20 20 20 20 20 20 74 72 75 73 74 65 64 29 29 29 29 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 .....trusted))))))))..(compat-de
fe40 66 75 6e 20 72 65 71 75 69 72 65 2d 77 69 74 68 2d 63 68 65 63 6b 20 28 66 65 61 74 75 72 65 20 fun.require-with-check.(feature.
fe60 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 72 29 20 3b 3b 20 3c &optional.filename.noerror).;;.<
fe80 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 72 65 71 75 69 72 65 2d 77 69 74 68 2d 63 68 65 63 6b 3e compat-tests:require-with-check>
fea0 0a 20 20 22 49 66 20 46 45 41 54 55 52 45 20 69 73 20 6e 6f 74 20 61 6c 72 65 61 64 79 20 6c 6f ..."If.FEATURE.is.not.already.lo
fec0 61 64 65 64 2c 20 6c 6f 61 64 20 69 74 20 66 72 6f 6d 20 46 49 4c 45 4e 41 4d 45 2e 0a 54 68 69 aded,.load.it.from.FILENAME..Thi
fee0 73 20 69 73 20 6c 69 6b 65 20 60 72 65 71 75 69 72 65 27 20 65 78 63 65 70 74 20 69 66 20 46 45 s.is.like.`require'.except.if.FE
ff00 41 54 55 52 45 20 69 73 20 61 6c 72 65 61 64 79 20 61 20 6d 65 6d 62 65 72 20 6f 66 20 74 68 65 ATURE.is.already.a.member.of.the
ff20 20 6c 69 73 74 0a 60 66 65 61 74 75 72 65 73 e2 80 99 2c 20 74 68 65 6e 20 63 68 65 63 6b 20 69 .list.`features...,.then.check.i
ff40 66 20 69 74 20 77 61 73 20 70 72 6f 76 69 64 65 64 20 62 79 20 61 20 64 69 66 66 65 72 65 6e 74 f.it.was.provided.by.a.different
ff60 20 66 69 6c 65 20 74 68 61 6e 20 74 68 65 0a 6f 6e 65 20 74 68 61 74 20 69 73 20 61 62 6f 75 74 .file.than.the.one.that.is.about
ff80 20 74 6f 20 62 65 20 6c 6f 61 64 65 64 20 6e 6f 77 20 28 70 72 65 73 75 6d 61 62 6c 79 20 62 65 .to.be.loaded.now.(presumably.be
ffa0 63 61 75 73 65 20 60 6c 6f 61 64 2d 70 61 74 68 27 20 68 61 73 0a 62 65 65 6e 20 63 68 61 6e 67 cause.`load-path'.has.been.chang
ffc0 65 64 20 73 69 6e 63 65 20 46 49 4c 45 4e 41 4d 45 20 77 61 73 20 6c 6f 61 64 65 64 29 2e 20 20 ed.since.FILENAME.was.loaded)...
ffe0 49 66 20 74 68 61 74 20 69 73 20 74 68 65 20 63 61 73 65 2c 20 65 69 74 68 65 72 0a 73 69 67 6e If.that.is.the.case,.either.sign
10000 61 6c 20 61 6e 20 65 72 72 6f 72 20 28 74 68 65 20 64 65 66 61 75 6c 74 29 2c 20 6f 72 20 66 6f al.an.error.(the.default),.or.fo
10020 72 63 69 62 6c 79 20 72 65 6c 6f 61 64 20 74 68 65 20 6e 65 77 20 66 69 6c 65 20 28 69 66 0a 4e rcibly.reload.the.new.file.(if.N
10040 4f 45 52 52 4f 52 20 69 73 20 65 71 75 61 6c 20 74 6f 20 60 72 65 6c 6f 61 64 27 29 2c 20 6f 72 OERROR.is.equal.to.`reload'),.or
10060 20 6f 74 68 65 72 77 69 73 65 20 65 6d 69 74 20 61 20 77 61 72 6e 69 6e 67 2e 22 0a 20 20 28 6c .otherwise.emit.a.warning."...(l
10080 65 74 20 28 28 6c 68 20 6c 6f 61 64 2d 68 69 73 74 6f 72 79 29 0a 20 20 20 20 20 20 20 20 28 72 et.((lh.load-history).........(r
100a0 65 73 20 28 72 65 71 75 69 72 65 20 66 65 61 74 75 72 65 20 66 69 6c 65 6e 61 6d 65 20 28 69 66 es.(require.feature.filename.(if
100c0 20 28 65 71 20 6e 6f 65 72 72 6f 72 20 27 72 65 6c 6f 61 64 29 20 6e 69 6c 20 6e 6f 65 72 72 6f .(eq.noerror.'reload).nil.noerro
100e0 72 29 29 29 29 0a 20 20 20 20 3b 3b 20 49 66 20 74 68 65 20 60 66 65 61 74 75 72 65 27 20 77 61 r)))).....;;.If.the.`feature'.wa
10100 73 20 6e 6f 74 20 79 65 74 20 70 72 6f 76 69 64 65 64 2c 20 60 72 65 71 75 69 72 65 27 20 6a 75 s.not.yet.provided,.`require'.ju
10120 73 74 20 6c 6f 61 64 65 64 20 74 68 65 20 72 69 67 68 74 0a 20 20 20 20 3b 3b 20 66 69 6c 65 2c st.loaded.the.right.....;;.file,
10140 20 73 6f 20 77 65 27 72 65 20 64 6f 6e 65 2e 0a 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 72 .so.we're.done......(when.(and.r
10160 65 73 20 28 65 71 20 6c 68 20 6c 6f 61 64 2d 68 69 73 74 6f 72 79 29 29 0a 20 20 20 20 20 20 3b es.(eq.lh.load-history)).......;
10180 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 20 6e ;.If.`require'.did.nothing,.we.n
101a0 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 61 6e eed.to.make.sure.that.was.warran
101c0 74 65 64 2e 0a 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 66 6e 20 28 6c 6f 63 61 74 65 2d 66 69 ted........(let*.((fn.(locate-fi
101e0 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 61 le.(or.filename.(symbol-name.fea
10200 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 20 ture))..........................
10220 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
10240 73 29 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s).nil..........................
10260 20 20 20 20 20 29 29 20 3b 3b 20 6c 6f 61 64 2d 70 72 65 66 65 72 2d 6e 65 77 65 72 0a 20 20 20 .....)).;;.load-prefer-newer....
10280 20 20 20 20 20 20 20 20 20 20 3b 3b 20 57 65 20 75 73 65 64 20 74 6f 20 6c 6f 6f 6b 20 66 6f 72 ..........;;.We.used.to.look.for
102a0 20 60 66 6e 27 20 69 6e 20 60 6c 6f 61 64 2d 68 69 73 74 6f 72 79 27 20 77 69 74 68 20 60 61 73 .`fn'.in.`load-history'.with.`as
102c0 73 6f 63 27 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 77 68 69 63 68 20 77 6f 72 6b 73 soc'..............;;.which.works
102e0 20 69 6e 20 6d 6f 73 74 20 63 61 73 65 73 2c 20 62 75 74 20 69 6e 20 73 6f 6d 65 20 63 61 73 65 .in.most.cases,.but.in.some.case
10300 73 20 28 65 2e 67 2e 20 77 68 65 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 60 6c 6f s.(e.g..when..............;;.`lo
10320 61 64 2d 70 72 65 66 65 72 2d 6e 65 77 65 72 27 20 69 73 20 73 65 74 29 20 60 6c 6f 63 61 74 65 ad-prefer-newer'.is.set).`locate
10340 2d 66 69 6c 65 27 20 63 61 6e 20 72 65 74 75 72 6e 20 61 0a 20 20 20 20 20 20 20 20 20 20 20 20 -file'.can.return.a.............
10360 20 3b 3b 20 64 69 66 66 65 72 65 6e 74 20 66 69 6c 65 20 74 68 61 6e 20 74 68 65 20 66 69 6c 65 .;;.different.file.than.the.file
10380 20 74 68 61 74 20 60 72 65 71 75 69 72 65 27 20 77 6f 75 6c 64 20 6c 6f 61 64 2c 0a 20 20 20 20 .that.`require'.would.load,.....
103a0 20 20 20 20 20 20 20 20 20 3b 3b 20 73 6f 20 74 68 65 20 66 69 6c 65 20 77 6f 6e 27 74 20 62 65 .........;;.so.the.file.won't.be
103c0 20 66 6f 75 6e 64 20 69 6e 20 60 6c 6f 61 64 2d 68 69 73 74 6f 72 79 27 20 65 76 65 6e 20 74 68 .found.in.`load-history'.even.th
103e0 6f 75 67 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 77 65 20 64 69 64 20 6c 6f 61 64 ough..............;;.we.did.load
10400 20 22 69 74 22 2e 20 20 28 62 75 67 23 37 34 30 34 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ."it"...(bug#74040).............
10420 20 3b 3b 20 53 6f 20 75 73 65 20 61 20 22 70 65 72 6d 69 73 73 69 76 65 22 20 73 65 61 72 63 68 .;;.So.use.a."permissive".search
10440 20 77 68 69 63 68 20 64 6f 65 73 6e 27 74 20 70 61 79 20 61 74 74 65 6e 74 69 6f 6e 20 74 6f 0a .which.doesn't.pay.attention.to.
10460 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 64 69 66 66 65 72 65 6e 63 65 73 20 62 65 74 77 .............;;.differences.betw
10480 65 65 6e 20 66 69 6c 65 20 65 78 74 65 6e 73 69 6f 6e 73 2e 0a 20 20 20 20 20 20 20 20 20 20 20 een.file.extensions.............
104a0 20 20 28 70 72 65 66 69 78 20 28 69 66 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 0a 20 20 20 20 ..(prefix.(if.(string-match.....
104c0 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 28 72 ......................(concat.(r
104e0 65 67 65 78 70 2d 6f 70 74 20 28 67 65 74 2d 6c 6f 61 64 2d 73 75 66 66 69 78 65 73 29 29 20 22 egexp-opt.(get-load-suffixes))."
10500 5c 5c 27 22 29 20 66 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 \\'").fn).......................
10520 20 20 20 28 63 6f 6e 63 61 74 20 28 73 75 62 73 74 72 69 6e 67 20 66 6e 20 30 20 28 6d 61 74 63 ...(concat.(substring.fn.0.(matc
10540 68 2d 62 65 67 69 6e 6e 69 6e 67 20 30 29 29 20 22 2e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 h-beginning.0)).".")............
10560 20 20 20 20 20 20 20 20 20 20 20 20 66 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c ............fn))..............(l
10580 68 20 6c 6f 61 64 2d 68 69 73 74 6f 72 79 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 h.load-history)).........(while.
105a0 28 61 6e 64 20 6c 68 20 28 6c 65 74 20 28 28 66 69 6c 65 20 28 63 61 72 2d 73 61 66 65 20 28 63 (and.lh.(let.((file.(car-safe.(c
105c0 61 72 20 6c 68 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 ar.lh)))).......................
105e0 20 20 20 28 6e 6f 74 20 28 61 6e 64 20 66 69 6c 65 20 28 73 74 72 69 6e 67 2d 70 72 65 66 69 78 ...(not.(and.file.(string-prefix
10600 2d 70 20 70 72 65 66 69 78 20 66 69 6c 65 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 -p.prefix.file)))))...........(s
10620 65 74 71 20 6c 68 20 28 63 64 72 20 6c 68 29 29 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6e 64 0a etq.lh.(cdr.lh))).........(cond.
10640 20 20 20 20 20 20 20 20 20 28 6c 68 20 6e 69 6c 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........(lh.nil)...............
10660 20 20 20 20 20 20 20 20 3b 57 65 20 6c 6f 61 64 65 64 20 74 68 65 20 72 69 67 68 74 20 66 69 6c ........;We.loaded.the.right.fil
10680 65 2e 0a 20 20 20 20 20 20 20 20 20 28 28 65 71 20 6e 6f 65 72 72 6f 72 20 27 72 65 6c 6f 61 64 e...........((eq.noerror.'reload
106a0 29 20 28 6c 6f 61 64 20 66 6e 20 6e 69 6c 20 27 6e 6f 6d 65 73 73 61 67 65 29 29 0a 20 20 20 20 ).(load.fn.nil.'nomessage)).....
106c0 20 20 20 20 20 28 28 61 6e 64 20 66 6e 20 28 6d 65 6d 71 20 66 65 61 74 75 72 65 20 66 65 61 74 .....((and.fn.(memq.feature.feat
106e0 75 72 65 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 69 66 20 6e 6f ures))...........(funcall.(if.no
10700 65 72 72 6f 72 20 23 27 77 61 72 6e 20 23 27 65 72 72 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 error.#'warn.#'error)...........
10720 20 20 20 20 20 20 20 20 20 22 46 65 61 74 75 72 65 20 60 25 53 27 20 69 73 20 6e 6f 77 20 70 72 ........."Feature.`%S'.is.now.pr
10740 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 25 73 22 0a 20 ovided.by.a.different.file.%s"..
10760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 65 61 74 75 72 65 20 66 6e 29 29 0a 20 ..................feature.fn))..
10780 20 20 20 20 20 20 20 20 28 66 6e 0a 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 ........(fn...........(funcall.(
107a0 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 0a 20 20 20 20 20 if.noerror.#'warn.#'error)......
107c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 43 6f 75 6c 64 20 6e 6f 74 20 6c 6f 61 64 20 66 69 .............."Could.not.load.fi
107e0 6c 65 20 25 73 22 20 66 6e 29 29 0a 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 le.%s".fn))..........(t.........
10800 20 20 28 66 75 6e 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 ..(funcall.(if.noerror.#'warn.#'
10820 65 72 72 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 43 6f 75 6c 64 error)...................."Could
10840 20 6e 6f 74 20 6c 6f 63 61 74 65 20 66 69 6c 65 20 25 73 20 69 6e 20 6c 6f 61 64 20 70 61 74 68 .not.locate.file.%s.in.load.path
10860 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 66 69 6c 65 6e 61 6d "....................(or.filenam
10880 65 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 66 65 61 74 75 72 65 29 29 29 29 29 29 29 0a 20 20 e.(symbol-name.feature)))))))...
108a0 20 20 72 65 73 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 6d 69 6e 69 62 75 66 ..res))..;;;;.Defined.in.minibuf
108c0 66 65 72 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 63 6f 6d 70 6c 65 74 69 6f 6e fer.el..(compat-defun.completion
108e0 2d 2d 6d 65 74 61 64 61 74 61 2d 67 65 74 2d 31 20 28 6d 65 74 61 64 61 74 61 20 70 72 6f 70 29 --metadata-get-1.(metadata.prop)
10900 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 6d 65 74 .;;.<compat-tests:completion-met
10920 61 64 61 74 61 2d 67 65 74 3e 0a 20 20 22 48 65 6c 70 65 72 20 66 75 6e 63 74 69 6f 6e 2e 0a 53 adata-get>..."Helper.function..S
10940 65 65 20 66 6f 72 20 60 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6d 65 74 61 64 61 74 61 2d 67 65 74 27 ee.for.`completion-metadata-get'
10960 20 66 6f 72 20 4d 45 54 41 44 41 54 41 20 61 6e 64 20 50 52 4f 50 20 61 72 67 75 6d 65 6e 74 73 .for.METADATA.and.PROP.arguments
10980 2e 22 0a 20 20 28 6f 72 20 28 61 6c 69 73 74 2d 67 65 74 20 70 72 6f 70 20 6d 65 74 61 64 61 74 ."...(or.(alist-get.prop.metadat
109a0 61 29 0a 20 20 20 20 20 20 28 70 6c 69 73 74 2d 67 65 74 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 65 a).......(plist-get.completion-e
109c0 78 74 72 61 2d 70 72 6f 70 65 72 74 69 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 xtra-properties.................
109e0 20 28 6f 72 20 28 67 65 74 20 70 72 6f 70 20 27 63 6f 6d 70 6c 65 74 69 6f 6e 2d 65 78 74 72 61 .(or.(get.prop.'completion-extra
10a00 2d 70 72 6f 70 65 72 74 69 65 73 2d 2d 6b 65 79 77 6f 72 64 29 0a 20 20 20 20 20 20 20 20 20 20 -properties--keyword)...........
10a20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 74 20 70 72 6f 70 20 27 63 6f 6d 70 6c 65 74 69 6f 6e ...........(put.prop.'completion
10a40 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 0a 20 20 20 20 20 -extra-properties--keyword......
10a60 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 63 6f .....................(intern.(co
10a80 6e 63 61 74 20 22 3a 22 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 70 72 6f 70 29 29 29 29 29 29 ncat.":".(symbol-name.prop))))))
10aa0 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6d 65 74 ))..(compat-defun.completion-met
10ac0 61 64 61 74 61 2d 67 65 74 20 28 6d 65 74 61 64 61 74 61 20 70 72 6f 70 29 20 3b 3b 20 3c 63 6f adata-get.(metadata.prop).;;.<co
10ae0 6d 70 61 74 2d 74 65 73 74 73 3a 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6d 65 74 61 64 61 74 61 2d 67 mpat-tests:completion-metadata-g
10b00 65 74 3e 0a 20 20 22 47 65 74 20 70 72 6f 70 65 72 74 79 20 50 52 4f 50 20 66 72 6f 6d 20 63 6f et>..."Get.property.PROP.from.co
10b20 6d 70 6c 65 74 69 6f 6e 20 4d 45 54 41 44 41 54 41 2e 0a 49 66 20 74 68 65 20 6d 65 74 61 64 61 mpletion.METADATA..If.the.metada
10b40 74 61 20 73 70 65 63 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 ta.specifies.a.completion.catego
10b60 72 79 2c 20 74 68 65 20 76 61 72 69 61 62 6c 65 73 0a 60 63 6f 6d 70 6c 65 74 69 6f 6e 2d 63 61 ry,.the.variables.`completion-ca
10b80 74 65 67 6f 72 79 2d 6f 76 65 72 72 69 64 65 73 27 20 61 6e 64 0a 60 63 6f 6d 70 6c 65 74 69 6f tegory-overrides'.and.`completio
10ba0 6e 2d 63 61 74 65 67 6f 72 79 2d 64 65 66 61 75 6c 74 73 27 20 74 61 6b 65 20 70 72 65 63 65 64 n-category-defaults'.take.preced
10bc0 65 6e 63 65 20 66 6f 72 0a 63 61 74 65 67 6f 72 79 2d 73 70 65 63 69 66 69 63 20 6f 76 65 72 72 ence.for.category-specific.overr
10be0 69 64 65 73 2e 20 20 49 66 20 74 68 65 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 6d 65 74 61 64 61 74 ides...If.the.completion.metadat
10c00 61 20 64 6f 65 73 20 6e 6f 74 0a 73 70 65 63 69 66 79 20 74 68 65 20 70 72 6f 70 65 72 74 79 2c a.does.not.specify.the.property,
10c20 20 74 68 65 20 60 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 .the.`completion-extra-propertie
10c40 73 27 20 70 6c 69 73 74 20 69 73 0a 63 6f 6e 73 75 6c 74 65 64 2e 20 20 4e 6f 74 65 20 74 68 61 s'.plist.is.consulted...Note.tha
10c60 74 20 74 68 65 20 6b 65 79 73 20 6f 66 20 74 68 65 0a 60 63 6f 6d 70 6c 65 74 69 6f 6e 2d 65 78 t.the.keys.of.the.`completion-ex
10c80 74 72 61 2d 70 72 6f 70 65 72 74 69 65 73 27 20 70 6c 69 73 74 20 61 72 65 20 6b 65 79 77 6f 72 tra-properties'.plist.are.keywor
10ca0 64 20 73 79 6d 62 6f 6c 73 2c 20 6e 6f 74 0a 70 6c 61 69 6e 20 73 79 6d 62 6f 6c 73 2e 22 0a 20 d.symbols,.not.plain.symbols."..
10cc0 20 3a 65 78 74 65 6e 64 65 64 20 74 0a 20 20 28 69 66 2d 6c 65 74 20 28 28 63 61 74 20 28 61 6e .:extended.t...(if-let.((cat.(an
10ce0 64 20 28 6e 6f 74 20 28 65 71 20 70 72 6f 70 20 27 63 61 74 65 67 6f 72 79 29 29 0a 20 20 20 20 d.(not.(eq.prop.'category)).....
10d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6d 70 6c 65 74 69 6f 6e 2d 2d 6d 65 .................(completion--me
10d20 74 61 64 61 74 61 2d 67 65 74 2d 31 20 6d 65 74 61 64 61 74 61 20 27 63 61 74 65 67 6f 72 79 29 tadata-get-1.metadata.'category)
10d40 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6f 76 65 72 20 28 63 6f 6d 70 6c 65 74 69 6f 6e 2d ))............(over.(completion-
10d60 2d 63 61 74 65 67 6f 72 79 2d 6f 76 65 72 72 69 64 65 20 63 61 74 20 70 72 6f 70 29 29 29 0a 20 -category-override.cat.prop)))..
10d80 20 20 20 20 20 28 63 64 72 20 6f 76 65 72 29 0a 20 20 20 20 28 63 6f 6d 70 6c 65 74 69 6f 6e 2d .....(cdr.over).....(completion-
10da0 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 70 72 6f 70 29 29 29 -metadata-get-1.metadata.prop)))
10dc0 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 76 61 72 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 ..(compat-defvar.completion-lazy
10de0 2d 68 69 6c 69 74 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 -hilit.nil.;;.<compat-tests:comp
10e00 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 3e 0a 20 20 22 49 66 20 6e 6f 6e 2d 6e 69 6c letion-lazy-hilit>..."If.non-nil
10e20 2c 20 72 65 71 75 65 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 ,.request.lazy.highlighting.of.c
10e40 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 6e 64 69 64 61 74 65 73 2e 0a 0a 4c 69 73 70 20 70 72 6f 67 ompletion.candidates...Lisp.prog
10e60 72 61 6d 73 20 28 61 2e 6b 2e 61 2e 20 5c 22 66 72 6f 6e 74 20 65 6e 64 73 5c 22 29 20 74 68 61 rams.(a.k.a..\"front.ends\").tha
10e80 74 20 70 72 65 73 65 6e 74 20 63 6f 6d 70 6c 65 74 69 6f 6e 0a 63 61 6e 64 69 64 61 74 65 73 20 t.present.completion.candidates.
10ea0 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 74 6f may.opt.to.bind.this.variable.to
10ec0 20 61 20 6e 6f 6e 2d 6e 69 6c 20 76 61 6c 75 65 20 77 68 65 6e 0a 63 61 6c 6c 69 6e 67 20 66 75 .a.non-nil.value.when.calling.fu
10ee0 6e 63 74 69 6f 6e 73 20 28 73 75 63 68 20 61 73 20 60 63 6f 6d 70 6c 65 74 69 6f 6e 2d 61 6c 6c nctions.(such.as.`completion-all
10f00 2d 63 6f 6d 70 6c 65 74 69 6f 6e 73 27 29 20 77 68 69 63 68 0a 70 72 6f 64 75 63 65 20 63 6f 6d -completions').which.produce.com
10f20 70 6c 65 74 69 6f 6e 20 63 61 6e 64 69 64 61 74 65 73 2e 20 20 54 68 69 73 20 74 65 6c 6c 73 20 pletion.candidates...This.tells.
10f40 74 68 65 20 75 6e 64 65 72 6c 79 69 6e 67 0a 63 6f 6d 70 6c 65 74 69 6f 6e 20 73 74 79 6c 65 73 the.underlying.completion.styles
10f60 20 74 68 61 74 20 74 68 65 79 20 64 6f 20 6e 6f 74 20 6e 65 65 64 20 74 6f 20 66 6f 6e 74 69 66 .that.they.do.not.need.to.fontif
10f80 79 20 28 69 2e 65 2e 2c 0a 70 72 6f 70 65 72 74 69 7a 65 20 77 69 74 68 20 74 68 65 20 60 66 61 y.(i.e.,.propertize.with.the.`fa
10fa0 63 65 27 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 ce'.property).completion.candida
10fc0 74 65 73 20 69 6e 20 61 0a 77 61 79 20 74 68 61 74 20 68 69 67 68 6c 69 67 68 74 73 20 74 68 65 tes.in.a.way.that.highlights.the
10fe0 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 74 68 65 .matching.parts...Then.it.is.the
11000 20 66 72 6f 6e 74 20 65 6e 64 0a 77 68 69 63 68 20 70 72 65 73 65 6e 74 73 20 74 68 65 20 63 61 .front.end.which.presents.the.ca
11020 6e 64 69 64 61 74 65 73 20 74 68 61 74 20 62 65 63 6f 6d 65 73 20 72 65 73 70 6f 6e 73 69 62 6c ndidates.that.becomes.responsibl
11040 65 20 66 6f 72 20 74 68 69 73 0a 66 6f 6e 74 69 66 69 63 61 74 69 6f 6e 2e 20 20 54 68 65 20 66 e.for.this.fontification...The.f
11060 72 6f 6e 74 20 65 6e 64 20 64 6f 65 73 20 74 68 61 74 20 62 79 20 63 61 6c 6c 69 6e 67 20 74 68 ront.end.does.that.by.calling.th
11080 65 20 66 75 6e 63 74 69 6f 6e 0a 60 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 e.function.`completion-lazy-hili
110a0 74 27 20 6f 6e 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 20 t'.on.each.completion.candidate.
110c0 74 68 61 74 20 69 73 20 74 6f 20 62 65 0a 64 69 73 70 6c 61 79 65 64 20 74 6f 20 74 68 65 20 75 that.is.to.be.displayed.to.the.u
110e0 73 65 72 2e 0a 0a 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 ser...Note.that.only.some.comple
11100 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
11120 69 73 0a 76 61 72 69 61 62 6c 65 20 66 6f 72 20 6f 70 74 69 6d 69 7a 61 74 69 6f 6e 20 70 75 72 is.variable.for.optimization.pur
11140 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 67 6e 6f 72 65 poses...Other.styles.will.ignore
11160 20 74 68 65 0a 68 69 6e 74 20 61 6e 64 20 66 6f 6e 74 69 66 79 20 65 61 67 65 72 6c 79 20 61 73 .the.hint.and.fontify.eagerly.as
11180 20 75 73 75 61 6c 2e 20 20 49 74 20 69 73 20 73 74 69 6c 6c 20 73 61 66 65 20 66 6f 72 20 61 0a .usual...It.is.still.safe.for.a.
111a0 66 72 6f 6e 74 20 65 6e 64 20 74 6f 20 63 61 6c 6c 20 60 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 front.end.to.call.`completion-la
111c0 7a 79 2d 68 69 6c 69 74 27 20 69 6e 20 74 68 65 73 65 20 73 69 74 75 61 74 69 6f 6e 73 2e 0a 0a zy-hilit'.in.these.situations...
111e0 54 6f 20 61 75 74 68 6f 72 20 61 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 73 74 79 6c 65 20 74 68 61 To.author.a.completion.style.tha
11200 74 20 74 61 6b 65 73 20 61 64 76 61 6e 74 61 67 65 20 6f 66 20 74 68 69 73 20 76 61 72 69 61 62 t.takes.advantage.of.this.variab
11220 6c 65 2c 0a 73 65 65 20 60 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 2d 66 le,.see.`completion-lazy-hilit-f
11240 6e 27 20 61 6e 64 20 60 63 6f 6d 70 6c 65 74 69 6f 6e 2d 70 63 6d 2d 2d 68 69 6c 69 74 2d 63 6f n'.and.`completion-pcm--hilit-co
11260 6d 6d 6f 6e 61 6c 69 74 79 27 2e 22 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 76 61 72 20 63 6f mmonality'.")..(compat-defvar.co
11280 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 2d 66 6e 20 6e 69 6c 20 3b 3b 20 3c 63 mpletion-lazy-hilit-fn.nil.;;.<c
112a0 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 68 69 6c 69 ompat-tests:completion-lazy-hili
112c0 74 3e 0a 20 20 22 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 t>..."Fontification.function.set
112e0 20 62 79 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 .by.lazy-highlighting.completion
11300 73 20 73 74 79 6c 65 73 2e 0a 57 68 65 6e 20 61 20 67 69 76 65 6e 20 73 74 79 6c 65 20 77 61 6e s.styles..When.a.given.style.wan
11320 74 73 20 74 6f 20 65 6e 61 62 6c 65 20 73 75 70 70 6f 72 74 20 66 6f 72 20 60 63 6f 6d 70 6c 65 ts.to.enable.support.for.`comple
11340 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 27 0a 5c 28 77 68 69 63 68 20 73 65 65 29 2c 20 74 tion-lazy-hilit'.\(which.see),.t
11360 68 61 74 20 73 74 79 6c 65 20 73 68 6f 75 6c 64 20 73 65 74 20 74 68 69 73 20 76 61 72 69 61 62 hat.style.should.set.this.variab
11380 6c 65 20 74 6f 20 61 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 6f 6e 65 0a 61 72 67 75 6d 65 6e 74 le.to.a.function.of.one.argument
113a0 2e 20 20 49 74 20 77 69 6c 6c 20 62 65 20 63 61 6c 6c 65 64 20 77 69 74 68 20 65 61 63 68 20 63 ...It.will.be.called.with.each.c
113c0 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 6e 64 69 64 61 74 65 2c 20 61 20 73 74 72 69 6e 67 2c 20 74 ompletion.candidate,.a.string,.t
113e0 6f 0a 62 65 20 64 69 73 70 6c 61 79 65 64 20 74 6f 20 74 68 65 20 75 73 65 72 2c 20 61 6e 64 20 o.be.displayed.to.the.user,.and.
11400 73 68 6f 75 6c 64 20 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 should.destructively.propertize.
11420 74 68 65 73 65 0a 73 74 72 69 6e 67 73 20 77 69 74 68 20 74 68 65 20 60 66 61 63 65 27 20 70 72 these.strings.with.the.`face'.pr
11440 6f 70 65 72 74 79 2e 22 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 63 6f 6d 70 6c 65 74 operty.")..(compat-defun.complet
11460 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 20 28 73 74 72 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d ion-lazy-hilit.(str).;;.<compat-
11480 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>..."
114a0 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 6e 64 Return.a.copy.of.completion.cand
114c0 69 64 61 74 65 20 53 54 52 20 74 68 61 74 20 69 73 20 60 66 61 63 65 27 2d 70 72 6f 70 65 72 74 idate.STR.that.is.`face'-propert
114e0 69 7a 65 64 2e 0a 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 ized..See.documentation.of.the.v
11500 61 72 69 61 62 6c 65 20 60 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 27 20 ariable.`completion-lazy-hilit'.
11520 66 6f 72 20 6d 6f 72 65 0a 64 65 74 61 69 6c 73 2e 22 0a 20 20 28 69 66 20 28 61 6e 64 20 63 6f for.more.details."...(if.(and.co
11540 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c mpletion-lazy-hilit.completion-l
11560 61 7a 79 2d 68 69 6c 69 74 2d 66 6e 29 0a 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 63 6f 6d azy-hilit-fn).......(funcall.com
11580 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 2d 66 6e 20 28 63 6f 70 79 2d 73 65 71 75 pletion-lazy-hilit-fn.(copy-sequ
115a0 65 6e 63 65 20 73 74 72 29 29 0a 20 20 20 20 73 74 72 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e ence.str)).....str))..;;;;.Defin
115c0 65 64 20 69 6e 20 63 6f 6c 6f 72 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 63 6f ed.in.color.el..(compat-defun.co
115e0 6c 6f 72 2d 6f 6b 6c 61 62 2d 74 6f 2d 78 79 7a 20 28 6c 20 61 20 62 29 20 3b 3b 20 3c 63 6f 6d lor-oklab-to-xyz.(l.a.b).;;.<com
11600 70 61 74 2d 74 65 73 74 73 3a 63 6f 6c 6f 72 2d 6f 6b 6c 61 62 2d 74 6f 2d 78 79 7a 3e 0a 20 20 pat-tests:color-oklab-to-xyz>...
11620 22 43 6f 6e 76 65 72 74 20 74 68 65 20 4f 6b 4c 61 62 20 63 6f 6c 6f 72 20 72 65 70 72 65 73 65 "Convert.the.OkLab.color.represe
11640 6e 74 65 64 20 62 79 20 4c 20 41 20 42 20 74 6f 20 43 49 45 20 58 59 5a 2e 0a 4f 6b 6c 61 62 20 nted.by.L.A.B.to.CIE.XYZ..Oklab.
11660 69 73 20 61 20 70 65 72 63 65 70 74 75 61 6c 20 63 6f 6c 6f 72 20 73 70 61 63 65 20 63 72 65 61 is.a.perceptual.color.space.crea
11680 74 65 64 20 62 79 20 42 6a c3 b6 72 6e 20 4f 74 74 6f 73 73 6f 6e 0a 3c 68 74 74 70 73 3a 2f 2f ted.by.Bj..rn.Ottosson.<https://
116a0 62 6f 74 74 6f 73 73 6f 6e 2e 67 69 74 68 75 62 2e 69 6f 2f 70 6f 73 74 73 2f 6f 6b 6c 61 62 2f bottosson.github.io/posts/oklab/
116c0 3e 2e 20 20 49 74 20 68 61 73 20 74 68 65 20 70 72 6f 70 65 72 74 79 20 74 68 61 74 0a 63 68 61 >...It.has.the.property.that.cha
116e0 6e 67 65 73 20 69 6e 20 74 68 65 20 68 75 65 20 61 6e 64 20 73 61 74 75 72 61 74 69 6f 6e 20 6f nges.in.the.hue.and.saturation.o
11700 66 20 61 20 63 6f 6c 6f 72 20 63 61 6e 20 62 65 20 6d 61 64 65 20 77 68 69 6c 65 20 6d 61 69 6e f.a.color.can.be.made.while.main
11720 74 61 69 6e 69 6e 67 0a 74 68 65 20 73 61 6d 65 20 70 65 72 63 65 69 76 65 64 20 6c 69 67 68 74 taining.the.same.perceived.light
11740 6e 65 73 73 2e 22 0a 20 20 3a 66 65 61 74 75 72 65 20 63 6f 6c 6f 72 0a 20 20 28 6c 65 74 20 28 ness."...:feature.color...(let.(
11760 28 6c 6c 20 28 65 78 70 74 20 28 2b 20 28 2a 20 31 2e 30 20 6c 29 20 28 2a 20 30 2e 33 39 36 33 (ll.(expt.(+.(*.1.0.l).(*.0.3963
11780 33 37 37 39 20 61 29 20 28 2a 20 30 2e 32 31 35 38 30 33 37 36 20 62 29 29 20 33 29 29 0a 20 20 3779.a).(*.0.21580376.b)).3))...
117a0 20 20 20 20 20 20 28 6d 6d 20 28 65 78 70 74 20 28 2b 20 28 2a 20 31 2e 30 30 30 30 30 30 30 31 ......(mm.(expt.(+.(*.1.00000001
117c0 20 6c 29 20 28 2a 20 2d 30 2e 31 30 35 35 36 31 33 34 20 61 29 20 28 2a 20 2d 30 2e 30 36 33 38 .l).(*.-0.10556134.a).(*.-0.0638
117e0 35 34 31 37 20 62 29 29 20 33 29 29 0a 20 20 20 20 20 20 20 20 28 73 73 20 28 65 78 70 74 20 28 5417.b)).3)).........(ss.(expt.(
11800 2b 20 28 2a 20 31 2e 30 30 30 30 30 30 30 35 20 6c 29 20 28 2a 20 2d 30 2e 30 38 39 34 38 34 31 +.(*.1.00000005.l).(*.-0.0894841
11820 38 20 61 29 20 28 2a 20 2d 31 2e 32 39 31 34 38 35 35 34 20 62 29 29 20 33 29 29 29 0a 20 20 20 8.a).(*.-1.29148554.b)).3)))....
11840 20 28 6c 69 73 74 20 28 2b 20 28 2a 20 6c 6c 20 31 2e 32 32 37 30 31 33 38 35 29 20 28 2a 20 6d .(list.(+.(*.ll.1.22701385).(*.m
11860 6d 20 2d 30 2e 35 35 37 37 39 39 39 38 29 20 28 2a 20 73 73 20 30 2e 32 38 31 32 35 36 31 35 29 m.-0.55779998).(*.ss.0.28125615)
11880 29 0a 20 20 20 20 20 20 20 20 20 20 28 2b 20 28 2a 20 6c 6c 20 2d 30 2e 30 34 30 35 38 30 31 38 )...........(+.(*.ll.-0.04058018
118a0 29 20 28 2a 20 6d 6d 20 31 2e 31 31 32 32 35 36 38 37 29 20 28 2a 20 73 73 20 2d 30 2e 30 37 31 ).(*.mm.1.11225687).(*.ss.-0.071
118c0 36 37 36 36 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 2b 20 28 2a 20 6c 6c 20 2d 30 2e 30 37 67668))...........(+.(*.ll.-0.07
118e0 36 33 38 31 32 38 29 20 28 2a 20 6d 6d 20 2d 30 2e 34 32 31 34 38 31 39 38 29 20 28 2a 20 73 73 638128).(*.mm.-0.42148198).(*.ss
11900 20 31 2e 35 38 36 31 36 33 32 32 29 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 .1.58616322)))))..(compat-defun.
11920 63 6f 6c 6f 72 2d 78 79 7a 2d 74 6f 2d 6f 6b 6c 61 62 20 28 78 20 79 20 7a 29 20 3b 3b 20 3c 63 color-xyz-to-oklab.(x.y.z).;;.<c
11940 6f 6d 70 61 74 2d 74 65 73 74 73 3a 63 6f 6c 6f 72 2d 78 79 7a 2d 74 6f 2d 6f 6b 6c 61 62 3e 0a ompat-tests:color-xyz-to-oklab>.
11960 20 20 22 43 6f 6e 76 65 72 74 20 74 68 65 20 43 49 45 20 58 59 5a 20 63 6f 6c 6f 72 20 72 65 70 .."Convert.the.CIE.XYZ.color.rep
11980 72 65 73 65 6e 74 65 64 20 62 79 20 58 20 59 20 5a 20 74 6f 20 4f 6b 6c 61 62 2e 22 0a 20 20 3a resented.by.X.Y.Z.to.Oklab."...:
119a0 66 65 61 74 75 72 65 20 63 6f 6c 6f 72 0a 20 20 28 6c 65 74 20 28 28 6c 6c 20 28 2b 20 28 2a 20 feature.color...(let.((ll.(+.(*.
119c0 78 20 30 2e 38 31 38 39 33 33 30 31 30 31 29 20 28 2a 20 79 20 30 2e 33 36 31 38 36 36 37 34 32 x.0.8189330101).(*.y.0.361866742
119e0 34 29 20 28 2a 20 7a 20 2d 30 2e 31 32 38 38 35 39 37 31 33 37 29 29 29 0a 20 20 20 20 20 20 20 4).(*.z.-0.1288597137)))........
11a00 20 28 6d 6d 20 28 2b 20 28 2a 20 78 20 30 2e 30 33 32 39 38 34 35 34 33 36 29 20 28 2a 20 79 20 .(mm.(+.(*.x.0.0329845436).(*.y.
11a20 30 2e 39 32 39 33 31 31 38 37 31 35 29 20 28 2a 20 7a 20 30 2e 30 33 36 31 34 35 36 33 38 37 29 0.9293118715).(*.z.0.0361456387)
11a40 29 29 0a 20 20 20 20 20 20 20 20 28 73 73 20 28 2b 20 28 2a 20 78 20 30 2e 30 34 38 32 30 30 33 )).........(ss.(+.(*.x.0.0482003
11a60 30 31 38 29 20 28 2a 20 79 20 30 2e 32 36 34 33 36 36 32 36 39 31 29 20 28 2a 20 7a 20 30 2e 36 018).(*.y.0.2643662691).(*.z.0.6
11a80 33 33 38 35 31 37 30 37 30 29 29 29 29 0a 20 20 20 20 28 6c 65 74 2a 0a 20 20 20 20 20 20 20 20 338517070)))).....(let*.........
11aa0 28 28 63 75 62 65 2d 72 6f 6f 74 20 28 6c 61 6d 62 64 61 20 28 66 29 0a 20 20 20 20 20 20 20 20 ((cube-root.(lambda.(f).........
11ac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3c 20 66 20 30 29 0a 20 20 20 20 20 20 ..............(if.(<.f.0).......
11ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 20 28 65 78 70 74 20 28 2d 20 ....................(-.(expt.(-.
11b00 66 29 20 28 2f 20 31 2e 30 20 33 2e 30 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 f).(/.1.0.3.0)))................
11b20 20 20 20 20 20 20 20 20 20 28 65 78 70 74 20 66 20 28 2f 20 31 2e 30 20 33 2e 30 29 29 29 29 29 .........(expt.f.(/.1.0.3.0)))))
11b40 0a 20 20 20 20 20 20 20 20 20 28 6c 6c 6c 20 28 66 75 6e 63 61 6c 6c 20 63 75 62 65 2d 72 6f 6f ..........(lll.(funcall.cube-roo
11b60 74 20 6c 6c 29 29 0a 20 20 20 20 20 20 20 20 20 28 6d 6d 6d 20 28 66 75 6e 63 61 6c 6c 20 63 75 t.ll))..........(mmm.(funcall.cu
11b80 62 65 2d 72 6f 6f 74 20 6d 6d 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 73 73 20 28 66 75 6e 63 be-root.mm))..........(sss.(func
11ba0 61 6c 6c 20 63 75 62 65 2d 72 6f 6f 74 20 73 73 29 29 29 0a 20 20 20 20 20 20 28 6c 69 73 74 20 all.cube-root.ss))).......(list.
11bc0 28 2b 20 28 2a 20 6c 6c 6c 20 30 2e 32 31 30 34 35 34 32 35 35 33 29 20 28 2a 20 6d 6d 6d 20 30 (+.(*.lll.0.2104542553).(*.mmm.0
11be0 2e 37 39 33 36 31 37 37 38 35 30 29 20 28 2a 20 73 73 73 20 2d 30 2e 30 30 34 30 37 32 30 34 36 .7936177850).(*.sss.-0.004072046
11c00 38 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 28 2a 20 6c 6c 6c 20 31 2e 39 37 37 39 8)).............(+.(*.lll.1.9779
11c20 39 38 34 39 35 31 29 20 28 2a 20 6d 6d 6d 20 2d 32 2e 34 32 38 35 39 32 32 30 35 30 29 20 28 2a 984951).(*.mmm.-2.4285922050).(*
11c40 20 73 73 73 20 30 2e 34 35 30 35 39 33 37 30 39 39 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .sss.0.4505937099)).............
11c60 28 2b 20 28 2a 20 6c 6c 6c 20 30 2e 30 32 35 39 30 34 30 33 37 31 29 20 28 2a 20 6d 6d 6d 20 30 (+.(*.lll.0.0259040371).(*.mmm.0
11c80 2e 37 38 32 37 37 31 37 36 36 32 29 20 28 2a 20 73 73 73 20 2d 30 2e 38 30 38 36 37 35 37 36 36 .7827717662).(*.sss.-0.808675766
11ca0 30 29 29 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 63 6f 6c 6f 72 2d 6f 6b 6c 0))))))..(compat-defun.color-okl
11cc0 61 62 2d 74 6f 2d 73 72 67 62 20 28 6c 20 61 20 62 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 ab-to-srgb.(l.a.b).;;.<compat-te
11ce0 73 74 73 3a 63 6f 6c 6f 72 2d 6f 6b 6c 61 62 2d 74 6f 2d 73 72 67 62 3e 0a 20 20 22 43 6f 6e 76 sts:color-oklab-to-srgb>..."Conv
11d00 65 72 74 20 74 68 65 20 4f 6b 6c 61 62 20 63 6f 6c 6f 72 20 72 65 70 72 65 73 65 6e 74 65 64 20 ert.the.Oklab.color.represented.
11d20 62 79 20 4c 20 41 20 42 20 74 6f 20 73 52 47 42 2e 22 0a 20 20 3a 66 65 61 74 75 72 65 20 63 6f by.L.A.B.to.sRGB."...:feature.co
11d40 6c 6f 72 0a 20 20 28 61 70 70 6c 79 20 23 27 63 6f 6c 6f 72 2d 78 79 7a 2d 74 6f 2d 73 72 67 62 lor...(apply.#'color-xyz-to-srgb
11d60 20 28 63 6f 6c 6f 72 2d 6f 6b 6c 61 62 2d 74 6f 2d 78 79 7a 20 6c 20 61 20 62 29 29 29 0a 0a 28 .(color-oklab-to-xyz.l.a.b)))..(
11d80 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 63 6f 6c 6f 72 2d 73 72 67 62 2d 74 6f 2d 6f 6b 6c 61 62 compat-defun.color-srgb-to-oklab
11da0 20 28 72 20 67 20 62 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 63 6f 6c 6f 72 2d .(r.g.b).;;.<compat-tests:color-
11dc0 73 72 67 62 2d 74 6f 2d 6f 6b 6c 61 62 3e 0a 20 20 22 43 6f 6e 76 65 72 74 20 74 68 65 20 73 52 srgb-to-oklab>..."Convert.the.sR
11de0 47 42 20 63 6f 6c 6f 72 20 52 20 47 20 42 20 74 6f 20 4f 6b 6c 61 62 2e 22 0a 20 20 3a 66 65 61 GB.color.R.G.B.to.Oklab."...:fea
11e00 74 75 72 65 20 63 6f 6c 6f 72 0a 20 20 28 61 70 70 6c 79 20 23 27 63 6f 6c 6f 72 2d 78 79 7a 2d ture.color...(apply.#'color-xyz-
11e20 74 6f 2d 6f 6b 6c 61 62 20 28 63 6f 6c 6f 72 2d 73 72 67 62 2d 74 6f 2d 78 79 7a 20 72 20 67 20 to-oklab.(color-srgb-to-xyz.r.g.
11e40 62 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 28 b)))..;;;;.Defined.in.subr.el..(
11e60 63 6f 6d 70 61 74 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 compat-defmacro.static-if.(condi
11e80 74 69 6f 6e 20 74 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 tion.then-form.&rest.else-forms)
11ea0 20 3b 3b 20 3c 63 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 .;;.<compat-tests:static-if>..."
11ec0 41 20 63 6f 6e 64 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 A.conditional.compilation.macro.
11ee0 0a 45 76 61 6c 75 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 .Evaluate.CONDITION.at.macro-exp
11f00 61 6e 73 69 6f 6e 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 ansion.time...If.it.is.non-nil,.
11f20 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 2e 20 20 expand.the.macro.to.THEN-FORM...
11f40 4f 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 Otherwise.expand.it.to.ELSE-FORM
11f60 53 0a 65 6e 63 6c 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 S.enclosed.in.a.`progn'.form...E
11f80 4c 53 45 2d 46 4f 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 LSE-FORMS.may.be.empty."...(decl
11fa0 61 72 65 20 28 69 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 are.(indent.2).(debug.(sexp.sexp
11fc0 20 26 72 65 73 74 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 .&rest.sexp)))...(if.(eval.condi
11fe0 74 69 6f 6e 20 6c 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 tion.lexical-binding).......then
12000 2d 66 6f 72 6d 0a 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 -form.....(cons.'progn.else-form
12020 73 29 29 29 0a 0a 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 s)))..(compat-defun.closurep.(ob
12040 6a 65 63 74 29 20 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 ject).;;.<compat-tests:closurep>
12060 0a 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 66 75 6e 63 ..."Return.t.if.OBJECT.is.a.func
12080 74 69 6f 6e 20 6f 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 tion.of.type.closure."...(declar
120a0 65 20 28 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 e.(side-effect-free.error-free))
120c0 0a 20 20 28 65 71 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 ...(eq.(car-safe.object).'closur
120e0 65 29 29 0a 0a 28 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 e))..(compat-defalias.interprete
12100 64 2d 66 75 6e 63 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 d-function-p.closurep).;;.<compa
12120 74 2d 74 65 73 74 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 t-tests:closurep>..(compat-defun
12140 20 70 72 69 6d 69 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 .primitive-function-p.(object).;
12160 3b 20 3c 63 6f 6d 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 ;.<compat-tests:primitive-functi
12180 6f 6e 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 73 20 61 on-p>..."Return.t.if.OBJECT.is.a
121a0 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 0a 54 68 .built-in.primitive.function..Th
121c0 69 73 20 65 78 63 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 is.excludes.special.forms,.since
121e0 20 74 68 65 79 20 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 .they.are.not.functions."...(dec
12200 6c 61 72 65 20 28 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 lare.(side-effect-free.error-fre
12220 65 29 29 0a 20 20 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 e))...(and.(subrp.object).......
12240 20 28 6e 6f 74 20 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 .(not.(or.(with-no-warnings.(sub
12260 72 2d 6e 61 74 69 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 r-native-elisp-p.object)).......
12280 20 20 20 20 20 20 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 ..........(special-form-p.object
122a0 29 29 29 29 29 0a 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 )))))..(compat-defalias.drop.nth
122c0 63 64 72 29 20 3b 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 cdr).;;.<compat-tests:drop>..(co
122e0 6d 70 61 74 2d 64 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 mpat-defun.merge-ordered-lists.(
12300 6c 69 73 74 73 20 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 lists.&optional.error-function).
12320 3b 3b 20 3c 63 6f 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 ;;.<compat-tests:merge-ordered-l
12340 69 73 74 73 3e 0a 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 ists>..."Merge.LISTS.in.a.consis
12360 74 65 6e 74 20 6f 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 tent.order..LISTS.is.a.list.of.l
12380 69 73 74 73 20 6f 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 ists.of.elements..Merge.them.int
123a0 6f 20 61 20 73 69 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 o.a.single.list.containing.the.s
123c0 61 6d 65 20 65 6c 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 ame.elements.(removing.duplicate
123e0 73 29 2c 20 6f 62 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 s),.obeying.their.relative.posit
12400 69 6f 6e 73 20 69 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 ions.in.each.list..The.order.of.
12420 74 68 65 20 28 73 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 the.(sub)lists.determines.the.fi
12440 6e 61 6c 20 6f 72 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 nal.order.in.those.cases.where.t
12460 68 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 he.order.within.the.sublists.doe
12480 73 20 6e 6f 74 20 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 s.not.impose.a.unique.choice..Eq
124a0 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 64 20 77 69 74 uality.of.elements.is.tested.wit
124c0 68 20 60 65 71 6c 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 h.`eql'...If.a.consistent.order.
124e0 64 6f 65 73 20 6e 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 does.not.exist,.call.ERROR-FUNCT
12500 49 4f 4e 20 77 69 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 ION.with.a.remaining.list.of.lis
12520 74 73 20 74 68 61 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 ts.that.we.do.not.know.how.to.me
12540 72 67 65 2e 0a 49 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 rge..It.should.return.the.candid
12560 61 74 65 20 74 6f 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 ate.to.use.to.continue.the.merge
12580 2c 20 77 68 69 63 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 ,.which.has.to.be.the.head.of.on
125a0 65 20 6f 66 20 74 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 e.of.the.lists..By.default.we.ch
125c0 6f 6f 73 65 20 74 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 oose.the.head.of.the.first.list.
125e0 22 0a 20 20 28 6c 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 "...(let.((result.'())).....(set
12600 71 20 6c 69 73 74 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 q.lists.(remq.nil.lists)).....(w
12620 68 69 6c 65 20 28 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 hile.(cdr.(setq.lists.(delq.nil.
12640 6c 69 73 74 73 29 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 lists))).......(let*.((next.nil)
12660 0a 20 20 20 20 20 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 ..............(tail.lists)).....
12680 20 20 20 20 28 77 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 ....(while.tail...........(let.(
126a0 28 63 61 6e 64 69 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 (candidate.(caar.tail)).........
126c0 20 20 20 20 20 20 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 ........(other-lists.lists))....
126e0 20 20 20 20 20 20 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 .........(while.other-lists.....
12700 20 20 20 20 20 20 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 ..........(if.(not.(memql.candid
12720 61 74 65 20 28 63 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 ate.(cdr.(car.other-lists))))...
12740 20 20 20 20 20 20 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 ................(setq.other-list
12760 73 20 28 63 64 72 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 s.(cdr.other-lists))............
12780 20 20 20 20 20 28 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 .....(setq.candidate.nil).......
127a0 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 6e 69 6c 29 ..........(setq.other-lists.nil)
127c0 29 29 0a 20 20 20 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 )).............(if.(not.candidat
127e0 65 29 0a 20 20 20 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 e).................(setq.tail.(c
12800 64 72 20 74 61 69 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 dr.tail))...............(setq.ne
12820 78 74 20 63 61 6e 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 xt.candidate)...............(set
12840 71 20 74 61 69 6c 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 q.tail.nil)))).........(unless.n
12860 65 78 74 0a 20 20 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 ext...........(setq.next.(funcal
12880 6c 20 28 6f 72 20 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 l.(or.error-function.#'caar).lis
128a0 74 73 29 29 0a 20 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 ts))...........(unless.(funcall.
128c0 20 20 20 20 20 20 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 ...................(eval-when-co
128e0 6d 70 69 6c 65 20 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 mpile.(if.(fboundp.'compat--asso
12900 63 29 20 27 63 6f 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 c).'compat--assoc.'assoc))......
12920 20 20 20 20 20 20 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 ..............next.lists.#'eql).
12940 20 20 20 20 20 20 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 ............(error."Invalid.cand
12960 69 64 61 74 65 20 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 idate.returned.by.error-function
12980 3a 20 25 53 22 20 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 :.%S".next))).........(push.next
129a0 20 72 65 73 75 6c 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 .result).........(setq.lists....
129c0 20 20 20 20 20 20 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 ...........(mapcar.(lambda.(l).(
129e0 69 66 20 28 65 71 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 if.(eql.(car.l).next).(cdr.l).l)
12a00 29 0a 20 20 20 20 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 ).......................lists)))
12a20 29 0a 20 20 20 20 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 ).....(if.(null.result).(car.lis
12a40 74 73 29 0a 20 20 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 ts).......(append.(nreverse.resu
12a60 6c 74 29 20 28 63 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 lt).(car.lists)))))..(compat-def
12a80 75 6e 20 63 6f 70 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 un.copy-tree.(tree.&optional.vec
12aa0 74 6f 72 73 2d 61 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 tors-and-records).;;.<compat-tes
12ac0 74 73 3a 63 6f 70 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 ts:copy-tree>..."Handle.copying.
12ae0 72 65 63 6f 72 64 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 records.when.optional.arg.is.non
12b00 2d 6e 69 6c 2e 22 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 -nil."...:extended.t...(declare.
12b20 28 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 (side-effect-free.error-free))..
12b40 20 28 69 66 20 28 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 .(if.(fboundp.'recordp).......(i
12b60 66 20 28 63 6f 6e 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 f.(consp.tree)...........(let.(r
12b80 65 73 75 6c 74 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 esult).............(while.(consp
12ba0 20 74 72 65 65 29 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 .tree)...............(let.((newc
12bc0 61 72 20 28 63 61 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 ar.(car.tree))).................
12be0 28 69 66 20 28 6f 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 (if.(or.(consp.(car.tree))......
12c00 20 20 20 20 20 20 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 ...................(and.vectors-
12c20 61 6e 64 2d 72 65 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 and-records.....................
12c40 20 20 20 20 20 20 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 .........(or.(vectorp.(car.tree)
12c60 29 20 28 72 65 63 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 ).(recordp.(car.tree))))).......
12c80 20 20 20 20 20 20 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 ..............(setq.newcar.(comp
12ca0 61 74 2d 2d 63 6f 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 at--copy-tree.(car.tree).vectors
12cc0 2d 61 6e 64 2d 72 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 -and-records))).................
12ce0 28 70 75 73 68 20 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 (push.newcar.result))...........
12d00 20 20 20 20 28 73 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 ....(setq.tree.(cdr.tree))).....
12d20 20 20 20 20 20 20 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 ........(nconc.(nreverse.result)
12d40 0a 20 20 20 20 20 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 ....................(if.(and.vec
12d60 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 70 20 74 72 tors-and-records.(or.(vectorp.tr
12d80 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 20 20 20 20 ee).(recordp.tree)))............
12da0 20 20 20 20 20 20 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 ............(compat--copy-tree.t
12dc0 72 65 65 20 76 65 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 ree.vectors-and-records)........
12de0 20 20 20 20 20 20 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 ..............tree))).........(i
12e00 66 20 28 61 6e 64 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 f.(and.vectors-and-records.(or.(
12e20 76 65 63 74 6f 72 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 vectorp.tree).(recordp.tree)))..
12e40 20 20 20 20 20 20 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 ...........(let.((i.(length.(set
12e60 71 20 74 72 65 65 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 q.tree.(copy-sequence.tree))))).
12e80 20 20 20 20 20 20 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 ..............(while.(>=.(setq.i
12ea0 20 28 31 2d 20 69 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 .(1-.i)).0).................(ase
12ec0 74 20 74 72 65 65 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 t.tree.i.(compat--copy-tree.(are
12ee0 66 20 74 72 65 65 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 f.tree.i).vectors-and-records)))
12f00 0a 20 20 20 20 20 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 ...............tree)...........t
12f20 72 65 65 29 29 0a 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 ree)).....(copy-tree.tree.vector
12f40 73 2d 61 6e 64 2d 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 s-and-records)))..;;;;.Defined.i
12f60 6e 20 66 6e 73 2e 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 n.fns.c..(compat-defun.value<.(a
12f80 20 62 29 20 3b 3b 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 .b).;;.<compat-tests:value<>..."
12fa0 52 65 74 75 72 6e 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 Return.non-nil.if.A.precedes.B.i
12fc0 6e 20 73 74 61 6e 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 n.standard.value.order..A.and.B.
12fe0 6d 75 73 74 20 68 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 must.have.the.same.basic.type..N
13000 75 6d 62 65 72 73 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 umbers.are.compared.with.<..Stri
13020 6e 67 73 20 61 6e 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 ngs.and.symbols.are.compared.wit
13040 68 20 73 74 72 69 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 h.string-lessp..Lists,.vectors,.
13060 62 6f 6f 6c 2d 76 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 bool-vectors.and.records.are.com
13080 70 61 72 65 64 20 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 pared.lexicographically..Markers
130a0 20 61 72 65 20 63 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 .are.compared.lexicographically.
130c0 62 79 20 62 75 66 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 by.buffer.and.position..Buffers.
130e0 61 6e 64 20 70 72 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 and.processes.are.compared.by.na
13100 6d 65 2e 0a 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 me..Other.types.are.considered.u
13120 6e 6f 72 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 nordered.and.the.return.value.wi
13140 6c 6c 20 62 65 20 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 ll.be....nil...."...(cond....((o
13160 72 20 28 61 6e 64 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 r.(and.(numberp.a).(numberp.b)).
13180 20 20 20 20 20 20 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 ........(and.(markerp.a).(marker
131a0 70 20 62 29 29 29 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 p.b))).....(<.a.b))....((or.(and
131c0 20 28 73 74 72 69 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 .(stringp.a).(stringp.b)).......
131e0 20 20 28 61 6e 64 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 ..(and.(symbolp.a).(symbolp.b)))
13200 0a 20 20 20 20 28 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 .....(string<.a.b))....((and.(li
13220 73 74 70 20 61 29 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 stp.a).(listp.b)).....(while.(an
13240 64 20 28 63 6f 6e 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 d.(consp.a).(consp.b).(equal.(ca
13260 72 20 61 29 20 28 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 r.a).(car.b))).......(setq.a.(cd
13280 72 20 61 29 20 62 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 r.a).b.(cdr.b))).....(cond......
132a0 28 28 6e 6f 74 20 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 ((not.b).nil)......((not.a).t)..
132c0 20 20 20 20 28 28 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 ....((and.(consp.a).(consp.b)).(
132e0 76 61 6c 75 65 3c 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 value<.(car.a).(car.b)))......(t
13300 20 28 76 61 6c 75 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 .(value<.a.b))))....((and.(vecto
13320 72 70 20 61 29 20 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 rp.a).(vectorp.b)).....(let*.((n
13340 61 20 28 6c 65 6e 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 a.(length.a))............(nb.(le
13360 6e 67 74 68 20 62 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 ngth.b))............(n.(min.na.n
13380 62 29 29 0a 20 20 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 b))............(i.0)).......(whi
133a0 6c 65 20 28 61 6e 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 le.(and.(<.i.n).(equal.(aref.a.i
133c0 29 20 28 61 72 65 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 ).(aref.b.i))).........(cl-incf.
133e0 69 29 29 0a 20 20 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 i)).......(if.(<.i.n).(value<.(a
13400 72 65 66 20 61 20 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 ref.a.i).(aref.b.i)).(<.n.nb))))
13420 0a 20 20 20 28 28 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 ....((and.(bufferp.a).(bufferp.b
13440 29 29 0a 20 20 20 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 )).....;;.`buffer-name'.is.nil.f
13460 6f 72 20 6b 69 6c 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 or.killed.buffers......(setq.a.(
13480 62 75 66 66 65 72 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 buffer-name.a)...........b.(buff
134a0 65 72 2d 6e 61 6d 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 er-name.b)).....(cond......((and
134c0 20 61 20 62 29 20 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 .a.b).(string<.a.b))......(b.t))
134e0 29 0a 20 20 20 28 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 )....((and.(processp.a).(process
13500 70 20 62 29 29 0a 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 p.b)).....(string<.(process-name
13520 20 61 29 20 28 70 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 .a).(process-name.b)))....;;.TOD
13540 4f 20 41 64 64 20 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 O.Add.support.for.more.types.her
13560 65 2e 0a 20 20 20 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 e.....;;.Other.values.of.equal.t
13580 79 70 65 20 61 72 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 ype.are.considered.unordered.(re
135a0 74 75 72 6e 20 76 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 turn.value.nil).....((eq.(type-o
135c0 66 20 61 29 20 28 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 f.a).(type-of.b)).nil)....;;.Dif
135e0 66 65 72 65 6e 74 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 ferent.types.....(t.(error."valu
13600 65 3c 20 74 79 70 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 e<.type.mismatch:.%S.%S".a.b))))
13620 0a 0a 28 63 6f 6d 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 ..(compat-defun.sort.(seq.&optio
13640 6e 61 6c 20 6c 65 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 nal.lessp.&rest.rest).;;.<compat
13660 2d 74 65 73 74 73 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 -tests:sort>..."Sort.function.wi
13680 74 68 20 73 75 70 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 th.support.for.keyword.arguments
136a0 2e 0a 54 68 65 20 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 ..The.following.arguments.are.de
136c0 66 69 6e 65 64 3a 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 fined:..:key.FUNC.--.FUNC.is.a.f
136e0 75 6e 63 74 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 unction.that.takes.a.single.elem
13700 65 6e 74 20 66 72 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 ent.from.SEQ.and...returns.the.k
13720 65 79 20 76 61 6c 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 ey.value.to.be.used.in.compariso
13740 6e 2e 20 20 49 66 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 n...If.absent.or.nil,...`identit
13760 79 27 20 69 73 20 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 y'.is.used...:lessp.FUNC.--.FUNC
13780 20 69 73 20 61 20 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 .is.a.function.that.takes.two.ar
137a0 67 75 6d 65 6e 74 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 guments.and.returns...non-nil.if
137c0 20 74 68 65 20 66 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 .the.first.element.should.come.b
137e0 65 66 6f 72 65 20 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 efore.the.second....If.absent.or
13800 20 6e 69 6c 2c 20 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 .nil,.`value<'.is.used...:revers
13820 65 20 42 4f 4f 4c 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 e.BOOL.--.if.BOOL.is.non-nil,.th
13840 65 20 73 6f 72 74 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 e.sorting.order.implied.by.FUNC.
13860 69 73 0a 20 20 72 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 is...reversed...This.does.not.af
13880 66 65 63 74 20 73 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 fect.stability:.equal.elements.s
138a0 74 69 6c 6c 20 72 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 till.retain...their.order.in.the
138c0 20 69 6e 70 75 74 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 .input.sequence...:in-place.BOOL
138e0 20 2d 2d 20 69 66 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 .--.if.BOOL.is.non-nil,.SEQ.is.s
13900 6f 72 74 65 64 20 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 orted.in-place.and.returned....O
13920 74 68 65 72 77 69 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 therwise,.a.sorted.copy.of.SEQ.i
13940 73 20 72 65 74 75 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 s.returned.and.SEQ.remains.unmod
13960 69 66 69 65 64 3b 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 ified;...this.is.the.default...F
13980 6f 72 20 63 6f 6d 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 or.compatibility,.the.calling.co
139a0 6e 76 65 6e 74 69 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 nvention.(sort.SEQ.LESSP).can.al
139c0 73 6f 20 62 65 20 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 so.be.used;.in.this.case,.sortin
139e0 67 20 69 73 20 61 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 g.is.always.done.in-place."...:e
13a00 78 74 65 6e 64 65 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 xtended.t...(let.((in-place.t).(
13a20 72 65 76 65 72 73 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 reverse.nil).(orig-seq.seq))....
13a40 20 28 77 68 65 6e 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 .(when.(or.(not.lessp).rest)....
13a60 20 20 20 28 73 65 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 ...(setq........rest.(if.lessp.(
13a80 63 6f 6e 73 20 6c 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 cons.lessp.rest).rest)........in
13aa0 2d 70 6c 61 63 65 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 -place.(plist-get.rest.:in-place
13ac0 29 0a 20 20 20 20 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 )........reverse.(plist-get.rest
13ae0 20 3a 72 65 76 65 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 .:reverse)........lessp.(let.((k
13b00 65 79 20 28 70 6c 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 ey.(plist-get.rest.:key)).......
13b20 20 20 20 20 20 20 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 .............(<.(or.(plist-get.r
13b40 65 73 74 20 3a 6c 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 est.:lessp).#'value<))).........
13b60 20 20 20 20 20 20 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 .......(if.key..................
13b80 28 6c 61 6d 62 64 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 (lambda.(a.b).(funcall.<.(funcal
13ba0 6c 20 6b 65 79 20 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 l.key.a).(funcall.key.b)))......
13bc0 20 20 20 20 20 20 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 ............<))........seq.(if.(
13be0 6f 72 20 28 61 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 or.(and.(eval-when-compile.(<.em
13c00 61 63 73 2d 6d 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 acs-major-version.25)).(vectorp.
13c20 6f 72 69 67 2d 73 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 orig-seq))....................in
13c40 2d 70 6c 61 63 65 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 -place)................seq......
13c60 20 20 20 20 20 20 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 ........(copy-sequence.seq))))..
13c80 20 20 20 3b 3b 20 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 ...;;.Emacs.24.does.not.support.
13ca0 76 65 63 74 6f 72 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 vectors..Convert.to.list......(w
13cc0 68 65 6e 20 28 61 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 hen.(and.(eval-when-compile.(<.e
13ce0 6d 61 63 73 2d 6d 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 macs-major-version.25)).(vectorp
13d00 20 6f 72 69 67 2d 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 .orig-seq)).......(setq.seq.(app
13d20 65 6e 64 20 73 65 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 end.seq.nil))).....(setq.seq.(if
13d40 20 72 65 76 65 72 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 .reverse...................(nrev
13d60 65 72 73 65 20 28 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 erse.(sort.(nreverse.seq).lessp)
13d80 29 0a 20 20 20 20 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 ).................(sort.seq.less
13da0 70 29 29 29 0a 20 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 p))).....;;.Emacs.24:.Convert.ba
13dc0 63 6b 20 74 6f 20 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 ck.to.vector......(if.(and.(eval
13de0 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 6a 6f 72 2d 76 65 72 -when-compile.(<.emacs-major-ver
13e00 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 65 71 29 29 0a 20 20 sion.25)).(vectorp.orig-seq))...
13e20 20 20 20 20 20 20 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 ......(if.in-place.............(
13e40 63 6c 2d 6c 6f 6f 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 cl-loop.for.i.from.0.for.x.in.se
13e60 71 0a 20 20 20 20 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 q......................do.(aset.
13e80 6f 72 69 67 2d 73 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 orig-seq.i.x)...................
13ea0 20 20 20 66 69 6e 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 ...finally.return.orig-seq).....
13ec0 20 20 20 20 20 20 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 ......(apply.#'vector.seq)).....
13ee0 20 20 73 65 71 29 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 ..seq)))..;;;;.Defined.in.mule-c
13f00 6d 64 73 2e 65 6c 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 mds.el..(compat-defun.char-to-na
13f20 6d 65 20 28 63 68 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 me.(char).;;.<compat-tests:char-
13f40 74 6f 2d 6e 61 6d 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 to-name>..."Return.the.Unicode.n
13f60 61 6d 65 20 66 6f 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 ame.for.CHAR,.if.it.has.one,.els
13f80 65 20 6e 69 6c 2e 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 e.nil..Return.nil.if.CHAR.is.not
13fa0 20 61 20 63 68 61 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 .a.character."...(and.(character
13fc0 70 20 63 68 61 72 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 p.char)........(or.(get-char-cod
13fe0 65 2d 70 72 6f 70 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 e-property.char.'name)..........
14000 20 20 28 67 65 74 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 ..(get-char-code-property.char.'
14020 6f 6c 64 2d 6e 61 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 old-name))))..(provide.'compat-3
14040 30 29 0a 3b 3b 3b 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 0).;;;.compat-30.el.ends.here...
14060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
140a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
140c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
140e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
141a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
141c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
141e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14200 63 6f 6d 70 61 74 2d 33 30 2e 31 2e 30 2e 31 2f 4e 45 57 53 2e 6f 72 67 00 00 00 00 00 00 00 00 compat-30.1.0.1/NEWS.org........
14220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14260 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
14280 30 30 33 35 37 30 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 31 35 33 00 20 30 00 00 00 0035705.00000000000.013153..0...
142a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
142c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
142e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14300 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...................
14320 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...................
14340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
143a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
143c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
143e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14400 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
14420 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:.
14440 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
14460 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/.#+
14480 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:
144a0 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
144c0 6f 6e 20 33 30 2e 31 2e 30 2e 31 0a 0a 2d 20 63 6f 6d 70 61 74 2d 32 38 3a 20 46 69 78 20 3d 6e on.30.1.0.1..-.compat-28:.Fix.=n
144e0 61 6d 65 64 2d 6c 65 74 3d 20 74 61 69 6c 20 72 65 63 75 72 73 69 6f 6e 2e 0a 0a 28 52 65 6c 65 amed-let=.tail.recursion...(Rele
14500 61 73 65 20 3c 32 30 32 35 2d 30 36 2d 31 39 20 54 68 75 3e 29 0a 0a 2a 20 52 65 6c 65 61 73 65 ase.<2025-06-19.Thu>)..*.Release
14520 20 6f 66 20 22 43 6f 6d 70 61 74 22 20 56 65 72 73 69 6f 6e 20 33 30 2e 31 2e 30 2e 30 0a 0a 2d .of."Compat".Version.30.1.0.0..-
14540 20 63 6f 6d 70 61 74 2d 33 30 3a 20 41 64 64 20 6f 6b 6c 61 62 20 63 6f 6c 6f 72 20 66 75 6e 63 .compat-30:.Add.oklab.color.func
14560 74 69 6f 6e 73 2e 0a 0a 28 52 65 6c 65 61 73 65 20 3c 32 30 32 35 2d 30 34 2d 30 32 20 57 65 64 tions...(Release.<2025-04-02.Wed
14580 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 65 72 73 69 6f >)..*.Release.of."Compat".Versio
145a0 6e 20 33 30 2e 30 2e 32 2e 30 0a 0a 2d 20 63 6f 6d 70 61 74 2d 33 30 3a 20 52 65 6e 61 6d 65 20 n.30.0.2.0..-.compat-30:.Rename.
145c0 3d 74 72 75 73 74 65 64 2d 66 69 6c 65 73 3d 20 74 6f 20 3d 74 72 75 73 74 65 64 2d 63 6f 6e 74 =trusted-files=.to.=trusted-cont
145e0 65 6e 74 3d 2e 0a 0a 28 52 65 6c 65 61 73 65 20 3c 32 30 32 35 2d 30 31 2d 30 34 20 53 61 74 3e ent=...(Release.<2025-01-04.Sat>
14600 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
14620 20 33 30 2e 30 2e 31 2e 30 0a 0a 2d 20 63 6f 6d 70 61 74 2d 33 30 3a 20 4e 65 77 20 76 61 72 69 .30.0.1.0..-.compat-30:.New.vari
14640 61 62 6c 65 20 3d 75 6e 74 72 75 73 74 65 64 2d 63 6f 6e 74 65 6e 74 3d 2e 0a 2d 20 63 6f 6d 70 able.=untrusted-content=..-.comp
14660 61 74 2d 33 30 3a 20 4e 65 77 20 76 61 72 69 61 62 6c 65 20 3d 74 72 75 73 74 65 64 2d 66 69 6c at-30:.New.variable.=trusted-fil
14680 65 73 3d 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 es=..-.compat-30:.New.function.=
146a0 74 72 75 73 74 65 64 2d 63 6f 6e 74 65 6e 74 2d 70 3d 2e 0a 0a 28 52 65 6c 65 61 73 65 20 3c 32 trusted-content-p=...(Release.<2
146c0 30 32 34 2d 31 32 2d 31 35 20 53 75 6e 3e 29 0a 0a 2a 20 52 65 6c 65 61 73 65 20 6f 66 20 22 43 024-12-15.Sun>)..*.Release.of."C
146e0 6f 6d 70 61 74 22 20 56 65 72 73 69 6f 6e 20 33 30 2e 30 2e 30 2e 30 0a 0a 2d 20 63 6f 6d 70 61 ompat".Version.30.0.0.0..-.compa
14700 74 2d 32 38 3a 20 4d 61 72 6b 20 3d 73 75 62 72 2d 6e 61 74 69 76 65 2d 65 6c 69 73 70 2d 70 3d t-28:.Mark.=subr-native-elisp-p=
14720 20 61 73 20 6f 62 73 6f 6c 65 74 65 20 28 72 65 6e 61 6d 65 64 20 69 6e 20 45 6d 61 63 73 20 33 .as.obsolete.(renamed.in.Emacs.3
14740 30 29 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 63 0)..-.compat-30:.New.function.=c
14760 68 61 72 2d 74 6f 2d 6e 61 6d 65 3d 2e 0a 2d 20 63 6f 6d 70 61 74 2d 33 30 3a 20 4e 65 77 20 66 har-to-name=..-.compat-30:.New.f
14780 75 6e 63 74 69 6f 6e 20 3d 6f 62 61 72 72 61 79 2d 63 6c 65 61 72 3d 2e 0a 2d 20 63 6f 6d 70 61 unction.=obarray-clear=..-.compa
147a0 74 2d 33 30 3a 20 4e 65 77 20 66 75 6e 63 74 69 6f 6e 20 3d 69 6e 74 65 72 70 72 65 74 65 64 2d t-30:.New.function.=interpreted-
147c0 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 4e 65 77 20 66 75 function-p=..-.compat-30:.New.fu
147e0 6e 63 74 69 6f 6e 20 3d 70 72 69 6d 69 74 69 76 65 2d 66 75 6e 63 74 69 6f 6e 2d 70 3d 2e 0a 2d nction.=primitive-function-p=..-
14800 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 63 6c 6f 73 75 72 .compat-30:.New.function.=closur
14820 65 70 3d 2e 0a 2d 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 66 ep=..-.compat-30:.Add.extended.f
14840 75 6e 63 74 69 6f 6e 20 3d 73 6f 72 74 3d 20 77 69 74 68 20 6b 65 79 77 6f 72 64 20 61 72 67 75 unction.=sort=.with.keyword.argu
14860 6d 65 6e 74 73 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 ments..-.compat-30:.New.function
14880 20 3d 76 61 6c 75 65 3c 3d 2e 0a 2d 20 63 6f 6d 70 61 74 2d 33 30 3a 20 41 64 64 20 65 78 74 65 .=value<=..-.compat-30:.Add.exte
148a0 6e 64 65 64 20 3d 63 6f 70 79 2d 74 72 65 65 3d 20 77 69 74 68 20 73 75 70 70 6f 72 74 20 66 6f nded.=copy-tree=.with.support.fo
148c0 72 20 63 6f 70 79 69 6e 67 20 72 65 63 6f 72 64 73 20 77 69 74 68 0a 20 20 6e 6f 6e 2d 6e 69 6c r.copying.records.with...non-nil
148e0 20 6f 70 74 69 6f 6e 61 6c 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e 74 2e 0a 2d 20 63 6f 6d .optional.second.argument..-.com
14900 70 61 74 2d 33 30 3a 20 4e 65 77 20 6d 61 63 72 6f 20 3d 73 74 61 74 69 63 2d 69 66 3d 2e 0a 2d pat-30:.New.macro.=static-if=..-
14920 20 63 6f 6d 70 61 74 2d 33 30 3a 20 4e 65 77 20 61 6c 69 61 73 20 3d 64 72 6f 70 3d 2e 0a 2d 20 .compat-30:.New.alias.=drop=..-.
14940 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 6d 65 72 67 65 2d 6f compat-30:.New.function.=merge-o
14960 72 64 65 72 65 64 2d 6c 69 73 74 73 3d 2e 0a 2d 20 63 6f 6d 70 61 74 2d 33 30 3a 20 4e 65 77 20 rdered-lists=..-.compat-30:.New.
14980 76 61 72 69 61 62 6c 65 73 20 3d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 variables.=completion-lazy-hilit
149a0 3d 20 61 6e 64 20 3d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 2d 66 6e 3d =.and.=completion-lazy-hilit-fn=
149c0 0a 20 20 61 6e 64 20 6e 65 77 20 66 75 6e 63 74 69 6f 6e 20 3d 63 6f 6d 70 6c 65 74 69 6f 6e 2d ...and.new.function.=completion-
149e0 6c 61 7a 79 2d 68 69 6c 69 74 3d 2e 0a 2d 20 63 6f 6d 70 61 74 2d 33 30 3a 20 4e 65 77 20 66 75 lazy-hilit=..-.compat-30:.New.fu
14a00 6e 63 74 69 6f 6e 20 3d 72 65 71 75 69 72 65 2d 77 69 74 68 2d 63 68 65 63 6b 3d 2e 0a 2d 20 63 nction.=require-with-check=..-.c
14a20 6f 6d 70 61 74 2d 33 30 3a 20 4e 65 77 20 66 75 6e 63 74 69 6f 6e 73 20 3d 66 69 6e 64 2d 62 75 ompat-30:.New.functions.=find-bu
14a40 66 66 65 72 3d 20 61 6e 64 20 3d 67 65 74 2d 74 72 75 65 6e 61 6d 65 2d 62 75 66 66 65 72 3d 2e ffer=.and.=get-truename-buffer=.
14a60 0a 2d 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 6d 70 .-.compat-30:.Add.extended.=comp
14a80 6c 65 74 69 6f 6e 2d 6d 65 74 61 64 61 74 61 2d 67 65 74 3d 20 77 69 74 68 20 73 75 70 70 6f 72 letion-metadata-get=.with.suppor
14aa0 74 20 66 6f 72 0a 20 20 3d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 63 61 74 65 67 6f 72 79 2d 6f 76 65 t.for...=completion-category-ove
14ac0 72 72 69 64 65 73 3d 20 61 6e 64 20 3d 63 6f 6d 70 6c 65 74 69 6f 6e 2d 65 78 74 72 61 2d 70 72 rrides=.and.=completion-extra-pr
14ae0 6f 70 65 72 74 69 65 73 3d 2e 0a 0a 28 52 65 6c 65 61 73 65 20 3c 32 30 32 34 2d 30 37 2d 30 38 operties=...(Release.<2024-07-08
14b00 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 61 74 22 20 56 65 .Mon>)..*.Release.of."Compat".Ve
14b20 72 73 69 6f 6e 20 32 39 2e 31 2e 34 2e 35 0a 0a 2d 20 4d 69 6e 6f 72 20 6f 70 74 69 6d 69 7a 61 rsion.29.1.4.5..-.Minor.optimiza
14b40 74 69 6f 6e 20 6f 66 20 7e 70 6c 69 73 74 2d 67 65 74 7e 20 61 6e 64 20 7e 70 6c 69 73 74 2d 70 tion.of.~plist-get~.and.~plist-p
14b60 75 74 7e 2e 0a 2d 20 4d 69 6e 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 61 64 6a 75 73 ut~..-.Minor.compatibility.adjus
14b80 74 6d 65 6e 74 73 20 66 6f 72 20 74 68 65 20 45 6d 61 63 73 20 33 30 20 64 65 76 65 6c 6f 70 6d tments.for.the.Emacs.30.developm
14ba0 65 6e 74 20 76 65 72 73 69 6f 6e 2e 0a 2d 20 41 20 6d 69 6e 69 6d 61 6c 20 76 65 72 73 69 6f 6e ent.version..-.A.minimal.version
14bc0 20 6f 66 20 3d 63 6f 6d 70 61 74 2e 65 6c 3d 20 77 69 6c 6c 20 62 65 20 70 61 72 74 20 6f 66 20 .of.=compat.el=.will.be.part.of.
14be0 45 6d 61 63 73 20 33 30 2e 20 45 6d 61 63 73 20 3a 63 6f 72 65 20 70 61 63 6b 61 67 65 73 0a 20 Emacs.30..Emacs.:core.packages..
14c00 20 63 61 6e 20 64 69 72 65 63 74 6c 79 20 7e 28 72 65 71 75 69 72 65 20 27 63 6f 6d 70 61 74 29 .can.directly.~(require.'compat)
14c20 7e 20 77 69 74 68 6f 75 74 20 74 68 65 20 7e 4e 4f 45 52 52 4f 52 7e 20 66 6c 61 67 2e 20 46 75 ~.without.the.~NOERROR~.flag..Fu
14c40 72 74 68 65 72 6d 6f 72 65 20 43 6f 6d 70 61 74 0a 20 20 77 69 6c 6c 20 6e 6f 74 20 62 65 20 69 rthermore.Compat...will.not.be.i
14c60 6e 73 74 61 6c 6c 65 64 20 75 6e 6e 65 63 65 73 73 61 72 69 6c 79 2e 20 49 66 20 61 20 70 61 63 nstalled.unnecessarily..If.a.pac
14c80 6b 61 67 65 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 45 6d 61 63 73 20 32 35 2e 31 20 61 6e 64 kage.depending.on.Emacs.25.1.and
14ca0 0a 20 20 43 6f 6d 70 61 74 20 32 39 2e 31 20 69 73 20 69 6e 73 74 61 6c 6c 65 64 20 6f 6e 20 45 ...Compat.29.1.is.installed.on.E
14cc0 6d 61 63 73 20 33 30 2e 31 2c 20 43 6f 6d 70 61 74 20 32 39 2e 31 20 77 69 6c 6c 20 6e 6f 74 20 macs.30.1,.Compat.29.1.will.not.
14ce0 62 65 20 69 6e 73 74 61 6c 6c 65 64 20 66 72 6f 6d 0a 20 20 45 4c 50 41 2c 20 73 69 6e 63 65 20 be.installed.from...ELPA,.since.
14d00 45 6d 61 63 73 20 33 30 2e 31 20 61 6c 72 65 61 64 79 20 70 72 6f 76 69 64 65 73 20 74 68 65 20 Emacs.30.1.already.provides.the.
14d20 72 65 71 75 69 72 65 64 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 2e 0a 0a 28 52 65 6c 65 61 73 required.functionality...(Releas
14d40 65 20 3c 32 30 32 34 2d 30 33 2d 31 36 20 53 61 74 3e 29 0a 0a 2a 20 52 65 6c 65 61 73 65 20 6f e.<2024-03-16.Sat>)..*.Release.o
14d60 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 2e 34 0a 0a 2d 20 46 f."Compat".Version.29.1.4.4..-.F
14d80 69 78 20 7e 50 61 63 6b 61 67 65 2d 52 65 71 75 69 72 65 73 7e 20 68 65 61 64 65 72 20 69 6e 20 ix.~Package-Requires~.header.in.
14da0 63 6f 6d 70 61 74 2e 65 6c 0a 2d 20 46 69 78 20 7e 4d 61 69 6e 74 61 69 6e 65 72 7e 20 68 65 61 compat.el.-.Fix.~Maintainer~.hea
14dc0 64 65 72 20 69 6e 20 63 6f 6d 70 61 74 2e 65 6c 0a 0a 28 52 65 6c 65 61 73 65 20 3c 32 30 32 33 der.in.compat.el..(Release.<2023
14de0 2d 31 31 2d 31 33 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 -11-13.Mon>)..*.Release.of."Comp
14e00 61 74 22 20 56 65 72 73 69 6f 6e 20 32 39 2e 31 2e 34 2e 33 0a 0a 2d 20 63 6f 6d 70 61 74 2d 32 at".Version.29.1.4.3..-.compat-2
14e20 39 3a 20 41 64 64 20 66 75 6e 63 74 69 6f 6e 20 3d 63 68 61 72 2d 75 70 70 65 72 63 61 73 65 2d 9:.Add.function.=char-uppercase-
14e40 70 3d 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 66 75 6e 63 74 69 6f 6e 20 3d 77 p=..-.compat-29:.Add.function.=w
14e60 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 3d 2e 0a 0a 28 indow-configuration-equal-p=...(
14e80 52 65 6c 65 61 73 65 20 3c 32 30 32 33 2d 31 31 2d 30 34 20 53 61 74 3e 29 0a 0a 2a 20 52 65 6c Release.<2023-11-04.Sat>)..*.Rel
14ea0 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 2e ease.of."Compat".Version.29.1.4.
14ec0 32 0a 0a 2d 20 63 6f 6d 70 61 74 2d 32 38 3a 20 49 6d 70 72 6f 76 65 20 3d 6d 61 6b 65 2d 73 65 2..-.compat-28:.Improve.=make-se
14ee0 70 61 72 61 74 6f 72 2d 6c 69 6e 65 3d 20 76 69 73 75 61 6c 73 20 6f 6e 20 67 72 61 70 68 69 63 parator-line=.visuals.on.graphic
14f00 20 64 69 73 70 6c 61 79 73 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 38 3a 20 41 64 64 20 3d 6e 61 74 .displays..-.compat-28:.Add.=nat
14f20 69 76 65 2d 63 6f 6d 70 2d 61 76 61 69 6c 61 62 6c 65 2d 70 3d 2c 20 77 68 69 63 68 20 61 6c 77 ive-comp-available-p=,.which.alw
14f40 61 79 73 20 72 65 74 75 72 6e 73 20 6e 69 6c 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 41 64 ays.returns.nil..-.compat-29:.Ad
14f60 64 20 76 61 72 69 61 62 6c 65 20 3d 6c 69 73 70 2d 64 69 72 65 63 74 6f 72 79 3d 2e 0a 0a 28 52 d.variable.=lisp-directory=...(R
14f80 65 6c 65 61 73 65 20 3c 32 30 32 33 2d 30 37 2d 33 30 20 53 75 6e 3e 29 0a 0a 2a 20 52 65 6c 65 elease.<2023-07-30.Sun>)..*.Rele
14fa0 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 2e 31 ase.of."Compat".Version.29.1.4.1
14fc0 0a 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 ..-.compat-29:.Add.~directory-ab
14fe0 62 72 65 76 2d 61 70 70 6c 79 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 7e 64 brev-apply~..-.compat-29:.Add.~d
15000 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 7e 2e 0a 0a 28 irectory-abbrev-make-regexp~...(
15020 52 65 6c 65 61 73 65 20 3c 32 30 32 33 2d 30 33 2d 32 36 20 53 75 6e 3e 29 0a 0a 2a 20 52 65 6c Release.<2023-03-26.Sun>)..*.Rel
15040 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 2e ease.of."Compat".Version.29.1.4.
15060 30 0a 0a 2d 20 63 6f 6d 70 61 74 2d 32 37 3a 20 44 72 6f 70 20 6f 62 73 6f 6c 65 74 65 20 7e 63 0..-.compat-27:.Drop.obsolete.~c
15080 6f 6d 70 61 74 2d 63 61 6c 6c 20 64 69 72 65 64 2d 67 65 74 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 ompat-call.dired-get-marked-file
150a0 73 7e 2e 0a 2d 20 63 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 s~..-.compat-28:.Add.support.for
150c0 20 7e 64 65 66 63 75 73 74 6f 6d 7e 20 74 79 70 65 20 7e 6e 61 74 6e 75 6d 7e 2e 0a 2d 20 63 6f .~defcustom~.type.~natnum~..-.co
150e0 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 7e 77 69 74 68 2d 72 65 73 74 72 69 63 74 69 6f 6e 7e 20 mpat-29:.Add.~with-restriction~.
15100 61 6e 64 20 7e 77 69 74 68 6f 75 74 2d 72 65 73 74 72 69 63 74 69 6f 6e 7e 2e 0a 2d 20 63 6f 6d and.~without-restriction~..-.com
15120 70 61 74 2d 32 39 3a 20 41 64 64 20 7e 63 6c 2d 63 6f 6e 73 74 61 6e 74 6c 79 7e 2e 0a 2d 20 63 pat-29:.Add.~cl-constantly~..-.c
15140 6f 6d 70 61 74 2d 32 39 3a 20 44 72 6f 70 20 7e 77 69 74 68 2d 6e 61 72 72 6f 77 69 6e 67 7e 20 ompat-29:.Drop.~with-narrowing~.
15160 77 68 69 63 68 20 77 61 73 20 72 65 6e 61 6d 65 64 20 74 6f 20 7e 77 69 74 68 2d 72 65 73 74 72 which.was.renamed.to.~with-restr
15180 69 63 74 69 6f 6e 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 38 3a 20 41 64 64 20 73 75 70 70 6f 72 iction~..-.compat-28:.Add.suppor
151a0 74 20 66 6f 72 20 7e 64 65 66 63 75 73 74 6f 6d 7e 20 74 79 70 65 20 7e 6b 65 79 7e 2e 0a 0a 28 t.for.~defcustom~.type.~key~...(
151c0 52 65 6c 65 61 73 65 20 3c 32 30 32 33 2d 30 33 2d 30 35 20 53 75 6e 3e 29 0a 0a 2a 20 52 65 6c Release.<2023-03-05.Sun>)..*.Rel
151e0 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 33 2e ease.of."Compat".Version.29.1.3.
15200 34 0a 0a 2d 20 45 6e 73 75 72 65 20 74 68 61 74 20 7e 73 65 71 7e 20 69 73 20 72 65 71 75 69 72 4..-.Ensure.that.~seq~.is.requir
15220 65 64 20 70 72 6f 70 65 72 6c 79 20 62 6f 74 68 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 ed.properly.both.at.compile.time
15240 20 61 6e 64 20 72 75 6e 74 69 6d 65 2c 20 73 75 63 68 0a 20 20 74 68 61 74 20 63 6f 6d 70 69 6c .and.runtime,.such...that.compil
15260 61 74 69 6f 6e 20 6f 66 20 64 6f 77 6e 73 74 72 65 61 6d 20 70 61 63 6b 61 67 65 73 20 77 6f 72 ation.of.downstream.packages.wor
15280 6b 73 20 65 76 65 6e 20 69 66 20 43 6f 6d 70 61 74 20 69 74 73 65 6c 66 20 69 73 20 6e 6f 74 0a ks.even.if.Compat.itself.is.not.
152a0 20 20 63 6f 6d 70 69 6c 65 64 2e 20 4d 61 67 69 74 20 75 73 65 73 20 61 20 63 6f 6d 70 6c 65 78 ..compiled..Magit.uses.a.complex
152c0 20 63 6f 6e 74 69 6e 75 6f 75 73 20 69 6e 74 65 67 72 61 74 69 6f 6e 20 73 79 73 74 65 6d 2c 20 .continuous.integration.system,.
152e0 77 68 65 72 65 20 4d 61 67 69 74 20 69 73 0a 20 20 63 6f 6d 70 69 6c 65 64 20 61 6e 64 20 74 65 where.Magit.is...compiled.and.te
15300 73 74 65 64 2c 20 77 68 69 6c 65 20 74 68 65 20 43 6f 6d 70 61 74 20 64 65 70 65 6e 64 65 6e 63 sted,.while.the.Compat.dependenc
15320 79 20 69 73 20 6e 6f 74 20 63 6f 6d 70 69 6c 65 64 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 38 3a 20 y.is.not.compiled..-.compat-28:.
15340 41 64 64 20 7e 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 Add.~process-lines-handling-stat
15360 75 73 7e 20 61 6e 64 20 7e 70 72 6f 63 65 73 73 2d 6c 69 6e 65 73 2d 69 67 6e 6f 72 65 2d 73 74 us~.and.~process-lines-ignore-st
15380 61 74 75 73 7e 2e 0a 0a 28 52 65 6c 65 61 73 65 20 3c 32 30 32 33 2d 30 32 2d 31 31 20 53 61 74 atus~...(Release.<2023-02-11.Sat
153a0 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 65 72 73 69 6f >)..*.Release.of."Compat".Versio
153c0 6e 20 32 39 2e 31 2e 33 2e 33 0a 0a 2d 20 63 6f 6d 70 61 74 2d 32 37 3a 20 41 64 64 20 7e 77 69 n.29.1.3.3..-.compat-27:.Add.~wi
153e0 74 68 2d 73 75 70 70 72 65 73 73 65 64 2d 77 61 72 6e 69 6e 67 73 7e 2e 0a 2d 20 63 6f 6d 70 61 th-suppressed-warnings~..-.compa
15400 74 2d 32 39 3a 20 41 64 64 20 7e 63 6c 2d 77 69 74 68 2d 67 65 6e 73 79 6d 73 7e 20 61 6e 64 20 t-29:.Add.~cl-with-gensyms~.and.
15420 7e 63 6c 2d 6f 6e 63 65 2d 6f 6e 6c 79 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 4c 6f 61 ~cl-once-only~..-.compat-29:.Loa
15440 64 20 7e 73 65 71 7e 2c 20 77 68 69 63 68 20 69 73 20 70 72 65 6c 6f 61 64 65 64 20 6f 6e 20 45 d.~seq~,.which.is.preloaded.on.E
15460 6d 61 63 73 20 32 39 2e 0a 0a 28 52 65 6c 65 61 73 65 20 3c 32 30 32 33 2d 30 32 2d 30 38 20 57 macs.29...(Release.<2023-02-08.W
15480 65 64 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 65 72 73 ed>)..*.Release.of."Compat".Vers
154a0 69 6f 6e 20 32 39 2e 31 2e 33 2e 32 0a 0a 2d 20 63 6f 6d 70 61 74 2d 32 36 3a 20 41 64 64 20 7e ion.29.1.3.2..-.compat-26:.Add.~
154c0 6d 61 6b 65 2d 74 65 6d 70 2d 66 69 6c 65 7e 20 77 69 74 68 20 6f 70 74 69 6f 6e 61 6c 20 61 72 make-temp-file~.with.optional.ar
154e0 67 75 6d 65 6e 74 20 54 45 58 54 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 37 3a 20 4d 61 72 6b 20 7e gument.TEXT..-.compat-27:.Mark.~
15500 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 64 69 72 65 64 2d 67 65 74 2d 6d 61 72 6b 65 64 2d 66 69 6c compat-call.dired-get-marked-fil
15520 65 73 7e 20 61 73 20 6f 62 73 6f 6c 65 74 65 2e 20 53 65 65 20 74 68 65 0a 20 20 73 65 63 74 69 es~.as.obsolete..See.the...secti
15540 6f 6e 20 6c 69 6d 69 74 61 74 69 6f 6e 73 20 69 6e 20 74 68 65 20 43 6f 6d 70 61 74 20 6d 61 6e on.limitations.in.the.Compat.man
15560 75 61 6c 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 7e 66 75 6e 63 61 6c 6c 2d 77 ual..-.compat-29:.Add.~funcall-w
15580 69 74 68 2d 64 65 6c 61 79 65 64 2d 6d 65 73 73 61 67 65 7e 20 61 6e 64 20 7e 77 69 74 68 2d 64 ith-delayed-message~.and.~with-d
155a0 65 6c 61 79 65 64 2d 6d 65 73 73 61 67 65 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 41 64 elayed-message~..-.compat-29:.Ad
155c0 64 20 7e 65 72 74 2d 77 69 74 68 2d 74 65 6d 70 2d 66 69 6c 65 7e 20 61 6e 64 20 7e 65 72 74 2d d.~ert-with-temp-file~.and.~ert-
155e0 77 69 74 68 2d 74 65 6d 70 2d 64 69 72 65 63 74 6f 72 79 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 with-temp-directory~..-.compat-2
15600 39 3a 20 41 64 64 20 7e 73 65 74 2d 74 72 61 6e 73 69 65 6e 74 2d 6d 61 70 7e 20 77 69 74 68 20 9:.Add.~set-transient-map~.with.
15620 6f 70 74 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 optional.arguments.MESSAGE.and.T
15640 49 4d 45 4f 55 54 2e 0a 0a 28 52 65 6c 65 61 73 65 20 3c 32 30 32 33 2d 30 32 2d 30 31 20 57 65 IMEOUT...(Release.<2023-02-01.We
15660 64 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 65 72 73 69 d>)..*.Release.of."Compat".Versi
15680 6f 6e 20 32 39 2e 31 2e 33 2e 31 0a 0a 2d 20 46 69 78 20 72 65 67 72 65 73 73 69 6f 6e 2c 20 77 on.29.1.3.1..-.Fix.regression,.w
156a0 68 69 63 68 20 70 72 65 76 65 6e 74 65 64 20 6c 6f 61 64 69 6e 67 20 43 6f 6d 70 61 74 20 69 6e hich.prevented.loading.Compat.in
156c0 20 69 6e 74 65 72 70 72 65 74 65 64 20 6d 6f 64 65 2e 20 57 65 20 65 6e 73 75 72 65 0a 20 20 74 .interpreted.mode..We.ensure...t
156e0 68 61 74 20 43 6f 6d 70 61 74 20 77 6f 72 6b 73 20 69 6e 74 65 72 70 72 65 74 65 64 20 61 6e 64 hat.Compat.works.interpreted.and
15700 20 62 79 74 65 20 63 6f 6d 70 69 6c 65 64 20 62 79 20 72 75 6e 6e 69 6e 67 20 74 68 65 20 65 6e .byte.compiled.by.running.the.en
15720 74 69 72 65 20 74 65 73 74 0a 20 20 73 75 69 74 65 20 74 77 69 63 65 20 69 6e 20 74 68 65 20 43 tire.test...suite.twice.in.the.C
15740 49 2e 20 53 65 65 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 6d 61 67 69 74 2f I..See.https://github.com/magit/
15760 6d 61 67 69 74 2f 69 73 73 75 65 73 2f 34 38 35 38 20 66 6f 72 20 74 68 65 0a 20 20 63 6f 72 72 magit/issues/4858.for.the...corr
15780 65 73 70 6f 6e 64 69 6e 67 20 4d 61 67 69 74 20 69 73 73 75 65 2e 0a 2d 20 63 6f 6d 70 61 74 2d esponding.Magit.issue..-.compat-
157a0 32 37 3a 20 41 64 64 20 7e 66 69 6c 65 2d 6e 61 6d 65 2d 75 6e 71 75 6f 74 65 7e 2e 0a 2d 20 63 27:.Add.~file-name-unquote~..-.c
157c0 6f 6d 70 61 74 2d 32 38 3a 20 41 64 64 20 7e 6d 61 72 6b 2d 74 68 69 6e 67 2d 61 74 2d 6d 6f 75 ompat-28:.Add.~mark-thing-at-mou
157e0 73 65 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 52 65 70 6c 61 63 65 20 7e 73 74 72 69 6e se~..-.compat-29:.Replace.~strin
15800 67 2d 6c 69 6e 65 73 7e 20 77 69 74 68 20 76 65 72 73 69 6f 6e 20 66 72 6f 6d 20 45 6d 61 63 73 g-lines~.with.version.from.Emacs
15820 20 32 39 2c 20 73 75 70 70 6f 72 74 20 6f 70 74 69 6f 6e 61 6c 0a 20 20 4b 45 45 50 2d 4e 45 57 .29,.support.optional...KEEP-NEW
15840 4c 49 4e 45 53 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 2d LINES.argument...(Release.<2023-
15860 30 31 2d 32 35 20 57 65 64 3e 29 0a 0a 2a 20 52 65 6c 65 61 73 65 20 6f 66 20 22 43 6f 6d 70 61 01-25.Wed>)..*.Release.of."Compa
15880 74 22 20 56 65 72 73 69 6f 6e 20 32 39 2e 31 2e 33 2e 30 0a 0a 2d 20 63 6f 6d 70 61 74 2d 32 35 t".Version.29.1.3.0..-.compat-25
158a0 3a 20 41 64 64 20 7e 68 61 73 68 2d 74 61 62 6c 65 2d 65 6d 70 74 79 2d 70 7e 2e 0a 2d 20 63 6f :.Add.~hash-table-empty-p~..-.co
158c0 6d 70 61 74 2d 32 35 3a 20 41 64 64 20 7e 6d 61 63 72 6f 65 78 70 2d 70 61 72 73 65 2d 62 6f 64 mpat-25:.Add.~macroexp-parse-bod
158e0 79 7e 20 61 6e 64 20 7e 6d 61 63 72 6f 65 78 70 2d 71 75 6f 74 65 7e 2e 0a 2d 20 63 6f 6d 70 61 y~.and.~macroexp-quote~..-.compa
15900 74 2d 32 35 3a 20 41 64 64 20 7e 72 65 67 69 6f 6e 2d 6e 6f 6e 63 6f 6e 74 69 67 75 6f 75 73 2d t-25:.Add.~region-noncontiguous-
15920 70 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 35 3a 20 41 64 64 20 7e 73 61 76 65 2d 6d 61 72 6b 2d p~..-.compat-25:.Add.~save-mark-
15940 61 6e 64 2d 65 78 63 75 72 73 69 6f 6e 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 36 3a 20 41 64 64 and-excursion~..-.compat-26:.Add
15960 20 7e 72 65 61 64 2d 61 6e 73 77 65 72 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 36 3a 20 41 64 64 .~read-answer~..-.compat-26:.Add
15980 20 7e 72 65 67 69 6f 6e 2d 62 6f 75 6e 64 73 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 37 3a 20 41 .~region-bounds~..-.compat-27:.A
159a0 64 64 20 7e 64 61 74 65 2d 6f 72 64 69 6e 61 6c 2d 74 6f 2d 74 69 6d 65 7e 2e 0a 2d 20 63 6f 6d dd.~date-ordinal-to-time~..-.com
159c0 70 61 74 2d 32 37 3a 20 41 64 64 20 7e 66 69 6c 65 2d 73 69 7a 65 2d 68 75 6d 61 6e 2d 72 65 61 pat-27:.Add.~file-size-human-rea
159e0 64 61 62 6c 65 2d 69 65 63 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 37 3a 20 41 64 64 20 7e 6d 61 dable-iec~..-.compat-27:.Add.~ma
15a00 6a 6f 72 2d 6d 6f 64 65 2d 73 75 73 70 65 6e 64 7e 20 61 6e 64 20 7e 6d 61 6a 6f 72 2d 6d 6f 64 jor-mode-suspend~.and.~major-mod
15a20 65 2d 72 65 73 74 6f 72 65 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 37 3a 20 41 64 64 20 7e 6d 61 e-restore~..-.compat-27:.Add.~ma
15a40 6b 65 2d 64 65 63 6f 64 65 64 2d 74 69 6d 65 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 37 3a 20 41 ke-decoded-time~..-.compat-27:.A
15a60 64 64 20 7e 6d 69 6e 69 62 75 66 66 65 72 2d 68 69 73 74 6f 72 79 2d 76 61 6c 75 65 7e 2e 0a 2d dd.~minibuffer-history-value~..-
15a80 20 63 6f 6d 70 61 74 2d 32 37 3a 20 41 64 64 20 7e 72 65 61 64 2d 63 68 61 72 2d 66 72 6f 6d 2d .compat-27:.Add.~read-char-from-
15aa0 6d 69 6e 69 62 75 66 66 65 72 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 37 3a 20 41 64 64 20 7e 72 minibuffer~..-.compat-27:.Add.~r
15ac0 69 6e 67 2d 72 65 73 69 7a 65 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 38 3a 20 41 64 64 20 7e 63 ing-resize~..-.compat-28:.Add.~c
15ae0 6f 6c 6f 72 2d 64 61 72 6b 2d 70 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 38 3a 20 41 64 64 20 7e olor-dark-p~..-.compat-28:.Add.~
15b00 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 7e 20 directory-files-and-attributes~.
15b20 77 69 74 68 20 43 4f 55 4e 54 20 61 72 67 75 6d 65 6e 74 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 38 with.COUNT.argument..-.compat-28
15b40 3a 20 41 64 64 20 7e 74 65 78 74 2d 71 75 6f 74 69 6e 67 2d 73 74 79 6c 65 7e 2e 0a 2d 20 63 6f :.Add.~text-quoting-style~..-.co
15b60 6d 70 61 74 2d 32 38 3a 20 41 64 64 20 7e 77 69 74 68 2d 77 69 6e 64 6f 77 2d 6e 6f 6e 2d 64 65 mpat-28:.Add.~with-window-non-de
15b80 64 69 63 61 74 65 64 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 7e 62 75 66 66 dicated~..-.compat-29:.Add.~buff
15ba0 65 72 2d 6c 6f 63 61 6c 2d 73 65 74 2d 73 74 61 74 65 7e 20 61 6e 64 20 7e 62 75 66 66 65 72 2d er-local-set-state~.and.~buffer-
15bc0 6c 6f 63 61 6c 2d 72 65 73 74 6f 72 65 2d 73 74 61 74 65 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 local-restore-state~..-.compat-2
15be0 39 3a 20 41 64 64 20 7e 63 6f 6d 70 69 6c 65 64 2d 66 75 6e 63 74 69 6f 6e 2d 70 7e 2e 0a 2d 20 9:.Add.~compiled-function-p~..-.
15c00 63 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 7e 63 6f 75 6e 74 2d 73 65 6e 74 65 6e 63 65 73 7e compat-29:.Add.~count-sentences~
15c20 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 7e 64 65 6c 65 74 65 2d 6c 69 6e 65 7e ..-.compat-29:.Add.~delete-line~
15c40 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 7e 67 65 74 2d 73 63 72 61 74 63 68 2d ..-.compat-29:.Add.~get-scratch-
15c60 62 75 66 66 65 72 2d 63 72 65 61 74 65 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 buffer-create~..-.compat-29:.Add
15c80 20 7e 6c 69 73 74 2d 6f 66 2d 73 74 72 69 6e 67 73 2d 70 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 .~list-of-strings-p~..-.compat-2
15ca0 39 3a 20 41 64 64 20 7e 70 6c 69 73 74 2d 67 65 74 7e 20 67 65 6e 65 72 61 6c 69 7a 65 64 20 76 9:.Add.~plist-get~.generalized.v
15cc0 61 72 69 61 62 6c 65 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 7e 70 6c 69 73 74 ariable..-.compat-29:.Add.~plist
15ce0 70 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 7e 72 65 61 64 2d 6d 75 6c 74 69 p~..-.compat-29:.Add.~read-multi
15d00 70 6c 65 2d 63 68 6f 69 63 65 7e 20 77 69 74 68 20 4c 4f 4e 47 2d 46 4f 52 4d 20 61 72 67 75 6d ple-choice~.with.LONG-FORM.argum
15d20 65 6e 74 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 7e 72 65 61 64 61 62 6c 65 70 ent..-.compat-29:.Add.~readablep
15d40 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 7e 73 75 62 73 74 69 74 75 74 65 2d ~..-.compat-29:.Add.~substitute-
15d60 71 75 6f 74 65 73 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 7e 75 73 65 2d 72 quotes~..-.compat-29:.Add.~use-r
15d80 65 67 69 6f 6e 2d 62 65 67 69 6e 6e 69 6e 67 7e 2c 20 7e 75 73 65 2d 72 65 67 69 6f 6e 2d 65 6e egion-beginning~,.~use-region-en
15da0 64 7e 20 61 6e 64 20 7e 75 73 65 2d 72 65 67 69 6f 6e 2d 6e 6f 6e 63 6f 6e 74 69 67 75 6f 75 73 d~.and.~use-region-noncontiguous
15dc0 2d 70 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 7e 77 69 74 68 2d 6e 61 72 72 -p~..-.compat-29:.Add.~with-narr
15de0 6f 77 69 6e 67 7e 2e 0a 0a 28 52 65 6c 65 61 73 65 20 3c 32 30 32 33 2d 30 31 2d 32 32 20 53 75 owing~...(Release.<2023-01-22.Su
15e00 6e 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 65 72 73 69 n>)..*.Release.of."Compat".Versi
15e20 6f 6e 20 32 39 2e 31 2e 32 2e 30 0a 0a 2d 20 41 6c 6c 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 on.29.1.2.0..-.All.compatibility
15e40 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 63 6f 76 65 72 65 64 20 62 79 20 74 65 73 74 73 21 .functions.are.covered.by.tests!
15e60 0a 2d 20 41 64 64 20 6c 69 6e 6b 73 20 66 72 6f 6d 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 .-.Add.links.from.compatibility.
15e80 64 65 66 69 6e 69 74 69 6f 6e 73 20 74 6f 20 74 65 73 74 73 2e 0a 2d 20 42 52 45 41 4b 49 4e 47 definitions.to.tests..-.BREAKING
15ea0 3a 20 44 72 6f 70 20 4a 53 4f 4e 20 70 61 72 73 69 6e 67 20 73 75 70 70 6f 72 74 20 28 6c 69 62 :.Drop.JSON.parsing.support.(lib
15ec0 6a 61 6e 73 73 6f 6e 20 41 50 49 2c 20 75 6e 75 73 65 64 20 64 6f 77 6e 73 74 72 65 61 6d 29 2e jansson.API,.unused.downstream).
15ee0 0a 2d 20 42 52 45 41 4b 49 4e 47 3a 20 44 72 6f 70 20 7e 6e 75 6c 6c 2d 64 65 76 69 63 65 7e 20 .-.BREAKING:.Drop.~null-device~.
15f00 28 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:
15f20 20 44 72 6f 70 20 7e 75 6e 6c 6f 63 6b 2d 62 75 66 66 65 72 7e 20 28 75 6e 75 73 65 64 20 64 6f .Drop.~unlock-buffer~.(unused.do
15f40 77 6e 73 74 72 65 61 6d 29 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 36 3a 20 41 64 64 20 7e 62 75 66 wnstream)..-.compat-26:.Add.~buf
15f60 66 65 72 2d 68 61 73 68 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 37 3a 20 41 64 64 20 7e 66 69 78 fer-hash~..-.compat-27:.Add.~fix
15f80 6e 75 6d 70 7e 20 61 6e 64 20 7e 62 69 67 6e 75 6d 70 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 37 nump~.and.~bignump~..-.compat-27
15fa0 3a 20 41 64 64 20 7e 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 :.Add.~with-minibuffer-selected-
15fc0 77 69 6e 64 6f 77 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 37 3a 20 41 64 64 20 67 65 6e 65 72 61 window~..-.compat-27:.Add.genera
15fe0 6c 69 7a 65 64 20 76 61 72 69 61 62 6c 65 73 20 66 6f 72 20 7e 64 65 63 6f 64 65 64 2d 74 69 6d lized.variables.for.~decoded-tim
16000 65 2d 2a 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 38 3a 20 41 64 64 20 7e 6d 61 63 72 6f 65 78 70 e-*~..-.compat-28:.Add.~macroexp
16020 2d 77 61 72 6e 2d 61 6e 64 2d 72 65 74 75 72 6e 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 38 3a 20 -warn-and-return~..-.compat-28:.
16040 41 64 64 20 7e 73 75 62 72 2d 6e 61 74 69 76 65 2d 65 6c 69 73 70 2d 70 7e 2e 0a 2d 20 63 6f 6d Add.~subr-native-elisp-p~..-.com
16060 70 61 74 2d 32 38 3a 20 41 64 64 20 7e 62 6f 75 6e 64 73 2d 6f 66 2d 74 68 69 6e 67 2d 61 74 2d pat-28:.Add.~bounds-of-thing-at-
16080 6d 6f 75 73 65 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 7e 77 69 74 68 2d 62 mouse~..-.compat-29:.Add.~with-b
160a0 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 6e 67 65 64 7e 2e 0a uffer-unmodified-if-unchanged~..
160c0 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 46 69 78 20 61 6e 64 20 74 65 73 74 20 7e 64 65 66 69 6e -.compat-29:.Fix.and.test.~defin
160e0 65 2d 6b 65 79 7e 20 77 69 74 68 20 52 45 4d 4f 56 45 20 61 72 67 75 6d 65 6e 74 2e 0a 0a 28 52 e-key~.with.REMOVE.argument...(R
16100 65 6c 65 61 73 65 20 3c 32 30 32 33 2d 30 31 2d 31 36 20 4d 6f 6e 3e 29 0a 0a 2a 20 52 65 6c 65 elease.<2023-01-16.Mon>)..*.Rele
16120 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 31 2e 31 ase.of."Compat".Version.29.1.1.1
16140 0a 0a 2d 20 41 64 64 20 74 65 73 74 73 2c 20 31 36 37 20 6f 75 74 20 6f 66 20 32 30 33 20 64 65 ..-.Add.tests,.167.out.of.203.de
16160 66 69 6e 69 74 69 6f 6e 73 20 74 65 73 74 65 64 20 28 38 32 25 29 2e 0a 2d 20 63 6f 6d 70 61 74 finitions.tested.(82%)..-.compat
16180 2d 32 35 3a 20 49 6d 70 72 6f 76 65 20 61 6c 67 6f 72 69 74 68 6d 69 63 20 63 6f 6d 70 6c 65 78 -25:.Improve.algorithmic.complex
161a0 69 74 79 20 6f 66 20 7e 73 6f 72 74 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 38 3a 20 41 64 64 20 ity.of.~sort~..-.compat-28:.Add.
161c0 7e 6d 61 6b 65 2d 73 65 70 61 72 61 74 6f 72 2d 6c 69 6e 65 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d ~make-separator-line~..-.compat-
161e0 32 39 3a 20 4d 69 6e 6f 72 20 66 69 78 65 73 20 74 6f 20 7e 6b 65 79 6d 61 70 2d 2a 7e 20 66 75 29:.Minor.fixes.to.~keymap-*~.fu
16200 6e 63 74 69 6f 6e 73 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 7e 77 69 74 68 2d nctions..-.compat-29:.Add.~with-
16220 6d 65 6d 6f 69 7a 61 74 69 6f 6e 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 7e memoization~..-.compat-29:.Add.~
16240 62 75 74 74 6f 6e 69 7a 65 7e 20 61 6e 64 20 7e 62 75 74 74 6f 6e 69 7a 65 2d 72 65 67 69 6f 6e buttonize~.and.~buttonize-region
16260 7e 2e 0a 0a 28 52 65 6c 65 61 73 65 20 3c 32 30 32 33 2d 30 31 2d 31 34 20 53 61 74 3e 29 0a 0a ~...(Release.<2023-01-14.Sat>)..
16280 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 39 *.Release.of."Compat".Version.29
162a0 2e 31 2e 31 2e 30 0a 0a 2d 20 54 68 65 20 6d 61 63 72 6f 73 20 69 6e 20 7e 63 6f 6d 70 61 74 2d .1.1.0..-.The.macros.in.~compat-
162c0 6d 61 63 73 2e 65 6c 7e 20 68 61 76 65 20 62 65 65 6e 20 72 65 77 72 69 74 74 65 6e 20 61 6e 64 macs.el~.have.been.rewritten.and
162e0 20 73 69 6d 70 6c 69 66 69 65 64 2e 20 54 68 65 0a 20 20 72 65 66 61 63 74 6f 72 69 6e 67 20 61 .simplified..The...refactoring.a
16300 6c 6c 6f 77 73 20 74 6f 20 66 75 72 74 68 65 72 20 72 65 66 69 6e 65 20 74 68 65 20 63 72 69 74 llows.to.further.refine.the.crit
16320 65 72 69 61 20 75 6e 64 65 72 20 77 68 69 63 68 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 0a 20 eria.under.which.compatibility..
16340 20 61 6c 69 61 73 65 73 2c 20 66 75 6e 63 74 69 6f 6e 73 2c 20 6d 61 63 72 6f 73 20 61 6e 64 20 .aliases,.functions,.macros.and.
16360 76 61 72 69 61 62 6c 65 73 20 61 72 65 20 69 6e 73 74 61 6c 6c 65 64 2e 0a 2d 20 52 65 6d 6f 76 variables.are.installed..-.Remov
16380 65 20 64 65 70 72 65 63 61 74 65 64 2c 20 70 72 65 66 69 78 65 64 20 63 6f 6d 70 61 74 69 62 69 e.deprecated,.prefixed.compatibi
163a0 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 2d 20 52 65 6d 6f 76 65 20 64 65 70 72 65 63 61 lity.functions..-.Remove.depreca
163c0 74 65 64 20 66 65 61 74 75 72 65 73 20 7e 63 6f 6d 70 61 74 2d 68 65 6c 70 7e 2c 20 7e 63 6f 6d ted.features.~compat-help~,.~com
163e0 70 61 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 7e 20 61 6e 64 20 7e 63 6f 6d 70 61 74 2d 32 34 7e 2e 0a pat-font-lock~.and.~compat-24~..
16400 2d 20 43 6f 6d 70 61 74 20 75 73 65 73 20 72 75 6e 74 69 6d 65 20 63 68 65 63 6b 73 20 28 7e 62 -.Compat.uses.runtime.checks.(~b
16420 6f 75 6e 64 70 7e 2c 20 7e 66 62 6f 75 6e 64 70 7e 29 20 74 6f 20 65 6e 73 75 72 65 20 74 68 61 oundp~,.~fboundp~).to.ensure.tha
16440 74 20 65 78 69 73 74 69 6e 67 0a 20 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 61 72 65 20 6e 65 76 t.existing...definitions.are.nev
16460 65 72 20 6f 76 65 72 72 69 64 64 65 6e 2c 20 77 68 65 6e 20 43 6f 6d 70 61 74 20 69 73 20 6c 6f er.overridden,.when.Compat.is.lo
16480 61 64 65 64 20 6f 6e 20 61 20 6e 65 77 65 72 20 45 6d 61 63 73 20 74 68 61 6e 0a 20 20 69 74 20 aded.on.a.newer.Emacs.than...it.
164a0 77 61 73 20 63 6f 6d 70 69 6c 65 64 20 6f 6e 2e 0a 2d 20 43 6f 6d 70 61 74 20 63 6f 6d 70 69 6c was.compiled.on..-.Compat.compil
164c0 65 73 20 77 69 74 68 6f 75 74 20 62 79 74 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 77 61 72 6e es.without.byte.compilation.warn
164e0 69 6e 67 73 20 6f 6e 20 61 6c 6c 20 73 75 70 70 6f 72 74 65 64 20 45 6d 61 63 73 0a 20 20 76 65 ings.on.all.supported.Emacs...ve
16500 72 73 69 6f 6e 73 2e 20 57 61 72 6e 69 6e 67 73 20 61 72 65 20 74 72 65 61 74 65 64 20 61 73 20 rsions..Warnings.are.treated.as.
16520 65 72 72 6f 72 73 20 69 6e 20 74 68 65 20 74 65 73 74 20 73 75 69 74 65 2e 0a 2d 20 43 6f 6d 70 errors.in.the.test.suite..-.Comp
16540 61 74 20 74 61 6b 65 73 20 67 72 65 61 74 20 63 61 72 65 20 74 6f 20 72 65 6d 6f 76 65 20 75 6e at.takes.great.care.to.remove.un
16560 6e 65 65 64 65 64 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 needed.definitions.at.compile.ti
16580 6d 65 2e 20 4f 6e 0a 20 20 72 65 63 65 6e 74 20 45 6d 61 63 73 20 32 39 20 74 68 65 20 62 79 74 me..On...recent.Emacs.29.the.byt
165a0 65 20 63 6f 6d 70 69 6c 65 64 20 66 69 6c 65 73 20 61 72 65 20 65 6d 70 74 79 20 61 6e 64 20 6e e.compiled.files.are.empty.and.n
165c0 6f 74 20 6c 6f 61 64 65 64 2c 20 73 75 63 68 20 74 68 61 74 0a 20 20 43 6f 6d 70 61 74 20 64 6f ot.loaded,.such.that...Compat.do
165e0 65 73 20 6e 6f 74 20 61 6e 79 20 63 6f 73 74 20 74 6f 20 74 68 65 20 45 6d 61 63 73 20 70 72 6f es.not.any.cost.to.the.Emacs.pro
16600 63 65 73 73 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 36 3a 20 46 69 78 20 61 6e 64 20 74 65 73 74 20 cess..-.compat-26:.Fix.and.test.
16620 7e 69 6d 61 67 65 2d 70 72 6f 70 65 72 74 79 7e 20 73 65 74 74 65 72 2e 0a 2d 20 63 6f 6d 70 61 ~image-property~.setter..-.compa
16640 74 2d 32 36 3a 20 46 69 78 20 61 6e 64 20 74 65 73 74 20 7e 72 65 61 64 2d 6d 75 6c 74 69 70 6c t-26:.Fix.and.test.~read-multipl
16660 65 2d 63 68 6f 69 63 65 7e 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 38 3a 20 46 69 78 20 61 6e 64 20 e-choice~..-.compat-28:.Fix.and.
16680 74 65 73 74 20 7e 77 69 74 68 2d 65 78 69 73 74 69 6e 67 2d 64 69 72 65 63 74 6f 72 79 7e 2e 0a test.~with-existing-directory~..
166a0 2d 20 63 6f 6d 70 61 74 2d 32 38 3a 20 44 72 6f 70 20 6f 62 73 6f 6c 65 74 65 20 66 75 6e 63 74 -.compat-28:.Drop.obsolete.funct
166c0 69 6f 6e 20 7e 6d 61 6b 65 2d 64 69 72 65 63 74 6f 72 79 2d 61 75 74 6f 6c 6f 61 64 73 7e 2e 0a ion.~make-directory-autoloads~..
166e0 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 66 75 6e 63 74 69 6f -.compat-29:.Drop.broken.functio
16700 6e 73 20 7e 73 74 72 69 6e 67 2d 70 69 78 65 6c 2d 77 69 64 74 68 7e 20 61 6e 64 0a 20 20 7e 62 ns.~string-pixel-width~.and...~b
16720 75 66 66 65 72 2d 74 65 78 74 2d 70 69 78 65 6c 2d 73 69 7a 65 7e 2e 20 54 68 65 73 65 20 66 75 uffer-text-pixel-size~..These.fu
16740 6e 63 74 69 6f 6e 73 20 68 61 64 20 70 6f 6f 72 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 77 68 69 nctions.had.poor.performance.whi
16760 63 68 20 6c 65 61 64 20 74 6f 20 61 0a 20 20 64 6f 77 6e 73 74 72 65 61 6d 20 69 73 73 75 65 20 ch.lead.to.a...downstream.issue.
16780 69 6e 20 74 68 65 20 64 6f 6f 6d 2d 6d 6f 64 65 6c 69 6e 65 20 70 61 63 6b 61 67 65 2e 20 49 66 in.the.doom-modeline.package..If
167a0 20 61 20 6d 6f 72 65 20 65 66 66 69 63 69 65 6e 74 20 73 6f 6c 75 74 69 6f 6e 20 69 73 0a 20 20 .a.more.efficient.solution.is...
167c0 70 6f 73 73 69 62 6c 65 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 62 65 20 61 possible,.the.function.will.be.a
167e0 64 64 65 64 20 62 61 63 6b 2e 20 53 65 65 20 5b 5b 63 6f 6d 70 61 74 2d 67 68 3a 38 5d 5d 20 66 dded.back..See.[[compat-gh:8]].f
16800 6f 72 20 74 68 65 20 62 75 67 20 72 65 70 6f 72 74 2e 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 or.the.bug.report..-.compat-29:.
16820 44 72 6f 70 20 62 72 6f 6b 65 6e 20 66 75 6e 63 74 69 6f 6e 20 7e 73 74 72 69 6e 67 2d 6c 69 6d Drop.broken.function.~string-lim
16840 69 74 7e 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 6d 61 it~..-.compat-29:.Drop.broken.ma
16860 63 72 6f 20 7e 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 cro.~with-buffer-unmodified-if-u
16880 6e 63 68 61 6e 67 65 64 7e 2c 20 77 68 69 63 68 20 72 65 6c 69 65 64 0a 20 20 6f 6e 20 7e 62 75 nchanged~,.which.relied...on.~bu
168a0 66 66 65 72 2d 68 61 73 68 7e 20 77 68 69 63 68 20 64 6f 65 73 20 6e 6f 74 20 65 78 69 73 74 20 ffer-hash~.which.does.not.exist.
168c0 6f 6e 20 61 6c 6c 20 73 75 70 70 6f 72 74 65 64 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 73 2e on.all.supported.Emacs.versions.
168e0 0a 2d 20 63 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 7e 70 6f 73 2d 62 6f 6c 7e 20 61 6e 64 20 .-.compat-29:.Add.~pos-bol~.and.
16900 7e 70 6f 73 2d 65 6f 6c 7e 2e 0a 0a 28 52 65 6c 65 61 73 65 20 3c 32 30 32 33 2d 30 31 2d 30 37 ~pos-eol~...(Release.<2023-01-07
16920 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 65 .Sat>)..*.Release.of."Compat".Ve
16940 72 73 69 6f 6e 20 32 39 2e 31 2e 30 2e 31 0a 0a 2d 20 41 64 64 20 6d 75 6c 74 69 70 6c 65 20 6e rsion.29.1.0.1..-.Add.multiple.n
16960 65 77 20 74 65 73 74 73 20 66 6f 72 20 65 78 69 73 74 69 6e 67 20 41 50 49 73 2e 0a 2d 20 46 69 ew.tests.for.existing.APIs..-.Fi
16980 78 20 62 75 67 73 20 69 6e 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e x.bugs.in.compatibility.function
169a0 73 3a 20 7e 73 65 74 71 2d 6c 6f 63 61 6c 7e 2c 20 7e 70 72 6f 70 65 72 2d 6c 69 73 74 2d 70 2c s:.~setq-local~,.~proper-list-p,
169c0 20 70 72 6f 70 2d 6d 61 74 63 68 2d 70 7e 2c 0a 20 20 7e 66 69 6c 65 2d 6e 61 6d 65 2d 63 6f 6e .prop-match-p~,...~file-name-con
169e0 63 61 74 7e 2c 20 7e 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 72 65 67 69 6f 6e 7e cat~,.~replace-regexp-in-region~
16a00 2c 20 7e 72 65 70 6c 61 63 65 2d 73 74 72 69 6e 67 2d 69 6e 2d 72 65 67 69 6f 6e 7e 2e 0a 2d 20 ,.~replace-string-in-region~..-.
16a20 41 64 64 20 6e 65 77 20 45 6d 61 63 73 20 32 39 20 41 50 49 73 2e 20 53 6f 6d 65 20 6f 66 20 74 Add.new.Emacs.29.APIs..Some.of.t
16a40 68 65 6d 20 61 72 65 20 73 74 69 6c 6c 20 75 6e 74 65 73 74 65 64 20 61 6e 64 20 6d 61 79 20 63 hem.are.still.untested.and.may.c
16a60 68 61 6e 67 65 2e 20 49 66 20 79 6f 75 0a 20 20 69 6e 74 65 6e 64 20 74 6f 20 75 73 65 20 61 6e hange..If.you...intend.to.use.an
16a80 20 45 6d 61 63 73 20 32 39 20 41 50 49 20 70 6c 65 61 73 65 20 62 65 20 63 61 72 65 66 75 6c 20 .Emacs.29.API.please.be.careful.
16aa0 61 6e 64 20 69 66 20 70 6f 73 73 69 62 6c 65 20 63 6f 6e 74 72 69 62 75 74 65 0a 20 20 74 65 73 and.if.possible.contribute...tes
16ac0 74 20 63 61 73 65 73 2e 20 41 6c 6c 20 75 6e 74 65 73 74 65 64 20 66 75 6e 63 74 69 6f 6e 73 20 t.cases..All.untested.functions.
16ae0 61 72 65 20 6d 61 72 6b 65 64 20 69 6e 20 74 68 65 20 43 6f 6d 70 61 74 20 63 6f 64 65 2e 20 4f are.marked.in.the.Compat.code..O
16b00 76 65 72 20 74 69 6d 65 0a 20 20 74 65 73 74 73 20 66 6f 72 20 61 6c 6c 20 66 75 6e 63 74 69 6f ver.time...tests.for.all.functio
16b20 6e 73 20 77 69 6c 6c 20 62 65 20 61 64 64 65 64 20 67 72 61 64 75 61 6c 6c 79 2e 0a 2d 20 41 64 ns.will.be.added.gradually..-.Ad
16b40 64 20 74 68 65 20 6d 61 63 72 6f 73 20 7e 63 6f 6d 70 61 74 2d 63 61 6c 6c 7e 20 61 6e 64 20 7e d.the.macros.~compat-call~.and.~
16b60 63 6f 6d 70 61 74 2d 66 75 6e 63 74 69 6f 6e 7e 20 74 6f 20 63 61 6c 6c 20 63 6f 6d 70 61 74 69 compat-function~.to.call.compati
16b80 62 69 6c 69 74 79 0a 20 20 66 75 6e 63 74 69 6f 6e 73 2e 20 53 69 6e 63 65 20 43 6f 6d 70 61 74 bility...functions..Since.Compat
16ba0 20 61 76 6f 69 64 73 20 6f 76 65 72 77 72 69 74 69 6e 67 20 61 6c 72 65 61 64 79 20 65 78 69 73 .avoids.overwriting.already.exis
16bc0 74 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 2c 20 77 65 20 6d 75 73 74 0a 20 20 64 65 66 69 6e 65 ting.functions,.we.must...define
16be0 20 73 65 70 61 72 61 74 65 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e .separate.compatibility.function
16c00 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 66 6f 72 20 66 75 6e 63 74 69 6f 6e 73 20 77 68 69 63 68 .definitions.for.functions.which
16c20 20 63 68 61 6e 67 65 64 0a 20 20 74 68 65 69 72 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 .changed...their.calling.convent
16c40 69 6f 6e 20 6f 72 20 62 65 68 61 76 69 6f 72 2e 20 54 68 65 73 65 20 63 6f 6d 70 61 74 69 62 69 ion.or.behavior..These.compatibi
16c60 6c 69 74 79 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 63 61 6e 20 62 65 0a 20 20 6c 6f 6f 6b 65 64 lity.definitions.can.be...looked
16c80 20 75 70 20 75 73 69 6e 67 20 7e 63 6f 6d 70 61 74 2d 66 75 6e 63 74 69 6f 6e 7e 20 61 6e 64 20 .up.using.~compat-function~.and.
16ca0 63 61 6c 6c 65 64 20 77 69 74 68 20 7e 63 6f 6d 70 61 74 2d 63 61 6c 6c 7e 2e 20 46 6f 72 20 65 called.with.~compat-call~..For.e
16cc0 78 61 6d 70 6c 65 20 7e 61 73 73 6f 63 7e 0a 20 20 63 61 6e 20 62 65 20 63 61 6c 6c 65 64 20 77 xample.~assoc~...can.be.called.w
16ce0 69 74 68 20 61 20 7e 54 45 53 54 46 4e 7e 20 73 69 6e 63 65 20 45 6d 61 63 73 20 32 36 2e 20 49 ith.a.~TESTFN~.since.Emacs.26..I
16d00 6e 20 45 6d 61 63 73 20 32 35 20 61 6e 64 20 6f 6c 64 65 72 20 74 68 65 20 63 61 6c 6c 69 6e 67 n.Emacs.25.and.older.the.calling
16d20 0a 20 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 77 61 73 20 7e 28 61 73 73 6f 63 20 4b 45 59 20 41 4c ...convention.was.~(assoc.KEY.AL
16d40 49 53 54 29 7e 2e 20 49 6e 20 6f 72 64 65 72 20 74 6f 20 75 73 65 20 74 68 65 20 6e 65 77 20 63 IST)~..In.order.to.use.the.new.c
16d60 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 0a 20 20 79 6f 75 20 63 61 6e 20 75 73 65 20 alling.convention...you.can.use.
16d80 7e 28 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 61 73 73 6f 63 20 4b 45 59 20 41 4c 49 53 54 20 54 45 ~(compat-call.assoc.KEY.ALIST.TE
16da0 53 54 46 4e 29 7e 2e 0a 2d 20 44 65 70 72 65 63 61 74 65 20 61 6c 6c 20 7e 63 6f 6d 70 61 74 2d STFN)~..-.Deprecate.all.~compat-
16dc0 2a 7e 20 70 72 65 66 69 78 65 64 20 66 75 6e 63 74 69 6f 6e 73 2e 20 49 6e 73 74 65 61 64 20 75 *~.prefixed.functions..Instead.u
16de0 73 65 20 74 68 65 20 61 66 6f 72 65 6d 65 6e 74 69 6f 6e 65 64 0a 20 20 7e 63 6f 6d 70 61 74 2d se.the.aforementioned...~compat-
16e00 63 61 6c 6c 7e 20 6f 72 20 7e 63 6f 6d 70 61 74 2d 66 75 6e 63 74 69 6f 6e 7e 20 6d 61 63 72 6f call~.or.~compat-function~.macro
16e20 73 2e 0a 2d 20 44 65 70 72 65 63 61 74 65 20 7e 63 6f 6d 70 61 74 2d 68 65 6c 70 2e 65 6c 7e 20 s..-.Deprecate.~compat-help.el~.
16e40 61 6e 64 20 7e 63 6f 6d 70 61 74 2d 66 6f 6e 74 2d 6c 6f 63 6b 2e 65 6c 2e 7e 0a 2d 20 44 65 76 and.~compat-font-lock.el.~.-.Dev
16e60 65 6c 6f 70 6d 65 6e 74 20 6d 6f 76 65 64 20 74 6f 20 47 69 74 48 75 62 2e 0a 2d 20 42 52 45 41 elopment.moved.to.GitHub..-.BREA
16e80 4b 49 4e 47 3a 20 44 72 6f 70 20 62 72 6f 6b 65 6e 20 66 75 6e 63 74 69 6f 6e 20 7e 66 75 6e 63 KING:.Drop.broken.function.~func
16ea0 2d 61 72 69 74 79 7e 2e 20 55 73 69 6e 67 20 7e 66 75 6e 63 2d 61 72 69 74 79 7e 20 69 73 20 67 -arity~..Using.~func-arity~.is.g
16ec0 65 6e 65 72 61 6c 6c 79 0a 20 20 64 69 73 63 6f 75 72 61 67 65 64 20 61 6e 64 20 74 68 65 20 66 enerally...discouraged.and.the.f
16ee0 75 6e 63 74 69 6f 6e 20 69 73 20 68 61 72 64 20 74 6f 20 69 6d 70 6c 65 6d 65 6e 74 20 70 72 6f unction.is.hard.to.implement.pro
16f00 70 65 72 6c 79 20 64 75 65 20 74 6f 20 61 6c 6c 20 74 68 65 0a 20 20 76 61 72 69 6f 75 73 20 66 perly.due.to.all.the...various.f
16f20 75 6e 63 74 69 6f 6e 20 74 79 70 65 73 2e 20 54 68 65 72 65 20 69 74 20 69 73 20 75 6e 6c 69 6b unction.types..There.it.is.unlik
16f40 65 6c 79 20 74 68 61 74 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 67 65 74 0a 20 ely.that.the.function.will.get..
16f60 20 72 65 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 43 6f 6d 70 61 74 2e 0a 2d 20 42 52 45 41 4b .reintroduced.in.Compat..-.BREAK
16f80 49 4e 47 3a 20 44 72 6f 70 20 62 72 6f 6b 65 6e 20 66 75 6e 63 74 69 6f 6e 20 7e 64 69 72 65 63 ING:.Drop.broken.function.~direc
16fa0 74 6f 72 79 2d 66 69 6c 65 73 2d 72 65 63 75 72 73 69 76 65 6c 79 7e 2e 20 49 6e 20 63 61 73 65 tory-files-recursively~..In.case
16fc0 20 79 6f 75 20 6e 65 65 64 0a 20 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 2c 20 61 20 70 61 74 .you.need...this.function,.a.pat
16fe0 63 68 20 69 6e 63 6c 75 64 69 6e 67 20 74 65 73 74 73 20 69 73 20 77 65 6c 63 6f 6d 65 2e 0a 2d ch.including.tests.is.welcome..-
17000 20 42 52 45 41 4b 49 4e 47 3a 20 44 72 6f 70 20 73 75 70 70 6f 72 74 20 66 6f 72 20 45 6d 61 63 .BREAKING:.Drop.support.for.Emac
17020 73 20 32 34 2e 33 2e 20 45 6d 61 63 73 20 32 34 2e 34 20 69 73 20 72 65 71 75 69 72 65 64 20 6e s.24.3..Emacs.24.4.is.required.n
17040 6f 77 2e 20 49 6e 20 63 61 73 65 20 79 6f 75 0a 20 20 73 74 69 6c 6c 20 6e 65 65 64 20 45 6d 61 ow..In.case.you...still.need.Ema
17060 63 73 20 32 34 2e 33 20 73 75 70 70 6f 72 74 2c 20 79 6f 75 20 63 61 6e 20 72 65 6c 79 20 6f 6e cs.24.3.support,.you.can.rely.on
17080 20 43 6f 6d 70 61 74 20 32 38 2e 31 2e 32 2e 32 2e 0a 0a 28 52 65 6c 65 61 73 65 20 3c 32 30 32 .Compat.28.1.2.2...(Release.<202
170a0 33 2d 30 31 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 43 6f 6d 3-01-05.Thu>)..*.Release.of."Com
170c0 70 61 74 22 20 56 65 72 73 69 6f 6e 20 32 38 2e 31 2e 32 2e 32 0a 0a 54 68 69 73 20 69 73 20 61 pat".Version.28.1.2.2..This.is.a
170e0 20 6d 69 6e 6f 72 20 72 65 6c 65 61 73 65 20 74 68 61 74 20 68 6f 70 65 73 20 74 6f 20 61 64 64 .minor.release.that.hopes.to.add
17100 72 65 73 73 20 5b 5b 63 6f 6d 70 61 74 2d 73 72 68 74 3a 37 5d 5d 2e 0a 0a 28 52 65 6c 65 61 73 ress.[[compat-srht:7]]...(Releas
17120 65 20 3c 32 30 32 32 2d 30 38 2d 32 35 20 54 68 75 3e 29 0a 0a 2a 20 52 65 6c 65 61 73 65 20 6f e.<2022-08-25.Thu>)..*.Release.o
17140 66 20 22 43 6f 6d 70 61 74 22 20 56 65 72 73 69 6f 6e 20 32 38 2e 31 2e 32 2e 31 0a 0a 54 68 69 f."Compat".Version.28.1.2.1..Thi
17160 73 20 69 73 20 61 20 6d 69 6e 6f 72 20 72 65 6c 65 61 73 65 20 61 64 64 69 6e 67 20 74 68 65 20 s.is.a.minor.release.adding.the.
17180 66 6f 6c 6c 6f 77 69 6e 67 20 63 68 61 6e 67 65 73 3a 0a 0a 2d 20 41 64 64 20 3d 64 65 72 69 76 following.changes:..-.Add.=deriv
171a0 65 64 2d 6d 6f 64 65 2d 70 3d 20 64 65 66 69 6e 65 64 20 69 6e 20 45 6d 61 63 73 20 32 37 0a 2d ed-mode-p=.defined.in.Emacs.27.-
171c0 20 41 64 64 20 3d 70 72 6f 76 69 64 65 64 2d 6d 6f 64 65 2d 64 65 72 69 76 65 64 2d 70 3d 20 64 .Add.=provided-mode-derived-p=.d
171e0 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 72 65 61 64 2d 6d efined.in.Emacs.27.-.Add.=read-m
17200 75 6c 74 69 70 6c 65 2d 63 68 6f 69 63 65 3d 20 64 65 66 69 6e 65 64 20 69 6e 20 45 6d 61 63 73 ultiple-choice=.defined.in.Emacs
17220 20 32 36 0a 2d 20 41 64 64 20 3d 66 69 6c 65 2d 6e 61 6d 65 2d 61 62 73 6f 6c 75 74 65 2d 70 3d .26.-.Add.=file-name-absolute-p=
17240 20 64 65 66 69 6e 65 64 20 69 6e 20 45 6d 61 63 73 20 32 38 0a 0a 54 68 65 20 6f 6e 6c 79 20 6f .defined.in.Emacs.28..The.only.o
17260 74 68 65 72 20 6e 6f 74 61 62 6c 65 20 63 68 61 6e 67 65 20 69 73 20 74 68 61 74 20 74 68 65 20 ther.notable.change.is.that.the.
17280 6d 61 6e 75 61 6c 20 68 61 73 20 62 65 65 6e 20 72 65 77 72 69 74 74 65 6e 20 74 6f 0a 69 6e 63 manual.has.been.rewritten.to.inc
172a0 6c 75 64 65 20 6d 75 63 68 20 6d 6f 72 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 74 68 61 lude.much.more.documentation.tha
172c0 74 20 68 61 64 20 62 65 65 6e 20 74 68 65 20 63 61 73 65 20 70 72 65 76 69 6f 75 73 6c 79 2e 0a t.had.been.the.case.previously..
172e0 0a 28 52 65 6c 65 61 73 65 20 3c 32 30 32 32 2d 30 38 2d 32 34 20 57 65 64 3e 29 0a 0a 2a 20 52 .(Release.<2022-08-24.Wed>)..*.R
17300 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 38 2e 31 2e elease.of."Compat".Version.28.1.
17320 32 2e 30 0a 0a 54 68 65 20 6d 61 69 6e 20 63 68 61 6e 67 65 20 6f 66 20 74 68 69 73 20 72 65 6c 2.0..The.main.change.of.this.rel
17340 65 61 73 65 20 68 61 73 20 62 65 65 6e 20 74 68 65 20 6d 61 6a 6f 72 20 73 69 6d 70 6c 69 66 69 ease.has.been.the.major.simplifi
17360 63 61 74 69 6f 6e 20 6f 66 0a 43 6f 6d 70 61 74 27 73 20 69 6e 69 74 69 61 6c 69 73 61 74 69 6f cation.of.Compat's.initialisatio
17380 6e 20 73 79 73 74 65 6d 2c 20 69 6d 70 72 6f 76 69 6e 67 20 74 68 65 20 73 69 74 75 61 74 69 6f n.system,.improving.the.situatio
173a0 6e 20 61 72 6f 75 6e 64 20 69 73 73 75 65 73 0a 70 65 6f 70 6c 65 20 68 61 64 20 62 65 65 6e 20 n.around.issues.people.had.been.
173c0 72 65 70 6f 72 74 69 6e 67 20 28 5b 5b 63 6f 6d 70 61 74 2d 73 72 68 74 3a 34 5d 5d 2c 20 6f 6e reporting.([[compat-srht:4]],.on
173e0 63 65 20 61 67 61 69 6e 29 20 77 69 74 68 20 75 6e 63 6f 6e 76 65 6e 74 69 6f 6e 61 6c 0a 6f 72 ce.again).with.unconventional.or
17400 20 75 6e 70 6f 70 75 6c 61 72 20 70 61 63 6b 61 67 69 6e 67 20 73 79 73 74 65 6d 73 2e 0a 0a 49 .unpopular.packaging.systems...I
17420 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 20 74 68 69 73 2c 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e n.addition.to.this,.the.followin
17440 67 20 66 75 6e 63 74 69 6f 6e 61 6c 20 63 68 61 6e 67 65 73 20 68 61 76 65 20 62 65 65 6e 20 6d g.functional.changes.have.been.m
17460 61 64 65 3a 0a 0a 2d 20 46 69 78 20 3d 66 6f 72 6d 61 74 2d 70 72 6f 6d 70 74 3d 20 6f 66 20 61 ade:..-.Fix.=format-prompt=.of.a
17480 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 20 61 73 20 22 64 65 66 61 75 6c 74 22 20 61 72 67 75 n.empty.string.as."default".argu
174a0 6d 65 6e 74 0a 2d 20 41 64 64 20 3d 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 70 65 72 69 6f 64 3d ment.-.Add.=decoded-time-period=
174c0 20 64 65 66 69 6e 65 64 20 69 6e 20 45 6d 61 63 73 20 32 38 0a 2d 20 41 64 64 20 3d 73 75 62 72 .defined.in.Emacs.28.-.Add.=subr
174e0 2d 70 72 69 6d 69 74 69 76 65 2d 70 3d 20 64 65 66 69 6e 65 64 20 69 6e 20 45 6d 61 63 73 20 32 -primitive-p=.defined.in.Emacs.2
17500 38 0a 0a 4d 69 6e 6f 72 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 20 74 6f 20 6d 61 6e 75 61 6c 20 8..Minor.improvements.to.manual.
17520 61 72 65 20 61 6c 73 6f 20 70 61 72 74 20 6f 66 20 74 68 69 73 20 72 65 6c 65 61 73 65 2e 0a 0a are.also.part.of.this.release...
17540 28 52 65 6c 65 61 73 65 20 3c 32 30 32 32 2d 30 37 2d 31 38 20 4d 6f 6e 3e 29 0a 0a 2a 20 52 65 (Release.<2022-07-18.Mon>)..*.Re
17560 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 38 2e 31 2e 31 lease.of."Compat".Version.28.1.1
17580 2e 33 0a 0a 54 68 69 73 20 72 65 6c 65 61 73 65 20 6a 75 73 74 20 63 6f 6e 74 61 69 6e 73 20 61 .3..This.release.just.contains.a
175a0 20 68 6f 74 2d 66 69 78 20 66 6f 72 20 61 6e 20 69 73 73 75 65 20 69 6e 74 72 6f 64 75 63 65 64 .hot-fix.for.an.issue.introduced
175c0 20 69 6e 20 74 68 65 0a 6c 61 73 74 20 76 65 72 73 69 6f 6e 2c 20 77 68 65 72 65 20 63 6f 6d 70 .in.the.last.version,.where.comp
175e0 61 74 2e 65 6c 20 72 61 69 73 65 73 20 61 6e 20 65 72 72 6f 72 20 64 75 72 69 6e 67 20 62 79 74 at.el.raises.an.error.during.byt
17600 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2e 0a 53 65 65 20 5b 5b 63 6f 6d 70 61 74 2d 73 72 68 74 e.compilation..See.[[compat-srht
17620 3a 34 5d 5d 2e 0a 0a 28 52 65 6c 65 61 73 65 20 3c 32 30 32 32 2d 30 36 2d 31 39 20 53 75 6e 3e :4]]...(Release.<2022-06-19.Sun>
17640 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
17660 20 32 38 2e 31 2e 31 2e 32 0a 0a 54 77 6f 20 6d 61 69 6e 20 63 68 61 6e 67 65 73 20 68 61 76 65 .28.1.1.2..Two.main.changes.have
17680 20 6e 65 63 65 73 73 69 74 61 74 65 64 20 61 20 6e 65 77 20 70 61 74 63 68 20 72 65 6c 65 61 73 .necessitated.a.new.patch.releas
176a0 65 3a 0a 0a 31 2e 20 46 69 78 20 69 73 73 75 65 73 20 72 65 6c 61 74 65 64 20 74 6f 20 74 68 65 e:..1..Fix.issues.related.to.the
176c0 20 6c 6f 61 64 69 6e 67 20 6f 66 20 63 6f 6d 70 61 74 20 77 68 65 6e 20 75 6e 63 6f 6d 70 69 6c .loading.of.compat.when.uncompil
176e0 65 64 2e 20 20 53 65 65 0a 20 20 20 5b 5b 68 74 74 70 73 3a 2f 2f 6c 69 73 74 73 2e 73 72 2e 68 ed...See....[[https://lists.sr.h
17700 74 2f 7e 70 6b 61 6c 2f 63 6f 6d 70 61 74 2d 64 65 76 65 6c 2f 25 33 43 32 30 32 32 30 35 33 30 t/~pkal/compat-devel/%3C20220530
17720 31 39 31 30 30 30 2e 32 31 38 33 30 34 37 2d 31 2d 6a 6f 6e 61 73 25 34 30 62 65 72 6e 6f 75 6c 191000.2183047-1-jonas%40bernoul
17740 2e 6c 69 25 33 45 5d 5b 74 68 69 73 20 74 68 72 65 61 64 5d 5d 20 66 6f 72 20 6d 6f 72 65 20 64 .li%3E][this.thread]].for.more.d
17760 65 74 61 69 6c 73 20 6f 6e 20 74 68 65 20 70 72 6f 62 6c 65 6d 2e 0a 32 2e 20 46 69 78 20 69 73 etails.on.the.problem..2..Fix.is
17780 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 63 sues.related.to.the.loading.of.c
177a0 6f 6d 70 61 74 20 6f 6e 20 6f 6c 64 20 70 72 65 2d 72 65 6c 65 61 73 65 73 0a 20 20 20 28 74 68 ompat.on.old.pre-releases....(th
177c0 69 6e 6b 20 6f 66 20 32 38 2e 30 2e 35 30 29 2e 20 53 65 65 20 5b 5b 68 74 74 70 73 3a 2f 2f 6c ink.of.28.0.50)..See.[[https://l
177e0 69 73 74 73 2e 73 72 2e 68 74 2f 7e 70 6b 61 6c 2f 63 6f 6d 70 61 74 2d 64 65 76 65 6c 2f 25 33 ists.sr.ht/~pkal/compat-devel/%3
17800 43 66 38 36 33 35 64 37 64 2d 65 32 33 33 2d 34 34 38 66 2d 62 33 32 35 2d 39 65 38 35 30 33 36 Cf8635d7d-e233-448f-b325-9e85036
17820 33 32 34 31 63 25 34 30 77 77 77 2e 66 61 73 74 6d 61 69 6c 2e 63 6f 6d 25 33 45 5d 5b 74 68 69 3241c%40www.fastmail.com%3E][thi
17840 73 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 s.thread]].for.more.details.on.t
17860 68 65 0a 20 20 20 70 72 6f 62 6c 65 6d 2e 0a 0a 28 52 65 6c 65 61 73 65 64 20 3c 32 30 32 32 2d he....problem...(Released.<2022-
17880 30 36 2d 32 32 20 57 65 64 3e 29 0a 0a 2a 20 52 65 6c 65 61 73 65 20 6f 66 20 22 43 6f 6d 70 61 06-22.Wed>)..*.Release.of."Compa
178a0 74 22 20 56 65 72 73 69 6f 6e 20 32 38 2e 31 2e 31 2e 31 0a 0a 54 68 69 73 20 69 73 20 61 20 6d t".Version.28.1.1.1..This.is.a.m
178c0 69 6e 6f 72 20 72 65 6c 65 61 73 65 20 66 69 78 69 6e 67 20 61 20 62 75 67 20 69 6e 20 3d 6a 73 inor.release.fixing.a.bug.in.=js
178e0 6f 6e 2d 73 65 72 69 61 6c 69 7a 65 3d 2c 20 74 68 61 74 20 63 6f 75 6c 64 0a 63 61 75 73 65 20 on-serialize=,.that.could.cause.
17900 75 6e 69 6e 74 65 6e 64 65 64 20 73 69 64 65 2d 65 66 66 65 63 74 73 2c 20 6e 6f 74 20 72 65 6c unintended.side-effects,.not.rel
17920 61 74 65 64 20 74 6f 20 70 61 63 6b 61 67 65 73 20 75 73 69 6e 67 20 43 6f 6d 70 61 74 0a 64 69 ated.to.packages.using.Compat.di
17940 72 65 63 74 6c 79 20 28 73 65 65 20 5b 5b 63 6f 6d 70 61 74 2d 73 72 68 74 3a 32 5d 5d 29 2e 0a rectly.(see.[[compat-srht:2]])..
17960 0a 28 52 65 6c 65 61 73 65 64 20 3c 32 30 32 32 2d 30 35 2d 30 35 20 54 68 75 3e 29 0a 0a 2a 20 .(Released.<2022-05-05.Thu>)..*.
17980 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 38 2e 31 Release.of."Compat".Version.28.1
179a0 2e 31 2e 30 0a 0a 54 68 69 73 20 72 65 6c 65 61 73 65 20 6d 6f 73 74 6c 79 20 66 69 78 65 73 20 .1.0..This.release.mostly.fixes.
179c0 61 20 6e 75 6d 62 65 72 20 6f 66 20 73 6d 61 6c 6c 65 72 20 62 75 67 73 20 74 68 61 74 20 77 65 a.number.of.smaller.bugs.that.we
179e0 72 65 20 6e 6f 74 0a 69 64 65 6e 74 69 66 69 65 64 20 61 73 20 6f 66 20 32 38 2e 31 2e 30 2e 30 re.not.identified.as.of.28.1.0.0
17a00 2e 20 20 4e 65 76 65 72 74 68 65 6c 65 73 73 20 74 68 65 73 65 20 77 61 72 72 61 6e 74 20 61 20 ...Nevertheless.these.warrant.a.
17a20 76 65 72 73 69 6f 6e 20 62 75 6d 70 2c 0a 61 73 20 73 6f 6d 65 20 6f 66 20 74 68 65 73 65 20 63 version.bump,.as.some.of.these.c
17a40 68 61 6e 67 65 73 20 61 20 66 75 6e 63 74 69 6f 6e 61 6c 2e 20 20 54 68 65 73 65 20 69 6e 63 6c hanges.a.functional...These.incl
17a60 75 64 65 3a 0a 0a 2d 20 54 68 65 20 61 64 64 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 3d 66 69 6c ude:..-.The.addition.of.the.=fil
17a80 65 2d 61 74 74 72 69 62 75 74 65 2d 2a 3d 20 61 63 63 65 73 73 6f 72 20 66 75 6e 63 74 69 6f 6e e-attribute-*=.accessor.function
17aa0 73 2e 0a 2d 20 54 68 65 20 61 64 64 69 74 69 6f 6e 20 6f 66 20 3d 66 69 6c 65 2d 61 74 74 72 69 s..-.The.addition.of.=file-attri
17ac0 62 75 74 65 2d 63 6f 6c 6c 65 63 74 3d 2e 0a 2d 20 49 6d 70 72 6f 76 65 6d 65 6e 74 73 20 74 6f bute-collect=..-.Improvements.to
17ae0 20 74 68 65 20 54 65 78 69 6e 66 6f 20 6d 61 6e 75 61 6c 20 28 76 69 61 20 4a 6f 6e 61 73 20 42 .the.Texinfo.manual.(via.Jonas.B
17b00 65 72 6e 6f 75 6c 6c 69 27 73 20 72 65 63 65 6e 74 0a 20 20 77 6f 72 6b 20 6f 6e 20 3d 6f 78 2d ernoulli's.recent...work.on.=ox-
17b20 74 65 78 69 6e 66 6f 3d 29 2e 20 20 46 6f 72 20 74 68 65 20 74 69 6d 65 20 62 65 69 6e 67 2c 20 texinfo=)...For.the.time.being,.
17b40 74 68 65 20 54 65 78 69 6e 66 6f 20 66 69 6c 65 20 69 73 0a 20 20 6d 61 69 6e 74 61 69 6e 65 64 the.Texinfo.file.is...maintained
17b60 20 69 6e 20 74 68 65 20 72 65 70 6f 73 69 74 6f 72 79 20 69 74 73 65 6c 66 2c 20 6e 65 78 74 20 .in.the.repository.itself,.next.
17b80 74 6f 20 74 68 65 20 3d 4d 41 4e 55 41 4c 3d 20 66 69 6c 65 2e 0a 20 20 54 68 69 73 20 6d 69 67 to.the.=MANUAL=.file....This.mig
17ba0 68 74 20 63 68 61 6e 67 65 20 69 6e 20 74 68 65 20 66 75 74 75 72 65 2e 0a 2d 20 41 64 64 69 6e ht.change.in.the.future..-.Addin
17bc0 67 20 61 20 70 72 65 66 69 78 20 74 6f 20 3d 73 74 72 69 6e 67 2d 74 72 69 6d 3d 2c 20 3d 73 74 g.a.prefix.to.=string-trim=,.=st
17be0 72 69 6e 67 2d 74 72 69 6d 2d 6c 65 66 74 3d 20 61 6e 64 0a 20 20 3d 73 74 72 69 6e 67 2d 74 72 ring-trim-left=.and...=string-tr
17c00 69 6d 2d 72 69 67 68 74 3d 20 28 69 2e 65 2e 20 6e 6f 77 20 3d 63 6f 6d 70 61 74 2d 73 74 72 69 im-right=.(i.e..now.=compat-stri
17c20 6e 67 2d 74 72 69 6d 3d 2c 0a 20 20 3d 63 6f 6d 70 61 74 2d 73 74 72 69 6e 67 2d 74 72 69 6d 2d ng-trim=,...=compat-string-trim-
17c40 6c 65 66 74 3d 20 61 6e 64 20 3d 63 6f 6d 70 61 74 2d 73 74 72 69 6e 67 2d 74 72 69 6d 2d 72 69 left=.and.=compat-string-trim-ri
17c60 67 68 74 3d 29 0a 2d 20 49 6d 70 72 6f 76 69 6e 67 20 74 68 65 20 76 65 72 73 69 6f 6e 20 69 6e ght=).-.Improving.the.version.in
17c80 66 65 72 65 6e 63 65 20 75 73 65 64 20 69 6e 20 74 68 65 20 3d 63 6f 6d 70 61 74 2d 2a 3d 20 6d ference.used.in.the.=compat-*=.m
17ca0 61 63 72 6f 73 2e 0a 20 20 54 68 69 73 20 69 6d 70 72 6f 76 65 73 20 74 68 65 20 63 6f 6d 70 69 acros....This.improves.the.compi
17cc0 6c 65 2d 74 69 6d 65 20 6f 70 74 69 6d 69 73 61 74 69 6f 6e 20 74 68 61 74 20 73 74 72 69 70 73 le-time.optimisation.that.strips
17ce0 20 61 77 61 79 0a 20 20 66 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 61 72 65 20 6b 6e 6f 77 6e .away...functions.that.are.known
17d00 20 74 6f 20 62 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 61 20 73 70 65 63 69 66 69 63 20 76 65 .to.be.defined.for.a.specific.ve
17d20 72 73 69 6f 6e 2e 0a 2d 20 54 68 65 20 61 64 64 69 74 69 6f 6e 20 6f 66 20 67 65 6e 65 72 61 6c rsion..-.The.addition.of.general
17d40 69 73 65 64 20 76 61 72 69 61 62 6c 65 20 28 3d 73 65 74 66 3d 29 20 73 75 70 70 6f 72 74 20 66 ised.variable.(=setf=).support.f
17d60 6f 72 0a 20 20 3d 63 6f 6d 70 61 74 2d 61 6c 69 73 74 2d 67 65 74 3d 2e 0a 2d 20 54 68 65 20 61 or...=compat-alist-get=..-.The.a
17d80 64 64 69 74 69 6f 6e 20 6f 66 20 3d 69 6d 61 67 65 2d 70 72 6f 70 65 72 74 79 3d 20 61 6e 64 20 ddition.of.=image-property=.and.
17da0 67 65 6e 65 72 61 6c 69 73 65 64 20 76 61 72 69 61 62 6c 65 20 73 75 70 70 6f 72 74 0a 20 20 66 generalised.variable.support...f
17dc0 6f 72 20 3d 69 6d 61 67 65 2d 70 72 6f 70 65 72 74 79 3d 2e 0a 2d 20 54 68 65 20 61 64 64 69 74 or.=image-property=..-.The.addit
17de0 69 6f 6e 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 3d 63 6f 6d 70 61 74 2d 65 78 65 63 ion.of.the.function.=compat-exec
17e00 75 74 61 62 6c 65 2d 66 69 6e 64 3d 2e 0a 2d 20 54 68 65 20 61 64 64 69 74 69 6f 6e 20 6f 66 20 utable-find=..-.The.addition.of.
17e20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 3d 63 6f 6d 70 61 74 2d 64 69 72 65 64 2d 67 65 74 2d 6d the.function.=compat-dired-get-m
17e40 61 72 6b 65 64 2d 66 69 6c 65 73 3d 2e 0a 2d 20 54 68 65 20 61 64 64 69 74 69 6f 6e 20 6f 66 20 arked-files=..-.The.addition.of.
17e60 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 3d 65 78 65 63 2d 70 61 74 68 3d 2e 0a 2d 20 54 68 65 20 the.function.=exec-path=..-.The.
17e80 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 3d 6d 61 6b 65 2d 6c addition.of.the.function.=make-l
17ea0 6f 63 6b 2d 66 69 6c 65 2d 6e 61 6d 65 3d 2e 0a 2d 20 54 68 65 20 61 64 64 69 74 69 6f 6e 20 6f ock-file-name=..-.The.addition.o
17ec0 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 3d 6e 75 6c 6c 2d 64 65 76 69 63 65 3d 2e 0a 2d 20 f.the.function.=null-device=..-.
17ee0 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 3d 74 69 The.addition.of.the.function.=ti
17f00 6d 65 2d 65 71 75 61 6c 2d 70 3d 2e 0a 2d 20 54 68 65 20 61 64 64 69 74 69 6f 6e 20 6f 66 20 74 me-equal-p=..-.The.addition.of.t
17f20 68 65 20 66 75 6e 63 74 69 6f 6e 20 3d 64 61 74 65 2d 64 61 79 73 2d 69 6e 2d 6d 6f 6e 74 68 3d he.function.=date-days-in-month=
17f40 2e 0a 2d 20 48 61 6e 64 6c 69 6e 67 20 6f 75 74 2d 6f 66 2d 64 69 72 65 63 74 6f 72 79 20 62 79 ..-.Handling.out-of-directory.by
17f60 74 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 62 65 74 74 65 72 2e 0a 2d 20 46 69 78 69 6e 67 20 te.compilation.better..-.Fixing.
17f80 74 68 65 20 75 73 61 67 65 20 61 6e 64 20 65 64 67 65 2d 63 61 73 65 73 20 6f 66 20 3d 61 6e 64 the.usage.and.edge-cases.of.=and
17fa0 2d 6c 65 74 2a 3d 2e 0a 0a 28 52 65 6c 65 61 73 65 64 20 3c 32 30 32 32 2d 30 34 2d 32 32 20 46 -let*=...(Released.<2022-04-22.F
17fc0 72 69 3e 29 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 ri>)............................
17fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18000 63 6f 6d 70 61 74 2d 33 30 2e 31 2e 30 2e 31 2f 63 6f 6d 70 61 74 2d 32 39 2e 65 6c 00 00 00 00 compat-30.1.0.1/compat-29.el....
18020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18060 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
18080 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 33 00 20 30 00 00 00 0203313.00000000000.013713..0...
180a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
180c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
180e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18100 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...................
18120 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...................
18140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
181a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
181c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
181e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
18200 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
18220 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
18240 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
18260 20 28 43 29 20 32 30 32 31 2d 32 30 32 35 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 .(C).2021-2025.Free.Software.Fou
18280 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
182a0 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
182c0 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
182e0 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.
18300 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.;
18320 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,.
18340 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,
18360 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
18380 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
183a0 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
183c0 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
183e0 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
18400 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
18420 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.
18440 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
18460 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
18480 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
184a0 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.
184c0 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
184e0 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
18500 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
18520 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
18540 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.
18560 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
18580 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".
185a0 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
185c0 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
185e0 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
18600 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
18620 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.
18640 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
18660 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
18680 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
186a0 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......
186c0 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
186e0 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
18700 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.
18720 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."
18740 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
18760 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
18780 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
187a0 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
187c0 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
187e0 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
18800 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.
18820 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
18840 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
18860 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
18880 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
188a0 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.
188c0 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
188e0 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
18900 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
18920 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.
18940 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.
18960 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
18980 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.......(
189a0 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).......
189c0 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.(
189e0 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
18a00 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
18a20 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)))...
18a40 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)..
18a60 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.
18a80 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)).........
18aa0 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)))
18ac0 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
18ae0 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.(
18b00 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
18b20 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
18b40 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
18b60 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
18b80 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
18ba0 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.
18bc0 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))........
18be0 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))...
18c00 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
18c20 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
18c40 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
18c60 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.
18c80 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
18ca0 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
18cc0 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
18ce0 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
18d00 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
18d20 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).
18d40 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)
18d60 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.(
18d80 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))...............
18da0 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.(
18dc0 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>..
18de0 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
18e00 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,
18e20 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.
18e40 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
18e60 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
18e80 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))
18ea0 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.(
18ec0 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
18ee0 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)))
18f00 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-
18f20 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.(
18f40 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
18f60 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
18f80 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
18fa0 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
18fc0 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
18fe0 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.
19000 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."...
19020 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
19040 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
19060 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))
19080 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
190a0 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).;;.<
190c0 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
190e0 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.".
19100 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
19120 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
19140 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
19160 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
19180 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.
191a0 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
191c0 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))....
191e0 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
19200 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
19220 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.
19240 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
19260 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:
19280 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
192a0 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
192c0 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
192e0 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
19300 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
19320 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
19340 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))
19360 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).
19380 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
193a0 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))..........
193c0 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)...
193e0 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
19400 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
19420 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.
19440 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
19460 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
19480 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
194a0 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
194c0 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
194e0 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.
19500 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
19520 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.......
19540 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).........
19560 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
19580 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
195a0 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
195c0 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)))))))..;;;;
195e0 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
19600 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
19620 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--
19640 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.
19660 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).......
19680 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
196a0 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
196c0 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..........
196e0 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
19700 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.,
19720 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
19740 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.,
19760 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.
19780 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
197a0 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............................
197c0 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)...............
197e0 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....
19800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
19820 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)
19840 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
19860 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
19880 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
198a0 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))))..;;
198c0 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
198e0 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).;;.
19900 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
19920 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
19940 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
19960 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
19980 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.
199a0 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
199c0 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
199e0 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
19a00 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
19a20 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
19a40 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
19a60 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
19a80 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
19aa0 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
19ac0 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
19ae0 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'
19b00 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.
19b20 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-
19b40 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
19b60 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-
19b80 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
19ba0 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
19bc0 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.
19be0 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
19c00 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
19c20 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.
19c40 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.
19c60 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
19c80 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.
19ca0 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
19cc0 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
19ce0 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.
19d00 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
19d20 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
19d40 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
19d60 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
19d80 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-
19da0 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
19dc0 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
19de0 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)
19e00 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
19e20 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
19e40 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
19e60 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
19e80 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
19ea0 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
19ec0 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.
19ee0 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
19f00 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
19f20 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,
19f40 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.
19f60 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.
19f80 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
19fa0 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.
19fc0 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
19fe0 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
1a000 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..
1a020 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
1a040 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
1a060 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
1a080 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
1a0a0 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).;;.<
1a0c0 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
1a0e0 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
1a100 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
1a120 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
1a140 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
1a160 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
1a180 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.
1a1a0 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,
1a1c0 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
1a1e0 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
1a200 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
1a220 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
1a240 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
1a260 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.
1a280 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.
1a2a0 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
1a2c0 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
1a2e0 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
1a300 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
1a320 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-
1a340 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
1a360 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
1a380 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
1a3a0 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."..
1a3c0 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
1a3e0 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..
1a400 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."")).
1a420 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)...........
1a440 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
1a460 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.(
1a480 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
1a4a0 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
1a4c0 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.........
1a4e0 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
1a500 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
1a520 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)))...........
1a540 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
1a560 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.....................
1a580 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
1a5a0 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..........................
1a5c0 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)
1a5e0 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 ................................
1a600 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)))).........
1a620 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
1a640 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............
1a660 20 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.
1a680 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")))....................
1a6a0 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)))).........
1a6c0 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)
1a6e0 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)
1a700 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
1a720 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
1a740 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)).......
1a760 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
1a780 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)))).
1a7a0 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
1a7c0 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>...
1a7e0 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
1a800 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
1a820 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
1a840 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
1a860 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.
1a880 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
1a8a0 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
1a8c0 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.
1a8e0 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
1a900 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
1a920 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
1a940 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
1a960 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)
1a980 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
1a9a0 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
1a9c0 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
1a9e0 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
1aa00 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
1aa20 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
1aa40 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).......
1aa60 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)
1aa80 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
1aaa0 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
1aac0 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).
1aae0 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
1ab00 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
1ab20 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))....
1ab40 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.
1ab60 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
1ab80 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)).........
1aba0 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
1abc0 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)))..................
1abe0 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))......
1ac00 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.
1ac20 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
1ac40 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
1ac60 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
1ac80 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
1aca0 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
1acc0 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
1ace0 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
1ad00 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
1ad20 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.
1ad40 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
1ad60 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
1ad80 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
1ada0 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
1adc0 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]...)"..
1ade0 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
1ae00 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))
1ae20 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.
1ae40 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
1ae60 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
1ae80 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).
1aea0 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
1aec0 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
1aee0 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
1af00 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
1af20 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
1af40 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
1af60 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."...(
1af80 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
1afa0 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
1afc0 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))).....
1afe0 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
1b000 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
1b020 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
1b040 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
1b060 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.
1b080 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)))..
1b0a0 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)))))
1b0c0 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.().;
1b0e0 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>..."
1b100 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
1b120 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)
1b140 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
1b160 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).;;.
1b180 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>.
1b1a0 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
1b1c0 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
1b1e0 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
1b200 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
1b220 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
1b240 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
1b260 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
1b280 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
1b2a0 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
1b2c0 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
1b2e0 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
1b300 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
1b320 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
1b340 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
1b360 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
1b380 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.
1b3a0 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.
1b3c0 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
1b3e0 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)))..(
1b400 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
1b420 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
1b440 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
1b460 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
1b480 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,.
1b4a0 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.
1b4c0 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
1b4e0 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.
1b500 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
1b520 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
1b540 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)"..
1b560 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)).
1b580 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
1b5a0 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....
1b5c0 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).(
1b5e0 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
1b600 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
1b620 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
1b640 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.
1b660 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
1b680 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
1b6a0 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
1b6c0 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
1b6e0 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
1b700 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
1b720 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........
1b740 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
1b760 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
1b780 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
1b7a0 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))))
1b7c0 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
1b7e0 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:
1b800 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
1b820 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
1b840 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>.
1b860 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
1b880 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
1b8a0 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
1b8c0 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.
1b8e0 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
1b900 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
1b920 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
1b940 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
1b960 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
1b980 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
1b9a0 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
1b9c0 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
1b9e0 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
1ba00 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
1ba20 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
1ba40 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
1ba60 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
1ba80 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.((
1baa0 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
1bac0 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.'
1bae0 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
1bb00 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.
1bb20 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))....
1bb40 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)).
1bb60 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
1bb80 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
1bba0 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
1bbc0 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.
1bbe0 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
1bc00 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
1bc20 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
1bc40 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
1bc60 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
1bc80 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)
1bca0 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
1bcc0 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
1bce0 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
1bd00 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
1bd20 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,
1bd40 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
1bd60 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.
1bd80 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
1bda0 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.
1bdc0 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-
1bde0 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
1be00 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
1be20 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
1be40 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
1be60 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
1be80 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.
1bea0 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
1bec0 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..
1bee0 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
1bf00 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.
1bf20 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
1bf40 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'..
1bf60 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...
1bf80 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
1bfa0 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..
1bfc0 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.
1bfe0 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
1c000 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
1c020 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
1c040 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
1c060 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......
1c080 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-
1c0a0 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
1c0c0 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
1c0e0 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
1c100 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)............
1c120 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..................
1c140 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))..........
1c160 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)
1c180 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
1c1a0 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
1c1c0 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
1c1e0 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).............
1c200 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...
1c220 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
1c240 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)..............
1c260 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
1c280 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..........................(
1c2a0 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))))
1c2c0 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-
1c2e0 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)....
1c300 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..........
1c320 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
1c340 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)...........
1c360 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)))..
1c380 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
1c3a0 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)....
1c3c0 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
1c3e0 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.....................
1c400 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
1c420 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)......................
1c440 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))).............
1c460 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
1c480 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).......................(
1c4a0 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
1c4c0 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.
1c4e0 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).......
1c500 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.(
1c520 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)))................
1c540 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).
1c560 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
1c580 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........................
1c5a0 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))....
1c5c0 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.(
1c5e0 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)).........
1c600 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
1c620 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))).........................
1c640 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
1c660 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.(
1c680 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
1c6a0 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
1c6c0 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
1c6e0 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
1c700 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
1c720 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
1c740 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
1c760 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
1c780 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
1c7a0 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
1c7c0 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.
1c7e0 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
1c800 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.
1c820 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
1c840 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)))....
1c860 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
1c880 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)........
1c8a0 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))..(
1c8c0 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-
1c8e0 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
1c900 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
1c920 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
1c940 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
1c960 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
1c980 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
1c9a0 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
1c9c0 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
1c9e0 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
1ca00 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
1ca20 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
1ca40 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>..
1ca60 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
1ca80 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
1caa0 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
1cac0 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
1cae0 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
1cb00 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-
1cb20 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
1cb40 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
1cb60 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
1cb80 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
1cba0 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
1cbc0 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
1cbe0 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....
1cc00 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............
1cc20 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-
1cc40 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
1cc60 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)........
1cc80 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
1cca0 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.%
1ccc0 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")............................`
1cce0 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..............
1cd00 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.
1cd20 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)...........................
1cd40 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
1cd60 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...........................
1cd80 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'"..
1cda0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1cdc0 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.
1cde0 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)))))................
1ce00 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.",.")
1ce20 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-
1ce40 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"))..
1ce60 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
1ce80 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-
1cea0 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-
1cec0 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
1cee0 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).
1cf00 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
1cf20 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
1cf40 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.
1cf60 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)).......
1cf80 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-
1cfa0 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....
1cfc0 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
1cfe0 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
1d000 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
1d020 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........................((
1d040 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)............
1d060 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.(
1d080 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
1d0a0 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)))...........................
1d0c0 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
1d0e0 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))).............
1d100 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)..................
1d120 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).........
1d140 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
1d160 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
1d180 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)))).........................
1d1a0 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))...
1d1c0 20 20 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.
1d1e0 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
1d200 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
1d220 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))))...
1d240 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
1d260 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)))...................
1d280 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
1d2a0 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
1d2c0 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
1d2e0 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
1d300 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-
1d320 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
1d340 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-
1d360 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
1d380 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
1d3a0 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-
1d3c0 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))
1d3e0 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
1d400 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))..;;;;.
1d420 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
1d440 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).;;.<
1d460 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>..
1d480 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
1d4a0 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
1d4c0 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
1d4e0 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
1d500 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
1d520 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
1d540 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
1d560 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-
1d580 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
1d5a0 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)
1d5c0 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
1d5e0 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.().;
1d600 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
1d620 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.
1d640 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
1d660 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).
1d680 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
1d6a0 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.(
1d6c0 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>..
1d6e0 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
1d700 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
1d720 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))).
1d740 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.()
1d760 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>...
1d780 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
1d7a0 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
1d7c0 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-
1d7e0 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.
1d800 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-
1d820 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
1d840 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
1d860 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.
1d880 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
1d8a0 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*"
1d8c0 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
1d8e0 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
1d900 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
1d920 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-
1d940 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
1d960 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..........
1d980 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
1d9a0 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))...
1d9c0 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
1d9e0 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
1da00 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))
1da20 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
1da40 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
1da60 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).
1da80 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
1daa0 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
1dac0 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
1dae0 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
1db00 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
1db20 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
1db40 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.
1db60 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
1db80 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
1dba0 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
1dbc0 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
1dbe0 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
1dc00 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
1dc20 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
1dc40 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
1dc60 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
1dc80 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
1dca0 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
1dcc0 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
1dce0 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
1dd00 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
1dd20 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
1dd40 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
1dd60 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.
1dd80 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-
1dda0 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
1ddc0 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.
1dde0 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.
1de00 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
1de20 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
1de40 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.
1de60 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
1de80 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
1dea0 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))...........
1dec0 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)))....
1dee0 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
1df00 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
1df20 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)........
1df40 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
1df60 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.
1df80 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
1dfa0 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
1dfc0 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
1dfe0 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.,
1e000 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))...
1e020 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
1e040 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
1e060 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)...............
1e080 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
1e0a0 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
1e0c0 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
1e0e0 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
1e100 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.;;.<
1e120 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
1e140 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>.........................
1e160 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
1e180 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
1e1a0 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
1e1c0 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
1e1e0 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
1e200 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
1e220 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
1e240 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
1e260 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
1e280 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
1e2a0 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
1e2c0 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
1e2e0 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.(
1e300 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-
1e320 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...........
1e340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1e360 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).....
1e380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1e3a0 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
1e3c0 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)......................
1e3e0 20 20 20 20 20 20 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
1e400 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
1e420 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
1e440 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)))
1e460 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.
1e480 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
1e4a0 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
1e4c0 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)........
1e4e0 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)...
1e500 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.
1e520 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))....
1e540 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.
1e560 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...........
1e580 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
1e5a0 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)...................(
1e5c0 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)..................
1e5e0 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)).............
1e600 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)))..
1e620 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))...
1e640 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...............
1e660 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.
1e680 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
1e6a0 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)))
1e6c0 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.
1e6e0 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
1e700 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)).
1e720 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..........
1e740 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)))..
1e760 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
1e780 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
1e7a0 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
1e7c0 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
1e7e0 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
1e800 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).;;.
1e820 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
1e840 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
1e860 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
1e880 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
1e8a0 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.
1e8c0 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
1e8e0 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
1e900 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
1e920 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).
1e940 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
1e960 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
1e980 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-
1e9a0 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..
1e9c0 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)...........
1e9e0 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
1ea00 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
1ea20 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.(
1ea40 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
1ea60 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
1ea80 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.
1eaa0 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'."..
1eac0 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
1eae0 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
1eb00 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.
1eb20 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
1eb40 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
1eb60 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
1eb80 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)."\\(/\\|\\'\\
1eba0 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
1ebc0 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..
1ebe0 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
1ec00 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
1ec20 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
1ec40 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
1ec60 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.........................
1ec80 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
1eca0 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)............................
1ecc0 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.....................
1ece0 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))
1ed00 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
1ed20 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-
1ed40 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>...
1ed60 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
1ed80 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
1eda0 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
1edc0 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'
1ede0 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
1ee00 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
1ee20 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
1ee40 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-
1ee60 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)
1ee80 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
1eea0 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)...............
1eec0 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
1eee0 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
1ef00 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
1ef20 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
1ef40 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
1ef60 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
1ef80 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:...
1efa0 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-
1efc0 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)
1efe0 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)).....
1f000 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
1f020 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
1f040 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.
1f060 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).....
1f080 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
1f0a0 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
1f0c0 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
1f0e0 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
1f100 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.(
1f120 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)
1f140 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
1f160 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)))..
1f180 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.(
1f1a0 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)))......
1f1c0 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
1f1e0 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
1f200 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.........
1f220 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
1f240 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
1f260 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."").""...................;;
1f280 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
1f2a0 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...............
1f2c0 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.................
1f2e0 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))........
1f300 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)...........(
1f320 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
1f340 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
1f360 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
1f380 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
1f3a0 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
1f3c0 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
1f3e0 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
1f400 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
1f420 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
1f440 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
1f460 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
1f480 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
1f4a0 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
1f4c0 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
1f4e0 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
1f500 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
1f520 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.
1f540 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.
1f560 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.
1f580 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
1f5a0 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.
1f5c0 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
1f5e0 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
1f600 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."...(
1f620 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
1f640 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))..........(
1f660 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
1f680 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
1f6a0 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
1f6c0 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.
1f6e0 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)..
1f700 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
1f720 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
1f740 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
1f760 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....
1f780 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
1f7a0 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
1f7c0 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
1f7e0 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
1f800 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
1f820 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.
1f840 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
1f860 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.
1f880 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
1f8a0 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
1f8c0 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.
1f8e0 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
1f900 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
1f920 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).
1f940 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
1f960 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
1f980 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
1f9a0 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.
1f9c0 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
1f9e0 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
1fa00 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
1fa20 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
1fa40 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
1fa60 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
1fa80 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,
1faa0 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.
1fac0 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.
1fae0 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;
1fb00 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
1fb20 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."...(
1fb40 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
1fb60 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)))......
1fb80 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
1fba0 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-
1fbc0 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))......
1fbe0 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.........
1fc00 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
1fc20 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)................
1fc40 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
1fc60 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)))).......
1fc80 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
1fca0 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
1fcc0 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-
1fce0 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
1fd00 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
1fd20 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-
1fd40 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
1fd60 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
1fd80 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
1fda0 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
1fdc0 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
1fde0 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
1fe00 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
1fe20 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
1fe40 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
1fe60 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.
1fe80 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
1fea0 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
1fec0 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
1fee0 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
1ff00 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
1ff20 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
1ff40 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.
1ff60 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'
1ff80 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
1ffa0 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
1ffc0 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
1ffe0 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
20000 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.........
20020 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')..
20040 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.
20060 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
20080 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
200a0 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)...
200c0 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
200e0 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
20100 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
20120 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
20140 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,
20160 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
20180 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
201a0 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
201c0 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
201e0 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))
20200 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))
20220 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)...
20240 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."\\`[^.]+\\(.
20260 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
20280 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...
202a0 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..........
202c0 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-\
202e0 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-\\)?")
20300 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
20320 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."."))..............
20340 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
20360 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.....
20380 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.......
203a0 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
203c0 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)........
203e0 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
20400 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))))..............(
20420 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).
20440 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)..............................
20460 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
20480 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.....................
204a0 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).
204c0 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))...........................
204e0 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
20500 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...................
20520 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
20540 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).......................
20560 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
20580 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))))...................
205a0 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."\\`
205c0 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).......
205e0 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
20600 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>...............
20620 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......
20640 20 20 20 20 20 20 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
20660 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.....................
20680 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
206a0 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)...................
206c0 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)).
206e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
20700 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
20720 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...................
20740 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\\
20760 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\\)\\'"...
20780 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))...
207a0 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.........
207c0 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))).....
207e0 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
20800 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
20820 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
20840 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
20860 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
20880 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
208a0 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
208c0 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
208e0 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
20900 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
20920 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
20940 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
20960 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
20980 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
209a0 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.
209c0 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
209e0 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
20a00 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)
20a20 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
20a40 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)....
20a60 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
20a80 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)..................
20aa0 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
20ac0 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
20ae0 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))...........
20b00 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))...
20b20 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
20b40 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))...............
20b60 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)..
20b80 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.
20ba0 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>"...........
20bc0 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\
20be0 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).........
20c00 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
20c20 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.(
20c40 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)))......
20c60 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
20c80 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)............
20ca0 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))...........
20cc0 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]+\\
20ce0 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
20d00 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
20d20 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)))).......
20d40 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
20d60 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)))))..........
20d80 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."^<<.+>>$"
20da0 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
20dc0 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.
20de0 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])........................
20e00 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
20e20 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).................
20e40 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].
20e60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
20e80 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
20ea0 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...............................
20ec0 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
20ee0 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))...................
20f00 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])
20f20 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 )...............................
20f40 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"
20f60 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
20f80 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]-\\)*\\)
20fa0 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)..............
20fc0 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.................
20fe0 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
21000 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)................
21020 20 20 20 20 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
21040 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))).............
21060 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..
21080 20 20 20 20 20 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 ............................."\\
210a0 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\
210c0 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\\)$"......................
210e0 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))))...............
21100 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)
21120 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.
21140 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."^;;".
21160 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
21180 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))).
211a0 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..............
211c0 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
211e0 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)).................
21200 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
21220 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).....................
21240 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.............
21260 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.....
21280 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
212a0 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).............
212c0 20 20 20 20 20 20 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 ..............................'(
212e0 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).....
21300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
21320 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-
21340 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).............................
21360 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).(?
21380 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))))))................
213a0 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))
213c0 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
213e0 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)))...........
21400 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."^\
21420 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).....................
21440 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))....
21460 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.(
21480 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)).....................
214a0 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)))
214c0 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
214e0 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").("
21500 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")....................
21520 20 20 20 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
21540 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")........
21560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
21580 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"..."
215a0 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 .").............................
215c0 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
215e0 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
21600 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)))
21620 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
21640 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)...
21660 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)).
21680 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.(
216a0 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))).
216c0 20 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
216e0 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)))...........
21700 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.
21720 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.(
21740 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)......................
21760 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))...........
21780 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
217a0 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).............
217c0 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
217e0 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))............
21800 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
21820 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))........
21840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
21860 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)))).......
21880 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.
218a0 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)........................
218c0 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
218e0 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"...........
21900 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
21920 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))....
21940 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.(/=.
21960 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
21980 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)..........................
219a0 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
219c0 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,........................
219e0 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
21a00 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 ,...............................
21a20 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.
21a40 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)....................
21a60 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."[@-_
21a80 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))....................
21aa0 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.(
21ac0 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).......................
21ae0 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.(
21b00 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)))))............
21b20 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................
21b40 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
21b60 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)))))))))........
21b80 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
21ba0 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))..
21bc0 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.
21be0 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
21c00 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
21c20 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
21c40 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
21c60 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
21c80 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'...
21ca0 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.
21cc0 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
21ce0 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
21d00 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
21d20 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
21d40 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
21d60 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
21d80 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
21da0 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
21dc0 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
21de0 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
21e00 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,....
21e20 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
21e40 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.
21e60 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
21e80 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
21ea0 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
21ec0 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
21ee0 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
21f00 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...
21f20 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
21f40 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'),.
21f60 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
21f80 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
21fa0 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
21fc0 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
21fe0 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'.)"...(
22000 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
22020 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
22040 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
22060 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)))...(
22080 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
220a0 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
220c0 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
220e0 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
22100 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
22120 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.
22140 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
22160 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
22180 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
221a0 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
221c0 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
221e0 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.
22200 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
22220 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
22240 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.
22260 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
22280 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
222a0 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
222c0 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
222e0 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
22300 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>...
22320 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
22340 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
22360 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
22380 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-
223a0 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
223c0 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'
223e0 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.
22400 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
22420 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.
22440 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
22460 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...
22480 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.
224a0 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
224c0 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
224e0 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-
22500 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
22520 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
22540 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
22560 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
22580 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
225a0 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
225c0 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
225e0 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
22600 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'
22620 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
22640 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
22660 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:
22680 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
226a0 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
226c0 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
226e0 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.
22700 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
22720 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
22740 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
22760 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-
22780 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
227a0 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
227c0 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
227e0 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
22800 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
22820 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
22840 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
22860 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
22880 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.".
228a0 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-
228c0 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
228e0 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
22900 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
22920 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.
22940 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.
22960 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
22980 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
229a0 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
229c0 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...
229e0 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..
22a00 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
22a20 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
22a40 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
22a60 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
22a80 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
22aa0 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
22ac0 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
22ae0 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
22b00 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
22b20 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
22b40 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
22b60 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
22b80 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
22ba0 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
22bc0 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
22be0 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
22c00 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
22c20 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
22c40 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
22c60 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
22c80 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
22ca0 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
22cc0 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
22ce0 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
22d00 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
22d20 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
22d40 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
22d60 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
22d80 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
22da0 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
22dc0 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
22de0 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
22e00 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
22e20 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....(
22e40 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."
22e60 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
22e80 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
22ea0 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
22ec0 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.........
22ee0 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
22f00 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,
22f20 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
22f40 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
22f60 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..
22f80 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
22fa0 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
22fc0 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
22fe0 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
23000 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))...
23020 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
23040 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
23060 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
23080 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
230a0 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
230c0 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
230e0 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
23100 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.
23120 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
23140 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
23160 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
23180 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
231a0 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
231c0 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
231e0 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.
23200 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.
23220 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
23240 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
23260 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
23280 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
232a0 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.
232c0 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.
232e0 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.
23300 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."...
23320 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.
23340 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
23360 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
23380 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-
233a0 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
233c0 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.
233e0 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,
23400 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,
23420 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
23440 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
23460 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
23480 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
234a0 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
234c0 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
234e0 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:
23500 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.&
23520 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
23540 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
23560 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
23580 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'..
235a0 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
235c0 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,.
235e0 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.
23600 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
23620 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...
23640 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
23660 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
23680 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.
236a0 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
236c0 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
236e0 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
23700 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
23720 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
23740 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
23760 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,
23780 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.
237a0 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
237c0 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
237e0 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
23800 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
23820 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
23840 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
23860 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
23880 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.
238a0 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
238c0 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
238e0 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
23900 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
23920 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.
23940 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
23960 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
23980 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
239a0 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
239c0 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
239e0 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
23a00 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
23a20 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
23a40 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
23a60 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
23a80 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
23aa0 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
23ac0 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
23ae0 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
23b00 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.
23b20 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
23b40 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
23b60 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
23b80 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
23ba0 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)................
23bc0 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))............
23be0 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
23c00 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
23c20 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-
23c40 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
23c60 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.
23c80 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).
23ca0 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
23cc0 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.
23ce0 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
23d00 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.
23d20 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
23d40 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.
23d60 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
23d80 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
23da0 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
23dc0 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
23de0 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
23e00 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
23e20 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
23e40 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)))..
23e60 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
23e80 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
23ea0 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
23ec0 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
23ee0 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
23f00 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.
23f20 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
23f40 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.
23f60 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
23f80 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
23fa0 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
23fc0 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
23fe0 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
24000 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
24020 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
24040 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
24060 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
24080 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."..
240a0 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-
240c0 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
240e0 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
24100 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
24120 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
24140 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
24160 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
24180 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.
241a0 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
241c0 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
241e0 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
24200 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
24220 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
24240 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
24260 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..........
24280 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
242a0 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
242c0 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-
242e0 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
24300 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
24320 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
24340 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
24360 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
24380 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
243a0 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.
243c0 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....
243e0 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.
24400 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
24420 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
24440 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........
24460 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
24480 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
244a0 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.
244c0 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
244e0 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.(
24500 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
24520 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,.............
24540 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
24560 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
24580 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.
245a0 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
245c0 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
245e0 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.
24600 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
24620 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
24640 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.
24660 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
24680 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
246a0 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.
246c0 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..
246e0 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.....
24700 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
24720 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
24740 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)))....
24760 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
24780 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
247a0 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
247c0 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)).....
247e0 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
24800 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...
24820 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
24840 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
24860 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
24880 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)).........
248a0 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
248c0 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
248e0 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
24900 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))...........
24920 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
24940 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.
24960 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
24980 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
249a0 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
249c0 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
249e0 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
24a00 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
24a20 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.
24a40 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
24a60 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
24a80 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
24aa0 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
24ac0 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))...................
24ae0 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))......
24b00 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
24b20 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
24b40 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.........
24b60 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
24b80 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
24ba0 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.
24bc0 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
24be0 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
24c00 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
24c20 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
24c40 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
24c60 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
24c80 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.
24ca0 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.(
24cc0 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
24ce0 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
24d00 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
24d20 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
24d40 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
24d60 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)..........
24d80 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))....
24da0 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
24dc0 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
24de0 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
24e00 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
24e20 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.
24e40 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
24e60 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
24e80 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.
24ea0 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.
24ec0 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
24ee0 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.
24f00 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
24f20 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.
24f40 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
24f60 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
24f80 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.
24fa0 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
24fc0 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.
24fe0 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
25000 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
25020 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
25040 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
25060 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.
25080 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
250a0 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
250c0 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
250e0 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.
25100 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
25120 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
25140 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
25160 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.
25180 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
251a0 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
251c0 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
251e0 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.
25200 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
25220 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
25240 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
25260 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
25280 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
252a0 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'..
252c0 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
252e0 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
25300 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
25320 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
25340 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
25360 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.
25380 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.
253a0 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
253c0 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).
253e0 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
25400 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.................(
25420 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))............
25440 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))
25460 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
25480 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........
254a0 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
254c0 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..........(
254e0 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
25500 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.:
25520 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))
25540 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
25560 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
25580 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.(%.(
255a0 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
255c0 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
255e0 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
25600 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)
25620 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
25640 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
25660 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
25680 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
256a0 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
256c0 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'.
256e0 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'".................
25700 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).........
25720 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)))))....
25740 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
25760 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).........
25780 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.:
257a0 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.',
257c0 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)
257e0 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....
25800 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
25820 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
25840 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
25860 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))......................(
25880 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.
258a0 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
258c0 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
258e0 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.
25900 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
25920 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...............(
25940 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).
25960 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
25980 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.
259a0 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..............,
259c0 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
259e0 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
25a00 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..
25a20 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
25a40 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
25a60 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
25a80 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."...:
25aa0 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)...
25ac0 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).
25ae0 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
25b00 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
25b20 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.
25b40 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
25b60 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
25b80 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)........................
25ba0 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
25bc0 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))................
25be0 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
25c00 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)).......................
25c20 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)))..................
25c40 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.
25c60 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
25c80 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
25ca0 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
25cc0 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.((
25ce0 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
25d00 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
25d20 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)...........
25d40 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
25d60 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
25d80 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
25da0 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
25dc0 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
25de0 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
25e00 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
25e20 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
25e40 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
25e60 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
25e80 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
25ea0 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.\\='
25ec0 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
25ee0 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
25f00 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
25f20 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
25f40 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
25f60 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."`"."..."..............
25f80 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."'".
25fa0 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
25fc0 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)....
25fe0 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
26000 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)))..;;;
26020 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-
26040 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
26060 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
26080 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
260a0 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
260c0 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
260e0 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.
26100 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
26120 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....
26140 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.........'
26160 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
26180 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
261a0 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
261c0 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
261e0 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
26200 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
26220 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
26240 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
26260 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
26280 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
262a0 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
262c0 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
262e0 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.
26300 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'.".
26320 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.
26340 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.............
26360 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
26380 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
263a0 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
263c0 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
263e0 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).'
26400 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))..(
26420 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
26440 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
26460 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
26480 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
264a0 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
264c0 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
264e0 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
26500 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
26520 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
26540 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.
26560 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
26580 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
265a0 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
265c0 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
265e0 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
26600 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
26620 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
26640 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..(
26660 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
26680 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
266a0 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
266c0 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
266e0 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
26700 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
26720 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
26740 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
26760 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
26780 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
267a0 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
267c0 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.
267e0 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)."/")...................
26800 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
26820 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
26840 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
26860 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
26880 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.
268a0 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
268c0 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
268e0 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
26900 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
26920 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
26940 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
26960 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
26980 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
269a0 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...
269c0 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
269e0 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
26a00 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
26a20 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))...........(
26a40 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))).
26a60 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
26a80 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
26aa0 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)))...
26ac0 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
26ae0 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
26b00 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
26b20 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.
26b40 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
26b60 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."
26b80 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
26ba0 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.
26bc0 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-
26be0 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).
26c00 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
26c20 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
26c40 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
26c60 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
26c80 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
26ca0 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
26cc0 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
26ce0 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.
26d00 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)))).
26d20 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.
26d40 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).
26d60 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>..
26d80 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
26da0 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
26dc0 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
26de0 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
26e00 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
26e20 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
26e40 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
26e60 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.
26e80 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
26ea0 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.
26ec0 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,
26ee0 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
26f00 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-
26f20 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
26f40 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)).
26f60 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
26f80 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)))....
26fa0 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
26fc0 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
26fe0 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
27000 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'.
27020 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
27040 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.(
27060 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.
27080 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
270a0 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
270c0 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
270e0 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
27100 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.(
27120 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...
27140 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
27160 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
27180 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
271a0 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
271c0 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)).........................
271e0 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)
27200 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
27220 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
27240 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........................
27260 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
27280 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)))))..;;;
272a0 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
272c0 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
272e0 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
27300 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
27320 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
27340 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
27360 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
27380 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.
273a0 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
273c0 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
273e0 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
27400 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
27420 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
27440 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
27460 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
27480 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
274a0 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.
274c0 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
274e0 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.............
27500 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,
27520 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...............
27540 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
27560 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
27580 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
275a0 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
275c0 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
275e0 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
27600 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
27620 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
27640 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
27660 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
27680 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
276a0 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'................
276c0 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..
276e0 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................
27700 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
27720 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
27740 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-
27760 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................
27780 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
277a0 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.......
277c0 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
277e0 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
27800 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
27820 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
27840 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'.".
27860 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
27880 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)))..
278a0 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)...(
278c0 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
278e0 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
27900 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.
27920 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
27940 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
27960 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.(
27980 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
279a0 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))).........;
279c0 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.
279e0 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'....
27a00 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
27a20 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
27a40 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))).......
27a60 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)))
27a80 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.(
27aa0 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
27ac0 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))).........(
27ae0 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
27b00 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
27b20 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
27b40 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
27b60 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.
27b80 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
27ba0 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
27bc0 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
27be0 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................
27c00 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.............
27c20 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.
27c40 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
27c60 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)).........................
27c80 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
27ca0 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......................
27cc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
27ce0 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)).......
27d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
27d20 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
27d40 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 ?").............................
27d60 20 20 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
27d80 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)...........................
27da0 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")..
27dc0 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."
27de0 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
27e00 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
27e20 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))............
27e40 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.'
27e60 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
27e80 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 )............................(,(
27ea0 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
27ec0 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)............................
27ee0 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
27f00 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)..................
27f20 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
27f40 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
27f60 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..............
27f80 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
27fa0 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)...............
27fc0 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))...........
27fe0 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..............
28000 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-
28020 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))))).......
28040 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..............
28060 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
28080 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
280a0 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
280c0 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.......
280e0 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-
28100 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))................
28120 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)))
28140 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.....
28160 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.........
28180 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
281a0 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).............
281c0 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))))
281e0 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-
28200 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)
28220 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-
28240 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
28260 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
28280 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
282a0 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
282c0 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
282e0 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
28300 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..
28320 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
28340 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
28360 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
28380 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
283a0 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-
283c0 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
283e0 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
28400 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
28420 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
28440 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
28460 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
28480 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
284a0 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
284c0 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"))))).
284e0 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....
28500 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))..;;
28520 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
28540 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
28560 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
28580 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..
285a0 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
285c0 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
285e0 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'.
28600 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
28620 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."..
28640 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
28660 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
28680 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%}:.
286a0 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
286c0 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
286e0 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:.
28700 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:
28720 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")...
28740 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
28760 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
28780 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.
287a0 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
287c0 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)).......
287e0 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-
28800 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
28820 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
28840 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".......................
28860 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.
28880 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
288a0 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
288c0 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......................
288e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
289a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
289c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
289e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28a00 63 6f 6d 70 61 74 2d 33 30 2e 31 2e 30 2e 31 2f 63 6f 6d 70 61 74 2d 32 36 2e 65 6c 00 00 00 00 compat-30.1.0.1/compat-26.el....
28a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28a60 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
28a80 30 30 35 33 31 31 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 0053112.00000000000.013710..0...
28aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28b00 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...................
28b20 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...................
28b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28c00 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
28c20 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
28c40 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
28c60 20 28 43 29 20 32 30 32 31 2d 32 30 32 35 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 .(C).2021-2025.Free.Software.Fou
28c80 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
28ca0 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
28cc0 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
28ce0 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.
28d00 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.;
28d20 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,.
28d40 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,
28d60 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
28d80 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
28da0 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
28dc0 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
28de0 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
28e00 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
28e20 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.
28e40 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
28e60 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
28e80 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
28ea0 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.
28ec0 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
28ee0 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
28f00 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
28f20 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
28f40 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.
28f60 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
28f80 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".
28fa0 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
28fc0 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
28fe0 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
29000 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
29020 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
29040 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
29060 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
29080 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
290a0 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
290c0 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
290e0 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.
29100 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
29120 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
29140 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
29160 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
29180 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
291a0 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
291c0 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
291e0 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.
29200 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
29220 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
29240 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
29260 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."....(
29280 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
292a0 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
292c0 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)..
292e0 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
29300 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
29320 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).;
29340 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
29360 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
29380 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
293a0 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
293c0 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
293e0 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."..
29400 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
29420 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
29440 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
29460 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
29480 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
294a0 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
294c0 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
294e0 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).......
29500 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))
29520 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
29540 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.
29560 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.().
29580 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>.
295a0 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.
295c0 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
295e0 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
29600 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
29620 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
29640 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
29660 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
29680 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
296a0 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
296c0 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
296e0 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
29700 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.......;
29720 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.(
29740 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-
29760 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
29780 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
297a0 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
297c0 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
297e0 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
29800 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
29820 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
29840 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
29860 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
29880 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.
298a0 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
298c0 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
298e0 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
29900 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
29920 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))).....(
29940 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))
29960 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
29980 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
299a0 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
299c0 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
299e0 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
29a00 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))).........
29a20 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
29a40 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
29a60 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
29a80 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)
29aa0 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
29ac0 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
29ae0 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
29b00 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
29b20 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
29b40 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....
29b60 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
29b80 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))....
29ba0 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
29bc0 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
29be0 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
29c00 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
29c20 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
29c40 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
29c60 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
29c80 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
29ca0 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
29cc0 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)
29ce0 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)....
29d00 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)....
29d20 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
29d40 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).
29d60 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.;;.<
29d80 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
29da0 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
29dc0 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
29de0 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)...
29e00 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
29e20 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
29e40 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.........
29e60 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-
29e80 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)......
29ea0 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
29ec0 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).................
29ee0 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
29f00 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
29f20 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
29f40 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............
29f60 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....
29f80 20 20 20 20 20 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
29fa0 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).............
29fc0 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
29fe0 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.........................
2a000 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
2a020 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))..............
2a040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2a060 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))))).............
2a080 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..........
2a0a0 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.....
2a0c0 20 20 20 20 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
2a0e0 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).............
2a100 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.
2a120 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)........................
2a140 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
2a160 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).....................
2a180 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
2a1a0 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)............
2a1c0 20 20 20 20 20 20 20 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 ...............................(
2a1e0 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))))..
2a200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2a220 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.
2a240 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))))..................
2a260 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...............
2a280 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.......
2a2a0 20 20 20 20 20 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
2a2c0 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).
2a2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2a300 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.........
2a320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2a340 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))))))
2a360 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 ...............................,
2a380 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
2a3a0 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
2a3c0 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
2a3e0 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)))
2a400 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
2a420 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).;;.<
2a440 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>..
2a460 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
2a480 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-
2a4a0 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
2a4c0 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)
2a4e0 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-
2a500 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
2a520 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
2a540 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
2a560 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
2a580 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
2a5a0 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-
2a5c0 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
2a5e0 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]+")."\\)\\'")
2a600 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
2a620 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))
2a640 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
2a660 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
2a680 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
2a6a0 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.
2a6c0 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
2a6e0 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-
2a700 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
2a720 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)...
2a740 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
2a760 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>...
2a780 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
2a7a0 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
2a7c0 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))))..
2a7e0 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
2a800 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
2a820 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
2a840 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
2a860 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.
2a880 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
2a8a0 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
2a8c0 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
2a8e0 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))
2a900 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).;;.<
2a920 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
2a940 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
2a960 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))...
2a980 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
2a9a0 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
2a9c0 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
2a9e0 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
2aa00 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
2aa20 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).
2aa40 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
2aa60 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.
2aa80 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)
2aaa0 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
2aac0 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
2aae0 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
2ab00 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."..
2ab20 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.
2ab40 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.
2ab60 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
2ab80 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.
2aba0 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
2abc0 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
2abe0 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
2ac00 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
2ac20 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
2ac40 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
2ac60 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))
2ac80 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).;;
2aca0 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
2acc0 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.`
2ace0 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
2ad00 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.(
2ad20 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
2ad40 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>...
2ad60 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
2ad80 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.".
2ada0 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
2adc0 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
2ade0 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
2ae00 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.
2ae20 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'.
2ae40 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
2ae60 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
2ae80 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
2aea0 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'.
2aec0 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
2aee0 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
2af00 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))))).
2af20 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
2af40 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
2af60 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'
2af80 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.
2afa0 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.
2afc0 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)
2afe0 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
2b000 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
2b020 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
2b040 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
2b060 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
2b080 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>
2b0a0 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
2b0c0 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
2b0e0 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.(
2b100 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
2b120 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:
2b140 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
2b160 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
2b180 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))..
2b1a0 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
2b1c0 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
2b1e0 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
2b200 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.
2b220 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
2b240 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)))
2b260 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).;;.
2b280 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.
2b2a0 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
2b2c0 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
2b2e0 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
2b300 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.
2b320 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>..."
2b340 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
2b360 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."..
2b380 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.
2b3a0 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.
2b3c0 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
2b3e0 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.`
2b400 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
2b420 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
2b440 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
2b460 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
2b480 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
2b4a0 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.
2b4c0 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)
2b4e0 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)))))..
2b500 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
2b520 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.
2b540 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'.
2b560 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.(
2b580 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
2b5a0 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).
2b5c0 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
2b5e0 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
2b600 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
2b620 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
2b640 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
2b660 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
2b680 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
2b6a0 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
2b6c0 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
2b6e0 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).;
2b700 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
2b720 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
2b740 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
2b760 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
2b780 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\"."
2b7a0 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
2b7c0 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-
2b7e0 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+
2b800 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
2b820 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.
2b840 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
2b860 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)
2b880 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
2b8a0 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
2b8c0 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
2b8e0 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
2b900 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
2b920 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
2b940 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
2b960 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
2b980 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)])................
2b9a0 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
2b9c0 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
2b9e0 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)..
2ba00 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
2ba20 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.
2ba40 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).
2ba60 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)..
2ba80 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.
2baa0 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.(
2bac0 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
2bae0 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
2bb00 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
2bb20 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
2bb40 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*>.
2bb60 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
2bb80 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
2bba0 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'.
2bbc0 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.
2bbe0 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
2bc00 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).(
2bc20 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*
2bc40 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)))
2bc60 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
2bc80 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
2bca0 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
2bcc0 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
2bce0 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
2bd00 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
2bd20 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,.
2bd40 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."...(
2bd60 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
2bd80 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
2bda0 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)])...............
2bdc0 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
2bde0 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).
2be00 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).
2be20 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
2be40 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
2be60 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)
2be80 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).
2bea0 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
2bec0 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.
2bee0 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
2bf00 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
2bf20 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
2bf40 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
2bf60 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
2bf80 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-
2bfa0 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
2bfc0 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
2bfe0 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))..........
2c000 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....
2c020 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/".
2c040 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
2c060 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
2c080 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
2c0a0 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).;;.<
2c0c0 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>...
2c0e0 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
2c100 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.
2c120 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
2c140 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
2c160 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
2c180 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.
2c1a0 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
2c1c0 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
2c1e0 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
2c200 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
2c220 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-
2c240 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))
2c260 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
2c280 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
2c2a0 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
2c2c0 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
2c2e0 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
2c300 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
2c320 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
2c340 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.
2c360 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
2c380 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.
2c3a0 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
2c3c0 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
2c3e0 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.
2c400 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
2c420 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
2c440 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
2c460 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:.
2c480 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
2c4a0 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
2c4c0 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
2c4e0 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
2c500 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......
2c520 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.'
2c540 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))).....
2c560 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.
2c580 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
2c5a0 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.((
2c5c0 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
2c5e0 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
2c600 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./
2c620 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
2c640 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
2c660 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)..........
2c680 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..........
2c6a0 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)))))
2c6c0 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.(
2c6e0 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
2c700 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
2c720 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
2c740 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.
2c760 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
2c780 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.
2c7a0 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.........
2c7c0 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
2c7e0 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
2c800 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
2c820 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
2c840 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
2c860 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>..
2c880 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
2c8a0 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
2c8c0 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
2c8e0 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
2c900 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
2c920 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
2c940 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
2c960 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
2c980 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'
2c9a0 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
2c9c0 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
2c9e0 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.
2ca00 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'."
2ca20 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
2ca40 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...;;.`
2ca60 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
2ca80 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
2caa0 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
2cac0 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)).
2cae0 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
2cb00 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...................
2cb20 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
2cb40 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
2cb60 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
2cb80 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...
2cba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
2cbc0 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
2cbe0 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
2cc00 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
2cc20 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
2cc40 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))))).
2cc60 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
2cc80 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
2cca0 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.
2ccc0 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
2cce0 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
2cd00 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
2cd20 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
2cd40 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
2cd60 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
2cd80 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).;;
2cda0 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
2cdc0 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
2cde0 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.`
2ce00 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
2ce20 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
2ce40 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).;;.<
2ce60 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
2ce80 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
2cea0 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
2cec0 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.
2cee0 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
2cf00 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,
2cf20 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
2cf40 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
2cf60 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
2cf80 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
2cfa0 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>.
2cfc0 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
2cfe0 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
2d000 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
2d020 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.
2d040 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
2d060 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
2d080 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))..(
2d0a0 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
2d0c0 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-
2d0e0 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>...
2d100 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
2d120 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
2d140 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.
2d160 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
2d180 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
2d1a0 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.
2d1c0 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
2d1e0 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
2d200 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
2d220 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
2d240 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.
2d260 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
2d280 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.
2d2a0 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
2d2c0 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
2d2e0 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
2d300 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
2d320 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
2d340 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
2d360 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.
2d380 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
2d3a0 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
2d3c0 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
2d3e0 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
2d400 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.
2d420 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
2d440 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).;;.
2d460 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
2d480 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
2d4a0 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.`
2d4c0 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
2d4e0 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
2d500 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
2d520 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
2d540 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
2d560 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'
2d580 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
2d5a0 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
2d5c0 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
2d5e0 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
2d600 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
2d620 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
2d640 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.`
2d660 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
2d680 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
2d6a0 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
2d6c0 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).
2d6e0 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-
2d700 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
2d720 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
2d740 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.
2d760 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))
2d780 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
2d7a0 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
2d7c0 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
2d7e0 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
2d800 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
2d820 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
2d840 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
2d860 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.
2d880 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,
2d8a0 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
2d8c0 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
2d8e0 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
2d900 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
2d920 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
2d940 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.
2d960 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...
2d980 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..
2d9a0 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
2d9c0 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
2d9e0 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)..............
2da00 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
2da20 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
2da40 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
2da60 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)
2da80 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
2daa0 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))).....
2dac0 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).........
2dae0 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
2db00 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
2db20 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
2db40 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
2db60 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
2db80 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
2dba0 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-
2dbc0 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.
2dbe0 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
2dc00 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
2dc20 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
2dc40 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.
2dc60 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.
2dc80 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
2dca0 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
2dcc0 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
2dce0 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
2dd00 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
2dd20 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
2dd40 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
2dd60 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
2dd80 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
2dda0 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
2ddc0 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
2dde0 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)).
2de00 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
2de20 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
2de40 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
2de60 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.
2de80 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,
2dea0 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
2dec0 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
2dee0 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
2df00 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
2df20 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
2df40 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.
2df60 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
2df80 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
2dfa0 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
2dfc0 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
2dfe0 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
2e000 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-
2e020 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
2e040 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
2e060 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
2e080 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..........(
2e0a0 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
2e0c0 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...........
2e0e0 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
2e100 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)))..
2e120 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)))........
2e140 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)
2e160 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
2e180 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
2e1a0 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
2e1c0 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
2e1e0 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").......(
2e200 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
2e220 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.
2e240 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.......................
2e260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e400 63 6f 6d 70 61 74 2d 33 30 2e 31 2e 30 2e 31 2f 63 6f 6d 70 61 74 2e 69 6e 66 6f 00 00 00 00 00 compat-30.1.0.1/compat.info.....
2e420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e460 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
2e480 30 34 35 30 31 33 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 30 32 30 00 20 30 00 00 00 0450131.00000000000.014020..0...
2e4a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e4c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e4e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e500 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...................
2e520 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...................
2e540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e600 54 68 69 73 20 69 73 20 64 6f 63 6c 38 71 6d 30 70 2e 69 6e 66 6f 2c 20 70 72 6f 64 75 63 65 64 This.is.docl8qm0p.info,.produced
2e620 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
2e640 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
2e660 32 35 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 25.Free.Software.Foundation,.Inc
2e680 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
2e6a0 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.
2e6c0 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
2e6e0 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
2e700 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
2e720 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
2e740 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;.
2e760 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
2e780 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
2e7a0 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
2e7c0 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)...
2e7e0 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
2e800 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
2e820 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
2e840 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
2e860 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
2e880 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...
2e8a0 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
2e8c0 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
2e8e0 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)...
2e900 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
2e920 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
2e940 69 6c 65 3a 20 64 6f 63 6c 38 71 6d 30 70 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 54 6f 70 2c ile:.docl8qm0p.info,..Node:.Top,
2e960 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)
2e980 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.**************
2e9a0 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
2e9c0 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
2e9e0 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
2ea00 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
2ea20 6f 6e 64 69 6e 67 20 74 6f 20 76 65 72 73 69 6f 6e 0a 33 30 2e 31 2e 30 2e 31 2e 0a 0a 20 20 20 onding.to.version.30.1.0.1......
2ea40 43 6f 70 79 72 69 67 68 74 20 c2 a9 20 32 30 32 32 2d 32 30 32 35 20 46 72 65 65 20 53 6f 66 74 Copyright....2022-2025.Free.Soft
2ea60 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
2ea80 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
2eaa0 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
2eac0 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
2eae0 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,...
2eb00 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
2eb20 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
2eb40 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
2eb60 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
2eb80 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
2eba0 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
2ebc0 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
2ebe0 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
2ec00 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........
2ec20 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.
2ec40 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
2ec60 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
2ec80 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
2eca0 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
2ecc0 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
2ece0 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
2ed00 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
2ed20 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.
2ed40 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
2ed60 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::
2ed80 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
2eda0 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.
2edc0 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
2ede0 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.*.
2ee00 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
2ee20 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
2ee40 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::..............
2ee60 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
2ee80 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::........
2eea0 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
2eec0 20 66 6f 72 20 45 6d 61 63 73 20 32 39 2e 31 0a 2a 20 45 6d 61 63 73 20 33 30 2e 31 3a 3a 20 20 .for.Emacs.29.1.*.Emacs.30.1::..
2eee0 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
2ef00 75 70 70 6f 72 74 20 66 6f 72 20 45 6d 61 63 73 20 33 30 2e 31 0a 0a 0a 1f 0a 46 69 6c 65 3a 20 upport.for.Emacs.30.1.....File:.
2ef20 64 6f 63 6c 38 71 6d 30 70 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 49 6e 74 72 6f 64 75 63 74 docl8qm0p.info,..Node:.Introduct
2ef40 69 6f 6e 2c 20 20 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 ion,..Next:.Support,..Prev:.Top,
2ef60 20 20 55 70 3a 20 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 ..Up:.Top..1.Introduction.******
2ef80 2a 2a 2a 2a 2a 2a 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 ********..*.Menu:..*.Overview::.
2efa0 2a 20 55 73 61 67 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 *.Usage::.*.Limitations::....Fil
2efc0 65 3a 20 64 6f 63 6c 38 71 6d 30 70 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 4f 76 65 72 76 69 e:.docl8qm0p.info,..Node:.Overvi
2efe0 65 77 2c 20 20 4e 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 ew,..Next:.Usage,..Up:.Introduct
2f000 69 6f 6e 0a 0a 31 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 ion..1.1.Overview.============..
2f020 54 68 65 20 6f 62 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 The.objective.of.Compat.is.to.pr
2f040 6f 76 69 64 65 20 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 ovide."forwards.compatibility".l
2f060 69 62 72 61 72 79 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 ibrary.for.Emacs.Lisp...By.using
2f080 20 43 6f 6d 70 61 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 .Compat,.an.Elisp.package.does.n
2f0a0 6f 74 20 68 61 76 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 ot.have.to.make.the.decision.to.
2f0c0 65 69 74 68 65 72 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 either.use.new.and.useful.functi
2f0e0 6f 6e 61 6c 69 74 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 onality.or.support.old.versions.
2f100 6f 66 20 45 6d 61 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 of.Emacs......The.library.provid
2f120 65 73 20 73 75 70 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 es.support.back.until.Emacs.24.4
2f140 2e 20 20 54 68 65 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 ...The.intended.audience.are.pac
2f160 6b 61 67 65 20 64 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 kage.developers.that.are.interes
2f180 74 65 64 20 69 6e 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 ted.in.using.newer.developments,
2f1a0 20 77 69 74 68 6f 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 .without.having.to.break.compati
2f1c0 62 69 6c 69 74 79 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 6c 38 71 6d 30 70 2e 69 6e 66 6f 2c bility.....File:.docl8qm0p.info,
2f1e0 20 20 4e 6f 64 65 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 ..Node:.Usage,..Next:.Limitation
2f200 73 2c 20 20 50 72 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 s,..Prev:.Overview,..Up:.Introdu
2f220 63 74 69 6f 6e 0a 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 ction..1.2.Usage.=========..The.
2f240 69 6e 74 65 6e 64 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 intended.use-case.for.this.libra
2f260 72 79 20 69 73 20 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 ry.is.for.package.developers.to.
2f280 61 64 64 0a 61 73 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 add.as.a.dependency.in.the.heade
2f2a0 72 2e 20 20 54 68 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 r...The.version.of.the.Compat.li
2f2c0 62 72 61 72 79 0a 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 brary.mirrors.the.version.of.Ema
2f2e0 63 73 20 72 65 6c 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 cs.releases...The.current.versio
2f300 6e 20 6f 66 20 43 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 n.of.Compat.corresponds.to.the.c
2f320 75 72 72 65 6e 74 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 urrent.Emacs.release........;;.P
2f340 61 63 6b 61 67 65 2d 52 65 71 75 69 72 65 73 3a 20 28 28 65 6d 61 63 73 20 22 32 34 2e 34 22 29 ackage-Requires:.((emacs."24.4")
2f360 20 28 63 6f 6d 70 61 74 20 22 33 30 2e 31 2e 30 2e 31 22 29 29 0a 0a 20 20 20 54 68 65 72 65 20 .(compat."30.1.0.1")).....There.
2f380 69 73 20 6e 6f 20 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 is.no.need.to.depend.on....emacs
2f3a0 20 32 34 2e 34 e2 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 .24.4....specifically...One.can.
2f3c0 63 68 6f 6f 73 65 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 choose.any.newer.version,.if.fea
2f3e0 74 75 72 65 73 20 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 tures.not.provided.by.Compat.nec
2f400 65 73 73 69 74 61 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 essitate.it,.for.example.bug.fix
2f420 65 73 20 6f 72 20 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 es.or.UI.improvements......In.an
2f440 79 20 66 69 6c 65 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 y.file.where.compatibility.forms
2f460 20 61 72 65 20 75 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 .are.used,.a.......(require.'com
2f480 70 61 74 29 0a 0a 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 pat).....should.be.added.early.o
2f4a0 6e 2e 20 20 54 68 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 n...This.will.load.all.necessary
2f4c0 20 43 6f 6d 70 61 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 .Compat.definitions...Compat.loa
2f4e0 64 73 20 74 68 65 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 ds.the....seq....library.which.i
2f500 73 20 70 72 65 6c 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 s.preloaded.by.default.on.Emacs.
2f520 32 39 2e 20 20 4e 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 29...Note.that.if.Compat.is.inst
2f540 61 6c 6c 65 64 20 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 alled.on.a.recent.version.of.Ema
2f560 63 73 2c 20 61 6c 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 cs,.all.of.the.definitions.are.d
2f580 69 73 61 62 6c 65 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 isabled.at.compile.time,.such.th
2f5a0 61 74 20 6e 6f 20 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 at.no.negative.performance.impac
2f5c0 74 20 69 73 20 69 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 t.is.incurred......A.minimal.ver
2f5e0 73 69 6f 6e 20 6f 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 sion.of.Compat.will.be.present.i
2f600 6e 20 45 6d 61 63 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 n.Emacs.version.30.and.newer...P
2f620 61 63 6b 61 67 65 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 ackages.which.are.part.of.Emacs.
2f640 69 74 73 65 6c 66 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 itself.and.want.to.take.advantag
2f660 65 20 6f 66 20 43 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 e.of.Compat,.can.also.use....(re
2f680 71 75 69 72 65 20 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 quire.'compat)......The.advantag
2f6a0 65 20 6f 66 0a 74 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 e.of.the.inclusion.of.a.minimal.
2f6c0 43 6f 6d 70 61 74 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 Compat.in.Emacs.is.that.Compat.w
2f6e0 69 6c 6c 20 6e 6f 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 ill.not.be.installed.if.you.requ
2f700 69 72 65 20 61 20 76 65 72 73 69 6f 6e 20 6f 6c 64 65 72 20 6f 72 20 65 71 75 61 6c 20 74 68 61 ire.a.version.older.or.equal.tha
2f720 6e 20 74 68 65 20 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 n.the.current.Emacs.version...Fo
2f740 72 20 65 78 61 6d 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 r.example,.if.a.package.dependin
2f760 67 20 6f 6e 20 45 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 g.on.Emacs.25.1.and.Compat.29.1.
2f780 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 6f 6d 70 is.installed.on.Emacs.30.1,.Comp
2f7a0 61 74 20 77 69 6c 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 at.will.not.be.pulled.in.as.depe
2f7c0 6e 64 65 6e 63 79 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 ndency,.since.Emacs.30.1.already
2f7e0 20 70 72 6f 76 69 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 .provides.the.required.functiona
2f800 6c 69 74 79 2e 0a 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 lity......Compat.provides.replac
2f820 65 6d 65 6e 74 20 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 ement.functions.with.extended.fu
2f840 6e 63 74 69 6f 6e 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 nctionality.for.functions.that.a
2f860 72 65 20 61 6c 72 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 re.already.defined,.e.g.,....sor
2f880 74 e2 80 99 20 6f 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 t....or....assoc......These.func
2f8a0 74 69 6f 6e 73 20 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 tions.may.have.changed.their.cal
2f8c0 6c 69 6e 67 20 63 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 ling.convention.(additional.opti
2f8e0 6f 6e 61 6c 0a 61 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 onal.arguments).or.may.have.chan
2f900 67 65 64 20 74 68 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 ged.their.behavior...These.funct
2f920 69 6f 6e 73 20 6d 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 ions.must.be.looked.up.explicitl
2f940 79 20 77 69 74 68 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 y.with....compat-function....or.
2f960 63 61 6c 6c 65 64 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 called.explicitly.with....compat
2f980 2d 63 61 6c 6c e2 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 -call......We.call.them....Exten
2f9a0 64 65 64 20 44 65 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 ded.Definitions......In.contrast
2f9c0 2c 20 6e 65 77 6c 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 ,.newly....Added.Definitions....
2f9e0 63 61 6e 20 62 65 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 can.be.called.as.usual...The.Com
2fa00 70 61 74 20 6d 61 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 pat.manual.explicitly.documents.
2fa20 74 68 65 20 63 61 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 the.calling.convention.of.each.c
2fa40 6f 6d 70 61 74 69 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 ompatibility.function........(co
2fa60 6d 70 61 74 2d 63 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 mpat-call.assoc.key.alist.testfn
2fa80 29 20 3b 3b 20 43 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 ).;;.Call.extended.`assoc'......
2faa0 28 6d 61 70 63 61 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 (mapcan.fun.seq)................
2fac0 20 20 20 20 20 3b 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 .....;;.Call.newly.added.`mapcan
2fae0 27 0a 0a 20 2d 2d 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 '...--.Macro:.compat-call.fun.&r
2fb00 65 73 74 20 61 72 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 est.args......This.macro.calls.t
2fb20 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 46 55 4e 20 77 69 he.compatibility.function.FUN.wi
2fb40 74 68 20 41 52 47 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 th.ARGS...Many......functions.pr
2fb60 6f 76 69 64 65 64 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 ovided.by.Compat.can.be.called.d
2fb80 69 72 65 63 74 6c 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 irectly.without.this......macro.
2fba0 20 20 48 6f 77 65 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 ..However.in.the.case.where.Comp
2fbc0 61 74 20 70 72 6f 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 at.provides.an.alternative......
2fbe0 76 65 72 73 69 6f 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 version.of.an.existing.function,
2fc00 20 74 68 65 20 66 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 .the.function.call.has.to.go....
2fc20 20 20 74 68 72 6f 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 ..through....compat-call......Th
2fc40 69 73 20 68 61 70 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 is.happens.for.example.when.the.
2fc60 63 61 6c 6c 69 6e 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 calling......convention.of.a.fun
2fc80 63 74 69 6f 6e 20 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 ction.has.changed....--.Macro:.c
2fca0 6f 6d 70 61 74 2d 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 ompat-function.fun......This.mac
2fcc0 72 6f 20 72 65 74 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 ro.returns.the.compatibility.fun
2fce0 63 74 69 6f 6e 20 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 ction.symbol.for.FUN...See......
2fd00 e2 80 98 63 6f 6d 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 ...compat-call....for.a.more.con
2fd20 76 65 6e 69 65 6e 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 venient.macro.to.directly.call..
2fd40 20 20 20 20 63 6f 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 ....compatibility.functions.....
2fd60 20 49 66 20 43 6f 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 .If.Compat.is.used.in.Emacs.core
2fd80 20 70 61 63 6b 61 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 .packages,.the.macros....compat-
2fda0 63 61 6c 6c e2 80 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 call....and....compat-function..
2fdc0 99 20 77 69 6c 6c 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 ..will.be.available.in.Emacs.ver
2fde0 73 69 6f 6e 20 33 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 sion.30.and.newer......The.macro
2fe00 73 20 e2 80 98 63 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 s....compat-call....and....compa
2fe20 74 2d 66 75 6e 63 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 t-function....are.introduced.by.
2fe40 43 6f 6d 70 61 74 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 Compat,.since.Compat.does.not.ad
2fe60 76 69 73 65 20 6f 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 vise.or.override.existing.functi
2fe80 6f 6e 73 2e 0a 47 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 ons..Generally.Compat.is.written
2fea0 20 69 6e 20 64 65 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 .in.defensive.style.which.is.sup
2fec0 70 6f 73 65 64 20 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 posed.to.reduce.potential.breaka
2fee0 67 65 2c 20 61 6e 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 ge,.and.to.increase.the.chances.
2ff00 6f 66 20 73 74 61 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 of.staying.binary.compatible.acr
2ff20 6f 73 73 20 72 65 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 oss.releases...The.extensive.tes
2ff40 74 20 63 6f 76 65 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 t.coverage.ensures.that.we.can.m
2ff60 61 69 6e 74 61 69 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 aintain.high.quality,.which.is.c
2ff80 72 75 63 69 61 6c 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 rucial.for.Compat.which.is.not.r
2ffa0 65 73 74 72 69 63 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 estricted.to.a.namespace.like.us
2ffc0 75 61 6c 20 6c 69 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 ual.libraries......If.you.intend
2ffe0 20 74 6f 20 75 73 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 .to.use.a.compatibility.function
30000 20 69 6e 20 79 6f 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 .in.your.code.it.is.recommended.
30020 74 68 61 74 20 79 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 that.you.take.a.look.at.the.test
30040 20 73 75 69 74 65 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 .suite....compat-tests.el.....Th
30060 65 72 65 20 79 6f 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 ere.you.can.see.the.supported.ca
30080 6c 6c 69 6e 67 20 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 lling.conventions,.which.are.gua
300a0 72 61 6e 74 65 65 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 ranteed.to.work.on.the.supported
300c0 20 45 6d 61 63 73 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 .Emacs.versions...We.ensure.this
300e0 0a 75 73 69 6e 67 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 .using.continuous.integration...
30100 41 6c 6c 20 66 75 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 All.functions.provided.by.Compat
30120 20 61 72 65 0a 63 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 .are.covered.by.the.test.suite..
30140 20 54 68 65 72 65 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 .There.is.a.link.to.the.correspo
30160 6e 64 69 6e 67 20 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 nding.test.on.the.first.line.of.
30180 65 61 63 68 20 64 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 each.definition......You.may.wan
301a0 74 20 74 6f 20 73 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 t.to.subscribe.to.the.compat-ann
301c0 6f 75 6e 63 65 0a 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 ounce.(https://lists.sr.ht/~pkal
301e0 2f 63 6f 6d 70 61 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 /compat-announce).mailing.list.t
30200 6f 20 62 65 20 6e 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 o.be.notified.when.new.versions.
30220 61 72 65 20 72 65 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 are.released.or.relevant.changes
30240 20 61 72 65 20 6d 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 .are.made...We.also.provide.a.de
30260 76 65 6c 6f 70 6d 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 velopment.mailing.list.(https://
30280 6c 69 73 74 73 2e 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 lists.sr.ht/~pkal/compat-devel).
302a0 28 7e 70 6b 61 6c 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 (~pkal/compat-devel@lists.sr.ht.
302c0 3c 7e 70 6b 61 6c 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 <~pkal/compat-devel@lists.sr.ht>
302e0 29 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 6c 38 71 6d 30 70 2e 69 6e 66 6f 2c 20 20 4e 6f 64 ).....File:.docl8qm0p.info,..Nod
30300 65 3a 20 4c 69 6d 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 e:.Limitations,..Prev:.Usage,..U
30320 70 3a 20 49 6e 74 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 p:.Introduction..1.3.Limitations
30340 0a 3d 3d 3d 3d 3d 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 .===============..The.Compat.lib
30360 72 61 72 79 20 68 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 rary.has.a.number.of.limitations
30380 2e 20 20 43 6f 6d 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 ...Complete.backwards.compatibil
303a0 69 74 79 20 63 61 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 ity.cannot.be.provided.due.to.th
303c0 65 20 73 63 6f 70 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 e.scope.of.Compat.and.for.techni
303e0 63 61 6c 20 72 65 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 cal.reasons...The.scope.is.inten
30400 74 69 6f 6e 61 6c 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 tionally.restricted.in.order.to.
30420 6c 69 6d 69 74 20 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 limit.the.size.of.Compat.and.to.
30440 65 6e 73 75 72 65 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 ensure.that.the.library.stays.ma
30460 69 6e 74 61 69 6e 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 intainable......Emacs.version.24
30480 2e 34 20 69 73 20 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 .4.is.chosen.as.the.oldest.versi
304a0 6f 6e 20 73 75 70 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 on.supported.by.Compat,.since.El
304c0 69 73 70 20 68 61 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 isp.has.seen.significant.changes
304e0 20 61 74 20 74 68 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 .at.that.version...Since.24.4.Em
30500 61 63 73 20 6d 61 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 acs.major.versions.consistently.
30520 62 75 6d 70 20 74 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 bump.the.major.version.number..O
30540 6e 20 74 68 65 20 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 n.the.library.level,.subr-x.was.
30560 69 6e 74 72 6f 64 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 introduced.in.24.4...Most.popula
30580 72 20 45 6d 61 63 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 r.Emacs.packages.already.require
305a0 20 32 34 2e 34 20 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 .24.4.or.even.newer.versions.of.
305c0 45 6d 61 63 73 2e 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 Emacs..Supporting.for.more.histo
305e0 72 69 63 61 6c 20 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 rical.Emacs.versions.would.compl
30600 69 63 61 74 65 0a 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 icate.maintenance.while.only.few
30620 20 70 61 63 6b 61 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 .packages.and.users.would.benefi
30640 74 2e 0a 0a 20 20 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 t......Below.we.list.a.number.of
30660 20 72 65 61 73 6f 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 .reasons.why.certain.functionali
30680 74 79 20 63 61 6e 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 ty.cannot.be.provided...Note.tha
306a0 74 20 69 6e 20 73 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 t.in.some.special.cases.exceptio
306c0 6e 73 20 63 61 6e 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 ns.can.be.made.and.functions.can
306e0 20 73 74 69 6c 6c 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 .still.be.added.to.Compat.even.i
30700 66 20 74 68 65 79 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 f.they.satisfy.the.criteria.from
30720 20 74 68 65 20 6c 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 .the.list...In.case.you.miss.fun
30740 63 74 69 6f 6e 61 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 ctionality.which.you.think.shoul
30760 64 0a 62 65 6c 6f 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 d.belong.here,.a.*note.report:.D
30780 65 76 65 6c 6f 70 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 evelopment..would.be.much.apprec
307a0 69 61 74 65 64 2e 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 iated..........The.additional.fu
307c0 6e 63 74 69 6f 6e 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 nctionality.is.a.command.or.a.us
307e0 65 72 2d 66 61 63 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 er-facing.minor.or......major.mo
30800 64 65 2e 20 20 43 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 de...Compat.is.limited.to.functi
30820 6f 6e 61 6c 69 74 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 onality.on.the....library......l
30840 65 76 65 6c e2 80 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 evel......Generally.functions.pr
30860 6f 76 69 64 65 64 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 ovided.by.Compat.are......non-in
30880 74 65 72 61 63 74 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 teractive,.such.that.the.user.in
308a0 74 65 72 66 61 63 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 terface.(M-x).is.unaffected.....
308c0 20 62 79 20 74 68 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 .by.the.presence.of.Compat......
308e0 e2 80 a2 20 54 68 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 ....The.function.is.not.useful.f
30900 6f 72 20 70 61 63 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 or.package.authors.or.not.intend
30920 65 64 20 74 6f 0a 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 ed.to......be.used.by.packages,.
30940 62 75 74 20 69 73 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 but.is.only.useful.on.the.config
30960 75 72 61 74 69 6f 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 uration.level.......The.macro...
30980 98 73 65 74 6f 70 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 .setopt....is.such.an.example...
309a0 20 20 20 e2 80 a2 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 .......Private.(double.dashed).f
309c0 75 6e 63 74 69 6f 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 unctions.are.not.ported.back...I
309e0 66 20 43 6f 6d 70 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 f.Compat......includes.some.priv
30a00 61 74 65 20 66 75 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 ate.functions,.they.are.meant.pu
30a20 72 65 6c 79 20 66 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 rely.for.internal......usage....
30a40 20 20 e2 80 a2 20 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 ......The.added.or.extended.func
30a60 74 69 6f 6e 20 62 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 tion.belongs.to.the....applicati
30a80 6f 6e 20 6c 65 76 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 on.level.........and.not.the....
30aa0 6c 69 62 72 61 72 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 library.level......Features.whic
30ac0 68 20 61 72 65 20 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 h.are.not.preloaded......often.b
30ae0 65 6c 6f 6e 67 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 65 elong.to.the....application.leve
30b00 6c e2 80 9d 2e 20 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 l......Application.examples.are.
30b20 20 20 20 20 20 70 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 .....programming.modes.or.modes.
30b40 6c 69 6b 65 20 44 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 like.Dired,.IRC.and.Gnus...If.th
30b60 65 73 65 0a 20 20 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 ese......modes.are.extended.with
30b80 20 6e 65 77 20 66 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 .new.functions,.these.are.not.po
30ba0 72 74 65 64 20 62 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 rted.back..........An.existing.f
30bc0 75 6e 63 74 69 6f 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 unction.or.macro.was.extended.by
30be0 20 73 6f 6d 65 20 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 .some.new......functionality...T
30c00 6f 20 73 75 70 70 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 o.support.these.cases,.the.funct
30c20 69 6f 6e 20 6f 72 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 ion.or.macro.would......have.to.
30c40 62 65 20 61 64 76 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 be.advised...Since.this.is.invas
30c60 69 76 65 20 61 6e 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 ive.and.adds.significant......ov
30c80 65 72 68 65 61 64 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 erhead,.even.when.the.new.featur
30ca0 65 20 69 73 20 6e 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 e.is.not.used,.Compat.does.not..
30cc0 20 20 20 20 75 73 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 ....use.advices...As.a.compromis
30ce0 65 2c 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 6e 64 20 6d e,.compatibility.functions.and.m
30d00 61 63 72 6f 73 0a 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 acros......with.a.changed.callin
30d20 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 63 61 6e 20 62 65 20 g.convention.or.behavior.can.be.
30d40 61 63 63 65 73 73 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 accessed.via......the....compat-
30d60 66 75 6e 63 74 69 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 function....and....compat-call..
30d80 99 20 6d 61 63 72 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 ..macros...In.this.manual.we....
30da0 20 20 63 61 6c 6c 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 ..call.such.definitions....Exten
30dc0 64 65 64 20 44 65 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 ded.Definitions......An.example.
30de0 69 73 20 74 68 65 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 is.the......function....plist-ge
30e00 74 e2 80 99 2e 20 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 t......Note.that.extended.functi
30e20 6f 6e 73 20 61 72 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 ons.are.subject.to......closer.s
30e40 63 72 75 74 69 6e 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 crutiny,.since.their.usage.via..
30e60 80 98 63 6f 6d 70 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 ..compat-call....is.not......com
30e80 70 6c 65 74 65 6c 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 pletely.painless...If.a.particul
30ea0 61 72 20 65 78 74 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 ar.extended.function.does.not...
30ec0 20 20 20 73 65 65 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 ...see.much.usage.or.the.extensi
30ee0 6f 6e 20 79 69 65 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 on.yields.only.marginal.benefits
30f00 2c 20 77 65 0a 20 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 ,.we......may.not.provide.it.as.
30f20 70 61 72 74 20 6f 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 part.of.Compat..........Bug.fixe
30f40 73 20 61 72 65 20 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 s.are.usually.not.ported.back.as
30f60 20 70 61 72 74 20 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 .part.of.Compat...Sometimes.....
30f80 20 6c 69 62 72 61 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 .library.functions.show.wrong.be
30fa0 68 61 76 69 6f 72 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 havior.for.edge.cases...In.those
30fc0 0a 20 20 20 20 20 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 ......cases.Compat.could.in.prin
30fe0 63 69 70 6c 65 20 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 ciple.provide.a.compatibility.fu
31000 6e 63 74 69 6f 6e 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 nction......which.is.invoked.via
31020 20 e2 80 98 63 6f 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 ....compat-call......Such.extend
31040 65 64 20 64 65 66 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 ed.definitions......would.increa
31060 73 65 20 74 68 65 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 se.the.maintenance.burden.of.Com
31080 70 61 74 2e 20 20 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 pat...At.the.same.time......the.
310a0 62 65 6e 65 66 69 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 benefits.would.be.small.given.th
310c0 61 74 20 43 6f 6d 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 at.Compat.does.not.override.....
310e0 20 65 78 69 73 74 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 .existing.definitions..........T
31100 68 65 20 64 65 66 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 he.definition.belongs.to.an.Emac
31120 73 20 63 6f 72 65 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 s.core.package,.which.is.also...
31140 20 20 20 64 69 73 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 ...distributed.via.ELPA..Compat.
31160 64 6f 65 73 20 6e 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 does.not.have.to.provide.backwar
31180 64 0a 20 20 20 20 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 d......compatibility.for.core.pa
311a0 63 6b 61 67 65 73 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 ckages.since.the.updated.package
311c0 20 63 61 6e 20 62 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 .can.be......installed.directly.
311e0 66 72 6f 6d 20 45 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 from.ELPA..Examples.include.the.
31200 6c 69 62 72 61 72 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 libraries.xref,......project,.se
31220 71 2c 20 6d 61 70 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 q,.map.and.transient..........Ne
31240 77 20 66 75 6e 63 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 w.functionality.depends.on.an.en
31260 74 69 72 65 20 6e 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 tire.new,.non-trivial.core......
31280 6c 69 62 72 61 72 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 library,.which.is.infeasible.to.
312a0 64 75 70 6c 69 63 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 duplicate.within.Compat...If.a..
312c0 20 20 20 20 62 61 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 ....backport.of.such.a.library.i
312e0 73 20 72 65 71 75 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 s.required,.the.preferred.approa
31300 63 68 20 69 73 0a 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 ch.is......to.either.release.the
31320 20 6c 69 62 72 61 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 .library.separately.on.GNU.ELPA.
31340 61 73 20 61 20 63 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 as.a.core......package.or.as.a.s
31360 65 70 61 72 61 74 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 eparately.maintained.GNU.ELPA.pa
31380 63 6b 61 67 65 2e 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 ckage...An.example......is.the.i
313a0 73 6f 38 36 30 31 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 so8601.library..........New.func
313c0 74 69 6f 6e 61 6c 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 tionality.was.implemented.in.the
313e0 20 43 20 63 6f 72 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 .C.core,.or.depends.on......exte
31400 72 6e 61 6c 20 6c 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 rnal.libraries.that.cannot.be.re
31420 61 73 6f 6e 61 62 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 asonably.duplicated.in.the......
31440 73 63 6f 70 65 20 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 scope.of.a.compatibility.library
31460 2e 20 20 53 6f 6d 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 ...Sometimes.new.functions.on.th
31480 65 20 43 0a 20 20 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 e.C......level.rely.on.internal.
314a0 64 61 74 61 20 73 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 data.structures,.which.we.cannot
314c0 20 61 63 63 65 73 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 .access,......rendering.a.backpo
314e0 72 74 20 69 6d 70 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 rt.impossible...For.example.a.mi
31500 73 73 69 6e 67 20 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 ssing.libxml.or......libtreesitt
31520 65 72 20 63 61 6e 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 er.cannot.be.emulated..........T
31540 68 65 20 73 65 6d 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 he.semantics.of.Elisp.changed.on
31560 20 61 20 64 65 65 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 .a.deep.level...For.example.the.
31580 20 20 20 20 20 61 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 .....addition.of.big.integer.sup
315a0 70 6f 72 74 20 69 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 port.in.Emacs.27.1.cannot.be.rep
315c0 6c 69 63 61 74 65 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 licated......on.the.level.of.Com
315e0 70 61 74 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 6c 38 71 6d 30 70 2e 69 6e 66 6f 2c 20 20 4e pat.....File:.docl8qm0p.info,..N
31600 6f 64 65 3a 20 53 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 ode:.Support,..Next:.Development
31620 2c 20 20 50 72 65 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 ,..Prev:.Introduction,..Up:.Top.
31640 0a 32 20 53 75 70 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 .2.Support.*********..This.secti
31660 6f 6e 20 67 6f 65 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 on.goes.into.the.features.that.C
31680 6f 6d 70 61 74 20 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 ompat.manages.and.doesn...t.mana
316a0 67 65 20 74 6f 20 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 ge.to.provide.for.each.Emacs.ver
316c0 73 69 6f 6e 2e 0a 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 sion...*.Menu:..*.Emacs.25.1::..
316e0 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
31700 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 32 36 upport.for.Emacs.25.1.*.Emacs.26
31720 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
31740 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 45 6d lity.support.for.Emacs.26.1.*.Em
31760 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 6f 6d acs.27.1::...................Com
31780 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 37 2e patibility.support.for.Emacs.27.
317a0 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 20 20 1.*.Emacs.28.1::................
317c0 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
317e0 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 20 20 cs.28.1.*.Emacs.29.1::..........
31800 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 20 66 .........Compatibility.support.f
31820 6f 72 20 45 6d 61 63 73 20 32 39 2e 31 0a 2a 20 45 6d 61 63 73 20 33 30 2e 31 3a 3a 20 20 20 20 or.Emacs.29.1.*.Emacs.30.1::....
31840 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 75 70 ...............Compatibility.sup
31860 70 6f 72 74 20 66 6f 72 20 45 6d 61 63 73 20 33 30 2e 31 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 port.for.Emacs.30.1....File:.doc
31880 6c 38 71 6d 30 70 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 45 6d 61 63 73 20 32 35 2e 31 2c 20 l8qm0p.info,..Node:.Emacs.25.1,.
318a0 20 4e 65 78 74 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 .Next:.Emacs.26.1,..Up:.Support.
318c0 0a 32 2e 31 20 45 6d 61 63 73 20 32 35 2e 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a .2.1.Emacs.25.1.==============..
318e0 32 2e 31 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 2.1.1.Added.Definitions.--------
31900 2d 2d 2d 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 ---------------..The.following.f
31920 75 6e 63 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 unctions.and.macros.are.implemen
31940 74 65 64 20 69 6e 20 45 6d 61 63 73 20 32 35 2e 31 2e 20 20 54 68 65 73 65 0a 66 75 6e 63 74 69 ted.in.Emacs.25.1...These.functi
31960 6f 6e 73 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 ons.are.made.available.by.Compat
31980 20 6f 6e 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 35 .on.Emacs.versions.older.than.25
319a0 2e 31 2e 0a 0a 20 2d 2d 20 55 73 65 72 20 4f 70 74 69 6f 6e 3a 20 74 65 78 74 2d 71 75 6f 74 69 .1....--.User.Option:.text-quoti
319c0 6e 67 2d 73 74 79 6c 65 0a 20 20 20 20 20 54 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 69 73 20 ng-style......The.value.of.this.
319e0 75 73 65 72 20 6f 70 74 69 6f 6e 20 69 73 20 61 20 73 79 6d 62 6f 6c 20 74 68 61 74 20 73 70 65 user.option.is.a.symbol.that.spe
31a00 63 69 66 69 65 73 20 74 68 65 20 73 74 79 6c 65 0a 20 20 20 20 20 45 6d 61 63 73 20 73 68 6f 75 cifies.the.style......Emacs.shou
31a20 6c 64 20 75 73 65 20 66 6f 72 20 73 69 6e 67 6c 65 20 71 75 6f 74 65 73 20 69 6e 20 74 68 65 20 ld.use.for.single.quotes.in.the.
31a40 77 6f 72 64 69 6e 67 20 6f 66 20 68 65 6c 70 20 61 6e 64 0a 20 20 20 20 20 6d 65 73 73 61 67 65 wording.of.help.and......message
31a60 73 2e 20 20 49 66 20 74 68 65 20 6f 70 74 69 6f 6e e2 80 99 73 20 76 61 6c 75 65 20 69 73 20 e2 s...If.the.option...s.value.is..
31a80 80 98 63 75 72 76 65 e2 80 99 2c 20 74 68 65 20 73 74 79 6c 65 20 69 73 20 e2 80 98 6c 69 6b 65 ..curve...,.the.style.is....like
31aa0 0a 20 20 20 20 20 74 68 69 73 e2 80 99 20 77 69 74 68 20 63 75 72 76 65 64 20 73 69 6e 67 6c 65 ......this....with.curved.single
31ac0 20 71 75 6f 74 65 73 2e 20 20 49 66 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 e2 80 98 73 74 72 .quotes...If.the.value.is....str
31ae0 61 69 67 68 74 e2 80 99 2c 20 74 68 65 0a 20 20 20 20 20 73 74 79 6c 65 20 69 73 20 27 6c 69 6b aight...,.the......style.is.'lik
31b00 65 20 74 68 69 73 27 20 77 69 74 68 20 73 74 72 61 69 67 68 74 20 61 70 6f 73 74 72 6f 70 68 65 e.this'.with.straight.apostrophe
31b20 73 2e 20 20 49 66 20 74 68 65 20 76 61 6c 75 65 20 69 73 0a 20 20 20 20 20 e2 80 98 67 72 61 76 s...If.the.value.is.........grav
31b40 65 e2 80 99 2c 20 71 75 6f 74 65 73 20 61 72 65 20 6e 6f 74 20 74 72 61 6e 73 6c 61 74 65 64 20 e...,.quotes.are.not.translated.
31b60 61 6e 64 20 74 68 65 20 73 74 79 6c 65 20 69 73 20 60 6c 69 6b 65 20 74 68 69 73 27 0a 20 20 20 and.the.style.is.`like.this'....
31b80 20 20 77 69 74 68 20 67 72 61 76 65 20 61 63 63 65 6e 74 20 61 6e 64 20 61 70 6f 73 74 72 6f 70 ..with.grave.accent.and.apostrop
31ba0 68 65 2c 20 74 68 65 20 73 74 61 6e 64 61 72 64 20 73 74 79 6c 65 20 62 65 66 6f 72 65 20 45 6d he,.the.standard.style.before.Em
31bc0 61 63 73 0a 20 20 20 20 20 76 65 72 73 69 6f 6e 20 32 35 2e 20 20 54 68 65 20 64 65 66 61 75 6c acs......version.25...The.defaul
31be0 74 20 76 61 6c 75 65 20 e2 80 98 6e 69 6c e2 80 99 20 61 63 74 73 20 6c 69 6b 65 20 e2 80 98 63 t.value....nil....acts.like....c
31c00 75 72 76 65 e2 80 99 20 69 66 20 63 75 72 76 65 64 0a 20 20 20 20 20 73 69 6e 67 6c 65 20 71 75 urve....if.curved......single.qu
31c20 6f 74 65 73 20 73 65 65 6d 20 74 6f 20 62 65 20 64 69 73 70 6c 61 79 61 62 6c 65 2c 20 61 6e 64 otes.seem.to.be.displayable,.and
31c40 20 6c 69 6b 65 20 e2 80 98 67 72 61 76 65 e2 80 99 20 6f 74 68 65 72 77 69 73 65 2e 0a 0a 20 20 .like....grave....otherwise.....
31c60 20 20 20 54 68 69 73 20 6f 70 74 69 6f 6e 20 69 73 20 75 73 65 66 75 6c 20 6f 6e 20 70 6c 61 74 ...This.option.is.useful.on.plat
31c80 66 6f 72 6d 73 20 74 68 61 74 20 68 61 76 65 20 70 72 6f 62 6c 65 6d 73 20 77 69 74 68 20 63 75 forms.that.have.problems.with.cu
31ca0 72 76 65 64 0a 20 20 20 20 20 71 75 6f 74 65 73 2e 20 20 59 6f 75 20 63 61 6e 20 63 75 73 74 6f rved......quotes...You.can.custo
31cc0 6d 69 7a 65 20 69 74 20 66 72 65 65 6c 79 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 79 6f 75 72 mize.it.freely.according.to.your
31ce0 20 70 65 72 73 6f 6e 61 6c 0a 20 20 20 20 20 70 72 65 66 65 72 65 6e 63 65 2e 0a 0a 20 2d 2d 20 .personal......preference....--.
31d00 46 75 6e 63 74 69 6f 6e 3a 20 72 65 67 69 6f 6e 2d 62 6f 75 6e 64 73 0a 20 20 20 20 20 52 65 74 Function:.region-bounds......Ret
31d20 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 72 65 67 69 6f 6e urn.the.boundaries.of.the.region
31d40 2e 20 20 56 61 6c 75 65 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 6f 6e 65 20 6f 72 0a 20 20 20 ...Value.is.a.list.of.one.or....
31d60 20 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 e2 80 ..more.cons.cells.of.the.form...
31d80 98 28 73 74 61 72 74 20 2e 20 65 6e 64 29 e2 80 99 2e 20 20 49 74 20 77 69 6c 6c 20 68 61 76 65 .(start...end)......It.will.have
31da0 20 6d 6f 72 65 0a 20 20 20 20 20 74 68 61 6e 20 6f 6e 65 20 63 6f 6e 73 20 63 65 6c 6c 20 77 68 .more......than.one.cons.cell.wh
31dc0 65 6e 20 74 68 65 20 72 65 67 69 6f 6e 20 69 73 20 6e 6f 6e 2d 63 6f 6e 74 69 67 75 6f 75 73 2c en.the.region.is.non-contiguous,
31de0 20 73 65 65 0a 20 20 20 20 20 e2 80 98 72 65 67 69 6f 6e 2d 6e 6f 6e 63 6f 6e 74 69 67 75 6f 75 .see.........region-noncontiguou
31e00 73 2d 70 e2 80 99 20 61 6e 64 20 e2 80 98 65 78 74 72 61 63 74 2d 72 65 63 74 61 6e 67 6c 65 2d s-p....and....extract-rectangle-
31e20 62 6f 75 6e 64 73 e2 80 99 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 72 65 67 69 6f 6e bounds.......--.Function:.region
31e40 2d 6e 6f 6e 63 6f 6e 74 69 67 75 6f 75 73 2d 70 0a 20 20 20 20 20 52 65 74 75 72 6e 20 6e 6f 6e -noncontiguous-p......Return.non
31e60 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 76 65 -nil.if.the.region.contains.seve
31e80 72 61 6c 20 70 69 65 63 65 73 2e 20 20 41 6e 20 65 78 61 6d 70 6c 65 0a 20 20 20 20 20 69 73 20 ral.pieces...An.example......is.
31ea0 61 20 72 65 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 a.rectangular.region.handled.as.
31ec0 61 20 6c 69 73 74 20 6f 66 20 73 65 70 61 72 61 74 65 20 63 6f 6e 74 69 67 75 6f 75 73 0a 20 20 a.list.of.separate.contiguous...
31ee0 20 20 20 72 65 67 69 6f 6e 73 20 66 6f 72 20 65 61 63 68 20 6c 69 6e 65 2e 0a 0a 20 2d 2d 20 4d ...regions.for.each.line....--.M
31f00 61 63 72 6f 3a 20 73 61 76 65 2d 6d 61 72 6b 2d 61 6e 64 2d 65 78 63 75 72 73 69 6f 6e 20 62 6f acro:.save-mark-and-excursion.bo
31f20 64 79 2e 2e 2e 0a 20 20 20 20 20 54 68 69 73 20 6d 61 63 72 6f 20 69 73 20 6c 69 6b 65 20 e2 80 dy.........This.macro.is.like...
31f40 98 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e e2 80 99 2c 20 62 75 74 20 61 6c 73 6f 20 73 61 76 .save-excursion...,.but.also.sav
31f60 65 73 20 61 6e 64 20 72 65 73 74 6f 72 65 73 0a 20 20 20 20 20 74 68 65 20 6d 61 72 6b 20 6c 6f es.and.restores......the.mark.lo
31f80 63 61 74 69 6f 6e 20 61 6e 64 20 e2 80 98 6d 61 72 6b 2d 61 63 74 69 76 65 e2 80 99 2e 20 20 54 cation.and....mark-active......T
31fa0 68 69 73 20 6d 61 63 72 6f 20 64 6f 65 73 20 77 68 61 74 0a 20 20 20 20 20 e2 80 98 73 61 76 65 his.macro.does.what.........save
31fc0 2d 65 78 63 75 72 73 69 6f 6e e2 80 99 20 64 69 64 20 62 65 66 6f 72 65 20 45 6d 61 63 73 20 32 -excursion....did.before.Emacs.2
31fe0 35 2e 31 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 66 6f 72 6d 61 74 2d 6d 65 73 73 61 5.1....--.Function:.format-messa
32000 67 65 20 73 74 72 69 6e 67 20 26 72 65 73 74 20 6f 62 6a 65 63 74 73 0a 20 20 20 20 20 54 68 69 ge.string.&rest.objects......Thi
32020 73 20 66 75 6e 63 74 69 6f 6e 20 61 63 74 73 20 6c 69 6b 65 20 e2 80 98 66 6f 72 6d 61 74 e2 80 s.function.acts.like....format..
32040 99 2c 20 65 78 63 65 70 74 20 69 74 20 61 6c 73 6f 20 63 6f 6e 76 65 72 74 73 20 61 6e 79 20 67 .,.except.it.also.converts.any.g
32060 72 61 76 65 0a 20 20 20 20 20 61 63 63 65 6e 74 73 20 28 60 29 20 61 6e 64 20 61 70 6f 73 74 72 rave......accents.(`).and.apostr
32080 6f 70 68 65 73 20 28 27 29 20 69 6e 20 53 54 52 49 4e 47 20 61 73 20 70 65 72 20 74 68 65 20 76 ophes.(').in.STRING.as.per.the.v
320a0 61 6c 75 65 20 6f 66 0a 20 20 20 20 20 e2 80 98 74 65 78 74 2d 71 75 6f 74 69 6e 67 2d 73 74 79 alue.of.........text-quoting-sty
320c0 6c 65 e2 80 99 2e 0a 0a 20 20 20 20 20 54 79 70 69 63 61 6c 6c 79 20 67 72 61 76 65 20 61 63 63 le...........Typically.grave.acc
320e0 65 6e 74 20 61 6e 64 20 61 70 6f 73 74 72 6f 70 68 65 20 69 6e 20 74 68 65 20 66 6f 72 6d 61 74 ent.and.apostrophe.in.the.format
32100 20 74 72 61 6e 73 6c 61 74 65 20 74 6f 0a 20 20 20 20 20 6d 61 74 63 68 69 6e 67 20 63 75 72 76 .translate.to......matching.curv
32120 65 64 20 71 75 6f 74 65 73 2c 20 65 2e 67 2e 2c 20 22 4d 69 73 73 69 6e 67 20 60 25 73 27 22 20 ed.quotes,.e.g.,."Missing.`%s'".
32140 6d 69 67 68 74 20 72 65 73 75 6c 74 20 69 6e 0a 20 20 20 20 20 22 4d 69 73 73 69 6e 67 20 e2 80 might.result.in......"Missing...
32160 98 66 6f 6f e2 80 99 22 2e 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 54 65 78 74 20 51 75 6f .foo..."...*Note.(elisp)Text.Quo
32180 74 69 6e 67 20 53 74 79 6c 65 3a 3a 2c 20 66 6f 72 20 68 6f 77 20 74 6f 0a 20 20 20 20 20 69 6e ting.Style::,.for.how.to......in
321a0 66 6c 75 65 6e 63 65 20 6f 72 20 69 6e 68 69 62 69 74 20 74 68 69 73 20 74 72 61 6e 73 6c 61 74 fluence.or.inhibit.this.translat
321c0 69 6f 6e 2e 0a 0a 20 20 20 20 20 2a 6e 6f 74 65 20 28 65 6c 69 73 70 29 46 6f 72 6d 61 74 74 69 ion........*note.(elisp)Formatti
321e0 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 6e 3a 20 64 69 72 ng.Strings::....--.Function:.dir
32200 65 63 74 6f 72 79 2d 6e 61 6d 65 2d 70 20 66 69 6c 65 6e 61 6d 65 0a 20 20 20 20 20 54 68 69 73 ectory-name-p.filename......This
32220 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 6c e2 80 99 20 .function.returns.non-...nil....
32240 69 66 20 46 49 4c 45 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 if.FILENAME.ends.with.a.director
32260 79 0a 20 20 20 20 20 73 65 70 61 72 61 74 6f 72 20 63 68 61 72 61 63 74 65 72 2e 20 20 54 68 69 y......separator.character...Thi
32280 73 20 69 73 20 74 68 65 20 66 6f 72 77 61 72 64 20 73 6c 61 73 68 20 e2 80 98 2f e2 80 99 20 6f s.is.the.forward.slash..../....o
322a0 6e 20 47 4e 55 20 61 6e 64 0a 20 20 20 20 20 6f 74 68 65 72 20 50 4f 53 49 58 2d 6c 69 6b 65 20 n.GNU.and......other.POSIX-like.
322c0 73 79 73 74 65 6d 73 3b 20 4d 53 2d 57 69 6e 64 6f 77 73 20 61 6e 64 20 4d 53 2d 44 4f 53 20 72 systems;.MS-Windows.and.MS-DOS.r
322e0 65 63 6f 67 6e 69 7a 65 20 62 6f 74 68 20 74 68 65 0a 20 20 20 20 20 66 6f 72 77 61 72 64 20 73 ecognize.both.the......forward.s
32300 6c 61 73 68 20 61 6e 64 20 74 68 65 20 62 61 63 6b 73 6c 61 73 68 20 e2 80 98 5c e2 80 99 20 61 lash.and.the.backslash....\....a
32320 73 20 64 69 72 65 63 74 6f 72 79 20 73 65 70 61 72 61 74 6f 72 73 2e 0a 0a 20 20 20 20 20 2a 4e s.directory.separators........*N
32340 6f 74 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 ote.(elisp)Directory.Names::....
32360 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 73 74 72 69 6e 67 2d 67 72 65 61 74 65 72 70 20 73 74 72 --.Function:.string-greaterp.str
32380 69 6e 67 31 20 73 74 72 69 6e 67 32 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 ing1.string2......This.function.
323a0 72 65 74 75 72 6e 73 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 63 6f 6d 70 61 72 69 6e 67 20 returns.the.result.of.comparing.
323c0 53 54 52 49 4e 47 31 20 61 6e 64 20 53 54 52 49 4e 47 32 0a 20 20 20 20 20 69 6e 20 74 68 65 20 STRING1.and.STRING2......in.the.
323e0 6f 70 70 6f 73 69 74 65 20 6f 72 64 65 72 2c 20 69 2e 65 2e 2c 20 69 74 20 69 73 20 65 71 75 69 opposite.order,.i.e.,.it.is.equi
32400 76 61 6c 65 6e 74 20 74 6f 20 63 61 6c 6c 69 6e 67 0a 20 20 20 20 20 e2 80 98 28 73 74 72 69 6e valent.to.calling.........(strin
32420 67 2d 6c 65 73 73 70 20 53 54 52 49 4e 47 32 20 53 54 52 49 4e 47 31 29 e2 80 99 2e 0a 0a 20 20 g-lessp.STRING2.STRING1)........
32440 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 54 65 78 74 20 43 6f 6d 70 61 72 69 73 6f 6e 3a ...*Note.(elisp)Text.Comparison:
32460 3a 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 77 69 74 68 2d 66 69 6c 65 2d 6d 6f 64 65 73 20 6d :....--.Macro:.with-file-modes.m
32480 6f 64 65 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 76 61 6c ode.body.........This.macro.eval
324a0 75 61 74 65 73 20 74 68 65 20 42 4f 44 59 20 66 6f 72 6d 73 20 77 69 74 68 20 74 68 65 20 64 65 uates.the.BODY.forms.with.the.de
324c0 66 61 75 6c 74 20 70 65 72 6d 69 73 73 69 6f 6e 73 0a 20 20 20 20 20 66 6f 72 20 6e 65 77 20 66 fault.permissions......for.new.f
324e0 69 6c 65 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 20 28 77 iles.temporarily.set.to.MODES.(w
32500 68 6f 73 65 20 76 61 6c 75 65 20 69 73 20 61 73 20 66 6f 72 0a 20 20 20 20 20 e2 80 98 73 65 74 hose.value.is.as.for.........set
32520 2d 66 69 6c 65 2d 6d 6f 64 65 73 e2 80 99 20 61 62 6f 76 65 29 2e 20 20 57 68 65 6e 20 66 69 6e -file-modes....above)...When.fin
32540 69 73 68 65 64 2c 20 69 74 20 72 65 73 74 6f 72 65 73 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 0a ished,.it.restores.the.original.
32560 20 20 20 20 20 64 65 66 61 75 6c 74 20 66 69 6c 65 20 70 65 72 6d 69 73 73 69 6f 6e 73 2c 20 61 .....default.file.permissions,.a
32580 6e 64 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 6c 61 73 74 nd.returns.the.value.of.the.last
325a0 20 66 6f 72 6d 20 69 6e 0a 20 20 20 20 20 42 4f 44 59 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 69 .form.in......BODY........This.i
325c0 73 20 75 73 65 66 75 6c 20 66 6f 72 20 63 72 65 61 74 69 6e 67 20 70 72 69 76 61 74 65 20 66 69 s.useful.for.creating.private.fi
325e0 6c 65 73 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 les,.for.example........*Note.(e
32600 6c 69 73 70 29 43 68 61 6e 67 69 6e 67 20 46 69 6c 65 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 lisp)Changing.Files::....--.Func
32620 74 69 6f 6e 3a 20 61 6c 69 73 74 2d 67 65 74 20 6b 65 79 20 61 6c 69 73 74 20 26 6f 70 74 69 6f tion:.alist-get.key.alist.&optio
32640 6e 61 6c 20 64 65 66 61 75 6c 74 20 72 65 6d 6f 76 65 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e nal.default.remove......This.fun
32660 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 e2 80 98 61 73 73 71 e2 80 99 2e 20 ction.is.similar.to....assq.....
32680 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 69 61 74 69 6f 6e 0a .It.finds.the.first.association.
326a0 20 20 20 20 20 e2 80 98 28 4b 45 59 20 2e 20 56 41 4c 55 45 29 e2 80 99 20 62 79 20 63 6f 6d 70 ........(KEY...VALUE)....by.comp
326c0 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 65 6e 74 73 2c 20 61 aring.KEY.with.ALIST.elements,.a
326e0 6e 64 2c 20 69 66 0a 20 20 20 20 20 66 6f 75 6e 64 2c 20 72 65 74 75 72 6e 73 20 74 68 65 20 56 nd,.if......found,.returns.the.V
32700 41 4c 55 45 20 6f 66 20 74 68 61 74 20 61 73 73 6f 63 69 61 74 69 6f 6e 2e 20 20 49 66 20 6e 6f ALUE.of.that.association...If.no
32720 20 61 73 73 6f 63 69 61 74 69 6f 6e 20 69 73 0a 20 20 20 20 20 66 6f 75 6e 64 2c 20 74 68 65 20 .association.is......found,.the.
32740 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 44 45 46 41 55 4c 54 2e 0a 0a 20 20 20 20 20 function.returns.DEFAULT........
32760 54 68 69 73 20 69 73 20 61 20 67 65 6e 65 72 61 6c 69 7a 65 64 20 76 61 72 69 61 62 6c 65 20 28 This.is.a.generalized.variable.(
32780 2a 6e 6f 74 65 20 28 65 6c 69 73 70 29 47 65 6e 65 72 61 6c 69 7a 65 64 0a 20 20 20 20 20 56 61 *note.(elisp)Generalized......Va
327a0 72 69 61 62 6c 65 73 3a 3a 29 20 74 68 61 74 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 63 riables::).that.can.be.used.to.c
327c0 68 61 6e 67 65 20 61 20 76 61 6c 75 65 20 77 69 74 68 20 e2 80 98 73 65 74 66 e2 80 99 2e 20 20 hange.a.value.with....setf......
327e0 57 68 65 6e 0a 20 20 20 20 20 75 73 69 6e 67 20 69 74 20 74 6f 20 73 65 74 20 61 20 76 61 6c 75 When......using.it.to.set.a.valu
32800 65 2c 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 20 6e 6f 6e 2d e,.optional.argument.REMOVE.non-
32820 e2 80 98 6e 69 6c e2 80 99 20 6d 65 61 6e 73 0a 20 20 20 20 20 74 6f 20 72 65 6d 6f 76 65 20 4b ...nil....means......to.remove.K
32840 45 59 e2 80 99 73 20 61 73 73 6f 63 69 61 74 69 6f 6e 20 66 72 6f 6d 20 41 4c 49 53 54 20 69 66 EY...s.association.from.ALIST.if
32860 20 74 68 65 20 6e 65 77 20 76 61 6c 75 65 20 69 73 20 e2 80 98 65 71 6c e2 80 99 20 74 6f 0a 20 .the.new.value.is....eql....to..
32880 20 20 20 20 44 45 46 41 55 4c 54 2e 0a 0a 20 20 20 20 20 2a 6e 6f 74 65 20 28 65 6c 69 73 70 29 ....DEFAULT........*note.(elisp)
328a0 41 73 73 6f 63 69 61 74 69 6f 6e 20 4c 69 73 74 73 3a 3a 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a Association.Lists::....--.Macro:
328c0 20 69 66 2d 6c 65 74 20 28 62 69 6e 64 69 6e 67 73 2e 2e 2e 29 20 74 68 65 6e 20 26 72 65 73 74 .if-let.(bindings...).then.&rest
328e0 20 65 6c 73 65 2e 2e 2e 0a 20 20 20 20 20 41 73 20 77 69 74 68 20 e2 80 98 6c 65 74 2a e2 80 99 .else.........As.with....let*...
32900 2c 20 42 49 4e 44 49 4e 47 53 20 77 69 6c 6c 20 63 6f 6e 73 69 73 74 20 6f 66 20 e2 80 98 28 53 ,.BINDINGS.will.consist.of....(S
32920 59 4d 42 4f 4c 20 56 41 4c 55 45 2d 46 4f 52 4d 29 e2 80 99 0a 20 20 20 20 20 65 6e 74 72 69 65 YMBOL.VALUE-FORM).........entrie
32940 73 20 74 68 61 74 20 61 72 65 20 65 76 61 6c 75 61 74 65 64 20 61 6e 64 20 62 6f 75 6e 64 20 73 s.that.are.evaluated.and.bound.s
32960 65 71 75 65 6e 74 69 61 6c 6c 79 2e 20 20 49 66 20 61 6c 6c 0a 20 20 20 20 20 56 41 4c 55 45 2d equentially...If.all......VALUE-
32980 46 4f 52 4d 20 65 76 61 6c 75 61 74 65 20 74 6f 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 76 FORM.evaluate.to.non-...nil....v
329a0 61 6c 75 65 73 2c 20 74 68 65 6e 20 54 48 45 4e 20 69 73 20 65 76 61 6c 75 61 74 65 64 20 61 73 alues,.then.THEN.is.evaluated.as
329c0 0a 20 20 20 20 20 77 65 72 65 20 74 68 65 20 63 61 73 65 20 77 69 74 68 20 61 20 72 65 67 75 6c ......were.the.case.with.a.regul
329e0 61 72 20 e2 80 98 6c 65 74 2a e2 80 99 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 77 69 74 68 20 61 ar....let*....expression,.with.a
32a00 6c 6c 20 74 68 65 0a 20 20 20 20 20 76 61 72 69 61 62 6c 65 73 20 62 6f 75 6e 64 2e 20 20 49 66 ll.the......variables.bound...If
32a20 20 61 6e 79 20 56 41 4c 55 45 2d 46 4f 52 4d 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 e2 80 98 .any.VALUE-FORM.evaluates.to....
32a40 6e 69 6c e2 80 99 2c 20 45 4c 53 45 20 69 73 0a 20 20 20 20 20 65 76 61 6c 75 61 74 65 64 2c 20 nil...,.ELSE.is......evaluated,.
32a60 77 69 74 68 6f 75 74 20 61 6e 79 20 62 6f 75 6e 64 20 76 61 72 69 61 62 6c 65 73 2e 0a 0a 20 20 without.any.bound.variables.....
32a80 20 20 20 41 20 62 69 6e 64 69 6e 67 20 6d 61 79 20 61 6c 73 6f 20 6f 70 74 69 6f 6e 61 6c 6c 79 ...A.binding.may.also.optionally
32aa0 20 64 72 6f 70 20 74 68 65 20 53 59 4d 42 4f 4c 2c 20 61 6e 64 20 73 69 6d 70 6c 69 66 79 20 74 .drop.the.SYMBOL,.and.simplify.t
32ac0 6f 0a 20 20 20 20 20 e2 80 98 28 56 41 4c 55 45 2d 46 4f 52 4d 29 e2 80 99 20 69 66 20 6f 6e 6c o.........(VALUE-FORM)....if.onl
32ae0 79 20 74 68 65 20 74 65 73 74 20 69 73 20 6f 66 20 69 6e 74 65 72 65 73 74 2e 0a 0a 20 20 20 20 y.the.test.is.of.interest.......
32b00 20 46 6f 72 20 74 68 65 20 73 61 6b 65 20 6f 66 20 62 61 63 6b 77 61 72 64 73 20 63 6f 6d 70 61 .For.the.sake.of.backwards.compa
32b20 74 69 62 69 6c 69 74 79 2c 20 69 74 20 69 73 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 77 72 69 74 tibility,.it.is.possible.to.writ
32b40 65 20 61 0a 20 20 20 20 20 73 69 6e 67 6c 65 20 62 69 6e 64 69 6e 67 20 77 69 74 68 6f 75 74 20 e.a......single.binding.without.
32b60 61 20 62 69 6e 64 69 6e 67 20 6c 69 73 74 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 2d 6c a.binding.list:............(if-l
32b80 65 74 2a 20 28 53 59 4d 42 4f 4c 20 28 74 65 73 74 29 29 20 66 6f 6f 20 62 61 72 29 0a 20 20 20 et*.(SYMBOL.(test)).foo.bar)....
32ba0 20 20 20 20 20 20 20 e2 89 a1 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 2d 6c 65 74 2a 20 28 28 .....................(if-let*.((
32bc0 53 59 4d 42 4f 4c 20 28 74 65 73 74 29 29 29 20 66 6f 6f 20 62 61 72 29 0a 0a 20 2d 2d 20 4d 61 SYMBOL.(test))).foo.bar)...--.Ma
32be0 63 72 6f 3a 20 77 68 65 6e 2d 6c 65 74 20 28 62 69 6e 64 69 6e 67 73 2e 2e 2e 29 20 26 72 65 73 cro:.when-let.(bindings...).&res
32c00 74 20 62 6f 64 79 0a 20 20 20 20 20 41 73 20 77 69 74 68 20 e2 80 98 77 68 65 6e e2 80 99 2c 20 t.body......As.with....when...,.
32c20 69 66 20 6f 6e 65 20 69 73 20 6f 6e 6c 79 20 69 6e 74 65 72 65 73 74 65 64 20 69 6e 20 74 68 65 if.one.is.only.interested.in.the
32c40 20 63 61 73 65 20 77 68 65 72 65 20 61 6c 6c 0a 20 20 20 20 20 42 49 4e 44 49 4e 47 53 20 61 72 .case.where.all......BINDINGS.ar
32c60 65 20 6e 6f 6e 2d 6e 69 6c 2e 20 20 4f 74 68 65 72 77 69 73 65 20 42 49 4e 44 49 4e 47 53 20 61 e.non-nil...Otherwise.BINDINGS.a
32c80 72 65 20 69 6e 74 65 72 70 72 65 74 65 64 20 6a 75 73 74 20 61 73 0a 20 20 20 20 20 74 68 65 79 re.interpreted.just.as......they
32ca0 20 61 72 65 20 62 79 20 e2 80 98 69 66 2d 6c 65 74 2a e2 80 99 2e 0a 0a 20 2d 2d 20 46 75 6e 63 .are.by....if-let*.......--.Func
32cc0 74 69 6f 6e 3a 20 68 61 73 68 2d 74 61 62 6c 65 2d 65 6d 70 74 79 20 68 61 73 68 2d 74 61 62 6c tion:.hash-table-empty.hash-tabl
32ce0 65 0a 20 20 20 20 20 43 68 65 63 6b 20 77 68 65 74 68 65 72 20 48 41 53 48 2d 54 41 42 4c 45 20 e......Check.whether.HASH-TABLE.
32d00 69 73 20 65 6d 70 74 79 20 28 68 61 73 20 30 20 65 6c 65 6d 65 6e 74 73 29 2e 0a 0a 20 2d 2d 20 is.empty.(has.0.elements)....--.
32d20 4d 61 63 72 6f 3a 20 74 68 72 65 61 64 2d 66 69 72 73 74 20 26 72 65 73 74 20 66 6f 72 6d 73 0a Macro:.thread-first.&rest.forms.
32d40 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 67 6c 65 .....Combine.FORMS.into.a.single
32d60 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 9d 20 65 .expression.by....threading....e
32d80 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 66 69 72 73 74 5f 20 ach.element......as.the._first_.
32da0 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 45 6c argument.of.their.successor...El
32dc0 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 72 20 ements.of.FORMS.can......either.
32de0 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 6f 72 be.an.list.of.an.atom........For
32e00 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 6e 67 .example,.consider.the.threading
32e20 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 65 6e .expression.and.it...s.equivalen
32e40 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 20 20 t......macro.expansion:.........
32e60 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 0a 20 ...(thread-first.............5..
32e80 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 28 2f ...........(+.20).............(/
32ea0 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 20 28 .25).............-.............(
32ec0 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 20 28 +.40)).........................(
32ee0 2b 20 28 2d 20 28 2f 20 28 2b 20 35 20 32 30 29 20 32 35 29 29 20 34 30 29 0a 0a 20 20 20 20 20 +.(-.(/.(+.5.20).25)).40).......
32f00 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 74 20 Note.how.the.single....-....got.
32f20 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 68 72 converted.into.a.list.before.thr
32f40 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 20 61 eading.......This.example.uses.a
32f60 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 72 65 rithmetic.functions,.but....thre
32f80 61 64 2d 66 69 72 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 74 ad-first....is.not......restrict
32fa0 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 20 ed.to.arithmetic.or.side-effect.
32fc0 66 72 65 65 20 63 6f 64 65 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 74 68 72 65 61 64 2d 6c 61 free.code....--.Macro:.thread-la
32fe0 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 20 46 4f 52 4d st.&rest.forms......Combine.FORM
33000 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 62 79 20 e2 80 S.into.a.single.expression.by...
33020 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 20 20 20 20 20 .threading....each.element......
33040 61 73 20 74 68 65 20 5f 6c 61 73 74 5f 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 74 68 65 69 72 20 as.the._last_.argument.of.their.
33060 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 52 4d 53 20 63 61 successor...Elements.of.FORMS.ca
33080 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 66 20 61 6e 20 61 n......either.be.an.list.of.an.a
330a0 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 6e 73 69 64 65 72 tom........For.example,.consider
330c0 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 61 6e 64 20 69 74 .the.threading.expression.and.it
330e0 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 20 65 78 70 61 6e ...s.equivalent......macro.expan
33100 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 69 72 73 74 0a 20 sion:............(thread-first..
33120 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 2b 20 32 30 29 0a ...........5.............(+.20).
33140 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 20 20 20 20 2d ............(/.25).............-
33160 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 20 20 20 20 20 e2 .............(+.40))............
33180 89 a1 0a 20 20 20 20 20 20 20 20 20 20 28 2b 20 34 30 20 28 2d 20 28 2f 20 32 35 20 28 2b 20 32 .............(+.40.(-.(/.25.(+.2
331a0 30 20 35 29 29 29 29 0a 0a 20 20 20 20 20 4e 6f 74 65 20 68 6f 77 20 74 68 65 20 73 69 6e 67 6c 0.5)))).......Note.how.the.singl
331c0 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 74 6f 20 61 20 6c e....-....got.converted.into.a.l
331e0 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 20 54 68 69 73 20 ist.before.threading.......This.
33200 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 6e 63 74 69 6f 6e example.uses.arithmetic.function
33220 73 2c 20 62 75 74 20 e2 80 98 74 68 72 65 61 64 2d 6c 61 73 74 e2 80 99 20 69 73 20 6e 6f 74 0a s,.but....thread-last....is.not.
33240 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 65 74 69 63 20 6f 72 .....restricted.to.arithmetic.or
33260 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 20 2d 2d 20 46 75 6e .side-effect.free.code....--.Fun
33280 63 74 69 6f 6e 3a 20 6d 61 63 72 6f 65 78 70 61 6e 64 2d 31 20 66 6f 72 6d 20 26 6f 70 74 69 6f ction:.macroexpand-1.form.&optio
332a0 6e 61 6c 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 nal.environment......This.functi
332c0 6f 6e 20 65 78 70 61 6e 64 73 20 6d 61 63 72 6f 73 20 6c 69 6b 65 20 e2 80 98 6d 61 63 72 6f 65 on.expands.macros.like....macroe
332e0 78 70 61 6e 64 e2 80 99 2c 20 62 75 74 20 69 74 20 6f 6e 6c 79 0a 20 20 20 20 20 70 65 72 66 6f xpand...,.but.it.only......perfo
33300 72 6d 73 20 6f 6e 65 20 73 74 65 70 20 6f 66 20 74 68 65 20 65 78 70 61 6e 73 69 6f 6e 3a 20 69 rms.one.step.of.the.expansion:.i
33320 66 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 61 6e 6f 74 68 65 72 20 6d 61 63 72 6f 0a 20 20 f.the.result.is.another.macro...
33340 20 20 20 63 61 6c 6c 2c 20 e2 80 98 6d 61 63 72 6f 65 78 70 61 6e 64 2d 31 e2 80 99 20 77 69 6c ...call,....macroexpand-1....wil
33360 6c 20 6e 6f 74 20 65 78 70 61 6e 64 20 69 74 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 45 78 70 l.not.expand.it........*Note.Exp
33380 61 6e 73 69 6f 6e 3a 20 28 65 6c 69 73 70 29 45 78 70 61 6e 73 69 6f 6e 2e 0a 0a 20 2d 2d 20 46 ansion:.(elisp)Expansion....--.F
333a0 75 6e 63 74 69 6f 6e 3a 20 6d 61 63 72 6f 65 78 70 2d 71 75 6f 74 65 20 65 0a 20 20 20 20 20 52 unction:.macroexp-quote.e......R
333c0 65 74 75 72 6e 20 61 6e 20 65 78 70 72 65 73 73 69 6f 6e 20 45 20 73 75 63 68 20 74 68 61 74 20 eturn.an.expression.E.such.that.
333e0 e2 80 98 28 65 76 61 6c 20 65 29 e2 80 99 20 69 73 20 56 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 ...(eval.e)....is.V....--.Functi
33400 6f 6e 3a 20 6d 61 63 72 6f 65 78 70 2d 70 61 72 73 65 20 62 6f 64 79 0a 20 20 20 20 20 50 61 72 on:.macroexp-parse.body......Par
33420 73 65 20 61 20 66 75 6e 63 74 69 6f 6e 20 42 4f 44 59 20 69 6e 74 6f 20 e2 80 98 28 64 65 63 6c se.a.function.BODY.into....(decl
33440 61 72 61 74 69 6f 6e 73 20 2e 20 65 78 70 73 29 e2 80 99 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 arations...exps).......--.Functi
33460 6f 6e 3a 20 62 6f 6f 6c 2d 76 65 63 74 6f 72 20 26 72 65 73 74 20 6f 62 6a 65 63 74 73 0a 20 20 on:.bool-vector.&rest.objects...
33480 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 6e 64 20 72 65 74 ...This.function.creates.and.ret
334a0 75 72 6e 73 20 61 20 62 6f 6f 6c 2d 76 65 63 74 6f 72 20 77 68 6f 73 65 20 65 6c 65 6d 65 6e 74 urns.a.bool-vector.whose.element
334c0 73 20 61 72 65 0a 20 20 20 20 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 2c 20 4f 42 4a 45 43 54 s.are......the.arguments,.OBJECT
334e0 53 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 42 6f 6f 6c 2d 56 65 63 74 6f S........*Note.(elisp)Bool-Vecto
33500 72 73 3a 3a 2e 0a 0a 32 2e 31 2e 32 20 4d 69 73 73 69 6e 67 20 44 65 66 69 6e 69 74 69 6f 6e 73 rs::...2.1.2.Missing.Definitions
33520 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 2d 0a 0a 43 6f 6d 70 .-------------------------..Comp
33540 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 72 74 20 66 6f 72 20 at.does.not.provide.support.for.
33560 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 65 73 0a 69 6d 70 6c the.following.Lisp.features.impl
33580 65 6d 65 6e 74 65 64 20 69 6e 20 32 35 2e 31 3a 0a 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e emented.in.25.1:.........The.fun
335a0 63 74 69 6f 6e 20 e2 80 98 6d 61 63 72 6f 65 78 70 2d 6d 61 63 72 6f 65 78 70 61 6e 64 e2 80 99 ction....macroexp-macroexpand...
335c0 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 6d 61 63 72 6f 20 e2 80 98 6d 61 63 72 6f 65 78 70 2d 6c .........The.macro....macroexp-l
335e0 65 74 32 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 et2*............The.function....
33600 64 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 2d 72 65 63 75 72 73 69 76 65 6c 79 e2 80 99 2e 0a directory-files-recursively.....
33620 20 20 20 e2 80 a2 20 4e 65 77 20 e2 80 98 70 63 61 73 65 e2 80 99 20 70 61 74 74 65 72 6e 73 2e .......New....pcase....patterns.
33640 0a 20 20 20 e2 80 a2 20 54 68 65 20 68 6f 6f 6b 20 e2 80 98 70 72 65 66 69 78 2d 63 6f 6d 6d 61 ........The.hook....prefix-comma
33660 6e 64 2d 65 63 68 6f 2d 6b 65 79 73 74 72 6f 6b 65 73 2d 66 75 6e 63 74 69 6f 6e 73 e2 80 99 20 nd-echo-keystrokes-functions....
33680 61 6e 64 0a 20 20 20 20 20 e2 80 98 70 72 65 66 69 78 2d 63 6f 6d 6d 61 6e 64 2d 70 72 65 73 65 and.........prefix-command-prese
336a0 72 76 65 2d 73 74 61 74 65 2d 68 6f 6f 6b e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 68 6f rve-state-hook............The.ho
336c0 6f 6b 20 e2 80 98 70 72 65 2d 72 65 64 69 73 70 6c 61 79 2d 66 75 6e 63 74 69 6f 6e 73 e2 80 99 ok....pre-redisplay-functions...
336e0 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 6d 61 6b 65 2d 70 72 .........The.function....make-pr
33700 6f 63 65 73 73 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 53 75 70 70 6f 72 74 20 66 6f 72 20 74 68 65 ocess............Support.for.the
33720 20 76 61 72 69 61 62 6c 65 20 e2 80 98 69 6e 68 69 62 69 74 2d 6d 65 73 73 61 67 65 e2 80 99 2e .variable....inhibit-message....
33740 0a 20 20 20 e2 80 a2 20 54 68 65 20 e2 80 98 64 65 66 69 6e 65 2d 69 6e 6c 69 6e 65 e2 80 99 20 ........The....define-inline....
33760 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 functionality.........The.functi
33780 6f 6e 73 20 e2 80 98 73 74 72 69 6e 67 2d 63 6f 6c 6c 61 74 65 2d 6c 65 73 73 70 e2 80 99 20 61 ons....string-collate-lessp....a
337a0 6e 64 20 e2 80 98 73 74 72 69 6e 67 2d 63 6f 6c 6c 61 74 65 2d 65 71 75 61 6c 70 e2 80 99 2e 0a nd....string-collate-equalp.....
337c0 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 66 75 6e 63 61 6c 6c 2d 69 .......The.function....funcall-i
337e0 6e 74 65 72 61 63 74 69 76 65 6c 79 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 nteractively............The.func
33800 74 69 6f 6e 20 e2 80 98 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 77 69 74 68 2d 62 69 tion....buffer-substring-with-bi
33820 64 69 2d 63 6f 6e 74 65 78 74 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 di-context............The.functi
33840 6f 6e 20 e2 80 98 66 6f 6e 74 2d 69 6e 66 6f e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 on....font-info............The.f
33860 75 6e 63 74 69 6f 6e 20 e2 80 98 64 65 66 61 75 6c 74 2d 66 6f 6e 74 2d 77 69 64 74 68 e2 80 99 unction....default-font-width...
33880 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 77 69 6e 64 6f 77 2d .........The.function....window-
338a0 66 6f 6e 74 2d 68 65 69 67 68 74 e2 80 99 20 61 6e 64 20 e2 80 98 77 69 6e 64 6f 77 2d 66 6f 6e font-height....and....window-fon
338c0 74 2d 77 69 64 74 68 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 t-width............The.function.
338e0 e2 80 98 77 69 6e 64 6f 77 2d 6d 61 78 2d 63 68 61 72 73 2d 70 65 72 2d 6c 69 6e 65 e2 80 99 2e ...window-max-chars-per-line....
33900 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 65 74 2d 62 69 6e 61 ........The.function....set-bina
33920 72 79 2d 6d 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 73 ry-mode............The.functions
33940 20 e2 80 98 62 75 66 66 65 72 70 6f 73 2d 74 6f 2d 66 69 6c 65 70 6f 73 e2 80 99 20 61 6e 64 20 ....bufferpos-to-filepos....and.
33960 e2 80 98 66 69 6c 65 70 6f 73 2d 74 6f 2d 62 75 66 66 65 72 70 6f 73 e2 80 99 2e 0a 20 20 20 e2 ...filepos-to-bufferpos.........
33980 80 a2 20 54 68 65 20 e2 80 98 74 68 75 6e 6b e2 80 99 20 6c 69 62 72 61 72 79 2e 0a 0a 1f 0a 46 ...The....thunk....library.....F
339a0 69 6c 65 3a 20 64 6f 63 6c 38 71 6d 30 70 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 45 6d 61 63 ile:.docl8qm0p.info,..Node:.Emac
339c0 73 20 32 36 2e 31 2c 20 20 4e 65 78 74 3a 20 45 6d 61 63 73 20 32 37 2e 31 2c 20 20 50 72 65 76 s.26.1,..Next:.Emacs.27.1,..Prev
339e0 3a 20 45 6d 61 63 73 20 32 35 2e 31 2c 20 20 55 70 3a 20 53 75 70 70 6f 72 74 0a 0a 32 2e 32 20 :.Emacs.25.1,..Up:.Support..2.2.
33a00 45 6d 61 63 73 20 32 36 2e 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 32 2e 32 2e 31 Emacs.26.1.==============..2.2.1
33a20 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 2d 2d .Added.Definitions.-------------
33a40 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 74 69 ----------..The.following.functi
33a60 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 20 69 ons.and.macros.are.implemented.i
33a80 6e 20 45 6d 61 63 73 20 32 36 2e 31 2e 20 20 54 68 65 73 65 0a 66 75 6e 63 74 69 6f 6e 73 20 61 n.Emacs.26.1...These.functions.a
33aa0 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 20 45 re.made.available.by.Compat.on.E
33ac0 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 36 2e 31 2e 0a 0a macs.versions.older.than.26.1...
33ae0 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 61 73 73 6f 63 2d 64 65 6c 65 74 65 2d 61 6c 6c 20 6b .--.Function:.assoc-delete-all.k
33b00 65 79 20 61 6c 69 73 74 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6c ey.alist......This.function.is.l
33b20 69 6b 65 20 e2 80 98 61 73 73 71 2d 64 65 6c 65 74 65 2d 61 6c 6c e2 80 99 20 65 78 63 65 70 74 ike....assq-delete-all....except
33b40 20 74 68 61 74 20 69 74 20 75 73 65 73 20 e2 80 98 65 71 75 61 6c e2 80 99 0a 20 20 20 20 20 74 .that.it.uses....equal.........t
33b60 6f 20 63 6f 6d 70 61 72 65 20 65 6c 65 6d 65 6e 74 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f o.compare.elements....--.Functio
33b80 6e 3a 20 72 65 61 64 2d 61 6e 73 77 65 72 20 71 75 65 73 74 69 6f 6e 20 61 6e 73 77 65 72 73 0a n:.read-answer.question.answers.
33ba0 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 70 72 6f 6d 70 74 73 20 74 68 65 20 75 .....This.function.prompts.the.u
33bc0 73 65 72 20 77 69 74 68 20 74 65 78 74 20 69 6e 20 51 55 45 53 54 49 4f 4e 2c 20 77 68 69 63 68 ser.with.text.in.QUESTION,.which
33be0 20 73 68 6f 75 6c 64 0a 20 20 20 20 20 65 6e 64 20 69 6e 20 74 68 65 20 e2 80 98 53 50 43 e2 80 .should......end.in.the....SPC..
33c00 99 20 63 68 61 72 61 63 74 65 72 2e 20 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 6e 63 6c 75 ..character...The.function.inclu
33c20 64 65 73 20 69 6e 20 74 68 65 20 70 72 6f 6d 70 74 0a 20 20 20 20 20 74 68 65 20 70 6f 73 73 69 des.in.the.prompt......the.possi
33c40 62 6c 65 20 72 65 73 70 6f 6e 73 65 73 20 69 6e 20 41 4e 53 57 45 52 53 20 62 79 20 61 70 70 65 ble.responses.in.ANSWERS.by.appe
33c60 6e 64 69 6e 67 20 74 68 65 6d 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 0a 20 20 20 20 20 51 55 nding.them.to.the.end.of......QU
33c80 45 53 54 49 4f 4e 2e 20 20 54 68 65 20 70 6f 73 73 69 62 6c 65 20 72 65 73 70 6f 6e 73 65 73 20 ESTION...The.possible.responses.
33ca0 61 72 65 20 70 72 6f 76 69 64 65 64 20 69 6e 20 41 4e 53 57 45 52 53 20 61 73 20 61 6e 0a 20 20 are.provided.in.ANSWERS.as.an...
33cc0 20 20 20 61 6c 69 73 74 20 77 68 6f 73 65 20 65 6c 65 6d 65 6e 74 73 20 61 72 65 20 6f 66 20 74 ...alist.whose.elements.are.of.t
33ce0 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 6f 72 6d 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 28 4c he.following.form:............(L
33d00 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 4d 45 53 ONG-ANSWER.SHORT-ANSWER.HELP-MES
33d20 53 41 47 45 29 0a 0a 20 20 20 20 20 77 68 65 72 65 20 4c 4f 4e 47 2d 41 4e 53 57 45 52 20 69 73 SAGE).......where.LONG-ANSWER.is
33d40 20 74 68 65 20 63 6f 6d 70 6c 65 74 65 20 74 65 78 74 20 6f 66 20 74 68 65 20 75 73 65 72 20 72 .the.complete.text.of.the.user.r
33d60 65 73 70 6f 6e 73 65 2c 20 61 0a 20 20 20 20 20 73 74 72 69 6e 67 3b 20 53 48 4f 52 54 2d 41 4e esponse,.a......string;.SHORT-AN
33d80 53 57 45 52 20 69 73 20 61 20 73 68 6f 72 74 20 66 6f 72 6d 20 6f 66 20 74 68 65 20 73 61 6d 65 SWER.is.a.short.form.of.the.same
33da0 20 72 65 73 70 6f 6e 73 65 2c 20 61 20 73 69 6e 67 6c 65 0a 20 20 20 20 20 63 68 61 72 61 63 74 .response,.a.single......charact
33dc0 65 72 20 6f 72 20 61 20 66 75 6e 63 74 69 6f 6e 20 6b 65 79 3b 20 61 6e 64 20 48 45 4c 50 2d 4d er.or.a.function.key;.and.HELP-M
33de0 45 53 53 41 47 45 20 69 73 20 74 68 65 20 74 65 78 74 20 74 68 61 74 0a 20 20 20 20 20 64 65 73 ESSAGE.is.the.text.that......des
33e00 63 72 69 62 65 73 20 74 68 65 20 6d 65 61 6e 69 6e 67 20 6f 66 20 74 68 65 20 61 6e 73 77 65 72 cribes.the.meaning.of.the.answer
33e20 2e 20 20 49 66 20 74 68 65 20 76 61 72 69 61 62 6c 65 0a 20 20 20 20 20 e2 80 98 72 65 61 64 2d ...If.the.variable.........read-
33e40 61 6e 73 77 65 72 2d 73 68 6f 72 74 e2 80 99 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 answer-short....is.non-...nil...
33e60 2c 20 74 68 65 20 70 72 6f 6d 70 74 20 77 69 6c 6c 20 73 68 6f 77 20 74 68 65 20 73 68 6f 72 74 ,.the.prompt.will.show.the.short
33e80 0a 20 20 20 20 20 76 61 72 69 61 6e 74 73 20 6f 66 20 74 68 65 20 70 6f 73 73 69 62 6c 65 20 61 ......variants.of.the.possible.a
33ea0 6e 73 77 65 72 73 20 61 6e 64 20 74 68 65 20 75 73 65 72 20 69 73 20 65 78 70 65 63 74 65 64 20 nswers.and.the.user.is.expected.
33ec0 74 6f 20 74 79 70 65 0a 20 20 20 20 20 74 68 65 20 73 69 6e 67 6c 65 20 63 68 61 72 61 63 74 65 to.type......the.single.characte
33ee0 72 73 2f 6b 65 79 73 20 73 68 6f 77 6e 20 69 6e 20 74 68 65 20 70 72 6f 6d 70 74 3b 20 6f 74 68 rs/keys.shown.in.the.prompt;.oth
33f00 65 72 77 69 73 65 20 74 68 65 0a 20 20 20 20 20 70 72 6f 6d 70 74 20 77 69 6c 6c 20 73 68 6f 77 erwise.the......prompt.will.show
33f20 20 74 68 65 20 6c 6f 6e 67 20 76 61 72 69 61 6e 74 73 20 6f 66 20 74 68 65 20 61 6e 73 77 65 72 .the.long.variants.of.the.answer
33f40 73 2c 20 61 6e 64 20 74 68 65 20 75 73 65 72 20 69 73 0a 20 20 20 20 20 65 78 70 65 63 74 65 64 s,.and.the.user.is......expected
33f60 20 74 6f 20 74 79 70 65 20 74 68 65 20 66 75 6c 6c 20 74 65 78 74 20 6f 66 20 6f 6e 65 20 6f 66 .to.type.the.full.text.of.one.of
33f80 20 74 68 65 20 61 6e 73 77 65 72 73 20 61 6e 64 20 65 6e 64 20 62 79 0a 20 20 20 20 20 70 72 65 .the.answers.and.end.by......pre
33fa0 73 73 69 6e 67 20 3c 52 45 54 3e 2e 20 20 49 66 20 e2 80 98 75 73 65 2d 64 69 61 6c 6f 67 2d 62 ssing.<RET>...If....use-dialog-b
33fc0 6f 78 e2 80 99 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 61 6e 64 20 74 68 69 73 ox....is.non-...nil...,.and.this
33fe0 0a 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 69 6e 76 6f 6b 65 64 20 62 79 20 6d 6f ......function.was.invoked.by.mo
34000 75 73 65 20 65 76 65 6e 74 73 2c 20 74 68 65 20 71 75 65 73 74 69 6f 6e 20 61 6e 64 20 74 68 65 use.events,.the.question.and.the
34020 20 61 6e 73 77 65 72 73 0a 20 20 20 20 20 77 69 6c 6c 20 62 65 20 64 69 73 70 6c 61 79 65 64 20 .answers......will.be.displayed.
34040 69 6e 20 61 20 47 55 49 20 64 69 61 6c 6f 67 20 62 6f 78 2e 0a 0a 20 20 20 20 20 54 68 65 20 66 in.a.GUI.dialog.box........The.f
34060 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 74 65 78 74 20 6f 66 20 74 68 65 20 unction.returns.the.text.of.the.
34080 4c 4f 4e 47 2d 41 4e 53 57 45 52 20 73 65 6c 65 63 74 65 64 20 62 79 20 74 68 65 0a 20 20 20 20 LONG-ANSWER.selected.by.the.....
340a0 20 75 73 65 72 2c 20 72 65 67 61 72 64 6c 65 73 73 20 6f 66 20 77 68 65 74 68 65 72 20 6c 6f 6e .user,.regardless.of.whether.lon
340c0 67 20 6f 72 20 73 68 6f 72 74 20 61 6e 73 77 65 72 73 20 77 65 72 65 20 73 68 6f 77 6e 20 69 6e g.or.short.answers.were.shown.in
340e0 20 74 68 65 0a 20 20 20 20 20 70 72 6f 6d 70 74 20 61 6e 64 20 74 79 70 65 64 20 62 79 20 74 68 .the......prompt.and.typed.by.th
34100 65 20 75 73 65 72 2e 0a 0a 20 20 20 20 20 48 65 72 65 20 69 73 20 61 6e 20 65 78 61 6d 70 6c 65 e.user........Here.is.an.example
34120 20 6f 66 20 75 73 69 6e 67 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 3a 0a 0a 20 20 20 20 20 20 .of.using.this.function:........
34140 20 20 20 20 28 6c 65 74 20 28 28 72 65 61 64 2d 61 6e 73 77 65 72 2d 73 68 6f 72 74 20 74 29 29 ....(let.((read-answer-short.t))
34160 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 72 65 61 64 2d 61 6e 73 77 65 72 20 22 46 6f 6f 20 22 .............(read-answer."Foo."
34180 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 28 22 79 65 73 22 20 20 3f 79 20 22 70 65 ................'(("yes"..?y."pe
341a0 72 66 6f 72 6d 20 74 68 65 20 61 63 74 69 6f 6e 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 rform.the.action")..............
341c0 20 20 20 20 28 22 6e 6f 22 20 20 20 3f 6e 20 22 73 6b 69 70 20 74 6f 20 74 68 65 20 6e 65 78 74 ....("no"...?n."skip.to.the.next
341e0 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 22 61 6c 6c 22 20 20 3f 21 20 22 ")..................("all"..?!."
34200 70 65 72 66 6f 72 6d 20 66 6f 72 20 74 68 65 20 72 65 73 74 20 77 69 74 68 6f 75 74 20 6d 6f 72 perform.for.the.rest.without.mor
34220 65 20 71 75 65 73 74 69 6f 6e 73 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 e.questions")..................(
34240 22 68 65 6c 70 22 20 3f 68 20 22 73 68 6f 77 20 68 65 6c 70 22 29 0a 20 20 20 20 20 20 20 20 20 "help".?h."show.help")..........
34260 20 20 20 20 20 20 20 20 28 22 71 75 69 74 22 20 3f 71 20 22 65 78 69 74 22 29 29 29 29 0a 0a 20 ........("quit".?q."exit"))))...
34280 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6d 61 70 63 61 6e 20 66 75 6e 63 74 69 6f 6e 20 73 65 71 --.Function:.mapcan.function.seq
342a0 75 65 6e 63 65 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 70 70 6c 69 65 73 uence......This.function.applies
342c0 20 46 55 4e 43 54 49 4f 4e 20 74 6f 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 53 45 51 .FUNCTION.to.each.element.of.SEQ
342e0 55 45 4e 43 45 2c 20 6c 69 6b 65 0a 20 20 20 20 20 e2 80 98 6d 61 70 63 61 72 e2 80 99 2c 20 62 UENCE,.like.........mapcar...,.b
34300 75 74 20 69 6e 73 74 65 61 64 20 6f 66 20 63 6f 6c 6c 65 63 74 69 6e 67 20 74 68 65 20 72 65 73 ut.instead.of.collecting.the.res
34320 75 6c 74 73 20 69 6e 74 6f 20 61 20 6c 69 73 74 2c 20 69 74 0a 20 20 20 20 20 72 65 74 75 72 6e ults.into.a.list,.it......return
34340 73 20 61 20 73 69 6e 67 6c 65 20 6c 69 73 74 20 77 69 74 68 20 61 6c 6c 20 74 68 65 20 65 6c 65 s.a.single.list.with.all.the.ele
34360 6d 65 6e 74 73 20 6f 66 20 74 68 65 20 72 65 73 75 6c 74 73 20 28 77 68 69 63 68 0a 20 20 20 20 ments.of.the.results.(which.....
34380 20 6d 75 73 74 20 62 65 20 6c 69 73 74 73 29 2c 20 62 79 20 61 6c 74 65 72 69 6e 67 20 74 68 65 .must.be.lists),.by.altering.the
343a0 20 72 65 73 75 6c 74 73 20 28 75 73 69 6e 67 20 e2 80 98 6e 63 6f 6e 63 e2 80 99 3b 20 2a 6e 6f .results.(using....nconc...;.*no
343c0 74 65 0a 20 20 20 20 20 28 65 6c 69 73 70 29 52 65 61 72 72 61 6e 67 65 6d 65 6e 74 3a 3a 29 2e te......(elisp)Rearrangement::).
343e0 20 20 4c 69 6b 65 20 77 69 74 68 20 e2 80 98 6d 61 70 63 61 72 e2 80 99 2c 20 53 45 51 55 45 4e ..Like.with....mapcar...,.SEQUEN
34400 43 45 20 63 61 6e 20 62 65 20 6f 66 0a 20 20 20 20 20 61 6e 79 20 74 79 70 65 20 65 78 63 65 70 CE.can.be.of......any.type.excep
34420 74 20 61 20 63 68 61 72 2d 74 61 62 6c 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 3b 3b 20 43 6f t.a.char-table.............;;.Co
34440 6e 74 72 61 73 74 20 74 68 69 73 3a 20 28 6d 61 70 63 61 72 20 23 27 6c 69 73 74 20 27 28 61 20 ntrast.this:.(mapcar.#'list.'(a.
34460 62 20 63 20 64 29 29 20 e2 87 92 20 28 28 61 29 20 28 62 29 20 28 63 29 0a 20 20 20 20 20 20 20 b.c.d)).....((a).(b).(c)........
34480 20 20 20 28 64 29 29 20 3b 3b 20 77 69 74 68 20 74 68 69 73 3a 20 28 6d 61 70 63 61 6e 20 23 27 ...(d)).;;.with.this:.(mapcan.#'
344a0 6c 69 73 74 20 27 28 61 20 62 20 63 20 64 29 29 20 e2 87 92 20 28 61 20 62 20 63 20 64 29 0a 0a list.'(a.b.c.d)).....(a.b.c.d)..
344c0 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 4d 61 70 70 69 6e 67 20 46 75 6e 63 74 69 .....*Note.(elisp)Mapping.Functi
344e0 6f 6e 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 63 58 58 58 72 0a 20 2d 2d 20 ons::....--.Function:.cXXXr..--.
34500 46 75 6e 63 74 69 6f 6e 3a 20 63 58 58 58 58 72 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 Function:.cXXXXr......*Note.(eli
34520 73 70 29 4c 69 73 74 20 45 6c 65 6d 65 6e 74 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f sp)List.Elements::....--.Functio
34540 6e 3a 20 67 65 6e 73 79 6d 20 26 6f 70 74 69 6f 6e 61 6c 20 70 72 65 66 69 78 0a 20 20 20 20 20 n:.gensym.&optional.prefix......
34560 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 73 79 6d 62 6f 6c 20 75 This.function.returns.a.symbol.u
34580 73 69 6e 67 20 e2 80 98 6d 61 6b 65 2d 73 79 6d 62 6f 6c e2 80 99 2c 20 77 68 6f 73 65 20 6e 61 sing....make-symbol...,.whose.na
345a0 6d 65 20 69 73 0a 20 20 20 20 20 6d 61 64 65 20 62 79 20 61 70 70 65 6e 64 69 6e 67 20 e2 80 98 me.is......made.by.appending....
345c0 67 65 6e 73 79 6d 2d 63 6f 75 6e 74 65 72 e2 80 99 20 74 6f 20 50 52 45 46 49 58 20 61 6e 64 20 gensym-counter....to.PREFIX.and.
345e0 69 6e 63 72 65 6d 65 6e 74 69 6e 67 20 74 68 61 74 0a 20 20 20 20 20 63 6f 75 6e 74 65 72 2c 20 incrementing.that......counter,.
34600 67 75 61 72 61 6e 74 65 65 69 6e 67 20 74 68 61 74 20 6e 6f 20 74 77 6f 20 63 61 6c 6c 73 20 74 guaranteeing.that.no.two.calls.t
34620 6f 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 0a 20 20 20 20 20 67 65 6e 65 72 61 o.this.function.will......genera
34640 74 65 20 61 20 73 79 6d 62 6f 6c 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 6e 61 6d 65 2e 20 te.a.symbol.with.the.same.name..
34660 20 54 68 65 20 70 72 65 66 69 78 20 64 65 66 61 75 6c 74 73 20 74 6f 0a 20 20 20 20 20 e2 80 98 .The.prefix.defaults.to.........
34680 22 67 22 e2 80 99 2e 0a 0a 20 2d 2d 20 56 61 72 69 61 62 6c 65 3a 20 67 65 6e 73 79 6d 2d 63 6f "g".......--.Variable:.gensym-co
346a0 75 6e 74 65 72 0a 20 20 20 20 20 53 65 65 20 e2 80 98 67 65 6e 73 79 6d e2 80 99 2e 0a 0a 20 2d unter......See....gensym.......-
346c0 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 62 75 66 66 65 72 2d 68 61 73 68 20 26 6f 70 74 69 6f 6e 61 -.Function:.buffer-hash.&optiona
346e0 6c 20 62 75 66 66 65 72 2d 6f 72 2d 6e 61 6d 65 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 20 68 l.buffer-or-name......Return.a.h
34700 61 73 68 20 6f 66 20 42 55 46 46 45 52 2d 4f 52 2d 4e 41 4d 45 2e 20 20 49 66 20 e2 80 98 6e 69 ash.of.BUFFER-OR-NAME...If....ni
34720 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 0a 20 20 20 20 20 l...,.this.defaults.to.the......
34740 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 2e 20 20 41 73 20 6f 70 70 6f 73 65 64 20 74 6f 20 e2 current.buffer...As.opposed.to..
34760 80 98 73 65 63 75 72 65 2d 68 61 73 68 e2 80 99 2c 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 0a ..secure-hash...,.this.function.
34780 20 20 20 20 20 63 6f 6d 70 75 74 65 73 20 74 68 65 20 68 61 73 68 20 62 61 73 65 64 20 6f 6e 20 .....computes.the.hash.based.on.
347a0 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 74 the.internal.representation.of.t
347c0 68 65 0a 20 20 20 20 20 62 75 66 66 65 72 2c 20 64 69 73 72 65 67 61 72 64 69 6e 67 20 61 6e 79 he......buffer,.disregarding.any
347e0 20 63 6f 64 69 6e 67 20 73 79 73 74 65 6d 73 2e 20 20 49 74 e2 80 99 73 20 74 68 65 72 65 66 6f .coding.systems...It...s.therefo
34800 72 65 20 6f 6e 6c 79 0a 20 20 20 20 20 75 73 65 66 75 6c 20 77 68 65 6e 20 63 6f 6d 70 61 72 69 re.only......useful.when.compari
34820 6e 67 20 74 77 6f 20 62 75 66 66 65 72 73 20 72 75 6e 6e 69 6e 67 20 69 6e 20 74 68 65 20 73 61 ng.two.buffers.running.in.the.sa
34840 6d 65 20 45 6d 61 63 73 2c 20 61 6e 64 20 69 73 0a 20 20 20 20 20 6e 6f 74 20 67 75 61 72 61 6e me.Emacs,.and.is......not.guaran
34860 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 61 73 68 20 62 65 74 teed.to.return.the.same.hash.bet
34880 77 65 65 6e 20 64 69 66 66 65 72 65 6e 74 20 45 6d 61 63 73 0a 20 20 20 20 20 76 65 72 73 69 6f ween.different.Emacs......versio
348a0 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 65 20 ns...It.should.be.somewhat.more.
348c0 65 66 66 69 63 69 65 6e 74 20 6f 6e 20 6c 61 72 67 65 72 20 62 75 66 66 65 72 73 0a 20 20 20 20 efficient.on.larger.buffers.....
348e0 20 74 68 61 6e 20 e2 80 98 73 65 63 75 72 65 2d 68 61 73 68 e2 80 99 20 69 73 2c 20 61 6e 64 20 .than....secure-hash....is,.and.
34900 73 68 6f 75 6c 64 20 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 should.not.allocate.more.memory.
34920 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 66 69 6c 65 2d 6e 61 6d 65 2d 75 6e 71 75 6f 74 65 20 6e ...--.Macro:.file-name-unquote.n
34940 61 6d 65 0a 20 20 20 20 20 54 68 69 73 20 6d 61 63 72 6f 20 72 65 6d 6f 76 65 73 20 74 68 65 20 ame......This.macro.removes.the.
34960 71 75 6f 74 61 74 69 6f 6e 20 70 72 65 66 69 78 20 e2 80 98 2f 3a e2 80 99 20 66 72 6f 6d 20 74 quotation.prefix..../:....from.t
34980 68 65 20 66 69 6c 65 20 4e 41 4d 45 2c 20 69 66 0a 20 20 20 20 20 61 6e 79 2e 20 20 49 66 20 4e he.file.NAME,.if......any...If.N
349a0 41 4d 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 AME.is.a.remote.file.name,.the.l
349c0 6f 63 61 6c 20 70 61 72 74 20 6f 66 20 4e 41 4d 45 20 69 73 0a 20 20 20 20 20 75 6e 71 75 6f 74 ocal.part.of.NAME.is......unquot
349e0 65 64 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 66 69 6c 65 2d 6e 61 6d 65 2d 71 75 6f ed....--.Function:.file-name-quo
34a00 74 65 64 2d 70 20 6e 61 6d 65 0a 20 20 20 20 20 54 68 69 73 20 6d 61 63 72 6f 20 72 65 74 75 72 ted-p.name......This.macro.retur
34a20 6e 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 77 68 65 6e 20 4e 41 4d 45 20 69 73 20 71 ns.non-...nil...,.when.NAME.is.q
34a40 75 6f 74 65 64 20 77 69 74 68 20 74 68 65 20 70 72 65 66 69 78 0a 20 20 20 20 20 e2 80 98 2f 3a uoted.with.the.prefix........./:
34a60 e2 80 99 2e 20 20 49 66 20 4e 41 4d 45 20 69 73 20 61 20 72 65 6d 6f 74 65 20 66 69 6c 65 20 6e ......If.NAME.is.a.remote.file.n
34a80 61 6d 65 2c 20 74 68 65 20 6c 6f 63 61 6c 20 70 61 72 74 20 6f 66 20 4e 41 4d 45 20 69 73 0a 20 ame,.the.local.part.of.NAME.is..
34aa0 20 20 20 20 63 68 65 63 6b 65 64 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 ....checked........*Note.(elisp)
34ac0 46 69 6c 65 20 4e 61 6d 65 20 45 78 70 61 6e 73 69 6f 6e 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 File.Name.Expansion::....--.Func
34ae0 74 69 6f 6e 3a 20 66 69 6c 65 2d 6e 61 6d 65 2d 71 75 6f 74 65 20 6e 61 6d 65 0a 20 20 20 20 20 tion:.file-name-quote.name......
34b00 54 68 69 73 20 6d 61 63 72 6f 20 61 64 64 73 20 74 68 65 20 71 75 6f 74 61 74 69 6f 6e 20 70 72 This.macro.adds.the.quotation.pr
34b20 65 66 69 78 20 e2 80 98 2f 3a e2 80 99 20 74 6f 20 74 68 65 20 66 69 6c 65 20 4e 41 4d 45 2e 20 efix..../:....to.the.file.NAME..
34b40 20 46 6f 72 20 61 0a 20 20 20 20 20 6c 6f 63 61 6c 20 66 69 6c 65 20 4e 41 4d 45 2c 20 69 74 20 .For.a......local.file.NAME,.it.
34b60 70 72 65 66 69 78 65 73 20 4e 41 4d 45 20 77 69 74 68 20 e2 80 98 2f 3a e2 80 99 2e 20 20 49 66 prefixes.NAME.with..../:......If
34b80 20 4e 41 4d 45 20 69 73 20 61 20 72 65 6d 6f 74 65 0a 20 20 20 20 20 66 69 6c 65 20 6e 61 6d 65 .NAME.is.a.remote......file.name
34ba0 2c 20 74 68 65 20 6c 6f 63 61 6c 20 70 61 72 74 20 6f 66 20 4e 41 4d 45 20 28 2a 6e 6f 74 65 20 ,.the.local.part.of.NAME.(*note.
34bc0 28 65 6c 69 73 70 29 4d 61 67 69 63 20 46 69 6c 65 20 4e 61 6d 65 73 3a 3a 29 0a 20 20 20 20 20 (elisp)Magic.File.Names::)......
34be0 69 73 20 71 75 6f 74 65 64 2e 20 20 49 66 20 4e 41 4d 45 20 69 73 20 61 6c 72 65 61 64 79 20 61 is.quoted...If.NAME.is.already.a
34c00 20 71 75 6f 74 65 64 20 66 69 6c 65 20 6e 61 6d 65 2c 20 4e 41 4d 45 20 69 73 20 72 65 74 75 72 .quoted.file.name,.NAME.is.retur
34c20 6e 65 64 0a 20 20 20 20 20 75 6e 63 68 61 6e 67 65 64 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 ned......unchanged.............(
34c40 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 70 61 74 2d substitute-in-file-name.(compat-
34c60 63 61 6c 6c 20 66 69 6c 65 2d 6e 61 6d 65 2d 71 75 6f 74 65 20 22 62 61 72 2f 7e 2f 66 6f 6f 22 call.file-name-quote."bar/~/foo"
34c80 29 29 20 e2 87 92 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2f 3a 62 61 72 2f 7e 2f 66 ))...................."/:bar/~/f
34ca0 6f 6f 22 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 6e 2d 66 69 oo"............(substitute-in-fi
34cc0 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 6d 65 2d 71 le-name.(compat-call.file-name-q
34ce0 75 6f 74 65 20 22 2f 73 73 68 3a 68 6f 73 74 3a 62 61 72 2f 7e 2f 66 6f 6f 22 29 29 0a 20 20 20 uote."/ssh:host:bar/~/foo"))....
34d00 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 2f 73 73 68 3a 68 6f 73 74 3a 2f 3a 62 61 72 ................"/ssh:host:/:bar
34d20 2f 7e 2f 66 6f 6f 22 0a 0a 20 20 20 20 20 54 68 65 20 6d 61 63 72 6f 20 63 61 6e 6e 6f 74 20 62 /~/foo".......The.macro.cannot.b
34d40 65 20 75 73 65 64 20 74 6f 20 73 75 70 70 72 65 73 73 20 66 69 6c 65 20 6e 61 6d 65 20 68 61 6e e.used.to.suppress.file.name.han
34d60 64 6c 65 72 73 20 66 72 6f 6d 20 6d 61 67 69 63 0a 20 20 20 20 20 66 69 6c 65 20 6e 61 6d 65 73 dlers.from.magic......file.names
34d80 20 28 2a 6e 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 73 3a .(*note.(elisp)Magic.File.Names:
34da0 3a 29 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 4e 61 6d 65 :)........*Note.(elisp)File.Name
34dc0 20 45 78 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 6d 61 6b .Expansion::....--.Function:.mak
34de0 65 2d 6e 65 61 72 62 79 2d 74 65 6d 70 2d 66 69 6c 65 20 70 72 65 66 69 78 20 26 6f 70 74 69 6f e-nearby-temp-file.prefix.&optio
34e00 6e 61 6c 20 64 69 72 2d 66 6c 61 67 20 73 75 66 66 69 78 0a 20 20 20 20 20 54 68 69 73 20 66 75 nal.dir-flag.suffix......This.fu
34e20 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 e2 80 98 6d 61 6b 65 2d 74 65 6d nction.is.similar.to....make-tem
34e40 70 2d 66 69 6c 65 e2 80 99 2c 20 62 75 74 20 69 74 20 63 72 65 61 74 65 73 20 61 0a 20 20 20 20 p-file...,.but.it.creates.a.....
34e60 20 74 65 6d 70 6f 72 61 72 79 20 66 69 6c 65 20 61 73 20 63 6c 6f 73 65 20 61 73 20 70 6f 73 73 .temporary.file.as.close.as.poss
34e80 69 62 6c 65 20 74 6f 20 e2 80 98 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 e2 80 99 2e ible.to....default-directory....
34ea0 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 66 ..If......PREFIX.is.a.relative.f
34ec0 69 6c 65 20 6e 61 6d 65 2c 20 61 6e 64 20 e2 80 98 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f ile.name,.and....default-directo
34ee0 72 79 e2 80 99 20 69 73 20 61 20 72 65 6d 6f 74 65 0a 20 20 20 20 20 66 69 6c 65 20 6e 61 6d 65 ry....is.a.remote......file.name
34f00 20 6f 72 20 6c 6f 63 61 74 65 64 20 6f 6e 20 61 20 6d 6f 75 6e 74 65 64 20 66 69 6c 65 20 73 79 .or.located.on.a.mounted.file.sy
34f20 73 74 65 6d 73 2c 20 74 68 65 20 74 65 6d 70 6f 72 61 72 79 20 66 69 6c 65 0a 20 20 20 20 20 69 stems,.the.temporary.file......i
34f40 73 20 63 72 65 61 74 65 64 20 69 6e 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 72 65 74 75 72 s.created.in.the.directory.retur
34f60 6e 65 64 20 62 79 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 e2 80 98 74 65 6d 70 ned.by.the.function.........temp
34f80 6f 72 61 72 79 2d 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 e2 80 99 2e 20 20 4f 74 68 65 72 77 orary-file-directory......Otherw
34fa0 69 73 65 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 e2 80 98 6d 61 6b 65 2d 74 ise,.the.function.........make-t
34fc0 65 6d 70 2d 66 69 6c 65 e2 80 99 20 69 73 20 75 73 65 64 2e 20 20 50 52 45 46 49 58 2c 20 44 49 emp-file....is.used...PREFIX,.DI
34fe0 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 20 20 20 20 20 R-FLAG.and.SUFFIX.have.the......
35000 73 61 6d 65 20 6d 65 61 6e 69 6e 67 20 61 73 20 69 6e 20 e2 80 98 6d 61 6b 65 2d 74 65 6d 70 2d same.meaning.as.in....make-temp-
35020 66 69 6c 65 e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 64 65 66 61 75 file................(let.((defau
35040 6c 74 2d 64 69 72 65 63 74 6f 72 79 20 22 2f 73 73 68 3a 72 65 6d 6f 74 65 68 6f 73 74 3a 22 29 lt-directory."/ssh:remotehost:")
35060 29 20 28 6d 61 6b 65 2d 6e 65 61 72 62 79 2d 74 65 6d 70 2d 66 69 6c 65 0a 20 20 20 20 20 20 20 ).(make-nearby-temp-file........
35080 20 20 20 20 20 22 66 6f 6f 22 29 29 20 e2 87 92 20 22 2f 73 73 68 3a 72 65 6d 6f 74 65 68 6f 73 ....."foo"))....."/ssh:remotehos
350a0 74 3a 2f 74 6d 70 2f 66 6f 6f 32 33 32 4a 36 76 22 0a 0a 20 2d 2d 20 56 61 72 69 61 62 6c 65 3a t:/tmp/foo232J6v"...--.Variable:
350c0 20 6d 6f 75 6e 74 65 64 2d 66 69 6c 65 2d 73 79 73 74 65 6d 73 0a 20 20 20 20 20 41 20 72 65 67 .mounted-file-systems......A.reg
350e0 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 20 6d 61 74 63 68 69 6e 67 20 66 69 6c 65 73 20 6e ular.expression.matching.files.n
35100 61 6d 65 73 20 74 68 61 74 20 61 72 65 20 70 72 6f 62 61 62 6c 79 20 6f 6e 20 61 0a 20 20 20 20 ames.that.are.probably.on.a.....
35120 20 6d 6f 75 6e 74 65 64 20 66 69 6c 65 20 73 79 73 74 65 6d 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 .mounted.file.system....--.Funct
35140 69 6f 6e 3a 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 0a 20 20 ion:.temporary-file-directory...
35160 20 20 20 54 68 65 20 64 69 72 65 63 74 6f 72 79 20 66 6f 72 20 77 72 69 74 69 6e 67 20 74 65 6d ...The.directory.for.writing.tem
35180 70 6f 72 61 72 79 20 66 69 6c 65 73 20 76 69 61 0a 20 20 20 20 20 e2 80 98 6d 61 6b 65 2d 6e 65 porary.files.via.........make-ne
351a0 61 72 62 79 2d 74 65 6d 70 2d 66 69 6c 65 e2 80 99 2e 20 20 49 6e 20 63 61 73 65 20 6f 66 20 61 arby-temp-file......In.case.of.a
351c0 20 72 65 6d 6f 74 65 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 .remote....default-directory...,
351e0 0a 20 20 20 20 20 74 68 69 73 20 69 73 20 61 20 64 69 72 65 63 74 6f 72 79 20 66 6f 72 20 74 65 ......this.is.a.directory.for.te
35200 6d 70 6f 72 61 72 79 20 66 69 6c 65 73 20 6f 6e 20 74 68 61 74 20 72 65 6d 6f 74 65 20 68 6f 73 mporary.files.on.that.remote.hos
35220 74 2e 20 20 49 66 0a 20 20 20 20 20 73 75 63 68 20 61 20 64 69 72 65 63 74 6f 72 79 20 64 6f 65 t...If......such.a.directory.doe
35240 73 20 6e 6f 74 20 65 78 69 73 74 2c 20 6f 72 20 e2 80 98 64 65 66 61 75 6c 74 2d 64 69 72 65 63 s.not.exist,.or....default-direc
35260 74 6f 72 79 e2 80 99 20 6f 75 67 68 74 20 74 6f 20 62 65 0a 20 20 20 20 20 6c 6f 63 61 74 65 64 tory....ought.to.be......located
35280 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 20 28 73 65 65 20 e2 .on.a.mounted.file.system.(see..
352a0 80 98 6d 6f 75 6e 74 65 64 2d 66 69 6c 65 2d 73 79 73 74 65 6d 73 e2 80 99 29 2c 20 74 68 65 0a ..mounted-file-systems...),.the.
352c0 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 e2 80 98 64 65 66 61 75 6c 74 .....function.returns....default
352e0 2d 64 69 72 65 63 74 6f 72 79 e2 80 99 2e 20 20 46 6f 72 20 61 20 6e 6f 6e 2d 72 65 6d 6f 74 65 -directory......For.a.non-remote
35300 20 61 6e 64 0a 20 20 20 20 20 6e 6f 6e 2d 6d 6f 75 6e 74 65 64 20 e2 80 98 64 65 66 61 75 6c 74 .and......non-mounted....default
35320 2d 64 69 72 65 63 74 6f 72 79 e2 80 99 2c 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 -directory...,.the.value.of.the.
35340 76 61 72 69 61 62 6c 65 0a 20 20 20 20 20 e2 80 98 74 65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 2d variable.........temporary-file-
35360 64 69 72 65 63 74 6f 72 79 e2 80 99 20 69 73 20 72 65 74 75 72 6e 65 64 2e 0a 0a 20 20 20 20 20 directory....is.returned........
35380 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 55 6e 69 71 75 65 20 46 69 6c 65 20 4e 61 6d 65 73 3a 3a *Note.(elisp)Unique.File.Names::
353a0 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 69 66 2d 6c 65 74 2a 20 28 62 69 6e 64 69 6e 67 73 2e ....--.Macro:.if-let*.(bindings.
353c0 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 69 66 2d 6c ..).then.&rest.else.........if-l
353e0 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 74 6f 20 e2 et*....is.mostly.equivalent.to..
35400 80 98 69 66 2d 6c 65 74 e2 80 99 2c 20 77 69 74 68 20 74 68 65 20 65 78 63 65 70 74 69 6f 6e 20 ..if-let...,.with.the.exception.
35420 74 68 61 74 0a 20 20 20 20 20 74 68 65 20 6c 65 67 61 63 79 20 e2 80 98 28 69 66 20 28 56 41 52 that......the.legacy....(if.(VAR
35440 20 28 74 65 73 74 29 29 20 66 6f 6f 20 62 61 72 29 e2 80 99 20 73 79 6e 74 61 78 20 69 73 20 6e .(test)).foo.bar)....syntax.is.n
35460 6f 74 20 70 65 72 6d 69 74 74 65 64 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 77 68 65 6e 2d 6c ot.permitted....--.Macro:.when-l
35480 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 73 74 20 65 6c 73 et*.(bindings...).then.&rest.els
354a0 65 0a 20 20 20 20 20 e2 80 98 77 68 65 6e 2d 6c 65 74 2a e2 80 99 20 69 73 20 6d 6f 73 74 6c 79 e.........when-let*....is.mostly
354c0 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 e2 80 98 77 68 65 6e 2d 6c 65 74 e2 80 99 2c 20 77 .equivalent.to....when-let...,.w
354e0 69 74 68 20 74 68 65 20 65 78 63 65 70 74 69 6f 6e 0a 20 20 20 20 20 74 68 61 74 20 74 68 65 20 ith.the.exception......that.the.
35500 6c 65 67 61 63 79 20 e2 80 98 28 77 68 65 6e 2d 6c 65 74 20 28 56 41 52 20 28 74 65 73 74 29 29 legacy....(when-let.(VAR.(test))
35520 20 66 6f 6f 20 62 61 72 29 e2 80 99 20 73 79 6e 74 61 78 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 .foo.bar)....syntax.is.not......
35540 70 65 72 6d 69 74 74 65 64 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 61 6e 64 2d 6c 65 74 2a 20 permitted....--.Macro:.and-let*.
35560 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 41 20 (bindings...).&rest.body......A.
35580 63 6f 6d 62 69 6e 61 74 69 6f 6e 20 6f 66 20 4c 45 54 2a 20 61 6e 64 20 41 4e 44 2c 20 61 6e 61 combination.of.LET*.and.AND,.ana
355a0 6c 6f 67 6f 75 73 20 74 6f 20 e2 80 98 77 68 65 6e 2d 6c 65 74 2a e2 80 99 2e 20 20 49 66 20 61 logous.to....when-let*......If.a
355c0 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 e2 80 98 6e 69 6c e2 ll......BINDINGS.are.non-...nil.
355e0 80 99 20 61 6e 64 20 42 4f 44 59 20 69 73 20 e2 80 98 6e 69 6c e2 80 99 2c 20 74 68 65 6e 20 74 ...and.BODY.is....nil...,.then.t
35600 68 65 20 72 65 73 75 6c 74 20 6f 66 20 74 68 65 0a 20 20 20 20 20 e2 80 98 61 6e 64 2d 6c 65 74 he.result.of.the.........and-let
35620 2a e2 80 99 20 66 6f 72 6d 20 77 69 6c 6c 20 62 65 20 74 68 65 20 6c 61 73 74 20 76 61 6c 75 65 *....form.will.be.the.last.value
35640 20 62 6f 75 6e 64 20 69 6e 20 42 49 4e 44 49 4e 47 53 2e 0a 0a 20 20 20 20 20 2a 2a 50 6c 65 61 .bound.in.BINDINGS........**Plea
35660 73 65 20 4e 6f 74 65 3a 2a 2a 20 54 68 65 20 69 6d 70 6c 65 6d 65 6e 74 61 74 69 6f 6e 20 70 72 se.Note:**.The.implementation.pr
35680 6f 76 69 64 65 64 20 62 79 20 43 6f 6d 70 61 74 20 64 6f 65 73 20 6e 6f 74 0a 20 20 20 20 20 69 ovided.by.Compat.does.not......i
356a0 6e 63 6c 75 64 65 20 61 20 62 75 67 20 74 68 61 74 20 77 61 73 20 6f 62 73 65 72 76 65 64 20 77 nclude.a.bug.that.was.observed.w
356c0 69 74 68 20 45 6d 61 63 73 20 32 36 20 28 73 65 65 0a 20 20 20 20 20 3c 68 74 74 70 73 3a 2f 2f ith.Emacs.26.(see......<https://
356e0 64 65 62 62 75 67 73 2e 67 6e 75 2e 6f 72 67 2f 63 67 69 2f 62 75 67 72 65 70 6f 72 74 2e 63 67 debbugs.gnu.org/cgi/bugreport.cg
35700 69 3f 62 75 67 3d 33 31 38 34 30 3e 29 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 66 69 i?bug=31840>)....--.Function:.fi
35720 6c 65 2d 6c 6f 63 61 6c 2d 6e 61 6d 65 20 66 69 6c 65 6e 61 6d 65 0a 20 20 20 20 20 54 68 69 73 le-local-name.filename......This
35740 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 5f 6c 6f 63 61 6c 20 70 61 72 .function.returns.the._local.par
35760 74 5f 20 6f 66 20 46 49 4c 45 4e 41 4d 45 2e 20 20 54 68 69 73 20 69 73 20 74 68 65 0a 20 20 20 t_.of.FILENAME...This.is.the....
35780 20 20 70 61 72 74 20 6f 66 20 74 68 65 20 66 69 6c 65 e2 80 99 73 20 6e 61 6d 65 20 74 68 61 74 ..part.of.the.file...s.name.that
357a0 20 69 64 65 6e 74 69 66 69 65 73 20 69 74 20 6f 6e 20 74 68 65 20 72 65 6d 6f 74 65 20 68 6f 73 .identifies.it.on.the.remote.hos
357c0 74 2c 20 61 6e 64 0a 20 20 20 20 20 69 73 20 74 79 70 69 63 61 6c 6c 79 20 6f 62 74 61 69 6e 65 t,.and......is.typically.obtaine
357e0 64 20 62 79 20 72 65 6d 6f 76 69 6e 67 20 66 72 6f 6d 20 74 68 65 20 72 65 6d 6f 74 65 20 66 69 d.by.removing.from.the.remote.fi
35800 6c 65 20 6e 61 6d 65 20 74 68 65 0a 20 20 20 20 20 70 61 72 74 73 20 74 68 61 74 20 73 70 65 63 le.name.the......parts.that.spec
35820 69 66 79 20 74 68 65 20 72 65 6d 6f 74 65 20 68 6f 73 74 20 61 6e 64 20 74 68 65 20 6d 65 74 68 ify.the.remote.host.and.the.meth
35840 6f 64 20 6f 66 20 61 63 63 65 73 73 69 6e 67 20 69 74 2e 0a 20 20 20 20 20 46 6f 72 20 65 78 61 od.of.accessing.it.......For.exa
35860 6d 70 6c 65 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 6c 6f 63 61 6c 2d 6e 61 6d mple:............(file-local-nam
35880 65 20 22 2f 73 73 68 3a 55 53 45 52 40 48 4f 53 54 3a 2f 66 6f 6f 2f 62 61 72 22 29 20 e2 87 92 e."/ssh:USER@HOST:/foo/bar")....
358a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2f 66 6f 6f 2f 62 61 72 22 0a 0a 20 20 20 20 ................"/foo/bar"......
358c0 20 46 6f 72 20 61 20 72 65 6d 6f 74 65 20 46 49 4c 45 4e 41 4d 45 2c 20 74 68 69 73 20 66 75 6e .For.a.remote.FILENAME,.this.fun
358e0 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 66 69 6c 65 20 6e 61 6d 65 20 77 68 69 63 68 0a ction.returns.a.file.name.which.
35900 20 20 20 20 20 63 6f 75 6c 64 20 62 65 20 75 73 65 64 20 64 69 72 65 63 74 6c 79 20 61 73 20 61 .....could.be.used.directly.as.a
35920 6e 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 61 20 72 65 6d 6f 74 65 20 70 72 6f 63 65 73 73 20 28 n.argument.of.a.remote.process.(
35940 2a 6e 6f 74 65 0a 20 20 20 20 20 28 65 6c 69 73 70 29 41 73 79 6e 63 68 72 6f 6e 6f 75 73 20 50 *note......(elisp)Asynchronous.P
35960 72 6f 63 65 73 73 65 73 3a 3a 2c 20 61 6e 64 20 2a 6e 6f 74 65 20 28 65 6c 69 73 70 29 53 79 6e rocesses::,.and.*note.(elisp)Syn
35980 63 68 72 6f 6e 6f 75 73 0a 20 20 20 20 20 50 72 6f 63 65 73 73 65 73 3a 3a 29 2c 20 61 6e 64 20 chronous......Processes::),.and.
359a0 61 73 20 74 68 65 20 70 72 6f 67 72 61 6d 20 74 6f 20 72 75 6e 20 6f 6e 20 74 68 65 20 72 65 6d as.the.program.to.run.on.the.rem
359c0 6f 74 65 20 68 6f 73 74 2e 20 20 49 66 0a 20 20 20 20 20 46 49 4c 45 4e 41 4d 45 20 69 73 20 6c ote.host...If......FILENAME.is.l
359e0 6f 63 61 6c 2c 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 69 74 20 75 ocal,.this.function.returns.it.u
35a00 6e 63 68 61 6e 67 65 64 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 4d 61 67 nchanged........*Note.(elisp)Mag
35a20 69 63 20 46 69 6c 65 20 4e 61 6d 65 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 ic.File.Names::....--.Function:.
35a40 72 65 61 64 2d 6d 75 6c 74 69 70 6c 65 2d 63 68 6f 69 63 65 20 70 72 6f 6d 70 74 20 63 68 6f 69 read-multiple-choice.prompt.choi
35a60 63 65 73 0a 20 20 20 20 20 41 73 6b 20 75 73 65 72 20 61 20 6d 75 6c 74 69 70 6c 65 20 63 68 6f ces......Ask.user.a.multiple.cho
35a80 69 63 65 20 71 75 65 73 74 69 6f 6e 2e 20 20 50 52 4f 4d 50 54 20 73 68 6f 75 6c 64 20 62 65 20 ice.question...PROMPT.should.be.
35aa0 61 20 73 74 72 69 6e 67 0a 20 20 20 20 20 74 68 61 74 20 77 69 6c 6c 20 62 65 20 64 69 73 70 6c a.string......that.will.be.displ
35ac0 61 79 65 64 20 61 73 20 74 68 65 20 70 72 6f 6d 70 74 2e 0a 0a 20 20 20 20 20 43 48 4f 49 43 45 ayed.as.the.prompt........CHOICE
35ae0 53 20 69 73 20 61 6e 20 61 6c 69 73 74 20 77 68 65 72 65 20 74 68 65 20 66 69 72 73 74 20 65 6c S.is.an.alist.where.the.first.el
35b00 65 6d 65 6e 74 20 69 6e 20 65 61 63 68 20 65 6e 74 72 79 20 69 73 20 61 0a 20 20 20 20 20 63 68 ement.in.each.entry.is.a......ch
35b20 61 72 61 63 74 65 72 20 74 6f 20 62 65 20 65 6e 74 65 72 65 64 2c 20 74 68 65 20 73 65 63 6f 6e aracter.to.be.entered,.the.secon
35b40 64 20 65 6c 65 6d 65 6e 74 20 69 73 20 61 20 73 68 6f 72 74 20 6e 61 6d 65 20 66 6f 72 20 74 68 d.element.is.a.short.name.for.th
35b60 65 0a 20 20 20 20 20 65 6e 74 72 79 20 74 6f 20 62 65 20 64 69 73 70 6c 61 79 65 64 20 77 68 69 e......entry.to.be.displayed.whi
35b80 6c 65 20 70 72 6f 6d 70 74 69 6e 67 20 28 69 66 20 74 68 65 72 65 e2 80 99 73 20 72 6f 6f 6d 2c le.prompting.(if.there...s.room,
35ba0 20 69 74 20 6d 69 67 68 74 20 62 65 0a 20 20 20 20 20 73 68 6f 72 74 65 6e 65 64 29 2c 20 61 6e .it.might.be......shortened),.an
35bc0 64 20 74 68 65 20 74 68 69 72 64 2c 20 6f 70 74 69 6f 6e 61 6c 20 65 6e 74 72 79 20 69 73 20 61 d.the.third,.optional.entry.is.a
35be0 20 6c 6f 6e 67 65 72 20 65 78 70 6c 61 6e 61 74 69 6f 6e 0a 20 20 20 20 20 74 68 61 74 20 77 69 .longer.explanation......that.wi
35c00 6c 6c 20 62 65 20 64 69 73 70 6c 61 79 65 64 20 69 6e 20 61 20 68 65 6c 70 20 62 75 66 66 65 72 ll.be.displayed.in.a.help.buffer
35c20 20 69 66 20 74 68 65 20 75 73 65 72 20 72 65 71 75 65 73 74 73 20 6d 6f 72 65 0a 20 20 20 20 20 .if.the.user.requests.more......
35c40 68 65 6c 70 2e 0a 0a 20 20 20 20 20 53 65 65 20 2a 6e 6f 74 65 20 52 65 61 64 69 6e 67 20 4f 6e help........See.*note.Reading.On
35c60 65 20 45 76 65 6e 74 3a 20 28 65 6c 69 73 70 29 52 65 61 64 69 6e 67 20 4f 6e 65 20 45 76 65 6e e.Event:.(elisp)Reading.One.Even
35c80 74 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 69 6d 61 67 65 2d 70 72 6f 70 65 72 74 79 t....--.Function:.image-property
35ca0 0a 20 20 20 20 20 44 65 66 69 6e 65 64 20 69 6e 20 e2 80 98 69 6d 61 67 65 2e 65 6c e2 80 99 2e ......Defined.in....image.el....
35cc0 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 61 6c 73 6f 20 62 65 .......This.function.can.also.be
35ce0 20 75 73 65 64 20 61 73 20 61 20 67 65 6e 65 72 61 6c 69 73 65 64 20 76 61 72 69 61 62 6c 65 2e .used.as.a.generalised.variable.
35d00 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 74 ...--.Function:.file-attribute-t
35d20 79 70 65 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 66 69 65 6c 64 20 5f 74 79 70 65 5f ype......Return.the.field._type_
35d40 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 62 75 .as.generated.by....file-attribu
35d60 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 65 20 tes...........*Note.(elisp)File.
35d80 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 69 6c Attributes::....--.Function:.fil
35da0 65 2d 61 74 74 72 69 62 75 74 65 2d 6c 69 6e 6b 2d 6e 75 6d 62 65 72 0a 20 20 20 20 20 52 65 74 e-attribute-link-number......Ret
35dc0 75 72 6e 20 74 68 65 20 66 69 65 6c 64 20 5f 6c 69 6e 6b 2d 6e 75 6d 62 65 72 5f 20 61 73 20 67 urn.the.field._link-number_.as.g
35de0 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 62 75 74 65 73 e2 80 enerated.by....file-attributes..
35e00 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 74 72 69 .........*Note.(elisp)File.Attri
35e20 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 61 74 74 butes::....--.Function:.file-att
35e40 72 69 62 75 74 65 2d 75 73 65 72 2d 69 64 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 66 ribute-user-id......Return.the.f
35e60 69 65 6c 64 20 5f 75 73 65 72 2d 69 64 5f 20 61 73 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 e2 ield._user-id_.as.generated.by..
35e80 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 74 ..file-attributes...........*Not
35ea0 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 2d e.(elisp)File.Attributes::....--
35ec0 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 67 72 6f 75 70 2d .Function:.file-attribute-group-
35ee0 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 67 72 6f 75 70 2d id......Return.the.field._group-
35f00 69 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 id_.as.generated.by....file-attr
35f20 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
35f40 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:.
35f60 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 0a 20 20 20 20 20 file-attribute-access-time......
35f80 52 65 74 75 72 6e 20 74 68 65 20 66 69 65 6c 64 20 5f 61 63 63 65 73 73 2d 74 69 6d 65 5f 20 61 Return.the.field._access-time_.a
35fa0 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 62 75 74 65 s.generated.by....file-attribute
35fc0 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
35fe0 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-
36000 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 0a 20 20 20 20 attribute-modification-time.....
36020 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 2d .Return.the.field._modification-
36040 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 69 time_.as.generated.by.........fi
36060 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 65 le-attributes...........*Note.(e
36080 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 6e lisp)File.Attributes::....--.Fun
360a0 63 74 69 6f 6e 3a 20 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 ction:.file-attribute-status-cha
360c0 6e 67 65 2d 74 69 6d 65 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 66 69 65 6c 64 20 5f nge-time......Return.the.field._
360e0 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 65 72 61 74 65 64 20 modification-time_.as.generated.
36100 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 73 e2 80 99 2e 0a 0a by.........file-attributes......
36120 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
36140 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
36160 74 65 2d 73 69 7a 65 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 66 69 65 6c 64 20 5f 73 te-size......Return.the.field._s
36180 69 7a 65 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 ize_.as.generated.by....file-att
361a0 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
361c0 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:
361e0 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 6d 6f 64 65 73 0a 20 20 20 20 20 52 65 74 75 72 .file-attribute-modes......Retur
36200 6e 20 74 68 65 20 66 69 65 6c 64 20 5f 6d 6f 64 65 73 5f 20 61 73 20 67 65 6e 65 72 61 74 65 64 n.the.field._modes_.as.generated
36220 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 20 .by....file-attributes..........
36240 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 2e .*Note.(elisp)File.Attributes::.
36260 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 69 ...--.Function:.file-attribute-i
36280 6e 6f 64 65 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 node-number......Return.the.fiel
362a0 64 20 5f 69 6e 6f 64 65 2d 6e 75 6d 62 65 72 5f 20 61 73 20 67 65 6e 65 72 61 74 65 64 20 62 79 d._inode-number_.as.generated.by
362c0 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
362e0 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::....
36300 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 64 65 76 69 --.Function:.file-attribute-devi
36320 63 65 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 64 20 ce-number......Return.the.field.
36340 5f 64 65 76 69 63 65 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 _device-number_.as.generated.by.
36360 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
36380 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::....-
363a0 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 63 6f 6c 6c 65 -.Function:.file-attribute-colle
363c0 63 74 20 61 74 74 72 69 62 75 74 65 73 20 26 72 65 73 74 20 61 74 74 72 2d 6e 61 6d 65 73 0a 20 ct.attributes.&rest.attr-names..
363e0 20 20 20 20 46 69 6c 74 65 72 20 74 68 65 20 66 69 6c 65 20 61 74 74 72 69 62 75 74 65 73 20 41 ....Filter.the.file.attributes.A
36400 54 54 52 49 42 55 54 45 53 2c 20 61 73 20 67 65 6e 65 72 61 74 65 64 20 62 79 0a 20 20 20 20 20 TTRIBUTES,.as.generated.by......
36420 e2 80 98 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 73 e2 80 99 2c 20 61 63 63 6f 72 64 69 6e 67 ...file-attributes...,.according
36440 20 74 6f 20 41 54 54 52 2d 4e 41 4d 45 53 2e 0a 0a 20 20 20 20 20 56 61 6c 69 64 20 61 74 74 72 .to.ATTR-NAMES........Valid.attr
36460 69 62 75 74 65 20 6e 61 6d 65 73 20 66 6f 72 20 41 54 54 52 2d 4e 41 4d 45 53 20 61 72 65 3a 20 ibute.names.for.ATTR-NAMES.are:.
36480 74 79 70 65 2c 20 6c 69 6e 6b 2d 6e 75 6d 62 65 72 2c 0a 20 20 20 20 20 75 73 65 72 2d 69 64 2c type,.link-number,......user-id,
364a0 20 67 72 6f 75 70 2d 69 64 2c 20 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
364c0 74 69 6f 6e 2d 74 69 6d 65 2c 0a 20 20 20 20 20 73 74 61 74 75 73 2d 63 68 61 6e 67 65 2d 74 69 tion-time,......status-change-ti
364e0 6d 65 2c 20 73 69 7a 65 2c 20 6d 6f 64 65 73 2c 20 69 6e 6f 64 65 2d 6e 75 6d 62 65 72 20 61 6e me,.size,.modes,.inode-number.an
36500 64 20 64 65 76 69 63 65 2d 6e 75 6d 62 65 72 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 66 69 6c d.device-number.............(fil
36520 65 2d 61 74 74 72 69 62 75 74 65 73 20 22 2e 22 29 20 e2 87 92 20 28 74 20 31 20 31 30 30 30 20 e-attributes.".").....(t.1.1000.
36540 31 30 30 30 20 28 32 35 33 32 39 20 31 38 32 31 35 20 33 32 35 34 38 31 20 39 36 30 30 30 29 20 1000.(25329.18215.325481.96000).
36560 28 32 35 33 32 35 20 31 35 33 36 34 20 35 33 30 32 36 33 20 38 34 30 30 30 30 29 20 28 32 35 33 (25325.15364.530263.840000).(253
36580 32 35 20 31 35 33 36 34 20 35 33 30 32 36 33 20 38 34 30 30 30 30 29 20 37 38 38 20 22 64 72 77 25.15364.530263.840000).788."drw
365a0 78 72 2d 78 72 2d 78 22 20 74 20 31 33 37 38 31 39 20 34 30 29 0a 20 20 20 20 20 20 20 20 20 20 xr-xr-x".t.137819.40)...........
365c0 28 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 63 6f 6c 6c 65 63 74 20 28 66 69 6c 65 2d 61 74 (file-attribute-collect.(file-at
365e0 74 72 69 62 75 74 65 73 20 22 2e 22 29 20 27 74 79 70 65 20 27 6d 6f 64 65 73 0a 20 20 20 20 20 tributes.".").'type.'modes......
36600 20 20 20 20 20 27 69 6e 6f 64 65 2d 6e 75 6d 62 65 72 29 20 e2 87 92 20 28 74 20 22 64 72 77 78 .....'inode-number).....(t."drwx
36620 72 2d 78 72 2d 78 22 20 31 33 37 38 31 39 29 0a 0a 32 2e 32 2e 32 20 45 78 74 65 6e 64 65 64 20 r-xr-x".137819)..2.2.2.Extended.
36640 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.--------------------
36660 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 62 65 20 ------..These.functions.must.be.
36680 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 61 74 2d called.explicitly.via....compat-
366a0 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 63 6f 6e call...,.since.their.calling.con
366c0 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 64 65 64 vention.or.behavior.was.extended
366e0 20 69 6e 20 45 6d 61 63 73 20 32 36 2e 31 3a 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 63 .in.Emacs.26.1:...--.Function:.c
36700 6f 6d 70 61 74 2d 63 61 6c 6c 20 6d 61 6b 65 2d 74 65 6d 70 2d 66 69 6c 65 20 70 72 65 66 69 78 ompat-call.make-temp-file.prefix
36720 20 26 6f 70 74 69 6f 6e 61 6c 20 64 69 72 2d 66 6c 61 67 0a 20 20 20 20 20 20 20 20 20 20 73 75 .&optional.dir-flag...........su
36740 66 66 69 78 20 74 65 78 74 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 ffix.text......This.function.cre
36760 61 74 65 73 20 61 20 74 65 6d 70 6f 72 61 72 79 20 66 69 6c 65 20 61 6e 64 20 72 65 74 75 72 6e ates.a.temporary.file.and.return
36780 73 20 69 74 73 20 6e 61 6d 65 2e 20 20 45 6d 61 63 73 0a 20 20 20 20 20 63 72 65 61 74 65 73 20 s.its.name...Emacs......creates.
367a0 74 68 65 20 74 65 6d 70 6f 72 61 72 79 20 66 69 6c 65 e2 80 99 73 20 6e 61 6d 65 20 62 79 20 61 the.temporary.file...s.name.by.a
367c0 64 64 69 6e 67 20 74 6f 20 50 52 45 46 49 58 20 73 6f 6d 65 20 72 61 6e 64 6f 6d 0a 20 20 20 20 dding.to.PREFIX.some.random.....
367e0 20 63 68 61 72 61 63 74 65 72 73 20 74 68 61 74 20 61 72 65 20 64 69 66 66 65 72 65 6e 74 20 69 .characters.that.are.different.i
36800 6e 20 65 61 63 68 20 45 6d 61 63 73 20 6a 6f 62 2e 20 20 54 68 65 20 72 65 73 75 6c 74 20 69 73 n.each.Emacs.job...The.result.is
36820 0a 20 20 20 20 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f 20 62 65 20 61 20 6e 65 77 6c 79 20 63 ......guaranteed.to.be.a.newly.c
36840 72 65 61 74 65 64 20 66 69 6c 65 2c 20 63 6f 6e 74 61 69 6e 69 6e 67 20 54 45 58 54 20 69 66 20 reated.file,.containing.TEXT.if.
36860 74 68 61 74 e2 80 99 73 0a 20 20 20 20 20 67 69 76 65 6e 20 61 73 20 61 20 73 74 72 69 6e 67 20 that...s......given.as.a.string.
36880 61 6e 64 20 65 6d 70 74 79 20 6f 74 68 65 72 77 69 73 65 2e 20 20 4f 6e 20 4d 53 2d 44 4f 53 2c and.empty.otherwise...On.MS-DOS,
368a0 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 63 61 6e 20 74 72 75 6e 63 61 74 65 .this.function......can.truncate
368c0 20 50 52 45 46 49 58 20 74 6f 20 66 69 74 20 69 6e 74 6f 20 74 68 65 20 38 2b 33 20 66 69 6c 65 .PREFIX.to.fit.into.the.8+3.file
368e0 2d 6e 61 6d 65 20 6c 69 6d 69 74 73 2e 20 20 49 66 0a 20 20 20 20 20 50 52 45 46 49 58 20 69 73 -name.limits...If......PREFIX.is
36900 20 61 20 72 65 6c 61 74 69 76 65 20 66 69 6c 65 20 6e 61 6d 65 2c 20 69 74 20 69 73 20 65 78 70 .a.relative.file.name,.it.is.exp
36920 61 6e 64 65 64 20 61 67 61 69 6e 73 74 0a 20 20 20 20 20 e2 80 98 74 65 6d 70 6f 72 61 72 79 2d anded.against.........temporary-
36940 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 e2 80 99 2e 0a 0a 20 20 20 20 20 54 68 65 20 63 6f 6d file-directory...........The.com
36960 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 6f 72 74 20 patibility.version.adds.support.
36980 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 20 20 20 61 for.handling.the.optional......a
369a0 72 67 75 6d 65 6e 74 20 54 45 58 54 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 74 rgument.TEXT.............(make-t
369c0 65 6d 70 2d 66 69 6c 65 20 22 66 6f 6f 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 emp-file."foo").................
369e0 87 92 20 22 2f 74 6d 70 2f 66 6f 6f 32 33 32 4a 36 76 22 0a 0a 20 20 20 20 20 57 68 65 6e 20 e2 ..."/tmp/foo232J6v".......When..
36a00 80 98 6d 61 6b 65 2d 74 65 6d 70 2d 66 69 6c 65 e2 80 99 20 72 65 74 75 72 6e 73 2c 20 74 68 65 ..make-temp-file....returns,.the
36a20 20 66 69 6c 65 20 68 61 73 20 62 65 65 6e 20 63 72 65 61 74 65 64 20 61 6e 64 20 69 73 0a 20 20 .file.has.been.created.and.is...
36a40 20 20 20 65 6d 70 74 79 2e 20 20 41 74 20 74 68 61 74 20 70 6f 69 6e 74 2c 20 79 6f 75 20 73 68 ...empty...At.that.point,.you.sh
36a60 6f 75 6c 64 20 77 72 69 74 65 20 74 68 65 20 69 6e 74 65 6e 64 65 64 20 63 6f 6e 74 65 6e 74 73 ould.write.the.intended.contents
36a80 20 69 6e 74 6f 0a 20 20 20 20 20 74 68 65 20 66 69 6c 65 2e 0a 0a 20 20 20 20 20 49 66 20 44 49 .into......the.file........If.DI
36aa0 52 2d 46 4c 41 47 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 e2 80 98 6d 61 6b 65 R-FLAG.is.non-...nil...,....make
36ac0 2d 74 65 6d 70 2d 66 69 6c 65 e2 80 99 20 63 72 65 61 74 65 73 20 61 6e 20 65 6d 70 74 79 0a 20 -temp-file....creates.an.empty..
36ae0 20 20 20 20 64 69 72 65 63 74 6f 72 79 20 69 6e 73 74 65 61 64 20 6f 66 20 61 6e 20 65 6d 70 74 ....directory.instead.of.an.empt
36b00 79 20 66 69 6c 65 2e 20 20 49 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 66 69 6c 65 20 6e 61 6d y.file...It.returns.the.file.nam
36b20 65 2c 20 6e 6f 74 0a 20 20 20 20 20 74 68 65 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d 65 2c 20 e,.not......the.directory.name,.
36b40 6f 66 20 74 68 61 74 20 64 69 72 65 63 74 6f 72 79 2e 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 of.that.directory...*Note.(elisp
36b60 29 44 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 4e 61 6d 65 73 3a 3a 2e 0a 0a 20 20 20 20 20 49 )Directory......Names::........I
36b80 66 20 53 55 46 46 49 58 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 e2 80 98 6d 61 f.SUFFIX.is.non-...nil...,....ma
36ba0 6b 65 2d 74 65 6d 70 2d 66 69 6c 65 e2 80 99 20 61 64 64 73 20 69 74 20 61 74 20 74 68 65 20 65 ke-temp-file....adds.it.at.the.e
36bc0 6e 64 20 6f 66 20 74 68 65 0a 20 20 20 20 20 66 69 6c 65 20 6e 61 6d 65 2e 0a 0a 20 20 20 20 20 nd.of.the......file.name........
36be0 49 66 20 54 45 58 54 20 69 73 20 61 20 73 74 72 69 6e 67 2c 20 e2 80 98 6d 61 6b 65 2d 74 65 6d If.TEXT.is.a.string,....make-tem
36c00 70 2d 66 69 6c 65 e2 80 99 20 69 6e 73 65 72 74 73 20 69 74 20 69 6e 20 74 68 65 20 66 69 6c 65 p-file....inserts.it.in.the.file
36c20 2e 0a 0a 20 20 20 20 20 54 6f 20 70 72 65 76 65 6e 74 20 63 6f 6e 66 6c 69 63 74 73 20 61 6d 6f ........To.prevent.conflicts.amo
36c40 6e 67 20 64 69 66 66 65 72 65 6e 74 20 6c 69 62 72 61 72 69 65 73 20 72 75 6e 6e 69 6e 67 20 69 ng.different.libraries.running.i
36c60 6e 20 74 68 65 20 73 61 6d 65 0a 20 20 20 20 20 45 6d 61 63 73 2c 20 65 61 63 68 20 4c 69 73 70 n.the.same......Emacs,.each.Lisp
36c80 20 70 72 6f 67 72 61 6d 20 74 68 61 74 20 75 73 65 73 20 e2 80 98 6d 61 6b 65 2d 74 65 6d 70 2d .program.that.uses....make-temp-
36ca0 66 69 6c 65 e2 80 99 20 73 68 6f 75 6c 64 20 68 61 76 65 20 69 74 73 0a 20 20 20 20 20 6f 77 6e file....should.have.its......own
36cc0 20 50 52 45 46 49 58 2e 20 20 54 68 65 20 6e 75 6d 62 65 72 20 61 64 64 65 64 20 74 6f 20 74 68 .PREFIX...The.number.added.to.th
36ce0 65 20 65 6e 64 20 6f 66 20 50 52 45 46 49 58 20 64 69 73 74 69 6e 67 75 69 73 68 65 73 0a 20 20 e.end.of.PREFIX.distinguishes...
36d00 20 20 20 62 65 74 77 65 65 6e 20 74 68 65 20 73 61 6d 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 ...between.the.same.application.
36d20 72 75 6e 6e 69 6e 67 20 69 6e 20 64 69 66 66 65 72 65 6e 74 20 45 6d 61 63 73 20 6a 6f 62 73 2e running.in.different.Emacs.jobs.
36d40 0a 20 20 20 20 20 41 64 64 69 74 69 6f 6e 61 6c 20 61 64 64 65 64 20 63 68 61 72 61 63 74 65 72 ......Additional.added.character
36d60 73 20 70 65 72 6d 69 74 20 61 20 6c 61 72 67 65 20 6e 75 6d 62 65 72 20 6f 66 20 64 69 73 74 69 s.permit.a.large.number.of.disti
36d80 6e 63 74 20 6e 61 6d 65 73 0a 20 20 20 20 20 65 76 65 6e 20 69 6e 20 6f 6e 65 20 45 6d 61 63 73 nct.names......even.in.one.Emacs
36da0 20 6a 6f 62 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 .job....--.Function:.compat-call
36dc0 20 61 73 73 6f 63 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 66 .assoc.key.alist.&optional.testf
36de0 6e 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 n......This.function.returns.the
36e00 20 66 69 72 73 74 20 61 73 73 6f 63 69 61 74 69 6f 6e 20 66 6f 72 20 4b 45 59 20 69 6e 20 41 4c .first.association.for.KEY.in.AL
36e20 49 53 54 2c 0a 20 20 20 20 20 63 6f 6d 70 61 72 69 6e 67 20 4b 45 59 20 61 67 61 69 6e 73 74 20 IST,......comparing.KEY.against.
36e40 74 68 65 20 61 6c 69 73 74 20 65 6c 65 6d 65 6e 74 73 20 75 73 69 6e 67 20 54 45 53 54 46 4e 20 the.alist.elements.using.TESTFN.
36e60 69 66 20 69 74 20 69 73 20 61 0a 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 2c 20 61 6e 64 20 e2 80 if.it.is.a......function,.and...
36e80 98 65 71 75 61 6c e2 80 99 20 6f 74 68 65 72 77 69 73 65 20 28 2a 6e 6f 74 65 20 28 65 6c 69 73 .equal....otherwise.(*note.(elis
36ea0 70 29 45 71 75 61 6c 69 74 79 0a 20 20 20 20 20 50 72 65 64 69 63 61 74 65 73 3a 3a 29 2e 20 20 p)Equality......Predicates::)...
36ec0 49 66 20 54 45 53 54 46 4e 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 2c 20 69 74 20 69 73 20 63 If.TESTFN.is.a.function,.it.is.c
36ee0 61 6c 6c 65 64 20 77 69 74 68 20 74 77 6f 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 73 3a 20 74 alled.with.two......arguments:.t
36f00 68 65 20 43 41 52 20 6f 66 20 61 6e 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 20 41 4c 49 53 54 20 he.CAR.of.an.element.from.ALIST.
36f20 61 6e 64 20 4b 45 59 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 and.KEY...The.function......retu
36f40 72 6e 73 20 e2 80 98 6e 69 6c e2 80 99 20 69 66 20 6e 6f 20 61 73 73 6f 63 69 61 74 69 6f 6e 20 rns....nil....if.no.association.
36f60 69 6e 20 41 4c 49 53 54 20 68 61 73 20 61 20 43 41 52 20 65 71 75 61 6c 20 74 6f 20 4b 45 59 2c in.ALIST.has.a.CAR.equal.to.KEY,
36f80 20 61 73 0a 20 20 20 20 20 74 65 73 74 65 64 20 62 79 20 54 45 53 54 46 4e 2e 0a 0a 20 20 20 20 .as......tested.by.TESTFN.......
36fa0 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 74 73 3a .*Note.(elisp)Association.Lists:
36fc0 3a 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 65 72 73 69 :........The.compatibility.versi
36fe0 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 20 74 68 65 on.adds.support.for.handling.the
37000 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 53 54 46 4e 2e 0a .optional......argument.TESTFN..
37020 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 6c 69 6e 65 2d ..--.Function:.compat-call.line-
37040 6e 75 6d 62 65 72 2d 61 74 2d 70 6f 73 20 26 6f 70 74 69 6f 6e 61 6c 20 70 6f 73 20 61 62 73 6f number-at-pos.&optional.pos.abso
37060 6c 75 74 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 lute......This.function.returns.
37080 74 68 65 20 6c 69 6e 65 20 6e 75 6d 62 65 72 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 the.line.number.in.the.current.b
370a0 75 66 66 65 72 0a 20 20 20 20 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 74 6f 20 74 68 65 20 uffer......corresponding.to.the.
370c0 62 75 66 66 65 72 20 70 6f 73 69 74 69 6f 6e 20 50 4f 53 2e 20 20 49 66 20 50 4f 53 20 69 73 20 buffer.position.POS...If.POS.is.
370e0 e2 80 98 6e 69 6c e2 80 99 20 6f 72 0a 20 20 20 20 20 6f 6d 69 74 74 65 64 2c 20 74 68 65 20 63 ...nil....or......omitted,.the.c
37100 75 72 72 65 6e 74 20 62 75 66 66 65 72 20 70 6f 73 69 74 69 6f 6e 20 69 73 20 75 73 65 64 2e 20 urrent.buffer.position.is.used..
37120 20 49 66 20 41 42 53 4f 4c 55 54 45 20 69 73 0a 20 20 20 20 20 e2 80 98 6e 69 6c e2 80 99 2c 20 .If.ABSOLUTE.is.........nil...,.
37140 74 68 65 20 64 65 66 61 75 6c 74 2c 20 63 6f 75 6e 74 69 6e 67 20 73 74 61 72 74 73 20 61 74 20 the.default,.counting.starts.at.
37160 e2 80 98 28 70 6f 69 6e 74 2d 6d 69 6e 29 e2 80 99 2c 20 73 6f 20 74 68 65 20 76 61 6c 75 65 0a ...(point-min)...,.so.the.value.
37180 20 20 20 20 20 72 65 66 65 72 73 20 74 6f 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 20 74 .....refers.to.the.contents.of.t
371a0 68 65 20 61 63 63 65 73 73 69 62 6c 65 20 70 6f 72 74 69 6f 6e 20 6f 66 20 74 68 65 0a 20 20 20 he.accessible.portion.of.the....
371c0 20 20 28 70 6f 74 65 6e 74 69 61 6c 6c 79 20 6e 61 72 72 6f 77 65 64 29 20 62 75 66 66 65 72 2e ..(potentially.narrowed).buffer.
371e0 20 20 49 66 20 41 42 53 4f 4c 55 54 45 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 ..If.ABSOLUTE.is.non-...nil...,.
37200 69 67 6e 6f 72 65 0a 20 20 20 20 20 61 6e 79 20 6e 61 72 72 6f 77 69 6e 67 20 61 6e 64 20 72 65 ignore......any.narrowing.and.re
37220 74 75 72 6e 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 4c 69 6e turn.......*Note.(elisp)Text.Lin
37240 65 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 74 79 20 76 65 es::........The.compatibility.ve
37260 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 20 rsion.adds.support.for.handling.
37280 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 41 42 53 4f 4c the.optional......argument.ABSOL
372a0 55 54 45 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 UTE....--.Function:.compat-call.
372c0 61 6c 69 73 74 2d 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 alist-get.key.alist.&optional.de
372e0 66 61 75 6c 74 20 72 65 6d 6f 76 65 0a 20 20 20 20 20 20 20 20 20 20 74 65 73 74 66 6e 0a 20 20 fault.remove...........testfn...
37300 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 74 ...*Note.(elisp)Association.List
37320 73 3a 3a 2e 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d 69 6c 61 72 20 74 s::...This.function.is.similar.t
37340 6f 0a 20 20 20 20 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 65 o.........assq......It.finds.the
37360 20 66 69 72 73 74 20 61 73 73 6f 63 69 61 74 69 6f 6e 20 e2 80 98 28 4b 45 59 20 2e 20 56 41 4c .first.association....(KEY...VAL
37380 55 45 29 e2 80 99 20 62 79 0a 20 20 20 20 20 63 6f 6d 70 61 72 69 6e 67 20 4b 45 59 20 77 69 74 UE)....by......comparing.KEY.wit
373a0 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 20 66 6f 75 6e 64 2c h.ALIST.elements,.and,.if.found,
373c0 20 72 65 74 75 72 6e 73 20 74 68 65 20 56 41 4c 55 45 0a 20 20 20 20 20 6f 66 20 74 68 61 74 20 .returns.the.VALUE......of.that.
373e0 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 20 association...If.no.association.
37400 69 73 20 66 6f 75 6e 64 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 72 65 74 75 is.found,.the.function......retu
37420 72 6e 73 20 44 45 46 41 55 4c 54 2e 20 20 43 6f 6d 70 61 72 69 73 6f 6e 20 6f 66 20 4b 45 59 20 rns.DEFAULT...Comparison.of.KEY.
37440 61 67 61 69 6e 73 74 20 41 4c 49 53 54 20 65 6c 65 6d 65 6e 74 73 20 75 73 65 73 20 74 68 65 0a against.ALIST.elements.uses.the.
37460 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 73 70 65 63 69 66 69 65 64 20 62 79 20 54 45 53 54 46 .....function.specified.by.TESTF
37480 4e 2c 20 64 65 66 61 75 6c 74 69 6e 67 20 74 6f 20 e2 80 98 65 71 e2 80 99 2e 0a 0a 20 20 20 20 N,.defaulting.to....eq..........
374a0 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 74 73 3a .*Note.(elisp)Association.Lists:
374c0 3a 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 65 72 73 69 :........The.compatibility.versi
374e0 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 67 75 6d 65 6e 74 on.handles.the.optional.argument
37500 20 54 45 53 54 46 4e 2e 20 20 49 74 0a 20 20 20 20 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 75 73 .TESTFN...It......can.also.be.us
37520 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 61 72 69 61 62 ed.as.a.*note.Generalized.Variab
37540 6c 65 73 3a 0a 20 20 20 20 20 28 65 6c 69 73 70 29 67 65 6e 65 72 61 6c 69 73 65 64 20 76 61 72 les:......(elisp)generalised.var
37560 69 61 62 6c 65 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 iable....--.Function:.compat-cal
37580 6c 20 73 74 72 69 6e 67 2d 74 72 69 6d 2d 6c 65 66 74 20 73 74 72 69 6e 67 20 26 6f 70 74 69 6f l.string-trim-left.string.&optio
375a0 6e 61 6c 20 72 65 67 65 78 70 0a 20 20 20 20 20 52 65 6d 6f 76 65 20 74 68 65 20 6c 65 61 64 69 nal.regexp......Remove.the.leadi
375c0 6e 67 20 74 65 78 74 20 74 68 61 74 20 6d 61 74 63 68 65 73 20 52 45 47 45 58 50 20 66 72 6f 6d ng.text.that.matches.REGEXP.from
375e0 20 53 54 52 49 4e 47 2e 20 20 52 45 47 45 58 50 0a 20 20 20 20 20 64 65 66 61 75 6c 74 73 20 74 .STRING...REGEXP......defaults.t
37600 6f 20 e2 80 98 5b 20 5c 74 5c 6e 5c 72 5d 2b e2 80 99 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 o....[.\t\n\r]+...........*Note.
37620 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 20 20 20 (elisp)Creating.Strings::.......
37640 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 64 6c .The.compatibility.version.handl
37660 65 73 20 74 68 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 50 2e es.the.optional.argument.REGEXP.
37680 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 72 69 ...--.Function:.compat-call.stri
376a0 6e 67 2d 74 72 69 6d 2d 72 69 67 68 74 20 73 74 72 69 6e 67 20 26 6f 70 74 69 6f 6e 61 6c 20 72 ng-trim-right.string.&optional.r
376c0 65 67 65 78 70 0a 20 20 20 20 20 52 65 6d 6f 76 65 20 74 68 65 20 74 72 61 69 6c 69 6e 67 20 74 egexp......Remove.the.trailing.t
376e0 65 78 74 20 74 68 61 74 20 6d 61 74 63 68 65 73 20 52 45 47 45 58 50 20 66 72 6f 6d 20 53 54 52 ext.that.matches.REGEXP.from.STR
37700 49 4e 47 2e 20 20 52 45 47 45 58 50 0a 20 20 20 20 20 64 65 66 61 75 6c 74 73 20 74 6f 20 e2 80 ING...REGEXP......defaults.to...
37720 98 5b 20 5c 74 5c 6e 5c 72 5d 2b e2 80 99 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 .[.\t\n\r]+...........*Note.(eli
37740 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 20 20 20 20 54 68 65 sp)Creating.Strings::........The
37760 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
37780 68 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 50 2e 0a 0a 20 2d he.optional.argument.REGEXP....-
377a0 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 72 69 6e 67 2d 74 -.Function:.compat-call.string-t
377c0 72 69 6d 20 73 74 72 69 6e 67 20 26 6f 70 74 69 6f 6e 61 6c 20 74 72 69 6d 2d 6c 65 66 74 0a 20 rim.string.&optional.trim-left..
377e0 20 20 20 20 20 20 20 20 20 74 72 69 6d 2d 72 69 67 68 74 0a 20 20 20 20 20 52 65 6d 6f 76 65 20 .........trim-right......Remove.
37800 74 68 65 20 6c 65 61 64 69 6e 67 20 74 65 78 74 20 74 68 61 74 20 6d 61 74 63 68 65 73 20 54 52 the.leading.text.that.matches.TR
37820 49 4d 2d 4c 45 46 54 20 61 6e 64 20 74 72 61 69 6c 69 6e 67 20 74 65 78 74 0a 20 20 20 20 20 74 IM-LEFT.and.trailing.text......t
37840 68 61 74 20 6d 61 74 63 68 65 73 20 54 52 49 4d 2d 52 49 47 48 54 20 66 72 6f 6d 20 53 54 52 49 hat.matches.TRIM-RIGHT.from.STRI
37860 4e 47 2e 20 20 42 6f 74 68 20 72 65 67 65 78 70 73 20 64 65 66 61 75 6c 74 20 74 6f 20 e2 80 98 NG...Both.regexps.default.to....
37880 5b 0a 20 20 20 20 20 5c 74 5c 6e 5c 72 5d 2b e2 80 99 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 [......\t\n\r]+...........*Note.
378a0 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 20 20 20 (elisp)Creating.Strings::.......
378c0 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 64 6c .The.compatibility.version.handl
378e0 65 73 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73 20 54 52 49 4d 2d 4c es.the.optional.arguments.TRIM-L
37900 45 46 54 0a 20 20 20 20 20 61 6e 64 20 54 52 49 4d 2d 52 49 47 48 54 2e 0a 0a 32 2e 32 2e 33 20 EFT......and.TRIM-RIGHT...2.2.3.
37920 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 2d Missing.Definitions.------------
37940 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 70 -------------..Compat.does.not.p
37960 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 67 rovide.support.for.the.following
37980 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 36 .Lisp.features.implemented.in.26
379a0 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 66 75 6e 63 .1:.........The.function....func
379c0 2d 61 72 69 74 79 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 -arity............The.function..
379e0 80 98 73 65 63 75 72 65 2d 68 61 73 68 2d 61 6c 67 6f 72 69 74 68 6d 73 e2 80 99 2e 0a 20 20 20 ..secure-hash-algorithms........
37a00 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 67 6e 75 74 6c 73 2d 61 76 61 69 6c ....The.function....gnutls-avail
37a20 61 62 6c 65 2d 70 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 53 75 70 70 6f 72 74 20 66 6f 72 20 72 65 able-p............Support.for.re
37a40 63 6f 72 64 73 20 61 6e 64 20 72 65 63 6f 72 64 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 20 20 20 e2 cords.and.record.functions......
37a60 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 6d 61 70 62 61 63 6b 74 72 61 63 65 e2 ...The.function....mapbacktrace.
37a80 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 66 69 6c 65 2d ...........The.function....file-
37aa0 6e 61 6d 65 2d 63 61 73 65 2d 69 6e 73 65 6e 73 69 74 69 76 65 2d 70 e2 80 99 2e 0a 20 20 20 e2 name-case-insensitive-p.........
37ac0 80 a2 20 54 68 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 e2 80 ...The.additional.elements.of...
37ae0 98 70 61 72 73 65 2d 70 61 72 74 69 61 6c 2d 73 65 78 70 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 .parse-partial-sexp............T
37b00 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 61 64 64 2d 76 61 72 69 61 62 6c 65 2d 77 61 74 63 he.function....add-variable-watc
37b20 68 65 72 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 75 her............The.function....u
37b40 6e 64 6f 2d 61 6d 61 6c 67 61 6d 61 74 65 2d 63 68 61 6e 67 65 2d 67 72 6f 75 70 e2 80 99 2e 0a ndo-amalgamate-change-group.....
37b60 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 63 68 61 72 2d 66 72 6f 6d .......The.function....char-from
37b80 2d 6e 61 6d 65 e2 80 99 0a 20 20 20 e2 80 a2 20 53 69 67 6e 61 6c 6c 69 6e 67 20 65 72 72 6f 72 -name...........Signalling.error
37ba0 73 20 77 68 65 6e 20 e2 80 98 6c 65 6e 67 74 68 e2 80 99 20 6f 72 20 e2 80 98 6d 65 6d 62 65 72 s.when....length....or....member
37bc0 e2 80 99 20 64 65 61 6c 20 77 69 74 68 20 6c 69 73 74 20 63 79 63 6c 65 73 2e 0a 20 20 20 e2 80 ....deal.with.list.cycles.......
37be0 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 66 72 61 6d 65 2d 6c 69 73 74 2d 7a 2d 6f ..The.function....frame-list-z-o
37c00 72 64 65 72 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 rder............The.function....
37c20 66 72 61 6d 65 2d 72 65 73 74 61 63 6b e2 80 99 2e 0a 20 20 20 e2 80 a2 20 41 6c 6c 20 63 68 61 frame-restack............All.cha
37c40 6e 67 65 73 20 72 65 6c 61 74 65 64 20 74 6f 20 e2 80 98 64 69 73 70 6c 61 79 2d 62 75 66 66 65 nges.related.to....display-buffe
37c60 72 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 77 69 6e r............The.function....win
37c80 64 6f 77 2d 73 77 61 70 2d 73 74 61 74 65 73 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 dow-swap-states............The.f
37ca0 75 6e 63 74 69 6f 6e 20 e2 80 98 73 74 72 69 6e 67 2d 76 65 72 73 69 6f 6e 2d 6c 65 73 73 70 e2 unction....string-version-lessp.
37cc0 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 e2 80 98 78 64 67 e2 80 99 20 6c 69 62 72 61 72 79 ...........The....xdg....library
37ce0 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 e2 80 98 73 76 67 e2 80 99 20 6c 69 62 72 61 72 79 20 28 .........The....svg....library.(
37d00 70 75 62 6c 69 73 68 65 64 20 73 65 70 61 72 61 74 65 6c 79 20 61 73 20 61 20 3a 63 6f 72 65 20 published.separately.as.a.:core.
37d20 70 61 63 6b 61 67 65 29 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 6c 38 71 6d 30 70 2e 69 6e 66 package).....File:.docl8qm0p.inf
37d40 6f 2c 20 20 4e 6f 64 65 3a 20 45 6d 61 63 73 20 32 37 2e 31 2c 20 20 4e 65 78 74 3a 20 45 6d 61 o,..Node:.Emacs.27.1,..Next:.Ema
37d60 63 73 20 32 38 2e 31 2c 20 20 50 72 65 76 3a 20 45 6d 61 63 73 20 32 36 2e 31 2c 20 20 55 70 3a cs.28.1,..Prev:.Emacs.26.1,..Up:
37d80 20 53 75 70 70 6f 72 74 0a 0a 32 2e 33 20 45 6d 61 63 73 20 32 37 2e 31 0a 3d 3d 3d 3d 3d 3d 3d .Support..2.3.Emacs.27.1.=======
37da0 3d 3d 3d 3d 3d 3d 3d 0a 0a 32 2e 33 2e 31 20 41 64 64 65 64 20 44 65 66 69 6e 69 74 69 6f 6e 73 =======..2.3.1.Added.Definitions
37dc0 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 6f .-----------------------..The.fo
37de0 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 65 llowing.functions.and.macros.are
37e00 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 69 6e 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 54 68 65 .implemented.in.Emacs.27.1...The
37e20 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 20 se.functions.are.made.available.
37e40 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 65 by.Compat.on.Emacs.versions.olde
37e60 72 20 74 68 61 6e 0a 32 37 2e 31 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6d 61 6a 6f r.than.27.1....--.Function:.majo
37e80 72 2d 6d 6f 64 65 2d 73 75 73 70 65 6e 64 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f r-mode-suspend......This.functio
37ea0 6e 20 77 6f 72 6b 73 20 6c 69 6b 65 20 e2 80 98 66 75 6e 64 61 6d 65 6e 74 61 6c 2d 6d 6f 64 65 n.works.like....fundamental-mode
37ec0 e2 80 99 2c 20 69 6e 20 74 68 61 74 20 69 74 20 6b 69 6c 6c 73 20 61 6c 6c 0a 20 20 20 20 20 62 ...,.in.that.it.kills.all......b
37ee0 75 66 66 65 72 2d 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 73 2c 20 62 75 74 20 69 74 20 61 6c uffer-local.variables,.but.it.al
37f00 73 6f 20 72 65 63 6f 72 64 73 20 74 68 65 20 6d 61 6a 6f 72 20 6d 6f 64 65 20 69 6e 0a 20 20 20 so.records.the.major.mode.in....
37f20 20 20 65 66 66 65 63 74 2c 20 73 6f 20 74 68 61 74 20 69 74 20 63 6f 75 6c 64 20 73 75 62 73 65 ..effect,.so.that.it.could.subse
37f40 71 75 65 6e 74 6c 79 20 62 65 20 72 65 73 74 6f 72 65 64 2e 20 20 54 68 69 73 20 66 75 6e 63 74 quently.be.restored...This.funct
37f60 69 6f 6e 0a 20 20 20 20 20 61 6e 64 20 e2 80 98 6d 61 6a 6f 72 2d 6d 6f 64 65 2d 72 65 73 74 6f ion......and....major-mode-resto
37f80 72 65 e2 80 99 20 28 64 65 73 63 72 69 62 65 64 20 6e 65 78 74 29 20 61 72 65 20 75 73 65 66 75 re....(described.next).are.usefu
37fa0 6c 20 77 68 65 6e 20 79 6f 75 20 6e 65 65 64 0a 20 20 20 20 20 74 6f 20 70 75 74 20 61 20 62 75 l.when.you.need......to.put.a.bu
37fc0 66 66 65 72 20 75 6e 64 65 72 20 73 6f 6d 65 20 73 70 65 63 69 61 6c 69 7a 65 64 20 6d 6f 64 65 ffer.under.some.specialized.mode
37fe0 20 6f 74 68 65 72 20 74 68 61 6e 20 74 68 65 20 6f 6e 65 0a 20 20 20 20 20 45 6d 61 63 73 20 63 .other.than.the.one......Emacs.c
38000 68 6f 6f 73 65 73 20 66 6f 72 20 69 74 20 61 75 74 6f 6d 61 74 69 63 61 6c 6c 79 2c 20 62 75 74 hooses.for.it.automatically,.but
38020 20 77 6f 75 6c 64 20 61 6c 73 6f 20 6c 69 6b 65 20 74 6f 20 62 65 20 61 62 6c 65 0a 20 20 20 20 .would.also.like.to.be.able.....
38040 20 74 6f 20 73 77 69 74 63 68 20 62 61 63 6b 20 74 6f 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 .to.switch.back.to.the.original.
38060 6d 6f 64 65 20 6c 61 74 65 72 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6d 61 6a 6f 72 mode.later....--.Function:.major
38080 2d 6d 6f 64 65 2d 72 65 73 74 6f 72 65 20 26 6f 70 74 69 6f 6e 61 6c 20 61 76 6f 69 64 65 64 2d -mode-restore.&optional.avoided-
380a0 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 73 74 6f 72 65 modes......This.function.restore
380c0 73 20 74 68 65 20 6d 61 6a 6f 72 20 6d 6f 64 65 20 72 65 63 6f 72 64 65 64 20 62 79 0a 20 20 20 s.the.major.mode.recorded.by....
380e0 20 20 e2 80 98 6d 61 6a 6f 72 2d 6d 6f 64 65 2d 73 75 73 70 65 6e 64 e2 80 99 2e 20 20 49 66 20 .....major-mode-suspend......If.
38100 6e 6f 20 6d 61 6a 6f 72 20 6d 6f 64 65 20 77 61 73 20 72 65 63 6f 72 64 65 64 2c 20 74 68 69 73 no.major.mode.was.recorded,.this
38120 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 63 61 6c 6c 73 20 e2 80 98 6e 6f 72 6d 61 6c 2d 6d .function......calls....normal-m
38140 6f 64 65 e2 80 99 2c 20 62 75 74 20 74 72 69 65 73 20 74 6f 20 66 6f 72 63 65 20 69 74 20 6e 6f ode...,.but.tries.to.force.it.no
38160 74 20 74 6f 20 63 68 6f 6f 73 65 20 61 6e 79 20 6d 6f 64 65 73 0a 20 20 20 20 20 69 6e 20 41 56 t.to.choose.any.modes......in.AV
38180 4f 49 44 45 44 2d 4d 4f 44 45 53 2c 20 69 66 20 74 68 61 74 20 61 72 67 75 6d 65 6e 74 20 69 73 OIDED-MODES,.if.that.argument.is
381a0 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 72 .non-...nil.......--.Function:.r
381c0 69 6e 67 2d 72 65 73 69 7a 65 20 72 69 6e 67 20 73 69 7a 65 0a 20 20 20 20 20 53 65 74 20 74 68 ing-resize.ring.size......Set.th
381e0 65 20 73 69 7a 65 20 6f 66 20 52 49 4e 47 20 74 6f 20 53 49 5a 45 2e 20 20 49 66 20 74 68 65 20 e.size.of.RING.to.SIZE...If.the.
38200 6e 65 77 20 73 69 7a 65 20 69 73 20 73 6d 61 6c 6c 65 72 2c 20 74 68 65 6e 20 74 68 65 0a 20 20 new.size.is.smaller,.then.the...
38220 20 20 20 6f 6c 64 65 73 74 20 69 74 65 6d 73 20 69 6e 20 74 68 65 20 72 69 6e 67 20 61 72 65 20 ...oldest.items.in.the.ring.are.
38240 64 69 73 63 61 72 64 65 64 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6d 69 6e 69 62 75 discarded....--.Function:.minibu
38260 66 66 65 72 2d 68 69 73 74 6f 72 79 2d 76 61 6c 75 65 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 ffer-history-value......Return.t
38280 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 6d 69 6e 69 62 75 66 66 65 72 20 69 6e 70 75 74 he.value.of.the.minibuffer.input
382a0 20 68 69 73 74 6f 72 79 20 6c 69 73 74 2e 20 20 49 66 0a 20 20 20 20 20 4d 49 4e 49 42 55 46 46 .history.list...If......MINIBUFF
382c0 45 52 2d 48 49 53 54 4f 52 59 2d 56 41 52 49 41 42 4c 45 20 70 6f 69 6e 74 73 20 74 6f 20 61 20 ER-HISTORY-VARIABLE.points.to.a.
382e0 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 76 61 72 69 61 62 6c 65 20 61 6e 64 0a 20 20 20 20 20 74 buffer-local.variable.and......t
38300 68 65 20 6d 69 6e 69 62 75 66 66 65 72 20 69 73 20 61 63 74 69 76 65 2c 20 72 65 74 75 72 6e 20 he.minibuffer.is.active,.return.
38320 74 68 65 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 76 61 6c 75 65 20 66 6f 72 20 74 68 65 0a 20 the.buffer-local.value.for.the..
38340 20 20 20 20 62 75 66 66 65 72 20 74 68 61 74 20 77 61 73 20 63 75 72 72 65 6e 74 20 77 68 65 6e ....buffer.that.was.current.when
38360 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 64 2e 22 0a .the.minibuffer.was.activated.".
38380 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 77 69 74 68 2d 6d 69 6e 69 62 75 66 66 65 72 2d 73 65 6c 65 ..--.Macro:.with-minibuffer-sele
383a0 63 74 65 64 2d 77 69 6e 64 6f 77 20 26 72 65 73 74 20 62 6f 64 79 0a 20 20 20 20 20 45 78 65 63 cted-window.&rest.body......Exec
383c0 75 74 65 20 74 68 65 20 66 6f 72 6d 73 20 69 6e 20 42 4f 44 59 20 66 72 6f 6d 20 74 68 65 20 6d ute.the.forms.in.BODY.from.the.m
383e0 69 6e 69 62 75 66 66 65 72 20 69 6e 20 69 74 73 20 6f 72 69 67 69 6e 61 6c 0a 20 20 20 20 20 77 inibuffer.in.its.original......w
38400 69 6e 64 6f 77 2e 20 20 57 68 65 6e 20 75 73 65 64 20 69 6e 20 61 20 6d 69 6e 69 62 75 66 66 65 indow...When.used.in.a.minibuffe
38420 72 20 77 69 6e 64 6f 77 2c 20 73 65 6c 65 63 74 20 74 68 65 20 77 69 6e 64 6f 77 0a 20 20 20 20 r.window,.select.the.window.....
38440 20 73 65 6c 65 63 74 65 64 20 6a 75 73 74 20 62 65 66 6f 72 65 20 74 68 65 20 6d 69 6e 69 62 75 .selected.just.before.the.minibu
38460 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 78 65 63 75 74 65 20 ffer.was.activated,.and.execute.
38480 74 68 65 0a 20 20 20 20 20 66 6f 72 6d 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 72 the......forms....--.Function:.r
384a0 65 61 64 2d 63 68 61 72 2d 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 66 65 72 20 70 72 6f 6d 70 74 20 ead-char-from-minibuffer.prompt.
384c0 26 6f 70 74 69 6f 6e 61 6c 20 63 68 61 72 73 20 68 69 73 74 6f 72 79 0a 20 20 20 20 20 54 68 69 &optional.chars.history......Thi
384e0 73 20 66 75 6e 63 74 69 6f 6e 20 75 73 65 73 20 74 68 65 20 6d 69 6e 69 62 75 66 66 65 72 20 74 s.function.uses.the.minibuffer.t
38500 6f 20 72 65 61 64 20 61 6e 64 20 72 65 74 75 72 6e 20 61 20 73 69 6e 67 6c 65 0a 20 20 20 20 20 o.read.and.return.a.single......
38520 63 68 61 72 61 63 74 65 72 2e 20 20 4f 70 74 69 6f 6e 61 6c 6c 79 2c 20 69 74 20 69 67 6e 6f 72 character...Optionally,.it.ignor
38540 65 73 20 61 6e 79 20 69 6e 70 75 74 20 74 68 61 74 20 69 73 20 6e 6f 74 20 61 20 6d 65 6d 62 65 es.any.input.that.is.not.a.membe
38560 72 0a 20 20 20 20 20 6f 66 20 43 48 41 52 53 2c 20 61 20 6c 69 73 74 20 6f 66 20 61 63 63 65 70 r......of.CHARS,.a.list.of.accep
38580 74 65 64 20 63 68 61 72 61 63 74 65 72 73 2e 20 20 54 68 65 20 48 49 53 54 4f 52 59 20 61 72 67 ted.characters...The.HISTORY.arg
385a0 75 6d 65 6e 74 0a 20 20 20 20 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20 68 69 73 74 6f 72 79 ument......specifies.the.history
385c0 20 6c 69 73 74 20 73 79 6d 62 6f 6c 20 74 6f 20 75 73 65 3b 20 69 66 20 69 74 20 69 73 20 6f 6d .list.symbol.to.use;.if.it.is.om
385e0 69 74 74 65 64 20 6f 72 0a 20 20 20 20 20 e2 80 98 6e 69 6c e2 80 99 2c 20 74 68 69 73 20 66 75 itted.or.........nil...,.this.fu
38600 6e 63 74 69 6f 6e 20 64 6f 65 73 6e e2 80 99 74 20 75 73 65 20 74 68 65 20 68 69 73 74 6f 72 79 nction.doesn...t.use.the.history
38620 2e 0a 0a 20 20 20 20 20 49 66 20 79 6f 75 20 62 69 6e 64 20 e2 80 98 68 65 6c 70 2d 66 6f 72 6d ........If.you.bind....help-form
38640 e2 80 99 20 74 6f 20 61 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 76 61 6c 75 65 20 77 68 69 ....to.a.non-...nil....value.whi
38660 6c 65 20 63 61 6c 6c 69 6e 67 0a 20 20 20 20 20 e2 80 98 72 65 61 64 2d 63 68 61 72 2d 66 72 6f le.calling.........read-char-fro
38680 6d 2d 6d 69 6e 69 62 75 66 66 65 72 e2 80 99 2c 20 74 68 65 6e 20 70 72 65 73 73 69 6e 67 20 e2 m-minibuffer...,.then.pressing..
386a0 80 98 68 65 6c 70 2d 63 68 61 72 e2 80 99 20 63 61 75 73 65 73 20 69 74 20 74 6f 0a 20 20 20 20 ..help-char....causes.it.to.....
386c0 20 65 76 61 6c 75 61 74 65 20 e2 80 98 68 65 6c 70 2d 66 6f 72 6d e2 80 99 20 61 6e 64 20 64 69 .evaluate....help-form....and.di
386e0 73 70 6c 61 79 20 74 68 65 20 72 65 73 75 6c 74 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a splay.the.result....--.Function:
38700 20 62 69 67 6e 75 6d 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 .bignump.object......This.predic
38720 61 74 65 20 74 65 73 74 73 20 77 68 65 74 68 65 72 20 69 74 73 20 61 72 67 75 6d 65 6e 74 20 69 ate.tests.whether.its.argument.i
38740 73 20 61 20 6c 61 72 67 65 20 69 6e 74 65 67 65 72 2c 20 61 6e 64 0a 20 20 20 20 20 72 65 74 75 s.a.large.integer,.and......retu
38760 72 6e 73 20 e2 80 98 74 e2 80 99 20 69 66 20 73 6f 2c 20 e2 80 98 6e 69 6c e2 80 99 20 6f 74 68 rns....t....if.so,....nil....oth
38780 65 72 77 69 73 65 2e 20 20 55 6e 6c 69 6b 65 20 73 6d 61 6c 6c 20 69 6e 74 65 67 65 72 73 2c 20 erwise...Unlike.small.integers,.
387a0 6c 61 72 67 65 0a 20 20 20 20 20 69 6e 74 65 67 65 72 73 20 63 61 6e 20 62 65 20 e2 80 98 3d e2 large......integers.can.be....=.
387c0 80 99 20 6f 72 20 e2 80 98 65 71 6c e2 80 99 20 65 76 65 6e 20 69 66 20 74 68 65 79 20 61 72 65 ...or....eql....even.if.they.are
387e0 20 6e 6f 74 20 e2 80 98 65 71 e2 80 99 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 66 69 .not....eq.......--.Function:.fi
38800 78 6e 75 6d 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 74 65 xnump.object......This.predicate
38820 20 74 65 73 74 73 20 77 68 65 74 68 65 72 20 69 74 73 20 61 72 67 75 6d 65 6e 74 20 69 73 20 61 .tests.whether.its.argument.is.a
38840 20 73 6d 61 6c 6c 20 69 6e 74 65 67 65 72 2c 20 61 6e 64 0a 20 20 20 20 20 72 65 74 75 72 6e 73 .small.integer,.and......returns
38860 20 e2 80 98 74 e2 80 99 20 69 66 20 73 6f 2c 20 e2 80 98 6e 69 6c e2 80 99 20 6f 74 68 65 72 77 ....t....if.so,....nil....otherw
38880 69 73 65 2e 20 20 53 6d 61 6c 6c 20 69 6e 74 65 67 65 72 73 20 63 61 6e 20 62 65 20 63 6f 6d 70 ise...Small.integers.can.be.comp
388a0 61 72 65 64 0a 20 20 20 20 20 77 69 74 68 20 e2 80 98 65 71 e2 80 99 2e 0a 0a 20 2d 2d 20 53 70 ared......with....eq.......--.Sp
388c0 65 63 69 61 6c 20 46 6f 72 6d 3a 20 77 69 74 68 2d 73 75 70 70 72 65 73 73 65 64 2d 77 61 72 6e ecial.Form:.with-suppressed-warn
388e0 69 6e 67 73 20 77 61 72 6e 69 6e 67 73 20 62 6f 64 79 2e 2e 2e 0a 20 20 20 20 20 49 6e 20 65 78 ings.warnings.body.........In.ex
38900 65 63 75 74 69 6f 6e 2c 20 74 68 69 73 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 e2 ecution,.this.is.equivalent.to..
38920 80 98 28 70 72 6f 67 6e 20 42 4f 44 59 2e 2e 2e 29 e2 80 99 2c 20 62 75 74 20 74 68 65 0a 20 20 ..(progn.BODY...)...,.but.the...
38940 20 20 20 63 6f 6d 70 69 6c 65 72 20 64 6f 65 73 20 6e 6f 74 20 69 73 73 75 65 20 77 61 72 6e 69 ...compiler.does.not.issue.warni
38960 6e 67 73 20 66 6f 72 20 74 68 65 20 73 70 65 63 69 66 69 65 64 20 63 6f 6e 64 69 74 69 6f 6e 73 ngs.for.the.specified.conditions
38980 20 69 6e 0a 20 20 20 20 20 42 4f 44 59 2e 20 20 57 41 52 4e 49 4e 47 53 20 69 73 20 61 6e 20 61 .in......BODY...WARNINGS.is.an.a
389a0 73 73 6f 63 69 61 74 69 6f 6e 20 6c 69 73 74 20 6f 66 20 77 61 72 6e 69 6e 67 20 73 79 6d 62 6f ssociation.list.of.warning.symbo
389c0 6c 73 20 61 6e 64 0a 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 2f 76 61 72 69 61 62 6c 65 20 73 79 ls.and......function/variable.sy
389e0 6d 62 6f 6c 73 20 74 68 65 79 20 61 70 70 6c 79 20 74 6f 2e 20 20 46 6f 72 20 69 6e 73 74 61 6e mbols.they.apply.to...For.instan
38a00 63 65 2c 20 69 66 20 79 6f 75 20 77 69 73 68 0a 20 20 20 20 20 74 6f 20 63 61 6c 6c 20 61 6e 20 ce,.if.you.wish......to.call.an.
38a20 6f 62 73 6f 6c 65 74 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 65 64 20 e2 80 98 66 6f 6f e2 obsolete.function.called....foo.
38a40 80 99 2c 20 62 75 74 20 77 61 6e 74 20 74 6f 20 73 75 70 70 72 65 73 73 20 74 68 65 0a 20 20 20 ..,.but.want.to.suppress.the....
38a60 20 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 77 61 72 6e 69 6e 67 2c 20 73 61 79 3a 0a 0a 20 20 20 ..compilation.warning,.say:.....
38a80 20 20 20 20 20 20 20 28 77 69 74 68 2d 73 75 70 70 72 65 73 73 65 64 2d 77 61 72 6e 69 6e 67 73 .......(with-suppressed-warnings
38aa0 20 28 28 6f 62 73 6f 6c 65 74 65 20 66 6f 6f 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 66 .((obsolete.foo)).............(f
38ac0 6f 6f 20 2e 2e 2e 29 29 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 70 72 6f 70 65 72 2d 6c oo....))...--.Function:.proper-l
38ae0 69 73 74 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 ist-p.object......This.function.
38b00 72 65 74 75 72 6e 73 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 4f 42 4a 45 43 54 20 69 66 20 returns.the.length.of.OBJECT.if.
38b20 69 74 20 69 73 20 61 20 70 72 6f 70 65 72 20 6c 69 73 74 2c 0a 20 20 20 20 20 e2 80 98 6e 69 6c it.is.a.proper.list,.........nil
38b40 e2 80 99 20 6f 74 68 65 72 77 69 73 65 20 28 2a 6e 6f 74 65 20 28 65 6c 69 73 70 29 43 6f 6e 73 ....otherwise.(*note.(elisp)Cons
38b60 20 43 65 6c 6c 73 3a 3a 29 2e 20 20 49 6e 20 61 64 64 69 74 69 6f 6e 20 74 6f 0a 20 20 20 20 20 .Cells::)...In.addition.to......
38b80 73 61 74 69 73 66 79 69 6e 67 20 e2 80 98 6c 69 73 74 70 e2 80 99 2c 20 61 20 70 72 6f 70 65 72 satisfying....listp...,.a.proper
38ba0 20 6c 69 73 74 20 69 73 20 6e 65 69 74 68 65 72 20 63 69 72 63 75 6c 61 72 20 6e 6f 72 20 64 6f .list.is.neither.circular.nor.do
38bc0 74 74 65 64 2e 0a 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 tted.............(proper-list-p.
38be0 27 28 61 20 62 20 63 29 29 20 e2 87 92 20 33 0a 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 70 65 '(a.b.c)).....3...........(prope
38c00 72 2d 6c 69 73 74 2d 70 20 27 28 61 20 62 20 2e 20 63 29 29 20 e2 87 92 20 6e 69 6c 0a 0a 20 20 r-list-p.'(a.b...c)).....nil....
38c20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 4c 69 73 74 2d 72 65 6c 61 74 65 64 20 50 72 65 ...*Note.(elisp)List-related.Pre
38c40 64 69 63 61 74 65 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 73 74 72 69 6e 67 dicates::....--.Function:.string
38c60 2d 64 69 73 74 61 6e 63 65 20 73 74 72 69 6e 67 31 20 73 74 72 69 6e 67 32 20 26 6f 70 74 69 6f -distance.string1.string2.&optio
38c80 6e 61 6c 20 62 79 74 65 63 6f 6d 70 61 72 65 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 nal.bytecompare......This.functi
38ca0 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 5f 4c 65 76 65 6e 73 68 74 65 69 6e 20 64 69 73 74 on.returns.the._Levenshtein.dist
38cc0 61 6e 63 65 5f 20 62 65 74 77 65 65 6e 20 74 68 65 20 73 6f 75 72 63 65 0a 20 20 20 20 20 73 74 ance_.between.the.source......st
38ce0 72 69 6e 67 20 53 54 52 49 4e 47 31 20 61 6e 64 20 74 68 65 20 74 61 72 67 65 74 20 73 74 72 69 ring.STRING1.and.the.target.stri
38d00 6e 67 20 53 54 52 49 4e 47 32 2e 20 20 54 68 65 20 4c 65 76 65 6e 73 68 74 65 69 6e 0a 20 20 20 ng.STRING2...The.Levenshtein....
38d20 20 20 64 69 73 74 61 6e 63 65 20 69 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 73 69 6e 67 ..distance.is.the.number.of.sing
38d40 6c 65 2d 63 68 61 72 61 63 74 65 72 20 63 68 61 6e 67 65 73 e2 80 94 64 65 6c 65 74 69 6f 6e 73 le-character.changes...deletions
38d60 2c 0a 20 20 20 20 20 69 6e 73 65 72 74 69 6f 6e 73 2c 20 6f 72 20 72 65 70 6c 61 63 65 6d 65 6e ,......insertions,.or.replacemen
38d80 74 73 e2 80 94 72 65 71 75 69 72 65 64 20 74 6f 20 74 72 61 6e 73 66 6f 72 6d 20 74 68 65 20 73 ts...required.to.transform.the.s
38da0 6f 75 72 63 65 20 73 74 72 69 6e 67 0a 20 20 20 20 20 69 6e 74 6f 20 74 68 65 20 74 61 72 67 65 ource.string......into.the.targe
38dc0 74 20 73 74 72 69 6e 67 3b 20 69 74 20 69 73 20 6f 6e 65 20 70 6f 73 73 69 62 6c 65 20 64 65 66 t.string;.it.is.one.possible.def
38de0 69 6e 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 5f 65 64 69 74 0a 20 20 20 20 20 64 69 73 74 61 6e inition.of.the._edit......distan
38e00 63 65 5f 20 62 65 74 77 65 65 6e 20 73 74 72 69 6e 67 73 2e 0a 0a 20 20 20 20 20 4c 65 74 74 65 ce_.between.strings........Lette
38e20 72 2d 63 61 73 65 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 73 20 69 73 20 73 69 67 6e 69 66 69 r-case.of.the.strings.is.signifi
38e40 63 61 6e 74 20 66 6f 72 20 74 68 65 20 63 6f 6d 70 75 74 65 64 0a 20 20 20 20 20 64 69 73 74 61 cant.for.the.computed......dista
38e60 6e 63 65 2c 20 62 75 74 20 74 68 65 69 72 20 74 65 78 74 20 70 72 6f 70 65 72 74 69 65 73 20 61 nce,.but.their.text.properties.a
38e80 72 65 20 69 67 6e 6f 72 65 64 2e 20 20 49 66 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 0a 20 20 20 re.ignored...If.the.optional....
38ea0 20 20 61 72 67 75 6d 65 6e 74 20 42 59 54 45 43 4f 4d 50 41 52 45 20 69 73 20 6e 6f 6e 2d e2 80 ..argument.BYTECOMPARE.is.non-..
38ec0 98 6e 69 6c e2 80 99 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 63 61 6c 63 75 6c 61 74 65 73 .nil...,.the.function.calculates
38ee0 20 74 68 65 0a 20 20 20 20 20 64 69 73 74 61 6e 63 65 20 69 6e 20 74 65 72 6d 73 20 6f 66 20 62 .the......distance.in.terms.of.b
38f00 79 74 65 73 20 69 6e 73 74 65 61 64 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 2e 20 20 54 68 65 ytes.instead.of.characters...The
38f20 20 62 79 74 65 2d 77 69 73 65 0a 20 20 20 20 20 63 6f 6d 70 61 72 69 73 6f 6e 20 75 73 65 73 20 .byte-wise......comparison.uses.
38f40 74 68 65 20 69 6e 74 65 72 6e 61 6c 20 45 6d 61 63 73 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f the.internal.Emacs.representatio
38f60 6e 20 6f 66 20 63 68 61 72 61 63 74 65 72 73 2c 20 73 6f 0a 20 20 20 20 20 69 74 20 77 69 6c 6c n.of.characters,.so......it.will
38f80 20 70 72 6f 64 75 63 65 20 69 6e 61 63 63 75 72 61 74 65 20 72 65 73 75 6c 74 73 20 66 6f 72 20 .produce.inaccurate.results.for.
38fa0 6d 75 6c 74 69 62 79 74 65 20 73 74 72 69 6e 67 73 20 74 68 61 74 0a 20 20 20 20 20 69 6e 63 6c multibyte.strings.that......incl
38fc0 75 64 65 20 72 61 77 20 62 79 74 65 73 20 28 2a 6e 6f 74 65 20 28 65 6c 69 73 70 29 54 65 78 74 ude.raw.bytes.(*note.(elisp)Text
38fe0 20 52 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 73 3a 3a 29 3b 20 6d 61 6b 65 20 74 68 65 0a 20 20 .Representations::);.make.the...
39000 20 20 20 73 74 72 69 6e 67 73 20 75 6e 69 62 79 74 65 20 62 79 20 65 6e 63 6f 64 69 6e 67 20 74 ...strings.unibyte.by.encoding.t
39020 68 65 6d 20 28 2a 6e 6f 74 65 20 28 65 6c 69 73 70 29 45 78 70 6c 69 63 69 74 20 45 6e 63 6f 64 hem.(*note.(elisp)Explicit.Encod
39040 69 6e 67 3a 3a 29 0a 20 20 20 20 20 69 66 20 79 6f 75 20 6e 65 65 64 20 61 63 63 75 72 61 74 65 ing::)......if.you.need.accurate
39060 20 72 65 73 75 6c 74 73 20 77 69 74 68 20 72 61 77 20 62 79 74 65 73 2e 0a 0a 20 20 20 20 20 2a .results.with.raw.bytes........*
39080 4e 6f 74 65 20 28 65 6c 69 73 70 29 54 65 78 74 20 43 6f 6d 70 61 72 69 73 6f 6e 3a 3a 2e 0a 0a Note.(elisp)Text.Comparison::...
390a0 20 2d 2d 20 4d 61 63 72 6f 3a 20 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 20 62 6f 64 79 2e 2e 2e .--.Macro:.ignore-errors.body...
390c0 0a 20 20 20 20 20 54 68 69 73 20 63 6f 6e 73 74 72 75 63 74 20 65 78 65 63 75 74 65 73 20 42 4f ......This.construct.executes.BO
390e0 44 59 2c 20 69 67 6e 6f 72 69 6e 67 20 61 6e 79 20 65 72 72 6f 72 73 20 74 68 61 74 20 6f 63 63 DY,.ignoring.any.errors.that.occ
39100 75 72 20 64 75 72 69 6e 67 0a 20 20 20 20 20 69 74 73 20 65 78 65 63 75 74 69 6f 6e 2e 20 20 49 ur.during......its.execution...I
39120 66 20 74 68 65 20 65 78 65 63 75 74 69 6f 6e 20 69 73 20 77 69 74 68 6f 75 74 20 65 72 72 6f 72 f.the.execution.is.without.error
39140 2c 20 e2 80 98 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 e2 80 99 0a 20 20 20 20 20 72 65 74 75 72 ,....ignore-errors.........retur
39160 6e 73 20 74 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 ns.the.value.of.the.last.form.in
39180 20 42 4f 44 59 3b 20 6f 74 68 65 72 77 69 73 65 2c 20 69 74 20 72 65 74 75 72 6e 73 0a 20 20 20 .BODY;.otherwise,.it.returns....
391a0 20 20 e2 80 98 6e 69 6c e2 80 99 2e 0a 0a 20 20 20 20 20 48 65 72 65 e2 80 99 73 20 74 68 65 20 .....nil...........Here...s.the.
391c0 65 78 61 6d 70 6c 65 20 61 74 20 74 68 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 69 73 example.at.the.beginning.of.this
391e0 20 73 75 62 73 65 63 74 69 6f 6e 20 72 65 77 72 69 74 74 65 6e 0a 20 20 20 20 20 75 73 69 6e 67 .subsection.rewritten......using
39200 20 e2 80 98 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 e2 80 99 3a 0a 0a 20 20 20 20 20 20 20 20 20 ....ignore-errors...:...........
39220 20 20 20 28 69 67 6e 6f 72 65 2d 65 72 72 6f 72 73 20 28 64 65 6c 65 74 65 2d 66 69 6c 65 20 66 ...(ignore-errors.(delete-file.f
39240 69 6c 65 6e 61 6d 65 29 29 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 48 61 6e ilename)).......*Note.(elisp)Han
39260 64 6c 69 6e 67 20 45 72 72 6f 72 73 3a 3a 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 64 6f 6c 69 dling.Errors::....--.Macro:.doli
39280 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 20 28 76 61 72 20 63 st-with-progress-reporter.(var.c
392a0 6f 75 6e 74 20 5b 72 65 73 75 6c 74 5d 29 0a 20 20 20 20 20 20 20 20 20 20 72 65 70 6f 72 74 65 ount.[result])...........reporte
392c0 72 2d 6f 72 2d 6d 65 73 73 61 67 65 20 62 6f 64 79 2e 2e 2e 0a 20 20 20 20 20 54 68 69 73 20 69 r-or-message.body.........This.i
392e0 73 20 61 6e 6f 74 68 65 72 20 63 6f 6e 76 65 6e 69 65 6e 63 65 20 6d 61 63 72 6f 20 74 68 61 74 s.another.convenience.macro.that
39300 20 77 6f 72 6b 73 20 74 68 65 20 73 61 6d 65 20 77 61 79 20 61 73 0a 20 20 20 20 20 e2 80 98 64 .works.the.same.way.as.........d
39320 6f 6c 69 73 74 e2 80 99 20 64 6f 65 73 2c 20 62 75 74 20 61 6c 73 6f 20 72 65 70 6f 72 74 73 20 olist....does,.but.also.reports.
39340 6c 6f 6f 70 20 70 72 6f 67 72 65 73 73 20 75 73 69 6e 67 20 74 68 65 20 66 75 6e 63 74 69 6f 6e loop.progress.using.the.function
39360 73 0a 20 20 20 20 20 64 65 73 63 72 69 62 65 64 20 61 62 6f 76 65 2e 20 20 41 73 20 69 6e 20 e2 s......described.above...As.in..
39380 80 98 64 6f 74 69 6d 65 73 2d 77 69 74 68 2d 70 72 6f 67 72 65 73 73 2d 72 65 70 6f 72 74 65 72 ..dotimes-with-progress-reporter
393a0 e2 80 99 2c 0a 20 20 20 20 20 e2 80 98 72 65 70 6f 72 74 65 72 2d 6f 72 2d 6d 65 73 73 61 67 65 ...,.........reporter-or-message
393c0 e2 80 99 20 63 61 6e 20 62 65 20 61 20 70 72 6f 67 72 65 73 73 20 72 65 70 6f 72 74 65 72 20 6f ....can.be.a.progress.reporter.o
393e0 72 20 61 20 73 74 72 69 6e 67 2e 20 20 59 6f 75 0a 20 20 20 20 20 63 61 6e 20 72 65 77 72 69 74 r.a.string...You......can.rewrit
39400 65 20 74 68 65 20 70 72 65 76 69 6f 75 73 20 65 78 61 6d 70 6c 65 20 77 69 74 68 20 74 68 69 73 e.the.previous.example.with.this
39420 20 6d 61 63 72 6f 20 61 73 20 66 6f 6c 6c 6f 77 73 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 28 64 .macro.as.follows:............(d
39440 6f 6c 69 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 20 28 6b 20 olist-with-progress-reporter.(k.
39460 28 6e 75 6d 62 65 72 2d 73 65 71 75 65 6e 63 65 20 30 20 35 30 30 29 29 20 22 43 6f 6c 6c 65 63 (number-sequence.0.500))."Collec
39480 74 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 6f 6d 65 20 6d 61 6e 61 20 66 6f 72 ting...............some.mana.for
394a0 20 45 6d 61 63 73 2e 2e 2e 22 20 20 28 73 69 74 2d 66 6f 72 20 30 2e 30 31 29 29 0a 0a 20 20 20 .Emacs..."..(sit-for.0.01)).....
394c0 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 50 72 6f 67 72 65 73 73 3a 3a 2e 0a 0a 20 2d 2d 20 ..*Note.(elisp)Progress::....--.
394e0 46 75 6e 63 74 69 6f 6e 3a 20 66 6c 61 74 74 65 6e 2d 74 72 65 65 20 74 72 65 65 0a 20 20 20 20 Function:.flatten-tree.tree.....
39500 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 e2 80 9c 66 6c 61 74 .This.function.returns.a....flat
39520 74 65 6e 65 64 e2 80 9d 20 63 6f 70 79 20 6f 66 20 54 52 45 45 2c 20 74 68 61 74 20 69 73 2c 20 tened....copy.of.TREE,.that.is,.
39540 61 20 6c 69 73 74 0a 20 20 20 20 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 6c 6c 20 74 68 65 20 6e a.list......containing.all.the.n
39560 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 74 65 72 6d 69 6e 61 6c 20 6e 6f 64 65 73 2c 20 6f 72 20 on-...nil....terminal.nodes,.or.
39580 6c 65 61 76 65 73 2c 20 6f 66 20 74 68 65 20 74 72 65 65 0a 20 20 20 20 20 6f 66 20 63 6f 6e 73 leaves,.of.the.tree......of.cons
395a0 20 63 65 6c 6c 73 20 72 6f 6f 74 65 64 20 61 74 20 54 52 45 45 2e 20 20 4c 65 61 76 65 73 20 69 .cells.rooted.at.TREE...Leaves.i
395c0 6e 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 6c 69 73 74 20 61 72 65 20 69 6e 0a 20 20 20 20 20 n.the.returned.list.are.in......
395e0 74 68 65 20 73 61 6d 65 20 6f 72 64 65 72 20 61 73 20 69 6e 20 54 52 45 45 2e 0a 0a 20 20 20 20 the.same.order.as.in.TREE.......
39600 20 20 20 20 20 20 28 66 6c 61 74 74 65 6e 2d 74 72 65 65 20 27 28 31 20 28 32 20 2e 20 33 29 20 ......(flatten-tree.'(1.(2...3).
39620 6e 69 6c 20 28 34 20 35 20 28 36 29 29 20 37 29 29 20 e2 87 92 28 31 20 32 20 33 20 34 20 35 20 nil.(4.5.(6)).7))....(1.2.3.4.5.
39640 36 20 37 29 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 42 75 69 6c 64 69 6e 67 6.7).......*Note.(elisp)Building
39660 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 78 6f 72 20 63 6f 6e .Lists::....--.Function:.xor.con
39680 64 69 74 69 6f 6e 31 20 63 6f 6e 64 69 74 69 6f 6e 32 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e dition1.condition2......This.fun
396a0 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 62 6f 6f 6c 65 61 6e 20 65 78 63 6c 75 73 ction.returns.the.boolean.exclus
396c0 69 76 65 2d 6f 72 20 6f 66 20 43 4f 4e 44 49 54 49 4f 4e 31 20 61 6e 64 0a 20 20 20 20 20 43 4f ive-or.of.CONDITION1.and......CO
396e0 4e 44 49 54 49 4f 4e 32 2e 20 20 54 68 61 74 20 69 73 2c 20 e2 80 98 78 6f 72 e2 80 99 20 72 65 NDITION2...That.is,....xor....re
39700 74 75 72 6e 73 20 e2 80 98 6e 69 6c e2 80 99 20 69 66 20 65 69 74 68 65 72 20 62 6f 74 68 20 61 turns....nil....if.either.both.a
39720 72 67 75 6d 65 6e 74 73 0a 20 20 20 20 20 61 72 65 20 e2 80 98 6e 69 6c e2 80 99 2c 20 6f 72 20 rguments......are....nil...,.or.
39740 62 6f 74 68 20 61 72 65 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2e 20 20 4f 74 68 65 72 77 69 both.are.non-...nil......Otherwi
39760 73 65 2c 20 69 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 76 61 6c 75 65 0a 20 20 20 20 20 6f 66 se,.it.returns.the.value......of
39780 20 74 68 61 74 20 61 72 67 75 6d 65 6e 74 20 77 68 69 63 68 20 69 73 20 6e 6f 6e 2d e2 80 98 6e .that.argument.which.is.non-...n
397a0 69 6c e2 80 99 2e 0a 0a 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 69 6e 20 63 6f 6e 74 72 61 il...........Note.that.in.contra
397c0 73 74 20 74 6f 20 e2 80 98 6f 72 e2 80 99 2c 20 62 6f 74 68 20 61 72 67 75 6d 65 6e 74 73 20 61 st.to....or...,.both.arguments.a
397e0 72 65 20 61 6c 77 61 79 73 20 65 76 61 6c 75 61 74 65 64 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 re.always.evaluated........*Note
39800 20 28 65 6c 69 73 70 29 43 6f 6d 62 69 6e 69 6e 67 20 43 6f 6e 64 69 74 69 6f 6e 73 3a 3a 2e 0a .(elisp)Combining.Conditions::..
39820 0a 20 2d 2d 20 56 61 72 69 61 62 6c 65 3a 20 72 65 67 65 78 70 2d 75 6e 6d 61 74 63 68 61 62 6c ..--.Variable:.regexp-unmatchabl
39840 65 0a 20 20 20 20 20 54 68 69 73 20 76 61 72 69 61 62 6c 65 20 63 6f 6e 74 61 69 6e 73 20 61 20 e......This.variable.contains.a.
39860 72 65 67 65 78 70 20 74 68 61 74 20 69 73 20 67 75 61 72 61 6e 74 65 65 64 20 6e 6f 74 20 74 6f regexp.that.is.guaranteed.not.to
39880 20 6d 61 74 63 68 20 61 6e 79 0a 20 20 20 20 20 73 74 72 69 6e 67 20 61 74 20 61 6c 6c 2e 20 20 .match.any......string.at.all...
398a0 49 74 20 69 73 20 70 61 72 74 69 63 75 6c 61 72 6c 79 20 75 73 65 66 75 6c 20 61 73 20 64 65 66 It.is.particularly.useful.as.def
398c0 61 75 6c 74 20 76 61 6c 75 65 20 66 6f 72 0a 20 20 20 20 20 76 61 72 69 61 62 6c 65 73 20 74 68 ault.value.for......variables.th
398e0 61 74 20 6d 61 79 20 62 65 20 73 65 74 20 74 6f 20 61 20 70 61 74 74 65 72 6e 20 74 68 61 74 20 at.may.be.set.to.a.pattern.that.
39900 61 63 74 75 61 6c 6c 79 20 6d 61 74 63 68 65 73 0a 20 20 20 20 20 73 6f 6d 65 74 68 69 6e 67 2e actually.matches......something.
39920 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 46 75 6e 63 74 .......*Note.(elisp)Regexp.Funct
39940 69 6f 6e 73 3a 3a 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 ions::...--.Function:.decoded-ti
39960 6d 65 2d 73 65 63 6f 6e 64 20 74 69 6d 65 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 53 me-second.time......Return.the.S
39980 45 43 4f 4e 44 53 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 ECONDS.field.of.a....decoded-tim
399a0 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 0a 20 20 20 20 20 61 e....record.TIME...It.can......a
399c0 6c 73 6f 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 lso.be.used.as.a.*note.Generaliz
399e0 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
39a00 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
39a20 65 63 6f 64 65 64 2d 74 69 6d 65 2d 6d 69 6e 75 74 65 20 74 69 6d 65 0a 20 20 20 20 20 52 65 74 ecoded-time-minute.time......Ret
39a40 75 72 6e 20 74 68 65 20 4d 49 4e 55 54 45 20 66 69 65 6c 64 20 6f 66 20 61 20 e2 80 98 64 65 63 urn.the.MINUTE.field.of.a....dec
39a60 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
39a80 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
39aa0 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
39ac0 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
39ae0 63 74 69 6f 6e 3a 20 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 68 6f 75 72 20 74 69 6d 65 0a 20 20 ction:.decoded-time-hour.time...
39b00 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 48 4f 55 52 20 66 69 65 6c 64 20 6f 66 20 61 20 e2 80 ...Return.the.HOUR.field.of.a...
39b20 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
39b40 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
39b60 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
39b80 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....--
39ba0 20 46 75 6e 63 74 69 6f 6e 3a 20 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 64 61 79 20 74 69 6d 65 .Function:.decoded-time-day.time
39bc0 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 44 41 59 20 66 69 65 6c 64 20 6f 66 20 61 20 ......Return.the.DAY.field.of.a.
39be0 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 54 49 4d 45 2e 20 ...decoded-time....record.TIME..
39c00 20 49 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 .It.can.also......be.used.as.a.*
39c20 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 3a 20 28 65 6c 69 note.Generalized.Variables:.(eli
39c40 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 6c 65 2e 0a 0a 20 sp)generalised......variable....
39c60 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 6d 6f 6e 74 68 20 --.Function:.decoded-time-month.
39c80 74 69 6d 65 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 4d 4f 4e 54 48 20 66 69 65 6c 64 time......Return.the.MONTH.field
39ca0 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.
39cc0 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.
39ce0 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
39d00 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
39d20 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-
39d40 79 65 61 72 20 74 69 6d 65 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 59 45 41 52 20 66 year.time......Return.the.YEAR.f
39d60 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 20 72 65 63 ield.of.a....decoded-time....rec
39d80 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 20 62 65 20 75 ord.TIME...It.can.also......be.u
39da0 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 61 72 69 61 sed.as.a.*note.Generalized.Varia
39dc0 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 20 20 76 61 bles:.(elisp)generalised......va
39de0 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 74 riable....--.Function:.decoded-t
39e00 69 6d 65 2d 77 65 65 6b 64 61 79 20 74 69 6d 65 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 ime-weekday.time......Return.the
39e20 20 57 45 45 4b 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 .WEEKDAY.field.of.a....decoded-t
39e40 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 0a 20 20 20 20 ime....record.TIME...It.can.....
39e60 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 65 6e 65 72 61 6c .also.be.used.as.a.*note.General
39e80 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
39ea0 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:
39ec0 20 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 64 73 74 20 74 69 6d 65 0a 20 20 20 20 20 52 65 74 75 .decoded-time-dst.time......Retu
39ee0 72 6e 20 74 68 65 20 44 53 54 20 28 64 61 79 6c 69 67 68 74 20 73 61 76 69 6e 67 20 74 69 6d 65 rn.the.DST.(daylight.saving.time
39f00 20 69 6e 64 69 63 61 74 6f 72 29 20 66 69 65 6c 64 20 6f 66 20 61 0a 20 20 20 20 20 e2 80 98 64 .indicator).field.of.a.........d
39f20 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 74 20 ecoded-time....record.TIME...It.
39f40 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 65 0a 20 20 20 20 can.also.be.used.as.a.*note.....
39f60 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 29 67 .Generalized.Variables:.(elisp)g
39f80 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
39fa0 6f 6e 3a 20 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 7a 6f 6e 65 20 74 69 6d 65 0a 20 20 20 20 20 on:.decoded-time-zone.time......
39fc0 52 65 74 75 72 6e 20 74 68 65 20 5a 4f 4e 45 20 66 69 65 6c 64 20 6f 66 20 61 20 e2 80 98 64 65 Return.the.ZONE.field.of.a....de
39fe0 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 74 20 63 coded-time....record.TIME...It.c
3a000 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 74 65 20 an.also......be.used.as.a.*note.
3a020 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 29 67 65 Generalized.Variables:.(elisp)ge
3a040 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 20 46 75 neralised......variable....--.Fu
3a060 6e 63 74 69 6f 6e 3a 20 70 61 63 6b 61 67 65 2d 67 65 74 2d 76 65 72 73 69 6f 6e 0a 20 20 20 20 nction:.package-get-version.....
3a080 20 52 65 74 75 72 6e 20 74 68 65 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 20 6f 66 20 74 68 .Return.the.version.number.of.th
3a0a0 65 20 70 61 63 6b 61 67 65 20 69 6e 20 77 68 69 63 68 20 74 68 69 73 20 69 73 20 75 73 65 64 2e e.package.in.which.this.is.used.
3a0c0 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 74 69 6d 65 2d 65 71 75 61 6c 2d 70 20 74 31 20 ...--.Function:.time-equal-p.t1.
3a0e0 74 32 0a 20 20 20 20 20 54 68 69 73 20 72 65 74 75 72 6e 73 20 e2 80 98 74 e2 80 99 20 69 66 20 t2......This.returns....t....if.
3a100 74 68 65 20 74 77 6f 20 74 69 6d 65 20 76 61 6c 75 65 73 20 54 31 20 61 6e 64 20 54 32 20 61 72 the.two.time.values.T1.and.T2.ar
3a120 65 20 65 71 75 61 6c 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 54 69 6d 65 e.equal........*Note.(elisp)Time
3a140 20 43 61 6c 63 75 6c 61 74 69 6f 6e 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 .Calculations::....--.Function:.
3a160 64 61 74 65 2d 64 61 79 73 2d 69 6e 2d 6d 6f 6e 74 68 20 79 65 61 72 20 6d 6f 6e 74 68 0a 20 20 date-days-in-month.year.month...
3a180 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 64 61 79 73 20 69 6e 20 ...Return.the.number.of.days.in.
3a1a0 4d 4f 4e 54 48 20 69 6e 20 59 45 41 52 2e 20 20 46 6f 72 20 69 6e 73 74 61 6e 63 65 2c 20 46 65 MONTH.in.YEAR...For.instance,.Fe
3a1c0 62 72 75 61 72 79 0a 20 20 20 20 20 32 30 32 30 20 68 61 73 20 32 39 20 64 61 79 73 2e 0a 0a 20 bruary......2020.has.29.days....
3a1e0 20 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 ....*Note.(elisp)Time.Calculatio
3a200 6e 73 3a 3a 2e 20 20 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 ns::...This.function.requires.th
3a220 65 0a 20 20 20 20 20 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 e.........time-date....feature.t
3a240 6f 20 62 65 20 6c 6f 61 64 65 64 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 64 61 74 65 o.be.loaded....--.Function:.date
3a260 2d 6f 72 64 69 6e 61 6c 2d 74 6f 2d 74 69 6d 65 20 79 65 61 72 20 6f 72 64 69 6e 61 6c 0a 20 20 -ordinal-to-time.year.ordinal...
3a280 20 20 20 43 6f 6e 76 65 72 74 20 61 20 59 45 41 52 2f 4f 52 44 49 4e 41 4c 20 74 6f 20 74 68 65 ...Convert.a.YEAR/ORDINAL.to.the
3a2a0 20 65 71 75 69 76 61 6c 65 6e 74 20 64 65 63 6f 64 65 64 2d 74 69 6d 65 20 73 74 72 75 63 74 75 .equivalent.decoded-time.structu
3a2c0 72 65 2e 0a 20 20 20 20 20 4f 52 44 49 4e 41 4c 20 69 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f re.......ORDINAL.is.the.number.o
3a2e0 66 20 64 61 79 73 20 73 69 6e 63 65 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 74 68 65 20 79 65 f.days.since.the.start.of.the.ye
3a300 61 72 2c 20 77 69 74 68 0a 20 20 20 20 20 4a 61 6e 75 61 72 79 20 31 73 74 20 62 65 69 6e 67 20 ar,.with......January.1st.being.
3a320 31 2e 0a 0a 20 20 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 1........*Note.(elisp)Time.Calcu
3a340 6c 61 74 69 6f 6e 73 3a 3a 2e 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 71 75 69 72 lations::...This.function.requir
3a360 65 73 20 74 68 65 0a 20 20 20 20 20 e2 80 98 74 69 6d 65 2d 64 61 74 65 e2 80 99 20 66 65 61 74 es.the.........time-date....feat
3a380 75 72 65 20 74 6f 20 62 65 20 6c 6f 61 64 65 64 2e 0a 0a 20 2d 2d 20 55 73 65 72 20 4f 70 74 69 ure.to.be.loaded....--.User.Opti
3a3a0 6f 6e 3a 20 65 78 65 63 2d 70 61 74 68 0a 20 20 20 20 20 54 68 65 20 76 61 6c 75 65 20 6f 66 20 on:.exec-path......The.value.of.
3a3c0 74 68 69 73 20 76 61 72 69 61 62 6c 65 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 64 69 72 65 63 this.variable.is.a.list.of.direc
3a3e0 74 6f 72 69 65 73 20 74 6f 20 73 65 61 72 63 68 20 66 6f 72 0a 20 20 20 20 20 70 72 6f 67 72 61 tories.to.search.for......progra
3a400 6d 73 20 74 6f 20 72 75 6e 20 69 6e 20 73 75 62 70 72 6f 63 65 73 73 65 73 2e 20 20 45 61 63 68 ms.to.run.in.subprocesses...Each
3a420 20 65 6c 65 6d 65 6e 74 20 69 73 20 65 69 74 68 65 72 20 74 68 65 20 6e 61 6d 65 0a 20 20 20 20 .element.is.either.the.name.....
3a440 20 6f 66 20 61 20 64 69 72 65 63 74 6f 72 79 20 28 69 2e 65 2e 2c 20 61 20 73 74 72 69 6e 67 29 .of.a.directory.(i.e.,.a.string)
3a460 2c 20 6f 72 20 e2 80 98 6e 69 6c e2 80 99 2c 20 77 68 69 63 68 20 73 74 61 6e 64 73 20 66 6f 72 ,.or....nil...,.which.stands.for
3a480 20 74 68 65 0a 20 20 20 20 20 64 65 66 61 75 6c 74 20 64 69 72 65 63 74 6f 72 79 20 28 77 68 69 .the......default.directory.(whi
3a4a0 63 68 20 69 73 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 e2 80 98 64 65 66 61 75 6c 74 2d 64 69 ch.is.the.value.of....default-di
3a4c0 72 65 63 74 6f 72 79 e2 80 99 29 2e 0a 20 20 20 20 20 2a 4e 6f 74 65 20 65 78 65 63 75 74 61 62 rectory...).......*Note.executab
3a4e0 6c 65 2d 66 69 6e 64 3a 20 28 65 6c 69 73 70 29 4c 6f 63 61 74 69 6e 67 20 46 69 6c 65 73 2c 20 le-find:.(elisp)Locating.Files,.
3a500 66 6f 72 20 74 68 65 20 64 65 74 61 69 6c 73 20 6f 66 0a 20 20 20 20 20 74 68 69 73 20 73 65 61 for.the.details.of......this.sea
3a520 72 63 68 2e 0a 0a 20 20 20 20 20 54 68 65 20 76 61 6c 75 65 20 6f 66 20 e2 80 98 65 78 65 63 2d rch........The.value.of....exec-
3a540 70 61 74 68 e2 80 99 20 69 73 20 75 73 65 64 20 62 79 20 e2 80 98 63 61 6c 6c 2d 70 72 6f 63 65 path....is.used.by....call-proce
3a560 73 73 e2 80 99 20 61 6e 64 0a 20 20 20 20 20 e2 80 98 73 74 61 72 74 2d 70 72 6f 63 65 73 73 e2 ss....and.........start-process.
3a580 80 99 20 77 68 65 6e 20 74 68 65 20 50 52 4f 47 52 41 4d 20 61 72 67 75 6d 65 6e 74 20 69 73 20 ...when.the.PROGRAM.argument.is.
3a5a0 6e 6f 74 20 61 6e 20 61 62 73 6f 6c 75 74 65 20 66 69 6c 65 0a 20 20 20 20 20 6e 61 6d 65 2e 0a not.an.absolute.file......name..
3a5c0 0a 20 20 20 20 20 47 65 6e 65 72 61 6c 6c 79 2c 20 79 6f 75 20 73 68 6f 75 6c 64 20 6e 6f 74 20 ......Generally,.you.should.not.
3a5e0 6d 6f 64 69 66 79 20 e2 80 98 65 78 65 63 2d 70 61 74 68 e2 80 99 20 64 69 72 65 63 74 6c 79 2e modify....exec-path....directly.
3a600 20 20 49 6e 73 74 65 61 64 2c 0a 20 20 20 20 20 65 6e 73 75 72 65 20 74 68 61 74 20 79 6f 75 72 ..Instead,......ensure.that.your
3a620 20 e2 80 98 50 41 54 48 e2 80 99 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 76 61 72 69 61 62 6c 65 ....PATH....environment.variable
3a640 20 69 73 20 73 65 74 20 61 70 70 72 6f 70 72 69 61 74 65 6c 79 0a 20 20 20 20 20 62 65 66 6f 72 .is.set.appropriately......befor
3a660 65 20 73 74 61 72 74 69 6e 67 20 45 6d 61 63 73 2e 20 20 54 72 79 69 6e 67 20 74 6f 20 6d 6f 64 e.starting.Emacs...Trying.to.mod
3a680 69 66 79 20 e2 80 98 65 78 65 63 2d 70 61 74 68 e2 80 99 20 69 6e 64 65 70 65 6e 64 65 6e 74 6c ify....exec-path....independentl
3a6a0 79 0a 20 20 20 20 20 6f 66 20 e2 80 98 50 41 54 48 e2 80 99 20 63 61 6e 20 6c 65 61 64 20 74 6f y......of....PATH....can.lead.to
3a6c0 20 63 6f 6e 66 75 73 69 6e 67 20 72 65 73 75 6c 74 73 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 .confusing.results........*Note.
3a6e0 28 65 6c 69 73 70 29 53 75 62 70 72 6f 63 65 73 73 20 43 72 65 61 74 69 6f 6e 3a 3a 2e 0a 0a 20 (elisp)Subprocess.Creation::....
3a700 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 70 72 6f 76 69 64 65 64 2d 6d 6f 64 65 2d 64 65 72 69 76 --.Function:.provided-mode-deriv
3a720 65 64 2d 70 20 6d 6f 64 65 20 26 72 65 73 74 20 6d 6f 64 65 73 0a 20 20 20 20 20 54 68 69 73 20 ed-p.mode.&rest.modes......This.
3a740 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 6c e2 80 99 20 69 function.returns.non-...nil....i
3a760 66 20 4d 4f 44 45 20 69 73 20 64 65 72 69 76 65 64 20 66 72 6f 6d 20 61 6e 79 20 6f 66 20 74 68 f.MODE.is.derived.from.any.of.th
3a780 65 0a 20 20 20 20 20 6d 61 6a 6f 72 20 6d 6f 64 65 73 20 67 69 76 65 6e 20 62 79 20 74 68 65 20 e......major.modes.given.by.the.
3a7a0 73 79 6d 62 6f 6c 73 20 4d 4f 44 45 53 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 66 69 symbols.MODES....--.Function:.fi
3a7c0 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 20 73 69 7a 65 0a le-size-human-readable-iec.size.
3a7e0 20 20 20 20 20 48 75 6d 61 6e 2d 72 65 61 64 61 62 6c 65 20 73 74 72 69 6e 67 20 66 6f 72 20 53 .....Human-readable.string.for.S
3a800 49 5a 45 20 62 79 74 65 73 2c 20 75 73 69 6e 67 20 49 45 43 20 70 72 65 66 69 78 65 73 2e 0a 0a IZE.bytes,.using.IEC.prefixes...
3a820 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6d 61 6b 65 2d 65 6d 70 74 79 2d 66 69 6c 65 20 66 69 .--.Function:.make-empty-file.fi
3a840 6c 65 6e 61 6d 65 20 26 6f 70 74 69 6f 6e 61 6c 20 70 61 72 65 6e 74 73 0a 20 20 20 20 20 54 68 lename.&optional.parents......Th
3a860 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 72 65 61 74 65 73 20 61 6e 20 65 6d 70 74 79 20 66 69 6c is.function.creates.an.empty.fil
3a880 65 20 6e 61 6d 65 64 20 46 49 4c 45 4e 41 4d 45 2e 20 20 41 73 0a 20 20 20 20 20 e2 80 98 6d 61 e.named.FILENAME...As.........ma
3a8a0 6b 65 2d 64 69 72 65 63 74 6f 72 79 e2 80 99 2c 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 ke-directory...,.this.function.c
3a8c0 72 65 61 74 65 73 20 70 61 72 65 6e 74 20 64 69 72 65 63 74 6f 72 69 65 73 20 69 66 0a 20 20 20 reates.parent.directories.if....
3a8e0 20 20 50 41 52 45 4e 54 53 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2e 20 20 49 66 20 ..PARENTS.is.non-...nil......If.
3a900 46 49 4c 45 4e 41 4d 45 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 73 2c 20 74 68 69 73 20 66 75 FILENAME.already.exists,.this.fu
3a920 6e 63 74 69 6f 6e 0a 20 20 20 20 20 73 69 67 6e 61 6c 73 20 61 6e 20 65 72 72 6f 72 2e 0a 0a 20 nction......signals.an.error....
3a940 2d 2d 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 --.Function:.text-property-searc
3a960 68 2d 66 6f 72 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 h-forward.prop.&optional.value..
3a980 20 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 .........predicate.not-current..
3a9a0 20 20 20 20 53 65 61 72 63 68 20 66 6f 72 20 74 68 65 20 6e 65 78 74 20 72 65 67 69 6f 6e 20 74 ....Search.for.the.next.region.t
3a9c0 68 61 74 20 68 61 73 20 74 65 78 74 20 70 72 6f 70 65 72 74 79 20 50 52 4f 50 20 73 65 74 20 74 hat.has.text.property.PROP.set.t
3a9e0 6f 20 56 41 4c 55 45 0a 20 20 20 20 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 50 52 45 44 49 43 o.VALUE......according.to.PREDIC
3aa00 41 54 45 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6d 6f 64 65 ATE........This.function.is.mode
3aa20 6c 65 64 20 61 66 74 65 72 20 e2 80 98 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 e2 80 99 20 61 led.after....search-forward....a
3aa40 6e 64 20 66 72 69 65 6e 64 73 20 69 6e 20 74 68 61 74 0a 20 20 20 20 20 69 74 20 6d 6f 76 65 73 nd.friends.in.that......it.moves
3aa60 20 70 6f 69 6e 74 2c 20 62 75 74 20 69 74 20 72 65 74 75 72 6e 73 20 61 20 73 74 72 75 63 74 75 .point,.but.it.returns.a.structu
3aa80 72 65 20 74 68 61 74 20 64 65 73 63 72 69 62 65 73 20 74 68 65 20 6d 61 74 63 68 0a 20 20 20 20 re.that.describes.the.match.....
3aaa0 20 69 6e 73 74 65 61 64 20 6f 66 20 72 65 74 75 72 6e 69 6e 67 20 69 74 20 69 6e 20 e2 80 98 6d .instead.of.returning.it.in....m
3aac0 61 74 63 68 2d 62 65 67 69 6e 6e 69 6e 67 e2 80 99 20 61 6e 64 20 66 72 69 65 6e 64 73 2e 0a 0a atch-beginning....and.friends...
3aae0 20 20 20 20 20 49 66 20 74 68 65 20 74 65 78 74 20 70 72 6f 70 65 72 74 79 20 63 61 6e e2 80 99 .....If.the.text.property.can...
3ab00 74 20 62 65 20 66 6f 75 6e 64 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 t.be.found,.the.function.returns
3ab20 20 e2 80 98 6e 69 6c e2 80 99 2e 0a 20 20 20 20 20 49 66 20 69 74 e2 80 99 73 20 66 6f 75 6e 64 ....nil..........If.it...s.found
3ab40 2c 20 70 6f 69 6e 74 20 69 73 20 70 6c 61 63 65 64 20 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 ,.point.is.placed.at.the.end.of.
3ab60 74 68 65 20 72 65 67 69 6f 6e 20 74 68 61 74 20 68 61 73 0a 20 20 20 20 20 74 68 69 73 20 74 65 the.region.that.has......this.te
3ab80 78 74 20 70 72 6f 70 65 72 74 79 20 6d 61 74 63 68 2c 20 61 6e 64 20 61 20 e2 80 98 70 72 6f 70 xt.property.match,.and.a....prop
3aba0 2d 6d 61 74 63 68 e2 80 99 20 73 74 72 75 63 74 75 72 65 20 69 73 20 72 65 74 75 72 6e 65 64 2e -match....structure.is.returned.
3abc0 0a 0a 20 20 20 20 20 50 52 45 44 49 43 41 54 45 20 63 61 6e 20 65 69 74 68 65 72 20 62 65 20 e2 .......PREDICATE.can.either.be..
3abe0 80 98 74 e2 80 99 20 28 77 68 69 63 68 20 69 73 20 61 20 73 79 6e 6f 6e 79 6d 20 66 6f 72 20 e2 ..t....(which.is.a.synonym.for..
3ac00 80 98 65 71 75 61 6c e2 80 99 29 2c 20 e2 80 98 6e 69 6c e2 80 99 0a 20 20 20 20 20 28 77 68 69 ..equal...),....nil.........(whi
3ac20 63 68 20 6d 65 61 6e 73 20 e2 80 9c 6e 6f 74 20 65 71 75 61 6c e2 80 9d 29 2c 20 6f 72 20 61 20 ch.means....not.equal...),.or.a.
3ac40 70 72 65 64 69 63 61 74 65 20 74 68 61 74 20 77 69 6c 6c 20 62 65 20 63 61 6c 6c 65 64 20 77 69 predicate.that.will.be.called.wi
3ac60 74 68 0a 20 20 20 20 20 74 77 6f 20 70 61 72 61 6d 65 74 65 72 73 3a 20 54 68 65 20 66 69 72 73 th......two.parameters:.The.firs
3ac80 74 20 69 73 20 56 41 4c 55 45 2c 20 61 6e 64 20 74 68 65 20 73 65 63 6f 6e 64 20 69 73 20 74 68 t.is.VALUE,.and.the.second.is.th
3aca0 65 20 76 61 6c 75 65 20 6f 66 0a 20 20 20 20 20 74 68 65 20 74 65 78 74 20 70 72 6f 70 65 72 74 e.value.of......the.text.propert
3acc0 79 20 77 65 e2 80 99 72 65 20 69 6e 73 70 65 63 74 69 6e 67 2e 0a 0a 20 20 20 20 20 49 66 20 4e y.we...re.inspecting........If.N
3ace0 4f 54 2d 43 55 52 52 45 4e 54 2c 20 69 66 20 70 6f 69 6e 74 20 69 73 20 69 6e 20 61 20 72 65 67 OT-CURRENT,.if.point.is.in.a.reg
3ad00 69 6f 6e 20 77 68 65 72 65 20 77 65 20 68 61 76 65 20 61 20 6d 61 74 63 68 2c 20 74 68 65 6e 0a ion.where.we.have.a.match,.then.
3ad20 20 20 20 20 20 73 6b 69 70 20 70 61 73 74 20 74 68 61 74 20 61 6e 64 20 66 69 6e 64 20 74 68 65 .....skip.past.that.and.find.the
3ad40 20 6e 65 78 74 20 69 6e 73 74 61 6e 63 65 20 69 6e 73 74 65 61 64 2e 0a 0a 20 20 20 20 20 54 68 .next.instance.instead........Th
3ad60 65 20 e2 80 98 70 72 6f 70 2d 6d 61 74 63 68 e2 80 99 20 73 74 72 75 63 74 75 72 65 20 68 61 73 e....prop-match....structure.has
3ad80 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 61 63 63 65 73 73 6f 72 73 3a 0a 20 20 20 20 20 e2 .the.following.accessors:.......
3ada0 80 98 70 72 6f 70 2d 6d 61 74 63 68 2d 62 65 67 69 6e 6e 69 6e 67 e2 80 99 20 28 74 68 65 20 73 ..prop-match-beginning....(the.s
3adc0 74 61 72 74 20 6f 66 20 74 68 65 20 6d 61 74 63 68 29 2c 20 e2 80 98 70 72 6f 70 2d 6d 61 74 63 tart.of.the.match),....prop-matc
3ade0 68 2d 65 6e 64 e2 80 99 0a 20 20 20 20 20 28 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 6d 61 h-end.........(the.end.of.the.ma
3ae00 74 63 68 29 2c 20 61 6e 64 20 e2 80 98 70 72 6f 70 2d 6d 61 74 63 68 2d 76 61 6c 75 65 e2 80 99 tch),.and....prop-match-value...
3ae20 20 28 74 68 65 20 76 61 6c 75 65 20 6f 66 0a 20 20 20 20 20 50 52 4f 50 45 52 54 59 20 61 74 20 .(the.value.of......PROPERTY.at.
3ae40 74 68 65 20 73 74 61 72 74 20 6f 66 20 74 68 65 20 6d 61 74 63 68 29 2e 0a 0a 20 20 20 20 20 49 the.start.of.the.match)........I
3ae60 6e 20 74 68 65 20 65 78 61 6d 70 6c 65 73 20 62 65 6c 6f 77 2c 20 69 6d 61 67 69 6e 65 20 74 68 n.the.examples.below,.imagine.th
3ae80 61 74 20 79 6f 75 e2 80 99 72 65 20 69 6e 20 61 20 62 75 66 66 65 72 20 74 68 61 74 20 6c 6f 6f at.you...re.in.a.buffer.that.loo
3aea0 6b 73 0a 20 20 20 20 20 6c 69 6b 65 20 74 68 69 73 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 54 68 ks......like.this:............Th
3aec0 69 73 20 69 73 20 61 20 62 6f 6c 64 20 61 6e 64 20 68 65 72 65 27 73 20 62 6f 6c 64 69 74 61 6c is.is.a.bold.and.here's.boldital
3aee0 69 63 20 61 6e 64 20 74 68 69 73 20 69 73 20 74 68 65 20 65 6e 64 2e 0a 0a 20 20 20 20 20 54 68 ic.and.this.is.the.end........Th
3af00 61 74 20 69 73 2c 20 74 68 65 20 e2 80 9c 62 6f 6c 64 e2 80 9d 20 77 6f 72 64 73 20 61 72 65 20 at.is,.the....bold....words.are.
3af20 74 68 65 20 e2 80 98 62 6f 6c 64 e2 80 99 20 66 61 63 65 2c 20 61 6e 64 20 74 68 65 20 e2 80 9c the....bold....face,.and.the....
3af40 69 74 61 6c 69 63 e2 80 9d 0a 20 20 20 20 20 77 6f 72 64 20 69 73 20 69 6e 20 74 68 65 20 e2 80 italic.........word.is.in.the...
3af60 98 69 74 61 6c 69 63 e2 80 99 20 66 61 63 65 2e 0a 0a 20 20 20 20 20 57 69 74 68 20 70 6f 69 6e .italic....face........With.poin
3af80 74 20 61 74 20 74 68 65 20 73 74 61 72 74 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c t.at.the.start:............(whil
3afa0 65 20 28 73 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 e.(setq.match.(text-property-sea
3afc0 72 63 68 2d 66 6f 72 77 61 72 64 20 27 66 61 63 65 20 27 62 6f 6c 64 20 74 29 29 0a 20 20 20 20 rch-forward.'face.'bold.t)).....
3afe0 20 20 20 20 20 20 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 ........(push.(buffer-substring.
3b000 28 70 72 6f 70 2d 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 (prop-match-beginning.match)....
3b020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3b040 20 28 70 72 6f 70 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 .(prop-match-end.match))........
3b060 20 20 20 20 20 20 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 ...........words)).......This.wi
3b080 6c 6c 20 70 69 63 6b 20 6f 75 74 20 61 6c 6c 20 74 68 65 20 77 6f 72 64 73 20 74 68 61 74 20 75 ll.pick.out.all.the.words.that.u
3b0a0 73 65 20 74 68 65 20 e2 80 98 62 6f 6c 64 e2 80 99 20 66 61 63 65 2e 0a 0a 20 20 20 20 20 20 20 se.the....bold....face..........
3b0c0 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 2d 70 72 6f 70 ...(while.(setq.match.(text-prop
3b0e0 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 69 6c 20 74 29 erty-search-forward.'face.nil.t)
3b100 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 65 72 2d 73 75 62 73 ).............(push.(buffer-subs
3b120 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 6e 67 20 6d 61 74 63 tring.(prop-match-beginning.matc
3b140 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 20 20 20 20 20 20 20 h)..............................
3b160 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 74 63 68 29 29 0a 20 .......(prop-match-end.match))..
3b180 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 0a 20 20 20 20 20 54 .................words)).......T
3b1a0 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 20 62 69 74 73 20 74 his.will.pick.out.all.the.bits.t
3b1c0 68 61 74 20 68 61 76 65 20 6e 6f 20 66 61 63 65 20 70 72 6f 70 65 72 74 69 65 73 2c 20 77 68 69 hat.have.no.face.properties,.whi
3b1e0 63 68 0a 20 20 20 20 20 77 69 6c 6c 20 72 65 73 75 6c 74 20 69 6e 20 74 68 65 20 6c 69 73 74 20 ch......will.result.in.the.list.
3b200 e2 80 98 28 22 54 68 69 73 20 69 73 20 61 20 22 20 22 61 6e 64 20 68 65 72 65 27 73 20 22 20 22 ...("This.is.a."."and.here's."."
3b220 61 6e 64 20 74 68 69 73 20 69 73 0a 20 20 20 20 20 74 68 65 20 65 6e 64 22 29 e2 80 99 20 28 6f and.this.is......the.end")....(o
3b240 6e 6c 79 20 72 65 76 65 72 73 65 64 2c 20 73 69 6e 63 65 20 77 65 20 75 73 65 64 20 e2 80 98 70 nly.reversed,.since.we.used....p
3b260 75 73 68 e2 80 99 29 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 ush...).............(while.(setq
3b280 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 66 6f 72 .match.(text-property-search-for
3b2a0 77 61 72 64 20 27 66 61 63 65 20 6e 69 6c 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ward.'face.nil.nil))............
3b2c0 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 6d .(push.(buffer-substring.(prop-m
3b2e0 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 20 atch-beginning.match)...........
3b300 20 20 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 2d ..........................(prop-
3b320 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 20 match-end.match))...............
3b340 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 6b ....words)).......This.will.pick
3b360 20 6f 75 74 20 61 6c 6c 20 74 68 65 20 72 65 67 69 6f 6e 73 20 77 68 65 72 65 20 e2 80 98 66 61 .out.all.the.regions.where....fa
3b380 63 65 e2 80 99 20 69 73 20 73 65 74 20 74 6f 0a 20 20 20 20 20 73 6f 6d 65 74 68 69 6e 67 2c 20 ce....is.set.to......something,.
3b3a0 62 75 74 20 74 68 69 73 20 69 73 20 73 70 6c 69 74 20 75 70 20 69 6e 74 6f 20 77 68 65 72 65 20 but.this.is.split.up.into.where.
3b3c0 74 68 65 20 70 72 6f 70 65 72 74 69 65 73 20 63 68 61 6e 67 65 2c 0a 20 20 20 20 20 73 6f 20 74 the.properties.change,......so.t
3b3e0 68 65 20 72 65 73 75 6c 74 20 68 65 72 65 20 77 69 6c 6c 20 62 65 20 e2 80 98 28 22 62 6f 6c 64 he.result.here.will.be....("bold
3b400 22 20 22 62 6f 6c 64 22 20 22 69 74 61 6c 69 63 22 29 e2 80 99 2e 0a 0a 20 20 20 20 20 46 6f 72 "."bold"."italic")...........For
3b420 20 61 20 6d 6f 72 65 20 72 65 61 6c 69 73 74 69 63 20 65 78 61 6d 70 6c 65 20 77 68 65 72 65 20 .a.more.realistic.example.where.
3b440 79 6f 75 20 6d 69 67 68 74 20 75 73 65 20 74 68 69 73 2c 20 63 6f 6e 73 69 64 65 72 0a 20 20 20 you.might.use.this,.consider....
3b460 20 20 74 68 61 74 20 79 6f 75 20 68 61 76 65 20 61 20 62 75 66 66 65 72 20 77 68 65 72 65 20 63 ..that.you.have.a.buffer.where.c
3b480 65 72 74 61 69 6e 20 73 65 63 74 69 6f 6e 73 20 72 65 70 72 65 73 65 6e 74 20 55 52 4c 73 2c 20 ertain.sections.represent.URLs,.
3b4a0 61 6e 64 0a 20 20 20 20 20 74 68 65 73 65 20 61 72 65 20 74 61 67 67 65 64 20 77 69 74 68 20 e2 and......these.are.tagged.with..
3b4c0 80 98 73 68 72 2d 75 72 6c e2 80 99 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 ..shr-url................(while.
3b4e0 28 73 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 (setq.match.(text-property-searc
3b500 68 2d 66 6f 72 77 61 72 64 20 27 73 68 72 2d 75 72 6c 20 6e 69 6c 20 6e 69 6c 29 29 0a 20 20 20 h-forward.'shr-url.nil.nil))....
3b520 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 70 72 6f 70 2d 6d 61 74 63 68 2d 76 61 6c 75 65 .........(push.(prop-match-value
3b540 20 6d 61 74 63 68 29 20 75 72 6c 73 29 29 0a 0a 20 20 20 20 20 54 68 69 73 20 77 69 6c 6c 20 67 .match).urls)).......This.will.g
3b560 69 76 65 20 79 6f 75 20 61 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 74 68 6f 73 65 20 55 52 4c 73 ive.you.a.list.of.all.those.URLs
3b580 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 50 72 6f 70 65 72 74 79 20 53 65 61 72 63 68 29 65 ........*Note.(Property.Search)e
3b5a0 6c 69 73 70 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 74 65 78 74 2d 70 72 6f 70 lisp::....--.Function:.text-prop
3b5c0 65 72 74 79 2d 73 65 61 72 63 68 2d 62 61 63 6b 77 61 72 64 20 70 72 6f 70 20 26 6f 70 74 69 6f erty-search-backward.prop.&optio
3b5e0 6e 61 6c 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 20 70 72 65 64 69 63 61 74 65 20 6e 6f nal.value...........predicate.no
3b600 74 2d 63 75 72 72 65 6e 74 0a 20 20 20 20 20 54 68 69 73 20 69 73 20 6a 75 73 74 20 6c 69 6b 65 t-current......This.is.just.like
3b620 20 e2 80 98 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 ....text-property-search-forward
3b640 e2 80 99 2c 20 62 75 74 20 73 65 61 72 63 68 65 73 0a 20 20 20 20 20 62 61 63 6b 77 61 72 64 20 ...,.but.searches......backward.
3b660 69 6e 73 74 65 61 64 2e 20 20 50 6f 69 6e 74 20 69 73 20 70 6c 61 63 65 64 20 61 74 20 74 68 65 instead...Point.is.placed.at.the
3b680 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 6d 61 74 63 68 65 64 0a 20 20 20 20 20 72 .beginning.of.the.matched......r
3b6a0 65 67 69 6f 6e 20 69 6e 73 74 65 61 64 20 6f 66 20 74 68 65 20 65 6e 64 2c 20 74 68 6f 75 67 68 egion.instead.of.the.end,.though
3b6c0 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 50 72 6f 70 65 72 74 79 20 53 65 61 72 63 68 29 65 ........*Note.(Property.Search)e
3b6e0 6c 69 73 70 3a 3a 2e 0a 0a 32 2e 33 2e 32 20 45 78 74 65 6e 64 65 64 20 44 65 66 69 6e 69 74 69 lisp::...2.3.2.Extended.Definiti
3b700 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 2d 2d 0a 0a ons.--------------------------..
3b720 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 6c 65 64 20 65 These.functions.must.be.called.e
3b740 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 6c e2 80 99 2c xplicitly.via....compat-call...,
3b760 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 74 69 6f 6e 20 .since.their.calling.convention.
3b780 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 20 45 6d 61 63 or.behavior.was.extended.in.Emac
3b7a0 73 20 32 37 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 s.27.1:...--.Function:.compat-ca
3b7c0 6c 6c 20 72 65 63 65 6e 74 65 72 20 26 6f 70 74 69 6f 6e 61 6c 20 63 6f 75 6e 74 20 72 65 64 69 ll.recenter.&optional.count.redi
3b7e0 73 70 6c 61 79 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 63 72 6f 6c 6c 73 splay......This.function.scrolls
3b800 20 74 68 65 20 74 65 78 74 20 69 6e 20 74 68 65 20 73 65 6c 65 63 74 65 64 20 77 69 6e 64 6f 77 .the.text.in.the.selected.window
3b820 20 73 6f 20 74 68 61 74 20 70 6f 69 6e 74 0a 20 20 20 20 20 69 73 20 64 69 73 70 6c 61 79 65 64 .so.that.point......is.displayed
3b840 20 61 74 20 61 20 73 70 65 63 69 66 69 65 64 20 76 65 72 74 69 63 61 6c 20 70 6f 73 69 74 69 6f .at.a.specified.vertical.positio
3b860 6e 20 77 69 74 68 69 6e 20 74 68 65 20 77 69 6e 64 6f 77 2e 0a 20 20 20 20 20 49 74 20 64 6f 65 n.within.the.window.......It.doe
3b880 73 20 6e 6f 74 20 6d 6f 76 65 20 70 6f 69 6e 74 20 77 69 74 68 20 72 65 73 70 65 63 74 20 74 6f s.not.move.point.with.respect.to
3b8a0 20 74 68 65 20 74 65 78 74 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 54 65 .the.text........*Note.(elisp)Te
3b8c0 78 74 75 61 6c 20 53 63 72 6f 6c 6c 69 6e 67 3a 3a 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 63 6f xtual.Scrolling::........This.co
3b8e0 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 6f 72 74 mpatibility.version.adds.support
3b900 20 66 6f 72 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 20 .for.the.optional.argument......
3b920 52 45 44 49 53 50 4c 41 59 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 63 6f 6d 70 61 74 REDISPLAY....--.Function:.compat
3b940 2d 63 61 6c 6c 20 6c 6f 6f 6b 75 70 2d 6b 65 79 20 6b 65 79 6d 61 70 20 6b 65 79 20 26 6f 70 74 -call.lookup-key.keymap.key.&opt
3b960 69 6f 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 20 61 63 63 65 70 74 2d 64 65 66 61 75 6c 74 73 0a ional...........accept-defaults.
3b980 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 64 .....This.function.returns.the.d
3b9a0 65 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 49 66 20 efinition.of.KEY.in.KEYMAP...If.
3b9c0 74 68 65 0a 20 20 20 20 20 73 74 72 69 6e 67 20 6f 72 20 76 65 63 74 6f 72 20 4b 45 59 20 69 73 the......string.or.vector.KEY.is
3b9e0 20 6e 6f 74 20 61 20 76 61 6c 69 64 20 6b 65 79 20 73 65 71 75 65 6e 63 65 20 61 63 63 6f 72 64 .not.a.valid.key.sequence.accord
3ba00 69 6e 67 20 74 6f 20 74 68 65 0a 20 20 20 20 20 70 72 65 66 69 78 20 6b 65 79 73 20 73 70 65 63 ing.to.the......prefix.keys.spec
3ba20 69 66 69 65 64 20 69 6e 20 4b 45 59 4d 41 50 2c 20 69 74 20 6d 75 73 74 20 62 65 20 74 6f 6f 20 ified.in.KEYMAP,.it.must.be.too.
3ba40 6c 6f 6e 67 20 61 6e 64 20 68 61 76 65 20 65 78 74 72 61 0a 20 20 20 20 20 65 76 65 6e 74 73 20 long.and.have.extra......events.
3ba60 61 74 20 74 68 65 20 65 6e 64 20 74 68 61 74 20 64 6f 20 6e 6f 74 20 66 69 74 20 69 6e 74 6f 20 at.the.end.that.do.not.fit.into.
3ba80 61 20 73 69 6e 67 6c 65 20 6b 65 79 20 73 65 71 75 65 6e 63 65 2e 20 20 54 68 65 6e 0a 20 20 20 a.single.key.sequence...Then....
3baa0 20 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 61 20 6e 75 6d 62 65 72 2c 20 74 68 65 20 6e 75 6d ..the.value.is.a.number,.the.num
3bac0 62 65 72 20 6f 66 20 65 76 65 6e 74 73 20 61 74 20 74 68 65 20 66 72 6f 6e 74 20 6f 66 20 4b 45 ber.of.events.at.the.front.of.KE
3bae0 59 0a 20 20 20 20 20 74 68 61 74 20 63 6f 6d 70 6f 73 65 20 61 20 63 6f 6d 70 6c 65 74 65 20 6b Y......that.compose.a.complete.k
3bb00 65 79 2e 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 ey........*Note.(elisp)Low-Level
3bb20 20 4b 65 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 .Key.Binding::........This.compa
3bb40 74 69 62 69 6c 69 74 79 20 76 65 72 73 69 6f 6e 20 61 6c 6c 6f 77 73 20 66 6f 72 20 4b 45 59 4d tibility.version.allows.for.KEYM
3bb60 41 50 20 74 6f 20 62 65 20 61 20 6c 69 73 74 20 6f 66 0a 20 20 20 20 20 6b 65 79 6d 61 70 73 2c AP.to.be.a.list.of......keymaps,
3bb80 20 69 6e 73 74 65 61 64 20 6f 66 20 6a 75 73 74 20 61 20 73 69 6e 67 75 6c 61 72 20 6b 65 79 6d .instead.of.just.a.singular.keym
3bba0 61 70 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 73 65 74 71 ap....--.Macro:.compat-call.setq
3bbc0 2d 6c 6f 63 61 6c 20 26 72 65 73 74 20 70 61 69 72 73 0a 20 20 20 20 20 50 41 49 52 53 20 69 73 -local.&rest.pairs......PAIRS.is
3bbe0 20 61 20 6c 69 73 74 20 6f 66 20 76 61 72 69 61 62 6c 65 20 61 6e 64 20 76 61 6c 75 65 20 70 61 .a.list.of.variable.and.value.pa
3bc00 69 72 73 2e 20 20 54 68 69 73 20 6d 61 63 72 6f 20 63 72 65 61 74 65 73 20 61 0a 20 20 20 20 20 irs...This.macro.creates.a......
3bc20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 62 69 6e 64 69 6e 67 20 69 6e 20 74 68 65 20 63 75 72 72 buffer-local.binding.in.the.curr
3bc40 65 6e 74 20 62 75 66 66 65 72 20 66 6f 72 20 65 61 63 68 20 6f 66 20 74 68 65 0a 20 20 20 20 20 ent.buffer.for.each.of.the......
3bc60 76 61 72 69 61 62 6c 65 73 2c 20 61 6e 64 20 67 69 76 65 73 20 74 68 65 6d 20 61 20 62 75 66 66 variables,.and.gives.them.a.buff
3bc80 65 72 2d 6c 6f 63 61 6c 20 76 61 6c 75 65 2e 20 20 49 74 20 69 73 20 65 71 75 69 76 61 6c 65 6e er-local.value...It.is.equivalen
3bca0 74 0a 20 20 20 20 20 74 6f 20 63 61 6c 6c 69 6e 67 20 e2 80 98 6d 61 6b 65 2d 6c 6f 63 61 6c 2d t......to.calling....make-local-
3bcc0 76 61 72 69 61 62 6c 65 e2 80 99 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 e2 80 98 73 65 74 71 e2 variable....followed.by....setq.
3bce0 80 99 20 66 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 ...for.each.of.the......variable
3bd00 73 2e 20 20 54 68 65 20 76 61 72 69 61 62 6c 65 73 20 73 68 6f 75 6c 64 20 62 65 20 75 6e 71 75 s...The.variables.should.be.unqu
3bd20 6f 74 65 64 20 73 79 6d 62 6f 6c 73 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 2d 6c oted.symbols.............(setq-l
3bd40 6f 63 61 6c 20 76 61 72 31 20 22 76 61 6c 75 65 31 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ocal.var1."value1"..............
3bd60 20 20 20 20 20 20 20 20 20 76 61 72 32 20 22 76 61 6c 75 65 32 22 29 0a 0a 20 20 20 20 20 2a 4e .........var2."value2").......*N
3bd80 6f 74 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 ote.(elisp)Creating.Buffer-Local
3bda0 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
3bdc0 73 69 6f 6e 20 61 6c 6c 6f 77 73 20 66 6f 72 20 6d 6f 72 65 20 74 68 61 6e 20 6f 6e 65 20 76 61 sion.allows.for.more.than.one.va
3bde0 72 69 61 62 6c 65 20 74 6f 20 62 65 0a 20 20 20 20 20 73 65 74 20 61 74 20 6f 6e 63 65 2c 20 61 riable.to.be......set.at.once,.a
3be00 73 20 63 61 6e 20 62 65 20 64 6f 6e 65 20 77 69 74 68 20 e2 80 98 73 65 74 71 e2 80 99 2e 0a 0a s.can.be.done.with....setq......
3be20 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 72 65 67 65 78 70 .--.Function:.compat-call.regexp
3be40 2d 6f 70 74 20 73 74 72 69 6e 67 73 20 26 6f 70 74 69 6f 6e 61 6c 20 70 61 72 65 6e 0a 20 20 20 -opt.strings.&optional.paren....
3be60 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 6e 20 65 66 66 69 63 ..This.function.returns.an.effic
3be80 69 65 6e 74 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 73 69 6f 6e 20 74 68 61 74 20 77 69 6c ient.regular.expression.that.wil
3bea0 6c 0a 20 20 20 20 20 6d 61 74 63 68 20 61 6e 79 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 73 20 l......match.any.of.the.strings.
3bec0 69 6e 20 74 68 65 20 6c 69 73 74 20 53 54 52 49 4e 47 53 2e 20 20 54 68 69 73 20 69 73 20 75 73 in.the.list.STRINGS...This.is.us
3bee0 65 66 75 6c 20 77 68 65 6e 0a 20 20 20 20 20 79 6f 75 20 6e 65 65 64 20 74 6f 20 6d 61 6b 65 20 eful.when......you.need.to.make.
3bf00 6d 61 74 63 68 69 6e 67 20 6f 72 20 73 65 61 72 63 68 69 6e 67 20 61 73 20 66 61 73 74 20 61 73 matching.or.searching.as.fast.as
3bf20 20 70 6f 73 73 69 62 6c 65 e2 80 94 66 6f 72 0a 20 20 20 20 20 65 78 61 6d 70 6c 65 2c 20 66 6f .possible...for......example,.fo
3bf40 72 20 46 6f 6e 74 20 4c 6f 63 6b 20 6d 6f 64 65 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 r.Font.Lock.mode........*Note.(e
3bf60 6c 69 73 70 29 52 65 67 65 78 70 20 46 75 6e 63 74 69 6f 6e 73 3a 3a 2e 0a 0a 20 20 20 20 20 54 lisp)Regexp.Functions::........T
3bf80 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 6f 66 20 74 68 69 73 he.compatibility.version.of.this
3bfa0 20 66 75 6e 63 74 69 6f 6e 73 20 68 61 6e 64 6c 65 73 20 74 68 65 20 63 61 73 65 20 77 68 65 72 .functions.handles.the.case.wher
3bfc0 65 0a 20 20 20 20 20 53 54 52 49 4e 47 53 20 69 6e 20 61 6e 20 65 6d 70 74 79 20 6c 69 73 74 2e e......STRINGS.in.an.empty.list.
3bfe0 20 20 49 6e 20 74 68 61 74 20 63 61 73 65 2c 20 61 20 72 65 67 75 6c 61 72 20 65 78 70 72 65 73 ..In.that.case,.a.regular.expres
3c000 73 69 6f 6e 20 69 73 0a 20 20 20 20 20 67 65 6e 65 72 61 74 65 64 20 74 68 61 74 20 6e 65 76 65 sion.is......generated.that.neve
3c020 72 20 6d 61 74 63 68 65 73 20 61 6e 79 74 68 69 6e 67 20 28 73 65 65 20 e2 80 98 72 65 67 65 78 r.matches.anything.(see....regex
3c040 70 2d 75 6e 6d 61 74 63 68 61 62 6c 65 e2 80 99 29 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e p-unmatchable...)....--.Function
3c060 3a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 66 69 6c 65 2d 73 69 7a 65 2d 68 75 6d 61 6e 2d 72 65 :.compat-call.file-size-human-re
3c080 61 64 61 62 6c 65 20 66 69 6c 65 2d 73 69 7a 65 20 26 6f 70 74 69 6f 6e 61 6c 0a 20 20 20 20 20 adable.file-size.&optional......
3c0a0 20 20 20 20 20 66 6c 61 76 6f 72 20 73 70 61 63 65 20 75 6e 69 74 0a 20 20 20 20 20 52 65 74 75 .....flavor.space.unit......Retu
3c0c0 72 6e 20 61 20 73 74 72 69 6e 67 20 77 69 74 68 20 61 20 68 75 6d 61 6e 20 72 65 61 64 61 62 6c rn.a.string.with.a.human.readabl
3c0e0 65 20 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f 66 20 46 49 4c 45 2d 53 49 5a 45 2e 0a 0a e.representation.of.FILE-SIZE...
3c100 20 20 20 20 20 54 68 65 20 6f 70 74 69 6f 6e 61 6c 20 73 65 63 6f 6e 64 20 61 72 67 75 6d 65 6e .....The.optional.second.argumen
3c120 74 20 46 4c 41 56 4f 52 20 63 6f 6e 74 72 6f 6c 73 20 74 68 65 20 75 6e 69 74 73 20 61 6e 64 20 t.FLAVOR.controls.the.units.and.
3c140 74 68 65 0a 20 20 20 20 20 64 69 73 70 6c 61 79 20 66 6f 72 6d 61 74 2e 20 20 49 66 20 46 4c 41 the......display.format...If.FLA
3c160 56 4f 52 20 69 73 2e 2e 2e 0a 0a 20 20 20 20 20 20 20 20 e2 80 a2 20 e2 80 98 73 69 e2 80 99 2c VOR.is....................si...,
3c180 20 65 61 63 68 20 6b 69 6c 6f 62 79 74 65 20 69 73 20 31 30 30 30 20 62 79 74 65 73 20 61 6e 64 .each.kilobyte.is.1000.bytes.and
3c1a0 20 74 68 65 20 70 72 6f 64 75 63 65 64 20 73 75 66 66 69 78 65 73 0a 20 20 20 20 20 20 20 20 20 .the.produced.suffixes..........
3c1c0 20 61 72 65 20 e2 80 98 6b e2 80 99 2c 20 e2 80 98 4d e2 80 99 2c 20 e2 80 98 47 e2 80 99 2c 20 .are....k...,....M...,....G...,.
3c1e0 e2 80 98 54 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 69 65 63 ...T...,.etc.................iec
3c200 e2 80 99 2c 20 65 61 63 68 20 6b 69 6c 6f 62 79 74 65 20 69 73 20 31 30 32 34 20 62 79 74 65 73 ...,.each.kilobyte.is.1024.bytes
3c220 20 61 6e 64 20 74 68 65 20 70 72 6f 64 75 63 65 64 20 73 75 66 66 69 78 65 73 0a 20 20 20 20 20 .and.the.produced.suffixes......
3c240 20 20 20 20 20 61 72 65 20 e2 80 98 4b 69 42 e2 80 99 2c 20 e2 80 98 4d 69 42 e2 80 99 2c 20 e2 .....are....KiB...,....MiB...,..
3c260 80 98 47 69 42 e2 80 99 2c 20 e2 80 98 54 69 42 e2 80 99 2c 20 65 74 63 2e 0a 20 20 20 20 20 20 ..GiB...,....TiB...,.etc........
3c280 20 20 e2 80 a2 20 e2 80 98 6e 69 6c e2 80 99 20 6f 72 20 6f 6d 69 74 74 65 64 2c 20 65 61 63 68 .........nil....or.omitted,.each
3c2a0 20 6b 69 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 .kilobyte.is.1024.bytes.and.the.
3c2c0 70 72 6f 64 75 63 65 64 0a 20 20 20 20 20 20 20 20 20 20 73 75 66 66 69 78 65 73 20 61 72 65 20 produced...........suffixes.are.
3c2e0 e2 80 98 6b e2 80 99 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 ...k...,....M...,....G...,....T.
3c300 80 99 2c 20 65 74 63 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 ..,.etc........The.compatibility
3c320 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 74 68 .version.handles.the.optional.th
3c340 69 72 64 20 28 53 50 41 43 45 29 20 61 6e 64 0a 20 20 20 20 20 66 6f 72 74 68 20 28 55 4e 49 54 ird.(SPACE).and......forth.(UNIT
3c360 29 20 61 72 67 75 6d 65 6e 74 73 2e 20 20 54 68 65 20 61 72 67 75 6d 65 6e 74 20 53 50 41 43 45 ).arguments...The.argument.SPACE
3c380 20 63 61 6e 20 62 65 20 61 20 73 74 72 69 6e 67 20 74 68 61 74 20 69 73 0a 20 20 20 20 20 70 6c .can.be.a.string.that.is......pl
3c3a0 61 63 65 64 20 62 65 74 77 65 65 6e 20 74 68 65 20 6e 75 6d 62 65 72 20 61 6e 64 20 74 68 65 20 aced.between.the.number.and.the.
3c3c0 75 6e 69 74 2e 20 20 54 68 65 20 61 72 67 75 6d 65 6e 74 20 55 4e 49 54 0a 20 20 20 20 20 64 65 unit...The.argument.UNIT......de
3c3e0 74 65 72 6d 69 6e 65 73 20 74 68 65 20 75 6e 69 74 20 74 6f 20 75 73 65 2e 20 20 42 79 20 64 65 termines.the.unit.to.use...By.de
3c400 66 61 75 6c 74 20 69 74 20 77 69 6c 6c 20 62 65 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 fault.it.will.be.an.empty.string
3c420 2c 0a 20 20 20 20 20 75 6e 6c 65 73 73 20 46 4c 41 56 4f 52 20 69 73 20 e2 80 98 69 65 63 e2 80 ,......unless.FLAVOR.is....iec..
3c440 99 2c 20 69 6e 20 77 68 69 63 68 20 63 61 73 65 20 69 74 20 77 69 6c 6c 20 62 65 20 e2 80 98 42 .,.in.which.case.it.will.be....B
3c460 e2 80 99 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 .......--.Function:.compat-call.
3c480 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 20 26 6f 70 74 69 assoc-delete-all.key.alist.&opti
3c4a0 6f 6e 61 6c 20 74 65 73 74 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 onal.test......This.function.is.
3c4c0 6c 69 6b 65 20 e2 80 98 61 73 73 71 2d 64 65 6c 65 74 65 2d 61 6c 6c e2 80 99 20 65 78 63 65 70 like....assq-delete-all....excep
3c4e0 74 20 74 68 61 74 20 69 74 20 61 63 63 65 70 74 73 20 61 6e 0a 20 20 20 20 20 6f 70 74 69 6f 6e t.that.it.accepts.an......option
3c500 61 6c 20 61 72 67 75 6d 65 6e 74 20 54 45 53 54 2c 20 61 20 70 72 65 64 69 63 61 74 65 20 66 75 al.argument.TEST,.a.predicate.fu
3c520 6e 63 74 69 6f 6e 20 74 6f 20 63 6f 6d 70 61 72 65 20 74 68 65 20 6b 65 79 73 20 69 6e 0a 20 20 nction.to.compare.the.keys.in...
3c540 20 20 20 41 4c 49 53 54 2e 20 20 49 66 20 6f 6d 69 74 74 65 64 20 6f 72 20 e2 80 98 6e 69 6c e2 ...ALIST...If.omitted.or....nil.
3c560 80 99 2c 20 54 45 53 54 20 64 65 66 61 75 6c 74 73 20 74 6f 20 e2 80 98 65 71 75 61 6c e2 80 99 ..,.TEST.defaults.to....equal...
3c580 2e 20 20 41 73 0a 20 20 20 20 20 e2 80 98 61 73 73 71 2d 64 65 6c 65 74 65 2d 61 6c 6c e2 80 99 ...As.........assq-delete-all...
3c5a0 2c 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6f 66 74 65 6e 20 6d 6f 64 69 66 69 65 73 20 74 ,.this.function.often.modifies.t
3c5c0 68 65 20 6f 72 69 67 69 6e 61 6c 20 6c 69 73 74 0a 20 20 20 20 20 73 74 72 75 63 74 75 72 65 20 he.original.list......structure.
3c5e0 6f 66 20 41 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 41 73 73 of.ALIST........*Note.(elisp)Ass
3c600 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 69 73 20 63 6f 6d ociation.Lists::........This.com
3c620 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 68 65 20 6f patibility.version.handles.the.o
3c640 70 74 69 6f 6e 61 6c 20 74 68 69 72 64 20 28 54 45 53 54 46 4e 29 0a 20 20 20 20 20 61 72 67 75 ptional.third.(TESTFN)......argu
3c660 6d 65 6e 74 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 ment....--.Function:.compat-call
3c680 20 65 78 65 63 75 74 61 62 6c 65 2d 66 69 6e 64 20 70 72 6f 67 72 61 6d 20 26 6f 70 74 69 6f 6e .executable-find.program.&option
3c6a0 61 6c 20 72 65 6d 6f 74 65 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 65 61 al.remote......This.function.sea
3c6c0 72 63 68 65 73 20 66 6f 72 20 74 68 65 20 65 78 65 63 75 74 61 62 6c 65 20 66 69 6c 65 20 6f 66 rches.for.the.executable.file.of
3c6e0 20 74 68 65 20 6e 61 6d 65 64 20 50 52 4f 47 52 41 4d 0a 20 20 20 20 20 61 6e 64 20 72 65 74 75 .the.named.PROGRAM......and.retu
3c700 72 6e 73 20 74 68 65 20 61 62 73 6f 6c 75 74 65 20 66 69 6c 65 20 6e 61 6d 65 20 6f 66 20 74 68 rns.the.absolute.file.name.of.th
3c720 65 20 65 78 65 63 75 74 61 62 6c 65 2c 20 69 6e 63 6c 75 64 69 6e 67 20 69 74 73 0a 20 20 20 20 e.executable,.including.its.....
3c740 20 66 69 6c 65 2d 6e 61 6d 65 20 65 78 74 65 6e 73 69 6f 6e 73 2c 20 69 66 20 61 6e 79 2e 20 20 .file-name.extensions,.if.any...
3c760 49 74 20 72 65 74 75 72 6e 73 20 e2 80 98 6e 69 6c e2 80 99 20 69 66 20 74 68 65 20 66 69 6c 65 It.returns....nil....if.the.file
3c780 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 66 6f 75 6e 64 2e 20 20 54 68 65 20 66 75 6e 63 74 69 6f .is.not......found...The.functio
3c7a0 6e 20 73 65 61 72 63 68 65 73 20 69 6e 20 61 6c 6c 20 74 68 65 20 64 69 72 65 63 74 6f 72 69 65 n.searches.in.all.the.directorie
3c7c0 73 20 69 6e 0a 20 20 20 20 20 e2 80 98 65 78 65 63 2d 70 61 74 68 e2 80 99 2c 20 61 6e 64 20 74 s.in.........exec-path...,.and.t
3c7e0 72 69 65 73 20 61 6c 6c 20 74 68 65 20 66 69 6c 65 2d 6e 61 6d 65 20 65 78 74 65 6e 73 69 6f 6e ries.all.the.file-name.extension
3c800 73 20 69 6e 0a 20 20 20 20 20 e2 80 98 65 78 65 63 2d 73 75 66 66 69 78 65 73 e2 80 99 20 28 2a s.in.........exec-suffixes....(*
3c820 6e 6f 74 65 20 28 65 6c 69 73 70 29 53 75 62 70 72 6f 63 65 73 73 20 43 72 65 61 74 69 6f 6e 3a note.(elisp)Subprocess.Creation:
3c840 3a 29 2e 0a 0a 20 20 20 20 20 49 66 20 52 45 4d 4f 54 45 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 :)........If.REMOTE.is.non-...ni
3c860 6c e2 80 99 2c 20 61 6e 64 20 e2 80 98 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 e2 80 l...,.and....default-directory..
3c880 99 20 69 73 20 61 20 72 65 6d 6f 74 65 0a 20 20 20 20 20 64 69 72 65 63 74 6f 72 79 2c 20 50 52 ..is.a.remote......directory,.PR
3c8a0 4f 47 52 41 4d 20 69 73 20 73 65 61 72 63 68 65 64 20 6f 6e 20 74 68 65 20 72 65 73 70 65 63 74 OGRAM.is.searched.on.the.respect
3c8c0 69 76 65 20 72 65 6d 6f 74 65 20 68 6f 73 74 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c ive.remote.host........*Note.(el
3c8e0 69 73 70 29 4c 6f 63 61 74 69 6e 67 20 46 69 6c 65 73 3a 3a 2e 0a 0a 20 20 20 20 20 54 68 69 73 isp)Locating.Files::........This
3c900 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
3c920 6f 72 74 20 74 6f 20 68 61 6e 64 6c 65 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 0a 20 20 20 20 20 ort.to.handle.the.optional......
3c940 73 65 63 6f 6e 64 20 28 52 45 4d 4f 54 45 29 20 61 72 67 75 6d 65 6e 74 2e 0a 0a 32 2e 33 2e 33 second.(REMOTE).argument...2.3.3
3c960 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.-----------
3c980 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.
3c9a0 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
3c9c0 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
3c9e0 37 2e 31 3a 0a 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 62 61 7.1:.........The.functions....ba
3ca00 73 65 36 34 75 72 6c 2d 65 6e 63 6f 64 65 2d 2a e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 se64url-encode-*............The.
3ca20 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 61 64 64 e2 80 99 2e function....decoded-time-add....
3ca40 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 65 63 6f 64 65 64 2d ........The.function....decoded-
3ca60 74 69 6d 65 2d 73 65 74 2d 64 65 66 61 75 6c 74 73 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 time-set-defaults............The
3ca80 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 74 69 6d 65 2d 63 6f 6e 76 65 72 74 e2 80 99 2e 0a 20 20 .function....time-convert.......
3caa0 20 e2 80 a2 20 54 68 65 20 6d 61 63 72 6f 20 e2 80 98 62 65 6e 63 68 6d 61 72 6b 2d 70 72 6f 67 .....The.macro....benchmark-prog
3cac0 6e e2 80 99 2e 0a 20 20 20 e2 80 a2 20 53 75 70 70 6f 72 74 20 66 6f 72 20 e2 80 98 63 6f 6e 64 n............Support.for....cond
3cae0 69 74 69 6f 6e 2d 63 61 73 65 e2 80 99 20 74 6f 20 68 61 6e 64 6c 65 20 74 2e 0a 20 20 20 e2 80 ition-case....to.handle.t.......
3cb00 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 66 69 6c 65 2d 73 79 73 74 65 6d 2d 69 6e ..The.function....file-system-in
3cb20 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 67 72 fo............The.function....gr
3cb40 6f 75 70 2d 6e 61 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 oup-name............The.function
3cb60 20 e2 80 98 66 61 63 65 2d 65 78 74 65 6e 64 2d 70 e2 80 99 20 61 6e 64 20 e2 80 98 73 65 74 2d ....face-extend-p....and....set-
3cb80 66 61 63 65 2d 65 78 74 65 6e 64 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 41 64 64 69 74 69 6f 6e 61 face-extend............Additiona
3cba0 6c 20 e2 80 98 66 6f 72 6d 61 74 2d 73 70 65 63 e2 80 99 20 6d 6f 64 69 66 69 65 72 73 2e 0a 20 l....format-spec....modifiers...
3cbc0 20 20 e2 80 a2 20 53 75 70 70 6f 72 74 20 66 6f 72 20 61 64 64 69 74 69 6f 6e 61 6c 20 62 6f 64 ......Support.for.additional.bod
3cbe0 79 20 66 6f 72 6d 73 20 66 6f 72 0a 20 20 20 20 20 e2 80 98 64 65 66 69 6e 65 2d 67 6c 6f 62 61 y.forms.for.........define-globa
3cc00 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 a2 20 54 68 65 20 lized-minor-mode............The.
3cc20 6d 61 63 72 6f 20 e2 80 98 77 69 74 68 2d 63 6f 6e 6e 65 63 74 69 6f 6e 2d 6c 6f 63 61 6c 2d 76 macro....with-connection-local-v
3cc40 61 72 69 61 62 6c 65 73 e2 80 99 20 61 6e 64 20 72 65 6c 61 74 65 64 0a 20 20 20 20 20 66 75 6e ariables....and.related......fun
3cc60 63 74 69 6f 6e 61 6c 69 74 79 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 e2 80 98 69 73 6f 38 36 30 ctionality.........The....iso860
3cc80 31 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 65 78 69 66 1....library.........The....exif
3cca0 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 69 6d 61 67 65 ....library.........The....image
3ccc0 2d 63 6f 6e 76 65 72 74 65 72 e2 80 99 20 6c 69 62 72 61 72 79 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 -converter....library.....File:.
3cce0 64 6f 63 6c 38 71 6d 30 70 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 45 6d 61 63 73 20 32 38 2e docl8qm0p.info,..Node:.Emacs.28.
3cd00 31 2c 20 20 4e 65 78 74 3a 20 45 6d 61 63 73 20 32 39 2e 31 2c 20 20 50 72 65 76 3a 20 45 6d 61 1,..Next:.Emacs.29.1,..Prev:.Ema
3cd20 63 73 20 32 37 2e 31 2c 20 20 55 70 3a 20 53 75 70 70 6f 72 74 0a 0a 32 2e 34 20 45 6d 61 63 73 cs.27.1,..Up:.Support..2.4.Emacs
3cd40 20 32 38 2e 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 32 2e 34 2e 31 20 41 64 64 65 .28.1.==============..2.4.1.Adde
3cd60 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 2d d.Definitions.------------------
3cd80 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 74 69 6f 6e 73 20 61 -----..The.following.functions.a
3cda0 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 20 69 6e 20 45 6d 61 nd.macros.are.implemented.in.Ema
3cdc0 63 73 20 32 38 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 cs.28.1...These.functions.are.ma
3cde0 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 20 45 6d 61 63 73 20 de.available.by.Compat.on.Emacs.
3ce00 76 65 72 73 69 6f 6e 73 20 6f 6c 64 65 72 20 74 68 61 6e 0a 32 38 2e 31 2e 0a 0a 20 20 20 54 68 versions.older.than.28.1......Th
3ce20 65 20 e2 80 98 64 65 66 63 75 73 74 6f 6d e2 80 99 20 74 79 70 65 20 e2 80 98 6e 61 74 6e 75 6d e....defcustom....type....natnum
3ce40 e2 80 99 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 45 6d 61 63 73 20 32 38 2e 31 20 69 73 20 ....introduced.in.Emacs.28.1.is.
3ce60 6d 61 64 65 0a 61 76 61 69 6c 61 62 6c 65 20 62 79 20 43 6f 6d 70 61 74 2e 0a 0a 20 2d 2d 20 46 made.available.by.Compat....--.F
3ce80 75 6e 63 74 69 6f 6e 3a 20 70 72 6f 63 65 73 73 2d 6c 69 6e 65 73 2d 69 67 6e 6f 72 65 2d 73 74 unction:.process-lines-ignore-st
3cea0 61 74 75 73 20 70 72 6f 67 72 61 6d 20 26 72 65 73 74 20 61 72 67 73 0a 20 20 20 20 20 54 68 69 atus.program.&rest.args......Thi
3cec0 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6a 75 73 74 20 6c 69 6b 65 20 e2 80 98 70 72 6f 63 65 s.function.is.just.like....proce
3cee0 73 73 2d 6c 69 6e 65 73 e2 80 99 2c 20 62 75 74 20 64 6f 65 73 20 6e 6f 74 20 73 69 67 6e 61 6c ss-lines...,.but.does.not.signal
3cf00 20 61 6e 0a 20 20 20 20 20 65 72 72 6f 72 20 69 66 20 50 52 4f 47 52 41 4d 20 65 78 69 74 73 20 .an......error.if.PROGRAM.exits.
3cf20 77 69 74 68 20 61 20 6e 6f 6e 2d 7a 65 72 6f 20 65 78 69 74 20 73 74 61 74 75 73 2e 0a 0a 20 2d with.a.non-zero.exit.status....-
3cf40 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 70 72 6f 63 65 73 73 2d 6c 69 6e 65 73 2d 68 61 6e 64 6c 69 -.Function:.process-lines-handli
3cf60 6e 67 2d 73 74 61 74 75 73 20 70 72 6f 67 72 61 6d 20 73 74 61 74 75 73 2d 68 61 6e 64 6c 65 72 ng-status.program.status-handler
3cf80 20 26 72 65 73 74 0a 20 20 20 20 20 20 20 20 20 20 61 72 67 73 0a 20 20 20 20 20 45 78 65 63 75 .&rest...........args......Execu
3cfa0 74 65 20 50 52 4f 47 52 41 4d 20 77 69 74 68 20 41 52 47 53 2c 20 72 65 74 75 72 6e 69 6e 67 20 te.PROGRAM.with.ARGS,.returning.
3cfc0 69 74 73 20 6f 75 74 70 75 74 20 61 73 20 61 20 6c 69 73 74 20 6f 66 20 6c 69 6e 65 73 2e 0a 20 its.output.as.a.list.of.lines...
3cfe0 20 20 20 20 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 6e 69 6c ....If.STATUS-HANDLER.is.non-nil
3d000 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 6f 6e 65 ,.it.must.be.a.function.with.one
3d020 0a 20 20 20 20 20 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 ......argument,.which.will.be.ca
3d040 6c 6c 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 lled.with.the.exit.status.of.the
3d060 20 70 72 6f 67 72 61 6d 0a 20 20 20 20 20 62 65 66 6f 72 65 20 74 68 65 20 6f 75 74 70 75 74 20 .program......before.the.output.
3d080 69 73 20 63 6f 6c 6c 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 is.collected...If.STATUS-HANDLER
3d0a0 20 69 73 20 6e 69 6c 2c 20 61 6e 20 65 72 72 6f 72 0a 20 20 20 20 20 69 73 20 73 69 67 6e 61 6c .is.nil,.an.error......is.signal
3d0c0 65 64 20 69 66 20 74 68 65 20 70 72 6f 67 72 61 6d 20 72 65 74 75 72 6e 73 20 77 69 74 68 20 61 ed.if.the.program.returns.with.a
3d0e0 20 6e 6f 6e 2d 7a 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 .non-zero.exit.status....--.Func
3d100 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 20 20 59 6f tion:.text-quoting-style......Yo
3d120 75 20 73 68 6f 75 6c 64 20 6e 6f 74 20 72 65 61 64 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 u.should.not.read.the.value.of.t
3d140 68 65 20 76 61 72 69 61 62 6c 65 20 e2 80 98 74 65 78 74 2d 71 75 6f 74 69 6e 67 2d 73 74 79 6c he.variable....text-quoting-styl
3d160 65 e2 80 99 0a 20 20 20 20 20 64 69 72 65 63 74 6c 79 2e 20 20 49 6e 73 74 65 61 64 2c 20 75 73 e.........directly...Instead,.us
3d180 65 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 6e 61 e.this.function.with.the.same.na
3d1a0 6d 65 20 74 6f 0a 20 20 20 20 20 64 79 6e 61 6d 69 63 61 6c 6c 79 20 63 6f 6d 70 75 74 65 20 74 me.to......dynamically.compute.t
3d1c0 68 65 20 63 6f 72 72 65 63 74 20 71 75 6f 74 69 6e 67 20 73 74 79 6c 65 20 6f 6e 20 74 68 65 20 he.correct.quoting.style.on.the.
3d1e0 63 75 72 72 65 6e 74 0a 20 20 20 20 20 74 65 72 6d 69 6e 61 6c 20 69 6e 20 74 68 65 20 e2 80 98 current......terminal.in.the....
3d200 6e 69 6c e2 80 99 20 63 61 73 65 20 64 65 73 63 72 69 62 65 64 20 61 62 6f 76 65 2e 0a 0a 20 2d nil....case.described.above....-
3d220 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 73 74 72 69 6e 67 2d 73 65 61 72 63 68 20 6e 65 65 64 6c 65 -.Function:.string-search.needle
3d240 20 68 61 79 73 74 61 63 6b 20 26 6f 70 74 69 6f 6e 61 6c 20 73 74 61 72 74 2d 70 6f 73 0a 20 20 .haystack.&optional.start-pos...
3d260 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 74 68 65 20 66 69 ...Return.the.position.of.the.fi
3d280 72 73 74 20 69 6e 73 74 61 6e 63 65 20 6f 66 20 4e 45 45 44 4c 45 20 69 6e 20 48 41 59 53 54 41 rst.instance.of.NEEDLE.in.HAYSTA
3d2a0 43 4b 2c 0a 20 20 20 20 20 62 6f 74 68 20 6f 66 20 77 68 69 63 68 20 61 72 65 20 73 74 72 69 6e CK,......both.of.which.are.strin
3d2c0 67 73 2e 20 20 49 66 20 53 54 41 52 54 2d 50 4f 53 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 gs...If.START-POS.is.non-...nil.
3d2e0 80 99 2c 20 73 74 61 72 74 0a 20 20 20 20 20 73 65 61 72 63 68 69 6e 67 20 66 72 6f 6d 20 74 68 ..,.start......searching.from.th
3d300 61 74 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 4e 45 45 44 4c 45 2e 20 20 52 65 74 75 72 6e 20 e2 at.position.in.NEEDLE...Return..
3d320 80 98 6e 69 6c e2 80 99 20 69 66 20 6e 6f 20 6d 61 74 63 68 0a 20 20 20 20 20 77 61 73 20 66 6f ..nil....if.no.match......was.fo
3d340 75 6e 64 2e 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 6f 6e 6c 79 20 63 6f 6e 73 69 64 65 und...This.function.only.conside
3d360 72 73 20 74 68 65 20 63 68 61 72 61 63 74 65 72 73 20 69 6e 20 74 68 65 0a 20 20 20 20 20 73 74 rs.the.characters.in.the......st
3d380 72 69 6e 67 73 20 77 68 65 6e 20 64 6f 69 6e 67 20 74 68 65 20 63 6f 6d 70 61 72 69 73 6f 6e 3b rings.when.doing.the.comparison;
3d3a0 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 0a 20 20 .text.properties.are.ignored....
3d3c0 20 20 20 4d 61 74 63 68 69 6e 67 20 69 73 20 61 6c 77 61 79 73 20 63 61 73 65 2d 73 65 6e 73 69 ...Matching.is.always.case-sensi
3d3e0 74 69 76 65 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6c 65 6e 67 74 68 3d 20 73 65 71 tive....--.Function:.length=.seq
3d400 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 e2 80 98 uence.length......Return.non-...
3d420 6e 69 6c e2 80 99 20 69 66 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 53 45 51 55 45 4e 43 45 nil....if.the.length.of.SEQUENCE
3d440 20 69 73 20 65 71 75 61 6c 20 74 6f 20 4c 45 4e 47 54 48 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 .is.equal.to.LENGTH....--.Functi
3d460 6f 6e 3a 20 6c 65 6e 67 74 68 3c 20 73 65 71 75 65 6e 63 65 20 6c 65 6e 67 74 68 0a 20 20 20 20 on:.length<.sequence.length.....
3d480 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 43 .Return.non-...nil....if.SEQUENC
3d4a0 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 20 20 54 68 69 73 20 E.is.shorter.than.LENGTH...This.
3d4c0 6d 61 79 20 62 65 0a 20 20 20 20 20 6d 6f 72 65 20 65 66 66 69 63 69 65 6e 74 20 74 68 61 6e 20 may.be......more.efficient.than.
3d4e0 63 6f 6d 70 75 74 69 6e 67 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 53 45 51 55 45 4e 43 45 computing.the.length.of.SEQUENCE
3d500 20 69 66 20 53 45 51 55 45 4e 43 45 20 69 73 0a 20 20 20 20 20 61 20 6c 6f 6e 67 20 6c 69 73 74 .if.SEQUENCE.is......a.long.list
3d520 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6c 65 6e 67 74 68 3e 20 73 65 71 75 65 6e 63 ....--.Function:.length>.sequenc
3d540 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 e2 80 98 6e 69 6c e2 e.length......Return.non-...nil.
3d560 80 99 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 ...if.SEQUENCE.is.longer.than.LE
3d580 4e 47 54 48 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 66 69 6c 65 2d 6e 61 6d 65 2d 63 NGTH....--.Function:.file-name-c
3d5a0 6f 6e 63 61 74 20 64 69 72 65 63 74 6f 72 79 20 26 72 65 73 74 20 63 6f 6d 70 6f 6e 65 6e 74 73 oncat.directory.&rest.components
3d5c0 0a 20 20 20 20 20 43 6f 6e 63 61 74 65 6e 61 74 65 20 43 4f 4d 50 4f 4e 45 4e 54 53 20 74 6f 20 ......Concatenate.COMPONENTS.to.
3d5e0 44 49 52 45 43 54 4f 52 59 2c 20 69 6e 73 65 72 74 69 6e 67 20 61 20 73 6c 61 73 68 20 62 65 66 DIRECTORY,.inserting.a.slash.bef
3d600 6f 72 65 20 74 68 65 0a 20 20 20 20 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 69 66 20 44 49 52 45 43 ore.the......components.if.DIREC
3d620 54 4f 52 59 20 6f 72 20 74 68 65 20 70 72 65 63 65 64 69 6e 67 20 63 6f 6d 70 6f 6e 65 6e 74 20 TORY.or.the.preceding.component.
3d640 64 69 64 6e e2 80 99 74 20 65 6e 64 20 77 69 74 68 0a 20 20 20 20 20 61 20 73 6c 61 73 68 2e 0a didn...t.end.with......a.slash..
3d660 0a 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 63 6f 6e 63 61 74 20 22 2f 74 ...........(file-name-concat."/t
3d680 6d 70 22 20 22 66 6f 6f 22 29 20 e2 87 92 20 22 2f 74 6d 70 2f 66 6f 6f 22 0a 0a 20 20 20 20 20 mp"."foo")....."/tmp/foo".......
3d6a0 41 20 44 49 52 45 43 54 4f 52 59 20 6f 72 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 74 68 61 74 20 61 A.DIRECTORY.or.components.that.a
3d6c0 72 65 20 e2 80 98 6e 69 6c e2 80 99 20 6f 72 20 74 68 65 20 65 6d 70 74 79 20 73 74 72 69 6e 67 re....nil....or.the.empty.string
3d6e0 20 61 72 65 0a 20 20 20 20 20 69 67 6e 6f 72 65 64 e2 80 94 74 68 65 79 20 61 72 65 20 66 69 6c .are......ignored...they.are.fil
3d700 74 65 72 65 64 20 6f 75 74 20 66 69 72 73 74 20 61 6e 64 20 64 6f 20 6e 6f 74 20 61 66 66 65 63 tered.out.first.and.do.not.affec
3d720 74 20 74 68 65 20 72 65 73 75 6c 74 73 0a 20 20 20 20 20 69 6e 20 61 6e 79 20 77 61 79 2e 0a 0a t.the.results......in.any.way...
3d740 20 20 20 20 20 54 68 69 73 20 69 73 20 61 6c 6d 6f 73 74 20 74 68 65 20 73 61 6d 65 20 61 73 20 .....This.is.almost.the.same.as.
3d760 75 73 69 6e 67 20 e2 80 98 63 6f 6e 63 61 74 e2 80 99 2c 20 62 75 74 20 44 49 52 4e 41 4d 45 20 using....concat...,.but.DIRNAME.
3d780 28 61 6e 64 20 74 68 65 0a 20 20 20 20 20 6e 6f 6e 2d 66 69 6e 61 6c 20 63 6f 6d 70 6f 6e 65 6e (and.the......non-final.componen
3d7a0 74 73 29 20 6d 61 79 20 6f 72 20 6d 61 79 20 6e 6f 74 20 65 6e 64 20 77 69 74 68 20 73 6c 61 73 ts).may.or.may.not.end.with.slas
3d7c0 68 20 63 68 61 72 61 63 74 65 72 73 2c 20 61 6e 64 0a 20 20 20 20 20 74 68 69 73 20 66 75 6e 63 h.characters,.and......this.func
3d7e0 74 69 6f 6e 20 77 69 6c 6c 20 6e 6f 74 20 64 6f 75 62 6c 65 20 74 68 6f 73 65 20 63 68 61 72 61 tion.will.not.double.those.chara
3d800 63 74 65 72 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 67 61 72 62 61 67 65 2d 63 6f cters....--.Function:.garbage-co
3d820 6c 6c 65 63 74 2d 6d 61 79 62 65 20 66 61 63 74 6f 72 0a 20 20 20 20 20 53 75 67 67 65 73 74 20 llect-maybe.factor......Suggest.
3d840 74 6f 20 72 75 6e 20 67 61 72 62 61 67 65 20 63 6f 6c 6c 65 63 74 69 6f 6e 2c 20 69 66 20 5f 65 to.run.garbage.collection,.if._e
3d860 6e 6f 75 67 68 5f 20 64 61 74 61 20 68 61 73 20 62 65 65 6e 0a 20 20 20 20 20 61 6c 6c 6f 63 61 nough_.data.has.been......alloca
3d880 74 65 64 2e 20 20 54 68 69 73 20 69 73 20 64 65 74 65 72 6d 69 6e 65 64 20 62 79 20 74 68 65 20 ted...This.is.determined.by.the.
3d8a0 70 6f 73 69 74 69 76 65 20 6e 75 6d 65 72 69 63 61 6c 20 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 positive.numerical.argument.....
3d8c0 20 46 41 43 54 4f 52 2c 20 74 68 61 74 20 77 6f 75 6c 64 20 70 72 6f 70 6f 72 74 69 6f 6e 61 6c .FACTOR,.that.would.proportional
3d8e0 6c 79 20 69 6e 63 72 65 61 73 65 20 74 68 65 20 6c 69 6b 65 6c 69 68 6f 6f 64 20 6f 66 0a 20 20 ly.increase.the.likelihood.of...
3d900 20 20 20 67 61 72 62 61 67 65 20 63 6f 6c 6c 65 63 74 69 6f 6e 20 74 61 6b 69 6e 67 20 70 6c 61 ...garbage.collection.taking.pla
3d920 63 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 20 66 75 6e ce........This.compatibility.fun
3d940 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 68 69 6e 67 20 61 6e 64 20 69 67 6e 6f 72 65 73 20 61 ction.does.nothing.and.ignores.a
3d960 6e 79 0a 20 20 20 20 20 73 75 67 67 65 73 74 69 6f 6e 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f ny......suggestion....--.Functio
3d980 6e 3a 20 73 74 72 69 6e 67 2d 72 65 70 6c 61 63 65 20 66 72 6f 6d 2d 73 74 72 69 6e 67 20 74 6f n:.string-replace.from-string.to
3d9a0 2d 73 74 72 69 6e 67 20 69 6e 2d 73 74 72 69 6e 67 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 -string.in-string......This.func
3d9c0 74 69 6f 6e 20 72 65 70 6c 61 63 65 73 20 61 6c 6c 20 6f 63 63 75 72 72 65 6e 63 65 73 20 6f 66 tion.replaces.all.occurrences.of
3d9e0 20 46 52 4f 4d 2d 53 54 52 49 4e 47 20 77 69 74 68 0a 20 20 20 20 20 54 4f 2d 53 54 52 49 4e 47 .FROM-STRING.with......TO-STRING
3da00 20 69 6e 20 49 4e 2d 53 54 52 49 4e 47 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 68 65 20 72 65 .in.IN-STRING.and.returns.the.re
3da20 73 75 6c 74 2e 20 20 49 74 20 6d 61 79 20 72 65 74 75 72 6e 20 6f 6e 65 0a 20 20 20 20 20 6f 66 sult...It.may.return.one......of
3da40 20 69 74 73 20 61 72 67 75 6d 65 6e 74 73 20 75 6e 63 68 61 6e 67 65 64 2c 20 61 20 63 6f 6e 73 .its.arguments.unchanged,.a.cons
3da60 74 61 6e 74 20 73 74 72 69 6e 67 20 6f 72 20 61 20 6e 65 77 20 73 74 72 69 6e 67 2e 0a 20 20 20 tant.string.or.a.new.string.....
3da80 20 20 43 61 73 65 20 69 73 20 73 69 67 6e 69 66 69 63 61 6e 74 2c 20 61 6e 64 20 74 65 78 74 20 ..Case.is.significant,.and.text.
3daa0 70 72 6f 70 65 72 74 69 65 73 20 61 72 65 20 69 67 6e 6f 72 65 64 2e 0a 0a 20 2d 2d 20 46 75 6e properties.are.ignored....--.Fun
3dac0 63 74 69 6f 6e 3a 20 61 6c 77 61 79 73 20 26 72 65 73 74 20 61 72 67 75 6d 65 6e 74 73 0a 20 20 ction:.always.&rest.arguments...
3dae0 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 67 6e 6f 72 65 73 20 61 6e 79 20 41 52 47 ...This.function.ignores.any.ARG
3db00 55 4d 45 4e 54 53 20 61 6e 64 20 72 65 74 75 72 6e 73 20 e2 80 98 74 e2 80 99 2e 0a 0a 20 20 20 UMENTS.and.returns....t.........
3db20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 43 61 6c 6c 69 6e 67 20 46 75 6e 63 74 69 6f 6e 73 ..*Note.(elisp)Calling.Functions
3db40 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6d 61 6b 65 2d 73 65 70 61 72 61 74 6f ::....--.Function:.make-separato
3db60 72 2d 6c 69 6e 65 20 26 6f 70 74 69 6f 6e 61 6c 20 6c 65 6e 67 74 68 0a 20 20 20 20 20 4d 61 6b r-line.&optional.length......Mak
3db80 65 20 61 20 73 74 72 69 6e 67 20 61 70 70 72 6f 70 72 69 61 74 65 20 66 6f 72 20 75 73 61 67 65 e.a.string.appropriate.for.usage
3dba0 20 61 73 20 61 20 76 69 73 75 61 6c 20 73 65 70 61 72 61 74 6f 72 20 6c 69 6e 65 2e 20 20 49 66 .as.a.visual.separator.line...If
3dbc0 0a 20 20 20 20 20 4c 45 4e 47 54 48 20 69 73 20 6e 69 6c 2c 20 75 73 65 20 74 68 65 20 77 69 6e ......LENGTH.is.nil,.use.the.win
3dbe0 64 6f 77 20 77 69 64 74 68 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 69 6e 73 65 72 74 dow.width....--.Function:.insert
3dc00 2d 69 6e 74 6f 2d 62 75 66 66 65 72 20 74 6f 2d 62 75 66 66 65 72 20 26 6f 70 74 69 6f 6e 61 6c -into-buffer.to-buffer.&optional
3dc20 20 73 74 61 72 74 20 65 6e 64 0a 20 20 20 20 20 54 68 69 73 20 69 73 20 6c 69 6b 65 20 e2 80 98 .start.end......This.is.like....
3dc40 69 6e 73 65 72 74 2d 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 e2 80 99 2c 20 62 75 74 20 insert-buffer-substring...,.but.
3dc60 77 6f 72 6b 73 20 69 6e 20 74 68 65 20 6f 70 70 6f 73 69 74 65 0a 20 20 20 20 20 64 69 72 65 63 works.in.the.opposite......direc
3dc80 74 69 6f 6e 3a 20 54 68 65 20 74 65 78 74 20 69 73 20 63 6f 70 69 65 64 20 66 72 6f 6d 20 74 68 tion:.The.text.is.copied.from.th
3dca0 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 20 69 6e 74 6f 0a 20 20 20 20 20 54 4f 2d 42 55 e.current.buffer.into......TO-BU
3dcc0 46 46 45 52 2e 20 20 54 68 65 20 62 6c 6f 63 6b 20 6f 66 20 74 65 78 74 20 69 73 20 63 6f 70 69 FFER...The.block.of.text.is.copi
3dce0 65 64 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 20 70 6f 69 6e 74 20 69 6e 0a 20 20 20 20 20 ed.to.the.current.point.in......
3dd00 54 4f 2d 42 55 46 46 45 52 2c 20 61 6e 64 20 70 6f 69 6e 74 20 28 69 6e 20 74 68 61 74 20 62 75 TO-BUFFER,.and.point.(in.that.bu
3dd20 66 66 65 72 29 20 69 73 20 61 64 76 61 6e 63 65 64 20 74 6f 20 61 66 74 65 72 20 74 68 65 20 65 ffer).is.advanced.to.after.the.e
3dd40 6e 64 0a 20 20 20 20 20 6f 66 20 74 68 65 20 63 6f 70 69 65 64 20 74 65 78 74 2e 20 20 49 73 20 nd......of.the.copied.text...Is.
3dd60 e2 80 98 73 74 61 72 74 e2 80 99 2f e2 80 98 65 6e 64 e2 80 99 20 69 73 20 e2 80 98 6e 69 6c e2 ...start.../...end....is....nil.
3dd80 80 99 2c 20 74 68 65 20 65 6e 74 69 72 65 20 74 65 78 74 20 69 6e 0a 20 20 20 20 20 74 68 65 20 ..,.the.entire.text.in......the.
3dda0 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 20 69 73 20 63 6f 70 69 65 64 20 6f 76 65 72 2e 0a 0a current.buffer.is.copied.over...
3ddc0 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 49 6e 73 65 72 74 69 6f 6e 3a 3a 2e 0a 0a .....*Note.(elisp)Insertion::...
3dde0 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 72 65 70 6c 61 63 65 2d 73 74 72 69 6e 67 2d 69 6e 2d .--.Function:.replace-string-in-
3de00 72 65 67 69 6f 6e 20 73 74 72 69 6e 67 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 26 6f 70 74 69 6f region.string.replacement.&optio
3de20 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 68 69 nal...........start.end......Thi
3de40 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 e2 80 s.function.works.similarly.to...
3de60 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 62 75 .replace-regexp-in-region...,.bu
3de80 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 63 65 t......searches.for,.and.replace
3dea0 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 72 65 s,.literal.STRINGs.instead.of.re
3dec0 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 2d 2d 20 46 75 6e gular......expressions....--.Fun
3dee0 63 74 69 6f 6e 3a 20 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 ction:.replace-regexp-in-string.
3df00 72 65 67 65 78 70 20 72 65 70 20 73 74 72 69 6e 67 20 26 6f 70 74 69 6f 6e 61 6c 0a 20 20 20 20 regexp.rep.string.&optional.....
3df20 20 20 20 20 20 20 66 69 78 65 64 63 61 73 65 20 6c 69 74 65 72 61 6c 20 73 75 62 65 78 70 20 73 ......fixedcase.literal.subexp.s
3df40 74 61 72 74 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 6f 70 69 65 73 20 53 tart......This.function.copies.S
3df60 54 52 49 4e 47 20 61 6e 64 20 73 65 61 72 63 68 65 73 20 69 74 20 66 6f 72 20 6d 61 74 63 68 65 TRING.and.searches.it.for.matche
3df80 73 20 66 6f 72 20 52 45 47 45 58 50 2c 0a 20 20 20 20 20 61 6e 64 20 72 65 70 6c 61 63 65 73 20 s.for.REGEXP,......and.replaces.
3dfa0 74 68 65 6d 20 77 69 74 68 20 52 45 50 2e 20 20 49 74 20 72 65 74 75 72 6e 73 20 74 68 65 20 6d them.with.REP...It.returns.the.m
3dfc0 6f 64 69 66 69 65 64 20 63 6f 70 79 2e 20 20 49 66 0a 20 20 20 20 20 53 54 41 52 54 20 69 73 20 odified.copy...If......START.is.
3dfe0 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 74 68 65 20 73 65 61 72 63 68 20 66 6f 72 20 6d 61 non-...nil...,.the.search.for.ma
3e000 74 63 68 65 73 20 73 74 61 72 74 73 20 61 74 20 74 68 61 74 20 69 6e 64 65 78 20 69 6e 0a 20 20 tches.starts.at.that.index.in...
3e020 20 20 20 53 54 52 49 4e 47 2c 20 61 6e 64 20 74 68 65 20 72 65 74 75 72 6e 65 64 20 76 61 6c 75 ...STRING,.and.the.returned.valu
3e040 65 20 64 6f 65 73 20 6e 6f 74 20 69 6e 63 6c 75 64 65 20 74 68 65 20 66 69 72 73 74 20 53 54 41 e.does.not.include.the.first.STA
3e060 52 54 0a 20 20 20 20 20 63 68 61 72 61 63 74 65 72 73 20 6f 66 20 53 54 52 49 4e 47 2e 20 20 54 RT......characters.of.STRING...T
3e080 6f 20 67 65 74 20 74 68 65 20 77 68 6f 6c 65 20 74 72 61 6e 73 66 6f 72 6d 65 64 20 73 74 72 69 o.get.the.whole.transformed.stri
3e0a0 6e 67 2c 0a 20 20 20 20 20 63 6f 6e 63 61 74 65 6e 61 74 65 20 74 68 65 20 66 69 72 73 74 20 53 ng,......concatenate.the.first.S
3e0c0 54 41 52 54 20 63 68 61 72 61 63 74 65 72 73 20 6f 66 20 53 54 52 49 4e 47 20 77 69 74 68 20 74 TART.characters.of.STRING.with.t
3e0e0 68 65 20 72 65 74 75 72 6e 0a 20 20 20 20 20 76 61 6c 75 65 2e 0a 0a 20 20 20 20 20 54 68 69 73 he.return......value........This
3e100 20 66 75 6e 63 74 69 6f 6e 20 75 73 65 73 20 e2 80 98 72 65 70 6c 61 63 65 2d 6d 61 74 63 68 e2 .function.uses....replace-match.
3e120 80 99 20 74 6f 20 64 6f 20 74 68 65 20 72 65 70 6c 61 63 65 6d 65 6e 74 2c 20 61 6e 64 20 69 74 ...to.do.the.replacement,.and.it
3e140 0a 20 20 20 20 20 70 61 73 73 65 73 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 ......passes.the.optional.argume
3e160 6e 74 73 20 46 49 58 45 44 43 41 53 45 2c 20 4c 49 54 45 52 41 4c 20 61 6e 64 20 53 55 42 45 58 nts.FIXEDCASE,.LITERAL.and.SUBEX
3e180 50 20 61 6c 6f 6e 67 0a 20 20 20 20 20 74 6f 20 e2 80 98 72 65 70 6c 61 63 65 2d 6d 61 74 63 68 P.along......to....replace-match
3e1a0 e2 80 99 2e 0a 0a 20 20 20 20 20 49 6e 73 74 65 61 64 20 6f 66 20 61 20 73 74 72 69 6e 67 2c 20 ...........Instead.of.a.string,.
3e1c0 52 45 50 20 63 61 6e 20 62 65 20 61 20 66 75 6e 63 74 69 6f 6e 2e 20 20 49 6e 20 74 68 61 74 20 REP.can.be.a.function...In.that.
3e1e0 63 61 73 65 2c 0a 20 20 20 20 20 e2 80 98 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d case,.........replace-regexp-in-
3e200 73 74 72 69 6e 67 e2 80 99 20 63 61 6c 6c 73 20 52 45 50 20 66 6f 72 20 65 61 63 68 20 6d 61 74 string....calls.REP.for.each.mat
3e220 63 68 2c 20 70 61 73 73 69 6e 67 20 74 68 65 0a 20 20 20 20 20 74 65 78 74 20 6f 66 20 74 68 65 ch,.passing.the......text.of.the
3e240 20 6d 61 74 63 68 20 61 73 20 69 74 73 20 73 6f 6c 65 20 61 72 67 75 6d 65 6e 74 2e 20 20 49 74 .match.as.its.sole.argument...It
3e260 20 63 6f 6c 6c 65 63 74 73 20 74 68 65 20 76 61 6c 75 65 20 52 45 50 0a 20 20 20 20 20 72 65 74 .collects.the.value.REP......ret
3e280 75 72 6e 73 20 61 6e 64 20 70 61 73 73 65 73 20 74 68 61 74 20 74 6f 20 e2 80 98 72 65 70 6c 61 urns.and.passes.that.to....repla
3e2a0 63 65 2d 6d 61 74 63 68 e2 80 99 20 61 73 20 74 68 65 20 72 65 70 6c 61 63 65 6d 65 6e 74 0a 20 ce-match....as.the.replacement..
3e2c0 20 20 20 20 73 74 72 69 6e 67 2e 20 20 54 68 65 20 6d 61 74 63 68 20 64 61 74 61 20 61 74 20 74 ....string...The.match.data.at.t
3e2e0 68 69 73 20 70 6f 69 6e 74 20 61 72 65 20 74 68 65 20 72 65 73 75 6c 74 20 6f 66 20 6d 61 74 63 his.point.are.the.result.of.matc
3e300 68 69 6e 67 0a 20 20 20 20 20 52 45 47 45 58 50 20 61 67 61 69 6e 73 74 20 61 20 73 75 62 73 74 hing......REGEXP.against.a.subst
3e320 72 69 6e 67 20 6f 66 20 53 54 52 49 4e 47 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 62 ring.of.STRING....--.Function:.b
3e340 75 66 66 65 72 2d 6c 6f 63 61 6c 2d 62 6f 75 6e 64 70 20 76 61 72 69 61 62 6c 65 20 62 75 66 66 uffer-local-boundp.variable.buff
3e360 65 72 0a 20 20 20 20 20 54 68 69 73 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 er......This.returns.non-...nil.
3e380 80 99 20 69 66 20 74 68 65 72 65 e2 80 99 73 20 65 69 74 68 65 72 20 61 20 62 75 66 66 65 72 2d ...if.there...s.either.a.buffer-
3e3a0 6c 6f 63 61 6c 20 62 69 6e 64 69 6e 67 20 6f 66 0a 20 20 20 20 20 56 41 52 49 41 42 4c 45 20 28 local.binding.of......VARIABLE.(
3e3c0 61 20 73 79 6d 62 6f 6c 29 20 69 6e 20 62 75 66 66 65 72 20 42 55 46 46 45 52 2c 20 6f 72 20 56 a.symbol).in.buffer.BUFFER,.or.V
3e3e0 41 52 49 41 42 4c 45 20 68 61 73 20 61 20 67 6c 6f 62 61 6c 0a 20 20 20 20 20 62 69 6e 64 69 6e ARIABLE.has.a.global......bindin
3e400 67 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 42 g........*Note.(elisp)Creating.B
3e420 75 66 66 65 72 2d 4c 6f 63 61 6c 3a 3a 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 77 69 74 68 2d uffer-Local::....--.Macro:.with-
3e440 65 78 69 73 74 69 6e 67 2d 64 69 72 65 63 74 6f 72 79 20 62 6f 64 79 2e 2e 2e 0a 20 20 20 20 20 existing-directory.body.........
3e460 54 68 69 73 20 6d 61 63 72 6f 20 65 6e 73 75 72 65 73 20 74 68 61 74 20 e2 80 98 64 65 66 61 75 This.macro.ensures.that....defau
3e480 6c 74 2d 64 69 72 65 63 74 6f 72 79 e2 80 99 20 69 73 20 62 6f 75 6e 64 20 74 6f 20 61 6e 20 65 lt-directory....is.bound.to.an.e
3e4a0 78 69 73 74 69 6e 67 0a 20 20 20 20 20 64 69 72 65 63 74 6f 72 79 20 62 65 66 6f 72 65 20 65 78 xisting......directory.before.ex
3e4c0 65 63 75 74 69 6e 67 20 42 4f 44 59 2e 20 20 49 66 20 e2 80 98 64 65 66 61 75 6c 74 2d 64 69 72 ecuting.BODY...If....default-dir
3e4e0 65 63 74 6f 72 79 e2 80 99 20 61 6c 72 65 61 64 79 0a 20 20 20 20 20 65 78 69 73 74 73 2c 20 74 ectory....already......exists,.t
3e500 68 61 74 e2 80 99 73 20 70 72 65 66 65 72 72 65 64 2c 20 61 6e 64 20 6f 74 68 65 72 77 69 73 65 hat...s.preferred,.and.otherwise
3e520 20 73 6f 6d 65 20 6f 74 68 65 72 20 64 69 72 65 63 74 6f 72 79 20 69 73 0a 20 20 20 20 20 75 73 .some.other.directory.is......us
3e540 65 64 2e 20 20 54 68 69 73 20 6d 61 63 72 6f 20 63 61 6e 20 62 65 20 75 73 65 66 75 6c 2c 20 66 ed...This.macro.can.be.useful,.f
3e560 6f 72 20 69 6e 73 74 61 6e 63 65 2c 20 77 68 65 6e 20 63 61 6c 6c 69 6e 67 20 61 6e 0a 20 20 20 or.instance,.when.calling.an....
3e580 20 20 65 78 74 65 72 6e 61 6c 20 63 6f 6d 6d 61 6e 64 20 74 68 61 74 20 72 65 71 75 69 72 65 73 ..external.command.that.requires
3e5a0 20 74 68 61 74 20 69 74 e2 80 99 73 20 72 75 6e 6e 69 6e 67 20 69 6e 20 61 20 64 69 72 65 63 74 .that.it...s.running.in.a.direct
3e5c0 6f 72 79 0a 20 20 20 20 20 74 68 61 74 20 65 78 69 73 74 73 2e 20 20 54 68 65 20 63 68 6f 73 65 ory......that.exists...The.chose
3e5e0 6e 20 64 69 72 65 63 74 6f 72 79 20 69 73 20 6e 6f 74 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f n.directory.is.not.guaranteed.to
3e600 20 62 65 0a 20 20 20 20 20 77 72 69 74 61 62 6c 65 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 .be......writable........*Note.(
3e620 65 6c 69 73 70 29 54 65 73 74 69 6e 67 20 41 63 63 65 73 73 69 62 69 6c 69 74 79 3a 3a 2e 0a 0a elisp)Testing.Accessibility::...
3e640 20 2d 2d 20 4d 61 63 72 6f 3a 20 64 6c 65 74 20 28 62 69 6e 64 69 6e 67 73 2e 2e 2e 29 20 66 6f .--.Macro:.dlet.(bindings...).fo
3e660 72 6d 73 2e 2e 2e 0a 20 20 20 20 20 54 68 69 73 20 73 70 65 63 69 61 6c 20 66 6f 72 6d 20 69 73 rms.........This.special.form.is
3e680 20 6c 69 6b 65 20 e2 80 98 6c 65 74 e2 80 99 2c 20 62 75 74 20 69 74 20 62 69 6e 64 73 20 61 6c .like....let...,.but.it.binds.al
3e6a0 6c 20 76 61 72 69 61 62 6c 65 73 0a 20 20 20 20 20 64 79 6e 61 6d 69 63 61 6c 6c 79 2e 20 20 54 l.variables......dynamically...T
3e6c0 68 69 73 20 69 73 20 72 61 72 65 6c 79 20 75 73 65 66 75 6c e2 80 94 79 6f 75 20 75 73 75 61 6c his.is.rarely.useful...you.usual
3e6e0 6c 79 20 77 61 6e 74 20 74 6f 20 62 69 6e 64 20 6e 6f 72 6d 61 6c 0a 20 20 20 20 20 76 61 72 69 ly.want.to.bind.normal......vari
3e700 61 62 6c 65 73 20 6c 65 78 69 63 61 6c 6c 79 2c 20 61 6e 64 20 73 70 65 63 69 61 6c 20 76 61 72 ables.lexically,.and.special.var
3e720 69 61 62 6c 65 73 20 28 69 2e 65 2e 2c 20 76 61 72 69 61 62 6c 65 73 20 74 68 61 74 0a 20 20 20 iables.(i.e.,.variables.that....
3e740 20 20 61 72 65 20 64 65 66 69 6e 65 64 20 77 69 74 68 20 e2 80 98 64 65 66 76 61 72 e2 80 99 29 ..are.defined.with....defvar...)
3e760 20 64 79 6e 61 6d 69 63 61 6c 6c 79 2c 20 61 6e 64 20 74 68 69 73 20 69 73 20 77 68 61 74 20 e2 .dynamically,.and.this.is.what..
3e780 80 98 6c 65 74 e2 80 99 0a 20 20 20 20 20 64 6f 65 73 2e 0a 0a 20 20 20 20 20 e2 80 98 64 6c 65 ..let.........does...........dle
3e7a0 74 e2 80 99 20 63 61 6e 20 62 65 20 75 73 65 66 75 6c 20 77 68 65 6e 20 69 6e 74 65 72 66 61 63 t....can.be.useful.when.interfac
3e7c0 69 6e 67 20 77 69 74 68 20 6f 6c 64 20 63 6f 64 65 20 74 68 61 74 20 61 73 73 75 6d 65 73 0a 20 ing.with.old.code.that.assumes..
3e7e0 20 20 20 20 74 68 61 74 20 63 65 72 74 61 69 6e 20 76 61 72 69 61 62 6c 65 73 20 61 72 65 20 64 ....that.certain.variables.are.d
3e800 79 6e 61 6d 69 63 61 6c 6c 79 20 62 6f 75 6e 64 20 28 2a 6e 6f 74 65 20 28 65 6c 69 73 70 29 44 ynamically.bound.(*note.(elisp)D
3e820 79 6e 61 6d 69 63 0a 20 20 20 20 20 42 69 6e 64 69 6e 67 3a 3a 29 2c 20 62 75 74 20 69 74 e2 80 ynamic......Binding::),.but.it..
3e840 99 73 20 69 6d 70 72 61 63 74 69 63 61 6c 20 74 6f 20 e2 80 98 64 65 66 76 61 72 e2 80 99 20 74 .s.impractical.to....defvar....t
3e860 68 65 73 65 20 76 61 72 69 61 62 6c 65 73 2e 0a 20 20 20 20 20 e2 80 98 64 6c 65 74 e2 80 99 20 hese.variables..........dlet....
3e880 77 69 6c 6c 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 6d 61 6b 65 20 74 68 65 20 62 6f 75 6e 64 20 will.temporarily.make.the.bound.
3e8a0 76 61 72 69 61 62 6c 65 73 20 73 70 65 63 69 61 6c 2c 20 65 78 65 63 75 74 65 0a 20 20 20 20 20 variables.special,.execute......
3e8c0 74 68 65 20 66 6f 72 6d 73 2c 20 61 6e 64 20 74 68 65 6e 20 6d 61 6b 65 20 74 68 65 20 76 61 72 the.forms,.and.then.make.the.var
3e8e0 69 61 62 6c 65 73 20 6e 6f 6e 2d 73 70 65 63 69 61 6c 20 61 67 61 69 6e 2e 0a 0a 20 20 20 20 20 iables.non-special.again........
3e900 2a 4e 6f 74 65 20 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 *Note.(elisp)Local.Variables::..
3e920 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 65 6e 73 75 72 65 2d 6c 69 73 74 20 6f 62 6a 65 63 ..--.Function:.ensure-list.objec
3e940 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 73 20 4f 42 4a t......This.function.returns.OBJ
3e960 45 43 54 20 61 73 20 61 20 6c 69 73 74 2e 20 20 49 66 20 4f 42 4a 45 43 54 20 69 73 20 61 6c 72 ECT.as.a.list...If.OBJECT.is.alr
3e980 65 61 64 79 20 61 0a 20 20 20 20 20 6c 69 73 74 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 eady.a......list,.the.function.r
3e9a0 65 74 75 72 6e 73 20 69 74 3b 20 6f 74 68 65 72 77 69 73 65 2c 20 74 68 65 20 66 75 6e 63 74 69 eturns.it;.otherwise,.the.functi
3e9c0 6f 6e 20 72 65 74 75 72 6e 73 20 61 0a 20 20 20 20 20 6f 6e 65 2d 65 6c 65 6d 65 6e 74 20 6c 69 on.returns.a......one-element.li
3e9e0 73 74 20 63 6f 6e 74 61 69 6e 69 6e 67 20 4f 42 4a 45 43 54 2e 0a 0a 20 20 20 20 20 54 68 69 73 st.containing.OBJECT........This
3ea00 20 69 73 20 75 73 75 61 6c 6c 79 20 75 73 65 66 75 6c 20 69 66 20 79 6f 75 20 68 61 76 65 20 61 .is.usually.useful.if.you.have.a
3ea20 20 76 61 72 69 61 62 6c 65 20 74 68 61 74 20 6d 61 79 20 6f 72 20 6d 61 79 20 6e 6f 74 0a 20 20 .variable.that.may.or.may.not...
3ea40 20 20 20 62 65 20 61 20 6c 69 73 74 2c 20 61 6e 64 20 79 6f 75 20 63 61 6e 20 74 68 65 6e 20 73 ...be.a.list,.and.you.can.then.s
3ea60 61 79 2c 20 66 6f 72 20 69 6e 73 74 61 6e 63 65 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 28 64 6f ay,.for.instance:............(do
3ea80 6c 69 73 74 20 28 65 6c 65 6d 20 28 65 6e 73 75 72 65 2d 6c 69 73 74 20 66 6f 6f 29 29 0a 20 20 list.(elem.(ensure-list.foo))...
3eaa0 20 20 20 20 20 20 20 20 20 20 28 70 72 69 6e 63 20 65 6c 65 6d 29 29 0a 0a 20 20 20 20 20 2a 4e ..........(princ.elem)).......*N
3eac0 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 2d ote.(elisp)Building.Lists::....-
3eae0 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 73 74 72 69 6e 67 2d 63 6c 65 61 6e 2d 77 68 69 74 65 73 70 -.Function:.string-clean-whitesp
3eb00 61 63 65 20 73 74 72 69 6e 67 0a 20 20 20 20 20 43 6c 65 61 6e 20 75 70 20 74 68 65 20 77 68 69 ace.string......Clean.up.the.whi
3eb20 74 65 73 70 61 63 65 20 69 6e 20 53 54 52 49 4e 47 20 62 79 20 63 6f 6c 6c 61 70 73 69 6e 67 20 tespace.in.STRING.by.collapsing.
3eb40 73 74 72 65 74 63 68 65 73 20 6f 66 0a 20 20 20 20 20 77 68 69 74 65 73 70 61 63 65 20 74 6f 20 stretches.of......whitespace.to.
3eb60 61 20 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 73 20 77 65 6c a.single.space.character,.as.wel
3eb80 6c 20 61 73 20 72 65 6d 6f 76 69 6e 67 20 61 6c 6c 0a 20 20 20 20 20 77 68 69 74 65 73 70 61 63 l.as.removing.all......whitespac
3eba0 65 20 66 72 6f 6d 20 74 68 65 20 73 74 61 72 74 20 61 6e 64 20 74 68 65 20 65 6e 64 20 6f 66 20 e.from.the.start.and.the.end.of.
3ebc0 53 54 52 49 4e 47 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 STRING........*Note.(elisp)Creat
3ebe0 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 6e 3a 20 73 74 ing.Strings::....--.Function:.st
3ec00 72 69 6e 67 2d 66 69 6c 6c 20 73 74 72 69 6e 67 20 6c 65 6e 67 74 68 0a 20 20 20 20 20 41 74 74 ring-fill.string.length......Att
3ec20 65 6d 70 74 20 74 6f 20 57 6f 72 64 2d 77 72 61 70 20 53 54 52 49 4e 47 20 73 6f 20 74 68 61 74 empt.to.Word-wrap.STRING.so.that
3ec40 20 6e 6f 20 6c 69 6e 65 73 20 61 72 65 20 6c 6f 6e 67 65 72 20 74 68 61 6e 0a 20 20 20 20 20 4c .no.lines.are.longer.than......L
3ec60 45 4e 47 54 48 2e 20 20 46 69 6c 6c 69 6e 67 20 69 73 20 64 6f 6e 65 20 6f 6e 20 77 68 69 74 65 ENGTH...Filling.is.done.on.white
3ec80 73 70 61 63 65 20 62 6f 75 6e 64 61 72 69 65 73 20 6f 6e 6c 79 2e 20 20 49 66 20 74 68 65 72 65 space.boundaries.only...If.there
3eca0 0a 20 20 20 20 20 61 72 65 20 69 6e 64 69 76 69 64 75 61 6c 20 77 6f 72 64 73 20 74 68 61 74 20 ......are.individual.words.that.
3ecc0 61 72 65 20 6c 6f 6e 67 65 72 20 74 68 61 6e 20 4c 45 4e 47 54 48 2c 20 74 68 65 73 65 20 77 69 are.longer.than.LENGTH,.these.wi
3ece0 6c 6c 20 6e 6f 74 20 62 65 0a 20 20 20 20 20 73 68 6f 72 74 65 6e 65 64 2e 0a 0a 20 20 20 20 20 ll.not.be......shortened........
3ed00 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 2e *Note.(elisp)Creating.Strings::.
3ed20 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 73 74 72 69 6e 67 2d 6c 69 6e 65 73 20 73 74 72 ...--.Function:.string-lines.str
3ed40 69 6e 67 20 26 6f 70 74 69 6f 6e 61 6c 20 6f 6d 69 74 2d 6e 75 6c 6c 73 0a 20 20 20 20 20 53 70 ing.&optional.omit-nulls......Sp
3ed60 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 73 74 72 69 6e 67 lit.STRING.into.a.list.of.string
3ed80 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 49 66 20 74 68 65 s.on.newline.boundaries...If.the
3eda0 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 49 54 2d 4e 55 4c ......optional.argument.OMIT-NUL
3edc0 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 65 20 65 6d 70 74 LS.is.non-...nil...,.remove.empt
3ede0 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 6c 74 73 2e 20 20 y.lines.from......the.results...
3ee00 4e 6f 74 65 20 74 68 61 74 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 Note.that.this.function.returns.
3ee20 74 72 61 69 6c 69 6e 67 20 6e 65 77 6c 69 6e 65 73 20 6f 6e 0a 20 20 20 20 20 45 6d 61 63 73 20 trailing.newlines.on......Emacs.
3ee40 32 38 2c 20 75 73 65 20 e2 80 98 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 73 74 72 69 6e 67 2d 6c 69 28,.use....compat-call.string-li
3ee60 6e 65 73 e2 80 99 20 69 6e 73 74 65 61 64 20 69 66 20 79 6f 75 20 77 61 6e 74 0a 20 20 20 20 20 nes....instead.if.you.want......
3ee80 63 6f 6e 73 69 73 74 65 6e 74 20 62 65 68 61 76 69 6f 72 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 consistent.behavior....--.Functi
3eea0 6f 6e 3a 20 73 74 72 69 6e 67 2d 70 61 64 20 73 74 72 69 6e 67 20 6c 65 6e 67 74 68 20 26 6f 70 on:.string-pad.string.length.&op
3eec0 74 69 6f 6e 61 6c 20 70 61 64 64 69 6e 67 20 73 74 61 72 74 0a 20 20 20 20 20 50 61 64 20 53 54 tional.padding.start......Pad.ST
3eee0 52 49 4e 47 20 74 6f 20 62 65 20 6f 66 20 74 68 65 20 67 69 76 65 6e 20 4c 45 4e 47 54 48 20 75 RING.to.be.of.the.given.LENGTH.u
3ef00 73 69 6e 67 20 50 41 44 44 49 4e 47 20 61 73 20 74 68 65 20 70 61 64 64 69 6e 67 0a 20 20 20 20 sing.PADDING.as.the.padding.....
3ef20 20 63 68 61 72 61 63 74 65 72 2e 20 20 50 41 44 44 49 4e 47 20 64 65 66 61 75 6c 74 73 20 74 6f .character...PADDING.defaults.to
3ef40 20 74 68 65 20 73 70 61 63 65 20 63 68 61 72 61 63 74 65 72 2e 20 20 49 66 20 53 54 52 49 4e 47 .the.space.character...If.STRING
3ef60 20 69 73 0a 20 20 20 20 20 6c 6f 6e 67 65 72 20 74 68 61 6e 20 4c 45 4e 47 54 48 2c 20 6e 6f 20 .is......longer.than.LENGTH,.no.
3ef80 70 61 64 64 69 6e 67 20 69 73 20 64 6f 6e 65 2e 20 20 49 66 20 53 54 41 52 54 20 69 73 20 e2 80 padding.is.done...If.START.is...
3efa0 98 6e 69 6c e2 80 99 20 6f 72 0a 20 20 20 20 20 6f 6d 69 74 74 65 64 2c 20 74 68 65 20 70 61 64 .nil....or......omitted,.the.pad
3efc0 64 69 6e 67 20 69 73 20 61 70 70 65 6e 64 65 64 20 74 6f 20 74 68 65 20 63 68 61 72 61 63 74 65 ding.is.appended.to.the.characte
3efe0 72 73 20 6f 66 20 53 54 52 49 4e 47 2c 20 61 6e 64 0a 20 20 20 20 20 69 66 20 69 74 e2 80 99 73 rs.of.STRING,.and......if.it...s
3f000 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 74 68 65 20 70 61 64 64 69 6e 67 20 69 73 20 70 .non-...nil...,.the.padding.is.p
3f020 72 65 70 65 6e 64 65 64 20 74 6f 20 53 54 52 49 4e 47 e2 80 99 73 20 63 68 61 72 61 63 74 65 72 repended.to.STRING...s.character
3f040 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
3f060 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 73 74 72 69 6e 67 2d trings::....--.Function:.string-
3f080 63 68 6f 70 2d 6e 65 77 6c 69 6e 65 20 73 74 72 69 6e 67 0a 20 20 20 20 20 52 65 6d 6f 76 65 20 chop-newline.string......Remove.
3f0a0 74 68 65 20 66 69 6e 61 6c 20 6e 65 77 6c 69 6e 65 2c 20 69 66 20 61 6e 79 2c 20 66 72 6f 6d 20 the.final.newline,.if.any,.from.
3f0c0 53 54 52 49 4e 47 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 STRING........*Note.(elisp)Creat
3f0e0 69 6e 67 20 53 74 72 69 6e 67 73 3a 3a 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 6e 61 6d 65 64 ing.Strings::....--.Macro:.named
3f100 2d 6c 65 74 20 6e 61 6d 65 20 62 69 6e 64 69 6e 67 73 20 26 72 65 73 74 20 62 6f 64 79 0a 20 20 -let.name.bindings.&rest.body...
3f120 20 20 20 54 68 69 73 20 73 70 65 63 69 61 6c 20 66 6f 72 6d 20 69 73 20 61 20 6c 6f 6f 70 69 6e ...This.special.form.is.a.loopin
3f140 67 20 63 6f 6e 73 74 72 75 63 74 20 69 6e 73 70 69 72 65 64 20 66 72 6f 6d 20 74 68 65 20 53 63 g.construct.inspired.from.the.Sc
3f160 68 65 6d 65 0a 20 20 20 20 20 6c 61 6e 67 75 61 67 65 2e 20 20 49 74 20 69 73 20 73 69 6d 69 6c heme......language...It.is.simil
3f180 61 72 20 74 6f 20 e2 80 98 6c 65 74 e2 80 99 3a 20 49 74 20 62 69 6e 64 73 20 74 68 65 20 76 61 ar.to....let...:.It.binds.the.va
3f1a0 72 69 61 62 6c 65 73 20 69 6e 0a 20 20 20 20 20 42 49 4e 44 49 4e 47 53 2c 20 61 6e 64 20 74 68 riables.in......BINDINGS,.and.th
3f1c0 65 6e 20 65 76 61 6c 75 61 74 65 73 20 42 4f 44 59 2e 20 20 48 6f 77 65 76 65 72 2c 20 e2 80 98 en.evaluates.BODY...However,....
3f1e0 6e 61 6d 65 64 2d 6c 65 74 e2 80 99 20 61 6c 73 6f 20 62 69 6e 64 73 0a 20 20 20 20 20 4e 41 4d named-let....also.binds......NAM
3f200 45 20 74 6f 20 61 20 6c 6f 63 61 6c 20 66 75 6e 63 74 69 6f 6e 20 77 68 6f 73 65 20 66 6f 72 6d E.to.a.local.function.whose.form
3f220 61 6c 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 74 68 65 20 76 61 72 69 61 62 6c 65 73 0a 20 al.arguments.are.the.variables..
3f240 20 20 20 20 69 6e 20 42 49 4e 44 49 4e 47 53 20 61 6e 64 20 77 68 6f 73 65 20 62 6f 64 79 20 69 ....in.BINDINGS.and.whose.body.i
3f260 73 20 42 4f 44 59 2e 20 20 54 68 69 73 20 61 6c 6c 6f 77 73 20 42 4f 44 59 20 74 6f 20 63 61 6c s.BODY...This.allows.BODY.to.cal
3f280 6c 0a 20 20 20 20 20 69 74 73 65 6c 66 20 72 65 63 75 72 73 69 76 65 6c 79 20 62 79 20 63 61 6c l......itself.recursively.by.cal
3f2a0 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
3f2c0 61 73 73 65 64 20 74 6f 0a 20 20 20 20 20 4e 41 4d 45 20 61 72 65 20 75 73 65 64 20 61 73 20 74 assed.to......NAME.are.used.as.t
3f2e0 68 65 20 6e 65 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 he.new.values.of.the.bound.varia
3f300 62 6c 65 73 20 69 6e 20 74 68 65 0a 20 20 20 20 20 72 65 63 75 72 73 69 76 65 20 69 6e 76 6f 63 bles.in.the......recursive.invoc
3f320 61 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 52 65 63 75 72 73 69 76 65 20 63 61 6c 6c 73 20 74 6f 20 ation........Recursive.calls.to.
3f340 4e 41 4d 45 20 74 68 61 74 20 6f 63 63 75 72 20 69 6e 20 5f 74 61 69 6c 20 70 6f 73 69 74 69 6f NAME.that.occur.in._tail.positio
3f360 6e 73 5f 20 69 6e 20 42 4f 44 59 20 61 72 65 0a 20 20 20 20 20 67 75 61 72 61 6e 74 65 65 64 20 ns_.in.BODY.are......guaranteed.
3f380 74 6f 20 62 65 20 6f 70 74 69 6d 69 7a 65 64 20 61 73 20 5f 74 61 69 6c 20 63 61 6c 6c 73 5f 2c to.be.optimized.as._tail.calls_,
3f3a0 20 77 68 69 63 68 20 6d 65 61 6e 73 20 74 68 61 74 20 74 68 65 79 0a 20 20 20 20 20 77 69 6c 6c .which.means.that.they......will
3f3c0 20 6e 6f 74 20 63 6f 6e 73 75 6d 65 20 61 6e 79 20 61 64 64 69 74 69 6f 6e 61 6c 20 73 74 61 63 .not.consume.any.additional.stac
3f3e0 6b 20 73 70 61 63 65 20 6e 6f 20 6d 61 74 74 65 72 20 68 6f 77 20 64 65 65 70 6c 79 0a 20 20 20 k.space.no.matter.how.deeply....
3f400 20 20 74 68 65 20 72 65 63 75 72 73 69 6f 6e 20 72 75 6e 73 2e 20 20 53 75 63 68 20 72 65 63 75 ..the.recursion.runs...Such.recu
3f420 72 73 69 76 65 20 63 61 6c 6c 73 20 77 69 6c 6c 20 65 66 66 65 63 74 69 76 65 6c 79 20 6a 75 6d rsive.calls.will.effectively.jum
3f440 70 20 74 6f 0a 20 20 20 20 20 74 68 65 20 74 6f 70 20 6f 66 20 74 68 65 20 6c 6f 6f 70 20 77 69 p.to......the.top.of.the.loop.wi
3f460 74 68 20 6e 65 77 20 76 61 6c 75 65 73 20 66 6f 72 20 74 68 65 20 76 61 72 69 61 62 6c 65 73 2e th.new.values.for.the.variables.
3f480 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 4c 6f 63 61 6c 20 56 61 72 69 61 62 .......*Note.(elisp)Local.Variab
3f4a0 6c 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 6e 61 6d 65 2d les::....--.Function:.file-name-
3f4c0 77 69 74 68 2d 65 78 74 65 6e 73 69 6f 6e 20 66 69 6c 65 6e 61 6d 65 20 65 78 74 65 6e 73 69 6f with-extension.filename.extensio
3f4e0 6e 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 46 49 4c n......This.function.returns.FIL
3f500 45 4e 41 4d 45 20 77 69 74 68 20 69 74 73 20 65 78 74 65 6e 73 69 6f 6e 20 73 65 74 20 74 6f 20 ENAME.with.its.extension.set.to.
3f520 45 58 54 45 4e 53 49 4f 4e 2e 0a 20 20 20 20 20 41 20 73 69 6e 67 6c 65 20 6c 65 61 64 69 6e 67 EXTENSION.......A.single.leading
3f540 20 64 6f 74 20 69 6e 20 74 68 65 20 45 58 54 45 4e 53 49 4f 4e 20 77 69 6c 6c 20 62 65 20 73 74 .dot.in.the.EXTENSION.will.be.st
3f560 72 69 70 70 65 64 20 69 66 20 74 68 65 72 65 20 69 73 0a 20 20 20 20 20 6f 6e 65 2e 20 20 46 6f ripped.if.there.is......one...Fo
3f580 72 20 65 78 61 6d 70 6c 65 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 r.example:............(file-name
3f5a0 2d 77 69 74 68 2d 65 78 74 65 6e 73 69 6f 6e 20 22 66 69 6c 65 22 20 22 65 6c 22 29 0a 20 20 20 -with-extension."file"."el")....
3f5c0 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 20 20 ................"file.el".......
3f5e0 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 22 66 ....(file-name-with-extension."f
3f600 69 6c 65 22 20 22 2e 65 6c 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 ile".".el")...................."
3f620 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 65 2d 77 69 file.el"...........(file-name-wi
3f640 74 68 2d 65 78 74 65 6e 73 69 6f 6e 20 22 66 69 6c 65 2e 63 22 20 22 65 6c 22 29 0a 20 20 20 20 th-extension."file.c"."el").....
3f660 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 0a 20 20 20 20 20 4e ..............."file.el".......N
3f680 6f 74 65 20 74 68 61 74 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 65 72 72 6f ote.that.this.function.will.erro
3f6a0 72 20 69 66 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 0a 20 r.if.FILENAME.or.EXTENSION.are..
3f6c0 20 20 20 20 65 6d 70 74 79 2c 20 6f 72 20 69 66 20 74 68 65 20 46 49 4c 45 4e 41 4d 45 20 69 73 ....empty,.or.if.the.FILENAME.is
3f6e0 20 73 68 61 70 65 64 20 6c 69 6b 65 20 61 20 64 69 72 65 63 74 6f 72 79 20 28 69 2e 65 2e 2c 20 .shaped.like.a.directory.(i.e.,.
3f700 69 66 0a 20 20 20 20 20 e2 80 98 64 69 72 65 63 74 6f 72 79 2d 6e 61 6d 65 2d 70 e2 80 99 20 72 if.........directory-name-p....r
3f720 65 74 75 72 6e 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 29 2e 0a 0a 20 20 20 20 20 2a 4e 6f eturns.non-...nil...)........*No
3f740 74 65 20 46 69 6c 65 20 4e 61 6d 65 20 43 6f 6d 70 6f 6e 65 6e 74 73 3a 20 28 65 6c 69 73 70 29 te.File.Name.Components:.(elisp)
3f760 46 69 6c 65 20 4e 61 6d 65 20 43 6f 6d 70 6f 6e 65 6e 74 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 File.Name.Components....--.Funct
3f780 69 6f 6e 3a 20 64 69 72 65 63 74 6f 72 79 2d 65 6d 70 74 79 2d 70 20 64 69 72 65 63 74 6f 72 79 ion:.directory-empty-p.directory
3f7a0 0a 20 20 20 20 20 54 68 69 73 20 75 74 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 ......This.utility.function.retu
3f7c0 72 6e 73 20 e2 80 98 74 e2 80 99 20 69 66 20 67 69 76 65 6e 20 44 49 52 45 43 54 4f 52 59 20 69 rns....t....if.given.DIRECTORY.i
3f7e0 73 20 61 6e 0a 20 20 20 20 20 61 63 63 65 73 73 69 62 6c 65 20 64 69 72 65 63 74 6f 72 79 20 61 s.an......accessible.directory.a
3f800 6e 64 20 69 74 20 64 6f 65 73 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 61 6e 79 20 66 69 6c 65 73 nd.it.does.not.contain.any.files
3f820 2c 20 69 2e 65 2e 2c 20 69 73 20 61 6e 0a 20 20 20 20 20 65 6d 70 74 79 20 64 69 72 65 63 74 6f ,.i.e.,.is.an......empty.directo
3f840 72 79 2e 20 20 49 74 20 77 69 6c 6c 20 69 67 6e 6f 72 65 20 e2 80 98 2e e2 80 99 20 61 6e 64 20 ry...It.will.ignore.........and.
3f860 e2 80 98 2e 2e e2 80 99 20 6f 6e 20 73 79 73 74 65 6d 73 20 74 68 61 74 0a 20 20 20 20 20 72 65 .........on.systems.that......re
3f880 74 75 72 6e 20 74 68 65 6d 20 61 73 20 66 69 6c 65 73 20 69 6e 20 61 20 64 69 72 65 63 74 6f 72 turn.them.as.files.in.a.director
3f8a0 79 2e 0a 0a 20 20 20 20 20 53 79 6d 62 6f 6c 69 63 20 6c 69 6e 6b 73 20 74 6f 20 64 69 72 65 63 y........Symbolic.links.to.direc
3f8c0 74 6f 72 69 65 73 20 63 6f 75 6e 74 20 61 73 20 64 69 72 65 63 74 6f 72 69 65 73 2e 20 20 53 65 tories.count.as.directories...Se
3f8e0 65 0a 20 20 20 20 20 46 49 4c 45 2d 53 59 4d 4c 49 4e 4b 2d 50 20 74 6f 20 64 69 73 74 69 6e 67 e......FILE-SYMLINK-P.to.disting
3f900 75 69 73 68 20 73 79 6d 6c 69 6e 6b 73 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 uish.symlinks........*Note.(elis
3f920 70 29 43 6f 6e 74 65 6e 74 73 20 6f 66 20 44 69 72 65 63 74 6f 72 69 65 73 3a 3a 2e 0a 0a 20 2d p)Contents.of.Directories::....-
3f940 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 66 6f 72 6d 61 74 2d 70 72 6f 6d 70 74 20 70 72 6f 6d 70 74 -.Function:.format-prompt.prompt
3f960 20 64 65 66 61 75 6c 74 20 26 72 65 73 74 20 66 6f 72 6d 61 74 2d 61 72 67 73 0a 20 20 20 20 20 .default.&rest.format-args......
3f980 46 6f 72 6d 61 74 20 50 52 4f 4d 50 54 20 77 69 74 68 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 Format.PROMPT.with.default.value
3f9a0 20 44 45 46 41 55 4c 54 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 0a 20 20 20 20 20 e2 .DEFAULT.according.to.the.......
3f9c0 80 98 6d 69 6e 69 62 75 66 66 65 72 2d 64 65 66 61 75 6c 74 2d 70 72 6f 6d 70 74 2d 66 6f 72 6d ..minibuffer-default-prompt-form
3f9e0 61 74 e2 80 99 20 76 61 72 69 61 62 6c 65 2e 0a 0a 20 20 20 20 20 e2 80 98 6d 69 6e 69 62 75 66 at....variable...........minibuf
3fa00 66 65 72 2d 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 69 73 20 fer-default-prompt-format....is.
3fa20 61 20 66 6f 72 6d 61 74 20 73 74 72 69 6e 67 20 28 64 65 66 61 75 6c 74 69 6e 67 0a 20 20 20 20 a.format.string.(defaulting.....
3fa40 20 74 6f 20 e2 80 98 22 20 28 64 65 66 61 75 6c 74 20 25 73 29 22 e2 80 99 20 74 68 61 74 20 73 .to....".(default.%s)"....that.s
3fa60 61 79 73 20 68 6f 77 20 74 68 65 20 e2 80 9c 64 65 66 61 75 6c 74 e2 80 9d 20 62 69 74 20 69 6e ays.how.the....default....bit.in
3fa80 20 70 72 6f 6d 70 74 73 0a 20 20 20 20 20 6c 69 6b 65 20 e2 80 98 22 4c 6f 63 61 6c 20 66 69 6c .prompts......like...."Local.fil
3faa0 65 6e 61 6d 65 20 28 64 65 66 61 75 6c 74 20 73 6f 6d 65 66 69 6c 65 29 3a 20 22 e2 80 99 20 61 ename.(default.somefile):."....a
3fac0 72 65 20 74 6f 20 62 65 20 66 6f 72 6d 61 74 74 65 64 2e 0a 0a 20 20 20 20 20 54 6f 20 61 6c 6c re.to.be.formatted........To.all
3fae0 6f 77 20 74 68 65 20 75 73 65 72 73 20 74 6f 20 63 75 73 74 6f 6d 69 7a 65 20 68 6f 77 20 74 68 ow.the.users.to.customize.how.th
3fb00 69 73 20 69 73 20 64 69 73 70 6c 61 79 65 64 2c 20 63 6f 64 65 20 74 68 61 74 0a 20 20 20 20 20 is.is.displayed,.code.that......
3fb20 70 72 6f 6d 70 74 73 20 74 68 65 20 75 73 65 72 20 66 6f 72 20 61 20 76 61 6c 75 65 20 28 61 6e prompts.the.user.for.a.value.(an
3fb40 64 20 68 61 73 20 61 20 64 65 66 61 75 6c 74 29 20 73 68 6f 75 6c 64 20 6c 6f 6f 6b 0a 20 20 20 d.has.a.default).should.look....
3fb60 20 20 73 6f 6d 65 74 68 69 6e 67 20 61 6c 6f 6e 67 20 74 68 65 20 6c 69 6e 65 73 20 6f 66 20 74 ..something.along.the.lines.of.t
3fb80 68 69 73 20 63 6f 64 65 20 73 6e 69 70 70 65 74 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 28 72 65 his.code.snippet:............(re
3fba0 61 64 2d 66 69 6c 65 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 2d ad-file-name............(format-
3fbc0 70 72 6f 6d 70 74 20 22 4c 6f 63 61 6c 20 66 69 6c 65 6e 61 6d 65 22 20 66 69 6c 65 29 0a 20 20 prompt."Local.filename".file)...
3fbe0 20 20 20 20 20 20 20 20 20 6e 69 6c 20 66 69 6c 65 29 0a 0a 20 20 20 20 20 49 66 20 46 4f 52 4d .........nil.file).......If.FORM
3fc00 41 54 2d 41 52 47 53 20 69 73 20 e2 80 98 6e 69 6c e2 80 99 2c 20 50 52 4f 4d 50 54 20 69 73 20 AT-ARGS.is....nil...,.PROMPT.is.
3fc20 75 73 65 64 20 61 73 20 61 20 6c 69 74 65 72 61 6c 20 73 74 72 69 6e 67 2e 20 20 49 66 0a 20 20 used.as.a.literal.string...If...
3fc40 20 20 20 46 4f 52 4d 41 54 2d 41 52 47 53 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c ...FORMAT-ARGS.is.non-...nil...,
3fc60 20 50 52 4f 4d 50 54 20 69 73 20 75 73 65 64 20 61 73 20 61 20 66 6f 72 6d 61 74 20 63 6f 6e 74 .PROMPT.is.used.as.a.format.cont
3fc80 72 6f 6c 0a 20 20 20 20 20 73 74 72 69 6e 67 2c 20 61 6e 64 20 50 52 4f 4d 50 54 20 61 6e 64 20 rol......string,.and.PROMPT.and.
3fca0 46 4f 52 4d 41 54 2d 41 52 47 53 20 61 72 65 20 70 61 73 73 65 64 20 74 6f 20 e2 80 98 66 6f 72 FORMAT-ARGS.are.passed.to....for
3fcc0 6d 61 74 e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 28 65 6c 69 73 70 29 46 6f 72 6d 61 74 mat....(*note......(elisp)Format
3fce0 74 69 6e 67 20 53 74 72 69 6e 67 73 3a 3a 29 2e 0a 0a 20 20 20 20 20 e2 80 98 6d 69 6e 69 62 75 ting.Strings::)...........minibu
3fd00 66 66 65 72 2d 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 63 61 ffer-default-prompt-format....ca
3fd20 6e 20 62 65 20 e2 80 98 22 22 e2 80 99 2c 20 69 6e 20 77 68 69 63 68 20 63 61 73 65 20 6e 6f 0a n.be....""...,.in.which.case.no.
3fd40 20 20 20 20 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 73 20 61 72 65 20 64 69 73 70 6c 61 79 65 .....default.values.are.displaye
3fd60 64 2e 0a 0a 20 20 20 20 20 49 66 20 44 45 46 41 55 4c 54 20 69 73 20 e2 80 98 6e 69 6c e2 80 99 d........If.DEFAULT.is....nil...
3fd80 2c 20 74 68 65 72 65 20 69 73 20 6e 6f 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 2c 20 61 6e 64 ,.there.is.no.default.value,.and
3fda0 20 74 68 65 72 65 66 6f 72 65 20 6e 6f 0a 20 20 20 20 20 e2 80 9c 64 65 66 61 75 6c 74 20 76 61 .therefore.no.........default.va
3fdc0 6c 75 65 e2 80 9d 20 73 74 72 69 6e 67 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 lue....string.is.included.in.the
3fde0 20 72 65 73 75 6c 74 20 76 61 6c 75 65 2e 20 20 49 66 20 44 45 46 41 55 4c 54 0a 20 20 20 20 20 .result.value...If.DEFAULT......
3fe00 69 73 20 61 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 6c 69 73 74 2c 20 74 68 65 20 66 69 72 is.a.non-...nil....list,.the.fir
3fe20 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 74 68 65 20 6c 69 73 74 20 69 73 20 75 73 65 64 20 69 st.element.of.the.list.is.used.i
3fe40 6e 20 74 68 65 0a 20 20 20 20 20 70 72 6f 6d 70 74 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 n.the......prompt........*Note.(
3fe60 65 6c 69 73 70 29 54 65 78 74 20 66 72 6f 6d 20 4d 69 6e 69 62 75 66 66 65 72 3a 3a 2e 0a 0a 20 elisp)Text.from.Minibuffer::....
3fe80 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 74 68 69 6e 67 2d 61 74 2d 6d 6f 75 73 65 20 65 76 65 6e --.Function:.thing-at-mouse.even
3fea0 74 20 74 68 69 6e 67 20 26 6f 70 74 69 6f 6e 61 6c 20 6e 6f 2d 70 72 6f 70 65 72 74 69 65 73 0a t.thing.&optional.no-properties.
3fec0 20 20 20 20 20 4d 6f 75 73 65 2d 45 56 45 4e 54 20 65 71 75 69 76 61 6c 65 6e 74 20 6f 66 20 e2 .....Mouse-EVENT.equivalent.of..
3fee0 80 98 74 68 69 6e 67 2d 61 74 2d 70 6f 69 6e 74 e2 80 99 2e 20 20 54 48 49 4e 47 20 63 61 6e 20 ..thing-at-point......THING.can.
3ff00 62 65 20 e2 80 98 73 79 6d 62 6f 6c e2 80 99 2c 0a 20 20 20 20 20 e2 80 98 6c 69 73 74 e2 80 99 be....symbol...,.........list...
3ff20 2c 20 e2 80 98 73 65 78 70 e2 80 99 2c 20 e2 80 98 66 69 6c 65 6e 61 6d 65 e2 80 99 2c 20 e2 80 ,....sexp...,....filename...,...
3ff40 98 75 72 6c e2 80 99 2c 20 2e 2e 2e 20 61 6d 6f 6e 67 20 6f 74 68 65 72 20 74 68 69 6e 67 73 2e .url...,.....among.other.things.
3ff60 0a 0a 20 20 20 20 20 57 68 65 6e 20 4e 4f 2d 50 52 4f 50 45 52 54 49 45 53 20 68 61 73 20 61 20 .......When.NO-PROPERTIES.has.a.
3ff80 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 76 61 6c 75 65 2c 20 61 6e 79 20 74 65 78 74 20 70 72 non-...nil....value,.any.text.pr
3ffa0 6f 70 65 72 74 69 65 73 20 74 68 61 74 0a 20 20 20 20 20 6d 69 67 68 74 20 68 61 76 65 20 62 65 operties.that......might.have.be
3ffc0 65 6e 20 70 72 65 73 65 6e 74 20 69 6e 20 74 68 65 20 62 75 66 66 65 72 20 61 72 65 20 73 74 72 en.present.in.the.buffer.are.str
3ffe0 69 70 70 65 64 20 61 77 61 79 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 62 6f 75 6e 64 ipped.away....--.Function:.bound
40000 73 2d 6f 66 2d 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 0a s-of-thing-at-mouse.event.thing.
40020 20 20 20 20 20 44 65 74 65 72 6d 69 6e 65 20 73 74 61 72 74 20 61 6e 64 20 65 6e 64 20 6c 6f 63 .....Determine.start.and.end.loc
40040 61 74 69 6f 6e 73 20 66 6f 72 20 54 48 49 4e 47 20 61 74 20 6d 6f 75 73 65 20 63 6c 69 63 6b 20 ations.for.THING.at.mouse.click.
40060 67 69 76 65 6e 20 62 79 0a 20 20 20 20 20 45 56 45 4e 54 2e 20 20 4c 69 6b 65 20 e2 80 98 62 6f given.by......EVENT...Like....bo
40080 75 6e 64 73 2d 6f 66 2d 74 68 69 6e 67 2d 61 74 2d 70 6f 69 6e 74 e2 80 99 2c 20 62 75 74 20 74 unds-of-thing-at-point...,.but.t
400a0 72 69 65 73 20 74 6f 20 75 73 65 20 74 68 65 0a 20 20 20 20 20 70 6f 73 69 74 69 6f 6e 20 69 6e ries.to.use.the......position.in
400c0 20 45 56 45 4e 54 20 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 .EVENT.where.the.mouse.button.is
400e0 20 63 6c 69 63 6b 65 64 20 74 6f 20 66 69 6e 64 20 74 68 65 0a 20 20 20 20 20 74 68 69 6e 67 20 .clicked.to.find.the......thing.
40100 6e 65 61 72 62 79 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6d 61 72 6b 2d 74 68 69 6e nearby....--.Function:.mark-thin
40120 67 2d 61 74 2d 6d 6f 75 73 65 20 63 6c 69 63 6b 20 74 68 69 6e 67 0a 20 20 20 20 20 41 63 74 69 g-at-mouse.click.thing......Acti
40140 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 4e 47 20 66 6f 75 vate.the.region.around.THING.fou
40160 6e 64 20 6e 65 61 72 20 74 68 65 20 6d 6f 75 73 65 20 43 4c 49 43 4b 2e 0a 0a 20 2d 2d 20 46 75 nd.near.the.mouse.CLICK....--.Fu
40180 6e 63 74 69 6f 6e 3a 20 6d 61 63 72 6f 65 78 70 2d 66 69 6c 65 2d 6e 61 6d 65 0a 20 20 20 20 20 nction:.macroexp-file-name......
401a0 52 65 74 75 72 6e 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 66 69 6c 65 20 69 6e 20 77 Return.the.name.of.the.file.in.w
401c0 68 69 63 68 20 74 68 65 20 63 6f 64 65 20 69 73 20 63 75 72 72 65 6e 74 6c 79 20 62 65 69 6e 67 hich.the.code.is.currently.being
401e0 0a 20 20 20 20 20 65 76 61 6c 75 61 74 65 64 2c 20 6f 72 20 e2 80 98 6e 69 6c e2 80 99 20 69 66 ......evaluated,.or....nil....if
40200 20 69 74 20 63 61 6e 6e 6f 74 20 62 65 20 64 65 74 65 72 6d 69 6e 65 64 2e 0a 0a 20 2d 2d 20 46 .it.cannot.be.determined....--.F
40220 75 6e 63 74 69 6f 6e 3a 20 6d 61 63 72 6f 65 78 70 2d 77 61 72 6e 2d 61 6e 64 2d 72 65 74 75 72 unction:.macroexp-warn-and-retur
40240 6e 20 6d 73 67 20 66 6f 72 6d 20 26 6f 70 74 69 6f 6e 61 6c 20 63 61 74 65 67 6f 72 79 0a 20 20 n.msg.form.&optional.category...
40260 20 20 20 20 20 20 20 20 63 6f 6d 70 69 6c 65 2d 6f 6e 6c 79 20 61 72 67 0a 20 20 20 20 20 52 65 ........compile-only.arg......Re
40280 74 75 72 6e 20 63 6f 64 65 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 e2 80 98 66 6f 72 6d e2 turn.code.equivalent.to....form.
402a0 80 99 20 6c 61 62 65 6c 65 64 20 77 69 74 68 20 77 61 72 6e 69 6e 67 20 e2 80 98 6d 73 67 e2 80 ...labeled.with.warning....msg..
402c0 99 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 77 69 74 68 2d 65 6e 76 69 72 6f 6e 6d 65 6e 74 2d .....--.Macro:.with-environment-
402e0 76 61 72 69 61 62 6c 65 73 20 76 61 72 69 61 62 6c 65 73 20 62 6f 64 79 2e 2e 2e 0a 20 20 20 20 variables.variables.body........
40300 20 54 68 69 73 20 6d 61 63 72 6f 20 73 65 74 73 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 .This.macro.sets.the.environment
40320 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 49 41 42 4c 45 .variables.according.to.VARIABLE
40340 53 0a 20 20 20 20 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 77 68 65 6e 20 65 78 65 63 75 74 69 6e S......temporarily.when.executin
40360 67 20 42 4f 44 59 2e 20 20 54 68 65 20 70 72 65 76 69 6f 75 73 20 76 61 6c 75 65 73 20 61 72 65 g.BODY...The.previous.values.are
40380 20 72 65 73 74 6f 72 65 64 0a 20 20 20 20 20 77 68 65 6e 20 74 68 65 20 66 6f 72 6d 20 66 69 6e .restored......when.the.form.fin
403a0 69 73 68 65 73 2e 20 20 54 68 65 20 61 72 67 75 6d 65 6e 74 20 56 41 52 49 41 42 4c 45 53 20 73 ishes...The.argument.VARIABLES.s
403c0 68 6f 75 6c 64 20 62 65 20 61 20 6c 69 73 74 20 6f 66 0a 20 20 20 20 20 70 61 69 72 73 20 6f 66 hould.be.a.list.of......pairs.of
403e0 20 73 74 72 69 6e 67 73 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 e2 80 98 28 56 41 52 20 56 41 4c .strings.of.the.form....(VAR.VAL
40400 55 45 29 e2 80 99 2c 20 77 68 65 72 65 20 56 41 52 20 69 73 20 74 68 65 20 6e 61 6d 65 0a 20 20 UE)...,.where.VAR.is.the.name...
40420 20 20 20 6f 66 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 20 61 ...of.the.environment.variable.a
40440 6e 64 20 56 41 4c 55 45 20 69 73 20 74 68 61 74 20 76 61 72 69 61 62 6c 65 e2 80 99 73 20 76 61 nd.VALUE.is.that.variable...s.va
40460 6c 75 65 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 77 69 74 68 2d 65 6e 76 69 72 6f 6e 6d 65 6e lue.............(with-environmen
40480 74 2d 76 61 72 69 61 62 6c 65 73 20 28 28 22 4c 41 4e 47 22 20 22 43 22 29 0a 20 20 20 20 20 20 t-variables.(("LANG"."C").......
404a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
404c0 20 28 22 4c 41 4e 47 55 41 47 45 22 20 22 65 6e 5f 55 53 3a 65 6e 22 29 29 0a 20 20 20 20 20 20 .("LANGUAGE"."en_US:en")).......
404e0 20 20 20 20 20 20 28 63 61 6c 6c 2d 70 72 6f 63 65 73 73 20 22 6c 73 22 20 6e 69 6c 20 74 29 29 ......(call-process."ls".nil.t))
40500 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 53 79 73 74 65 6d 20 45 6e 76 69 72 6f 6e 6d 65 6e 74 3a .......*Note.System.Environment:
40520 20 28 65 6c 69 73 70 29 53 79 73 74 65 6d 20 45 6e 76 69 72 6f 6e 6d 65 6e 74 2e 0a 0a 20 2d 2d .(elisp)System.Environment....--
40540 20 46 75 6e 63 74 69 6f 6e 3a 20 63 6f 6c 6f 72 2d 64 61 72 6b 2d 70 20 72 67 62 0a 20 20 20 20 .Function:.color-dark-p.rgb.....
40560 20 57 68 65 74 68 65 72 20 52 47 42 20 69 73 20 6d 6f 72 65 20 72 65 61 64 61 62 6c 65 20 61 67 .Whether.RGB.is.more.readable.ag
40580 61 69 6e 73 74 20 77 68 69 74 65 20 74 68 61 6e 20 62 6c 61 63 6b 2e 20 20 52 47 42 20 69 73 20 ainst.white.than.black...RGB.is.
405a0 61 0a 20 20 20 20 20 33 2d 65 6c 65 6d 65 6e 74 20 6c 69 73 74 20 28 52 20 47 20 42 29 2c 20 65 a......3-element.list.(R.G.B),.e
405c0 61 63 68 20 63 6f 6d 70 6f 6e 65 6e 74 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 5b 30 2c 31 5d ach.component.in.the.range.[0,1]
405e0 2e 20 20 54 68 69 73 0a 20 20 20 20 20 70 72 65 64 69 63 61 74 65 20 63 61 6e 20 62 65 20 75 73 ...This......predicate.can.be.us
40600 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 69 74 61 62 ed.both.for.determining.a.suitab
40620 6c 65 20 28 62 6c 61 63 6b 20 6f 72 0a 20 20 20 20 20 77 68 69 74 65 29 20 63 6f 6e 74 72 61 73 le.(black.or......white).contras
40640 74 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 t.color.with.RGB.as.background.a
40660 6e 64 20 61 73 20 66 6f 72 65 67 72 6f 75 6e 64 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a nd.as.foreground....--.Function:
40680 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 73 70 65 63 20 73 70 .color-values-from-color-spec.sp
406a0 65 63 0a 20 20 20 20 20 43 6f 6e 76 65 72 74 20 74 68 65 20 74 65 78 74 75 61 6c 20 63 6f 6c 6f ec......Convert.the.textual.colo
406c0 72 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 53 50 45 43 20 74 6f 20 61 20 63 6f 6c 6f 72 20 r.specification.SPEC.to.a.color.
406e0 74 72 69 70 6c 65 0a 20 20 20 20 20 e2 80 98 28 52 45 44 20 47 52 45 45 4e 20 62 6c 75 65 29 e2 triple.........(RED.GREEN.blue).
40700 80 99 2e 20 20 45 61 63 68 20 6f 66 20 52 45 44 2c 20 47 52 45 45 4e 20 61 6e 64 20 e2 80 98 62 .....Each.of.RED,.GREEN.and....b
40720 6c 75 65 e2 80 99 20 69 73 20 61 20 69 6e 74 65 67 65 72 0a 20 20 20 20 20 76 61 6c 75 65 20 62 lue....is.a.integer......value.b
40740 65 74 77 65 65 6e 20 30 20 61 6e 64 20 36 35 35 33 35 2e 0a 0a 20 20 20 20 20 54 68 65 20 73 70 etween.0.and.65535........The.sp
40760 65 63 69 66 69 63 61 74 69 6f 6e 20 53 50 45 43 20 63 61 6e 20 62 65 20 6f 6e 65 20 6f 66 20 74 ecification.SPEC.can.be.one.of.t
40780 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 0a 20 20 20 20 20 20 20 20 e2 80 a2 20 e2 80 98 23 52 47 42 he.following................#RGB
407a0 e2 80 99 2c 20 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 ...,.where.R,.G.and.B.are.hex.nu
407c0 6d 62 65 72 73 20 6f 66 20 65 71 75 61 6c 20 6c 65 6e 67 74 68 2c 20 31 2d 34 0a 20 20 20 20 20 mbers.of.equal.length,.1-4......
407e0 20 20 20 20 20 64 69 67 69 74 73 20 65 61 63 68 2e 0a 20 20 20 20 20 20 20 20 e2 80 a2 20 e2 80 .....digits.each................
40800 98 72 67 62 3a 52 2f 47 2f 42 e2 80 99 2c 20 77 68 65 72 65 20 52 2c 20 47 2c 20 61 6e 64 20 42 .rgb:R/G/B...,.where.R,.G,.and.B
40820 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 0a 20 20 20 .are.hex.numbers,.1-4.digits....
40840 20 20 20 20 20 20 20 65 61 63 68 2e 0a 20 20 20 20 20 20 20 20 e2 80 a2 20 e2 80 98 72 67 62 69 .......each.................rgbi
40860 3a 52 2f 47 2f 42 e2 80 99 2c 20 77 68 65 72 65 20 52 2c 20 47 20 61 6e 64 20 42 20 61 72 65 20 :R/G/B...,.where.R,.G.and.B.are.
40880 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 0a 20 20 20 20 20 20 floating-point.numbers.in.......
408a0 20 20 20 20 5b 30 2c 31 5d 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 66 69 6c 65 2d 6d ....[0,1]....--.Function:.file-m
408c0 6f 64 65 73 2d 6e 75 6d 62 65 72 2d 74 6f 2d 73 79 6d 62 6f 6c 69 63 20 6d 6f 64 65 73 0a 20 20 odes-number-to-symbolic.modes...
408e0 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 6f 6e 76 65 72 74 73 20 61 20 6e 75 6d 65 ...This.function.converts.a.nume
40900 72 69 63 20 66 69 6c 65 20 6d 6f 64 65 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 20 69 6e 20 4d ric.file.mode.specification.in.M
40920 4f 44 45 53 0a 20 20 20 20 20 69 6e 74 6f 20 74 68 65 20 65 71 75 69 76 61 6c 65 6e 74 20 73 79 ODES......into.the.equivalent.sy
40940 6d 62 6f 6c 69 63 20 66 6f 72 6d 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 43 68 61 6e 67 69 6e mbolic.form........*Note.Changin
40960 67 20 46 69 6c 65 73 3a 20 28 65 6c 69 73 70 29 43 68 61 6e 67 69 6e 67 20 46 69 6c 65 73 2e 0a g.Files:.(elisp)Changing.Files..
40980 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 66 69 6c 65 2d 62 61 63 6b 75 70 2d 66 69 6c 65 2d ..--.Function:.file-backup-file-
409a0 6e 61 6d 65 73 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 names.filename......This.functio
409c0 6e 20 72 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 74 68 65 20 62 61 63 6b n.returns.a.list.of.all.the.back
409e0 75 70 20 66 69 6c 65 20 6e 61 6d 65 73 20 66 6f 72 0a 20 20 20 20 20 46 49 4c 45 4e 41 4d 45 2c up.file.names.for......FILENAME,
40a00 20 6f 72 20 e2 80 98 6e 69 6c e2 80 99 20 69 66 20 74 68 65 72 65 20 61 72 65 20 6e 6f 6e 65 2e .or....nil....if.there.are.none.
40a20 20 20 54 68 65 20 66 69 6c 65 73 20 61 72 65 20 73 6f 72 74 65 64 20 62 79 0a 20 20 20 20 20 6d ..The.files.are.sorted.by......m
40a40 6f 64 69 66 69 63 61 74 69 6f 6e 20 74 69 6d 65 2c 20 64 65 73 63 65 6e 64 69 6e 67 2c 20 73 6f odification.time,.descending,.so
40a60 20 74 68 61 74 20 74 68 65 20 6d 6f 73 74 20 72 65 63 65 6e 74 20 66 69 6c 65 73 20 61 72 65 0a .that.the.most.recent.files.are.
40a80 20 20 20 20 20 66 69 72 73 74 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 42 .....first........*Note.(elisp)B
40aa0 61 63 6b 75 70 20 4e 61 6d 65 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6d 61 ackup.Names::....--.Function:.ma
40ac0 6b 65 2d 6c 6f 63 6b 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 6e 61 6d 65 0a 20 20 20 20 20 ke-lock-file-name.filename......
40ae0 52 65 74 75 72 6e 20 61 20 73 74 72 69 6e 67 20 63 6f 6e 74 61 69 6e 69 6e 67 20 61 20 6c 6f 63 Return.a.string.containing.a.loc
40b00 6b 20 66 69 6c 65 20 6e 61 6d 65 20 66 6f 72 20 46 49 4c 45 4e 41 4d 45 2c 20 6f 62 65 79 69 6e k.file.name.for.FILENAME,.obeyin
40b20 67 0a 20 20 20 20 20 e2 80 98 6c 6f 63 6b 2d 66 69 6c 65 2d 6e 61 6d 65 2d 74 72 61 6e 73 66 6f g.........lock-file-name-transfo
40b40 72 6d 73 e2 80 99 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 rms.......--.Function:.decoded-t
40b60 69 6d 65 2d 70 65 72 69 6f 64 20 74 69 6d 65 0a 20 20 20 20 20 49 6e 74 65 72 70 72 65 74 20 54 ime-period.time......Interpret.T
40b80 49 4d 45 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 IME.as.a.period.and.return.its.l
40ba0 65 6e 67 74 68 20 69 6e 20 73 65 63 6f 6e 64 73 2e 20 20 46 6f 72 0a 20 20 20 20 20 63 6f 6d 70 ength.in.seconds...For......comp
40bc0 75 74 61 74 69 6f 6e 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 utational.purposes,.years.are.36
40be0 35 20 64 61 79 73 20 6c 6f 6e 67 20 61 6e 64 20 6d 6f 6e 74 68 73 20 61 72 65 20 33 30 0a 20 20 5.days.long.and.months.are.30...
40c00 20 20 20 64 61 79 73 20 6c 6f 6e 67 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 73 75 62 ...days.long....--.Function:.sub
40c20 72 2d 70 72 69 6d 69 74 69 76 65 2d 70 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 52 65 74 75 72 6e r-primitive-p.object......Return
40c40 20 e2 80 98 74 e2 80 99 20 69 66 20 4f 42 4a 45 43 54 20 69 73 20 61 20 70 72 69 6d 69 74 69 76 ....t....if.OBJECT.is.a.primitiv
40c60 65 2c 20 62 75 69 6c 74 2d 69 6e 20 66 75 6e 63 74 69 6f 6e 2e 20 20 4f 6e 20 73 79 73 74 65 6d e,.built-in.function...On.system
40c80 73 0a 20 20 20 20 20 77 69 74 68 20 6e 61 74 69 76 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 e2 s......with.native.compilation..
40ca0 80 98 73 75 62 72 70 e2 80 99 20 64 6f 65 73 20 6e 6f 74 20 64 69 73 74 69 6e 67 75 69 73 68 20 ..subrp....does.not.distinguish.
40cc0 62 65 74 77 65 65 6e 0a 20 20 20 20 20 62 75 69 6c 74 2d 69 6e 20 66 75 6e 63 74 69 6f 6e 73 20 between......built-in.functions.
40ce0 61 6e 64 20 66 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 68 61 76 65 20 62 65 65 6e 20 63 6f 6d and.functions.that.have.been.com
40d00 70 69 6c 65 64 2e 20 20 49 66 0a 20 20 20 20 20 6e 61 74 69 76 65 20 63 6f 6d 70 69 6c 61 74 69 piled...If......native.compilati
40d20 6f 6e 20 69 73 20 6e 6f 74 20 61 76 61 69 6c 61 62 6c 65 2c 20 74 68 69 73 20 66 75 6e 63 74 69 on.is.not.available,.this.functi
40d40 6f 6e 20 62 65 68 61 76 65 73 0a 20 20 20 20 20 69 64 65 6e 74 69 63 61 6c 6c 79 20 74 6f 20 e2 on.behaves......identically.to..
40d60 80 98 73 75 62 72 70 e2 80 99 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6e 61 74 69 76 ..subrp.......--.Function:.nativ
40d80 65 2d 63 6f 6d 70 2d 61 76 61 69 6c 61 62 6c 65 2d 70 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e e-comp-available-p......This.fun
40da0 63 74 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 ction.returns.non-...nil....if.t
40dc0 68 65 20 72 75 6e 6e 69 6e 67 20 45 6d 61 63 73 20 70 72 6f 63 65 73 73 20 68 61 73 0a 20 20 20 he.running.Emacs.process.has....
40de0 20 20 74 68 65 20 6e 61 74 69 76 65 2d 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 73 75 70 70 6f 72 74 ..the.native-compilation.support
40e00 20 63 6f 6d 70 69 6c 65 64 20 69 6e 74 6f 20 69 74 2e 20 20 4f 6e 20 73 79 73 74 65 6d 73 20 74 .compiled.into.it...On.systems.t
40e20 68 61 74 0a 20 20 20 20 20 6c 6f 61 64 20 e2 80 98 6c 69 62 67 63 63 6a 69 74 e2 80 99 20 64 79 hat......load....libgccjit....dy
40e40 6e 61 6d 69 63 61 6c 6c 79 2c 20 69 74 20 61 6c 73 6f 20 6d 61 6b 65 73 20 73 75 72 65 20 74 68 namically,.it.also.makes.sure.th
40e60 61 74 20 6c 69 62 72 61 72 79 20 69 73 0a 20 20 20 20 20 61 76 61 69 6c 61 62 6c 65 20 61 6e 64 at.library.is......available.and
40e80 20 63 61 6e 20 62 65 20 6c 6f 61 64 65 64 2e 20 20 4c 69 73 70 20 70 72 6f 67 72 61 6d 73 20 74 .can.be.loaded...Lisp.programs.t
40ea0 68 61 74 20 6e 65 65 64 20 74 6f 20 6b 6e 6f 77 20 75 70 0a 20 20 20 20 20 66 72 6f 6e 74 20 77 hat.need.to.know.up......front.w
40ec0 68 65 74 68 65 72 20 6e 61 74 69 76 65 2d 63 6f 6d 70 69 6c 61 74 69 6f 6e 20 69 73 20 61 76 61 hether.native-compilation.is.ava
40ee0 69 6c 61 62 6c 65 20 73 68 6f 75 6c 64 20 75 73 65 20 74 68 69 73 0a 20 20 20 20 20 70 72 65 64 ilable.should.use.this......pred
40f00 69 63 61 74 65 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 77 69 74 68 2d 77 69 6e 64 6f 77 2d 6e icate....--.Macro:.with-window-n
40f20 6f 6e 2d 64 65 64 69 63 61 74 65 64 20 77 69 6e 64 6f 77 20 26 72 65 73 74 20 62 6f 64 79 0a 20 on-dedicated.window.&rest.body..
40f40 20 20 20 20 45 76 61 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 ....Evaluate.BODY.with.WINDOW.te
40f60 6d 70 6f 72 61 72 69 6c 79 20 6d 61 64 65 20 6e 6f 6e 2d 64 65 64 69 63 61 74 65 64 2e 20 20 49 mporarily.made.non-dedicated...I
40f80 66 0a 20 20 20 20 20 57 49 4e 44 4f 57 20 69 73 20 6e 69 6c 2c 20 75 73 65 20 74 68 65 20 73 65 f......WINDOW.is.nil,.use.the.se
40fa0 6c 65 63 74 65 64 20 77 69 6e 64 6f 77 2e 20 20 52 65 74 75 72 6e 20 74 68 65 20 76 61 6c 75 65 lected.window...Return.the.value
40fc0 20 6f 66 20 74 68 65 0a 20 20 20 20 20 6c 61 73 74 20 66 6f 72 6d 20 69 6e 20 42 4f 44 59 2e 0a .of.the......last.form.in.BODY..
40fe0 0a 32 2e 34 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 .2.4.2.Extended.Definitions.----
41000 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 65 20 66 75 ----------------------..These.fu
41020 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 63 69 74 6c nctions.must.be.called.explicitl
41040 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 63 65 20 74 y.via....compat-call...,.since.t
41060 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 65 68 61 76 heir.calling.convention.or.behav
41080 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 38 2e 31 3a 0a ior.was.extended.in.Emacs.28.1:.
410a0 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 72 69 6e ..--.Function:.compat-call.strin
410c0 67 2d 77 69 64 74 68 20 73 74 72 69 6e 67 20 26 6f 70 74 69 6f 6e 61 6c 20 66 72 6f 6d 20 74 6f g-width.string.&optional.from.to
410e0 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.
41100 77 69 64 74 68 20 69 6e 20 63 6f 6c 75 6d 6e 73 20 6f 66 20 74 68 65 20 73 74 72 69 6e 67 20 53 width.in.columns.of.the.string.S
41120 54 52 49 4e 47 2c 20 69 66 0a 20 20 20 20 20 69 74 20 77 65 72 65 20 64 69 73 70 6c 61 79 65 64 TRING,.if......it.were.displayed
41140 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 75 66 66 65 72 20 61 6e 64 20 74 68 65 20 73 .in.the.current.buffer.and.the.s
41160 65 6c 65 63 74 65 64 20 77 69 6e 64 6f 77 2e 0a 20 20 20 20 20 4f 70 74 69 6f 6e 61 6c 20 61 72 elected.window.......Optional.ar
41180 67 75 6d 65 6e 74 73 20 46 52 4f 4d 20 61 6e 64 20 54 4f 20 73 70 65 63 69 66 79 20 74 68 65 20 guments.FROM.and.TO.specify.the.
411a0 73 75 62 73 74 72 69 6e 67 20 6f 66 20 53 54 52 49 4e 47 20 74 6f 0a 20 20 20 20 20 63 6f 6e 73 substring.of.STRING.to......cons
411c0 69 64 65 72 2c 20 61 6e 64 20 61 72 65 20 69 6e 74 65 72 70 72 65 74 65 64 20 61 73 20 69 6e 20 ider,.and.are.interpreted.as.in.
411e0 e2 80 98 73 75 62 73 74 72 69 6e 67 e2 80 99 20 28 2a 6e 6f 74 65 0a 20 20 20 20 20 28 65 6c 69 ...substring....(*note......(eli
41200 73 70 29 43 72 65 61 74 69 6e 67 20 53 74 72 69 6e 67 73 3a 3a 29 2e 0a 0a 20 20 20 20 20 54 68 sp)Creating.Strings::)........Th
41220 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 20 61 6e 20 61 70 70 72 6f 78 69 6d 61 74 69 e.return.value.is.an.approximati
41240 6f 6e 3a 20 69 74 20 6f 6e 6c 79 20 63 6f 6e 73 69 64 65 72 73 20 74 68 65 20 76 61 6c 75 65 73 on:.it.only.considers.the.values
41260 0a 20 20 20 20 20 72 65 74 75 72 6e 65 64 20 62 79 20 e2 80 98 63 68 61 72 2d 77 69 64 74 68 e2 ......returned.by....char-width.
41280 80 99 20 66 6f 72 20 74 68 65 20 63 6f 6e 73 74 69 74 75 65 6e 74 20 63 68 61 72 61 63 74 65 72 ...for.the.constituent.character
412a0 73 2c 20 61 6c 77 61 79 73 0a 20 20 20 20 20 74 61 6b 65 73 20 61 20 74 61 62 20 63 68 61 72 61 s,.always......takes.a.tab.chara
412c0 63 74 65 72 20 61 73 20 74 61 6b 69 6e 67 20 e2 80 98 74 61 62 2d 77 69 64 74 68 e2 80 99 20 63 cter.as.taking....tab-width....c
412e0 6f 6c 75 6d 6e 73 2c 20 69 67 6e 6f 72 65 73 0a 20 20 20 20 20 64 69 73 70 6c 61 79 20 70 72 6f olumns,.ignores......display.pro
41300 70 65 72 74 69 65 73 20 61 6e 64 20 66 6f 6e 74 73 2c 20 65 74 63 2e 0a 0a 20 20 20 20 20 2a 4e perties.and.fonts,.etc........*N
41320 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 65 64 20 54 65 78 ote.(elisp)Size.of.Displayed.Tex
41340 74 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 t::........This.compatibility.ve
41360 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 67 75 6d rsion.handles.the.optional.argum
41380 65 6e 74 73 20 46 52 4f 4d 20 61 6e 64 0a 20 20 20 20 20 54 4f 2e 0a 0a 20 2d 2d 20 46 75 6e 63 ents.FROM.and......TO....--.Func
413a0 74 69 6f 6e 3a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 63 6f 75 6e 74 2d 77 69 6e 64 6f 77 73 0a tion:.compat-call.count-windows.
413c0 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 6c 69 76 65 20 77 .....Return.the.number.of.live.w
413e0 69 6e 64 6f 77 73 20 6f 6e 20 74 68 65 20 73 65 6c 65 63 74 65 64 20 66 72 61 6d 65 2e 0a 0a 20 indows.on.the.selected.frame....
41400 20 20 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 49 4e 49 42 55 ....The.optional.argument.MINIBU
41420 46 20 73 70 65 63 69 66 69 65 73 20 77 68 65 74 68 65 72 20 74 68 65 20 6d 69 6e 69 62 75 66 66 F.specifies.whether.the.minibuff
41440 65 72 0a 20 20 20 20 20 77 69 6e 64 6f 77 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 er......window.is.included.in.th
41460 65 20 63 6f 75 6e 74 2e 0a 0a 20 20 20 20 20 49 66 20 41 4c 4c 2d 46 52 41 4d 45 53 20 69 73 20 e.count........If.ALL-FRAMES.is.
41480 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 63 6f 75 6e 74 20 74 68 65 20 77 69 6e 64 6f 77 73 non-...nil...,.count.the.windows
414a0 20 69 6e 20 61 6c 6c 20 66 72 61 6d 65 73 20 69 6e 73 74 65 61 64 0a 20 20 20 20 20 6a 75 73 74 .in.all.frames.instead......just
414c0 20 74 68 65 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 69 73 20 .the.selected.frame........This.
414e0 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 68 compatibility.version.handles.th
41500 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 20 41 4c 4c 2d 46 52 41 e.optional.argument......ALL-FRA
41520 4d 45 53 2e 0a 0a 32 2e 34 2e 33 20 4d 69 73 73 69 6e 67 20 44 65 66 69 6e 69 74 69 6f 6e 73 0a MES...2.4.3.Missing.Definitions.
41540 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 43 6f 6d 70 61 -------------------------..Compa
41560 74 20 64 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 t.does.not.provide.support.for.t
41580 68 65 20 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 he.following.Lisp.features.imple
415a0 6d 65 6e 74 65 64 20 69 6e 20 32 38 2e 31 3a 0a 0a 20 20 20 e2 80 a2 20 53 75 70 70 6f 72 74 20 mented.in.28.1:.........Support.
415c0 66 6f 72 20 e2 80 98 69 6e 74 65 72 61 63 74 69 76 65 e2 80 99 20 6f 72 20 e2 80 98 64 65 63 6c for....interactive....or....decl
415e0 61 72 65 e2 80 99 20 74 6f 20 6c 69 73 74 20 61 70 70 6c 69 63 61 62 6c 65 20 6d 6f 64 65 73 2e are....to.list.applicable.modes.
41600 0a 20 20 20 e2 80 a2 20 53 75 70 70 6f 72 74 20 66 6f 72 20 e2 80 98 3a 69 6e 74 65 72 61 63 74 ........Support.for....:interact
41620 69 76 65 e2 80 99 20 61 72 67 75 6d 65 6e 74 20 74 6f 20 e2 80 98 64 65 66 69 6e 65 2d 6d 69 6e ive....argument.to....define-min
41640 6f 72 2d 6d 6f 64 65 e2 80 99 20 61 6e 64 0a 20 20 20 20 20 e2 80 98 64 65 66 69 6e 65 2d 64 65 or-mode....and.........define-de
41660 72 69 76 65 64 2d 6d 6f 64 65 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 53 75 70 70 6f 72 74 20 66 6f rived-mode............Support.fo
41680 72 20 e2 80 98 3a 70 72 65 64 69 63 61 74 65 e2 80 99 20 61 72 67 75 6d 65 6e 74 20 74 6f 0a 20 r....:predicate....argument.to..
416a0 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 6d .......define-globalized-minor-m
416c0 6f 64 65 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 53 75 70 70 6f 72 74 20 66 6f 72 20 74 68 65 20 e2 ode............Support.for.the..
416e0 80 98 3a 73 75 63 63 65 73 73 e2 80 99 20 68 61 6e 64 6c 65 72 20 6f 66 20 e2 80 98 63 6f 6e 64 ..:success....handler.of....cond
41700 69 74 69 6f 6e 2d 63 61 73 65 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 ition-case............The.functi
41720 6f 6e 20 e2 80 98 62 65 6e 63 68 6d 61 72 6b 2d 63 61 6c 6c e2 80 99 2e 0a 20 20 20 e2 80 a2 20 on....benchmark-call............
41740 41 64 64 69 74 69 6f 6e 61 6c 20 45 64 65 62 75 67 20 6b 65 79 77 6f 72 64 73 2e 0a 20 20 20 e2 Additional.Edebug.keywords......
41760 80 a2 20 54 68 65 20 6c 69 62 6a 61 6e 73 73 6f 6e 20 4a 53 4f 4e 20 41 50 49 73 2c 20 65 2e 67 ...The.libjansson.JSON.APIs,.e.g
41780 2e 2c 20 e2 80 98 6a 73 6f 6e 2d 70 61 72 73 65 2d 73 74 72 69 6e 67 e2 80 99 2e 0a 20 20 20 e2 .,....json-parse-string.........
417a0 80 a2 20 54 68 65 20 6d 61 63 72 6f 20 e2 80 98 70 63 61 73 65 2d 73 65 74 71 e2 80 99 2e 0a 20 ...The.macro....pcase-setq......
417c0 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 63 75 73 74 6f 6d 2d 61 64 64 ......The.function....custom-add
417e0 2d 63 68 6f 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 73 -choice............The.functions
41800 20 e2 80 98 64 6f 6d 2d 70 72 69 6e 74 e2 80 99 20 61 6e 64 20 e2 80 98 64 6f 6d 2d 72 65 6d 6f ....dom-print....and....dom-remo
41820 76 65 2d 61 74 74 72 69 62 75 74 65 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 ve-attribute............The.func
41840 74 69 6f 6e 20 e2 80 98 64 6e 73 2d 71 75 65 72 79 2d 61 73 79 6e 63 68 72 6f 6e 6f 75 73 e2 80 tion....dns-query-asynchronous..
41860 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 67 65 74 2d 6c 6f ..........The.function....get-lo
41880 63 61 6c 65 2d 6e 61 6d 65 73 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 cale-names............The.functi
418a0 6f 6e 73 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 73 73 ons....mail-header-parse-address
418c0 65 73 2d 6c 61 78 e2 80 99 20 61 6e 64 0a 20 20 20 20 20 e2 80 98 6d 61 69 6c 2d 68 65 61 64 65 es-lax....and.........mail-heade
418e0 72 2d 70 61 72 73 65 2d 61 64 64 72 65 73 73 2d 6c 61 78 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 r-parse-address-lax............T
41900 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 6e 75 6d 2d 70 72 6f 63 65 73 73 6f 72 73 e2 80 99 he.function....num-processors...
41920 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 6f 62 6a 65 63 74 2d .........The.function....object-
41940 69 6e 74 65 72 76 61 6c 73 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f intervals............The.functio
41960 6e 20 e2 80 98 72 65 71 75 69 72 65 2d 74 68 65 6d 65 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 n....require-theme............Th
41980 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 73 79 6e 74 61 78 2d 63 6c 61 73 73 2d 74 6f 2d 63 68 e.function....syntax-class-to-ch
419a0 61 72 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 70 61 ar............The.function....pa
419c0 74 68 2d 73 65 70 61 72 61 74 6f 72 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 th-separator............The.func
419e0 74 69 6f 6e 20 e2 80 98 6e 75 6c 6c 2d 64 65 76 69 63 65 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 tion....null-device............T
41a00 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 6d 61 63 72 6f 65 78 70 2d 63 6f 6d 70 69 6c 69 6e he.function....macroexp-compilin
41a20 67 2d 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 e2 80 98 73 g-p............The.function....s
41a40 70 6c 69 74 2d 73 74 72 69 6e 67 2d 73 68 65 6c 6c 2d 63 6f 6d 6d 61 6e 64 e2 80 99 2e 0a 20 20 plit-string-shell-command.......
41a60 20 e2 80 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 6c 69 6d 69 .....The.function....string-limi
41a80 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 73 20 e2 80 98 69 6e t............The.functions....in
41aa0 6e 65 72 6d 6f 73 74 2d 6d 69 6e 69 62 75 66 66 65 72 2d 70 e2 80 99 20 61 6e 64 0a 20 20 20 20 nermost-minibuffer-p....and.....
41ac0 20 e2 80 98 6d 69 6e 69 62 75 66 66 65 72 2d 69 6e 6e 65 72 6d 6f 73 74 2d 63 6f 6d 6d 61 6e 64 ....minibuffer-innermost-command
41ae0 2d 6c 6f 6f 70 2d 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 -loop-p............The.function.
41b00 e2 80 98 6d 61 78 2d 6d 69 6e 69 2d 77 69 6e 64 6f 77 2d 6c 69 6e 65 73 e2 80 99 2e 0a 20 20 20 ...max-mini-window-lines........
41b20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 6c 6f 63 6b 2d 66 69 6c 65 e2 80 99 ....The.function....lock-file...
41b40 20 61 6e 64 20 e2 80 98 75 6e 6c 6f 63 6b 2d 66 69 6c 65 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 .and....unlock-file............T
41b60 68 65 20 e2 80 98 6d 75 6c 74 69 73 65 73 73 69 6f 6e e2 80 99 20 6c 69 62 72 61 72 79 2e 0a 0a he....multisession....library...
41b80 1f 0a 46 69 6c 65 3a 20 64 6f 63 6c 38 71 6d 30 70 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 45 ..File:.docl8qm0p.info,..Node:.E
41ba0 6d 61 63 73 20 32 39 2e 31 2c 20 20 4e 65 78 74 3a 20 45 6d 61 63 73 20 33 30 2e 31 2c 20 20 50 macs.29.1,..Next:.Emacs.30.1,..P
41bc0 72 65 76 3a 20 45 6d 61 63 73 20 32 38 2e 31 2c 20 20 55 70 3a 20 53 75 70 70 6f 72 74 0a 0a 32 rev:.Emacs.28.1,..Up:.Support..2
41be0 2e 35 20 45 6d 61 63 73 20 32 39 2e 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 32 2e .5.Emacs.29.1.==============..2.
41c00 35 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 5.1.Added.Definitions.----------
41c20 2d 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 -------------..The.following.fun
41c40 63 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 ctions.and.macros.are.implemente
41c60 64 20 69 6e 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 54 68 65 73 65 0a 66 75 6e 63 74 69 6f 6e d.in.Emacs.29.1...These.function
41c80 73 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 s.are.made.available.by.Compat.o
41ca0 6e 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 39 2e 31 n.Emacs.versions.older.than.29.1
41cc0 2e 20 20 4e 6f 74 65 20 74 68 61 74 20 64 75 65 20 74 6f 20 75 70 73 74 72 65 61 6d 20 63 68 61 ...Note.that.due.to.upstream.cha
41ce0 6e 67 65 73 2c 20 69 74 20 6d 69 67 68 74 20 68 61 70 70 65 6e 20 74 68 61 74 20 74 68 65 72 65 nges,.it.might.happen.that.there
41d00 0a 77 69 6c 6c 20 62 65 20 74 68 65 20 6e 65 65 64 20 66 6f 72 20 63 68 61 6e 67 65 73 2c 20 73 .will.be.the.need.for.changes,.s
41d20 6f 20 75 73 65 20 74 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 77 69 74 68 20 63 61 72 65 2e o.use.these.functions.with.care.
41d40 0a 0a 20 20 20 54 68 65 20 e2 80 98 64 65 66 63 75 73 74 6f 6d e2 80 99 20 74 79 70 65 20 e2 80 .....The....defcustom....type...
41d60 98 6b 65 79 e2 80 99 20 69 6e 74 72 6f 64 75 63 65 64 20 69 6e 20 45 6d 61 63 73 20 32 39 2e 31 .key....introduced.in.Emacs.29.1
41d80 20 69 73 20 6d 61 64 65 20 61 76 61 69 6c 61 62 6c 65 0a 62 79 20 43 6f 6d 70 61 74 2e 0a 0a 20 .is.made.available.by.Compat....
41da0 2d 2d 20 56 61 72 69 61 62 6c 65 3a 20 75 6e 74 72 75 73 74 65 64 2d 63 6f 6e 74 65 6e 74 0a 20 --.Variable:.untrusted-content..
41dc0 20 20 20 20 4e 6f 6e 2d 6e 69 6c 20 6d 65 61 6e 73 20 74 68 61 74 20 63 75 72 72 65 6e 74 20 62 ....Non-nil.means.that.current.b
41de0 75 66 66 65 72 20 6f 72 69 67 69 6e 61 74 65 64 20 66 72 6f 6d 20 61 6e 20 75 6e 74 72 75 73 74 uffer.originated.from.an.untrust
41e00 65 64 0a 20 20 20 20 20 73 6f 75 72 63 65 2e 20 20 45 6d 61 69 6c 20 63 6c 69 65 6e 74 73 20 61 ed......source...Email.clients.a
41e20 6e 64 20 73 6f 6d 65 20 6f 74 68 65 72 20 6d 6f 64 65 73 20 6d 61 79 20 73 65 74 20 74 68 69 73 nd.some.other.modes.may.set.this
41e40 20 6e 6f 6e 2d 6e 69 6c 20 74 6f 0a 20 20 20 20 20 6d 61 72 6b 20 74 68 65 20 62 75 66 66 65 72 .non-nil.to......mark.the.buffer
41e60 20 63 6f 6e 74 65 6e 74 73 20 61 73 20 75 6e 74 72 75 73 74 65 64 2e 20 20 54 68 69 73 20 76 61 .contents.as.untrusted...This.va
41e80 72 69 61 62 6c 65 20 6d 69 67 68 74 20 62 65 0a 20 20 20 20 20 73 75 62 6a 65 63 74 20 74 6f 20 riable.might.be......subject.to.
41ea0 63 68 61 6e 67 65 20 77 69 74 68 6f 75 74 20 6e 6f 74 69 63 65 2e 0a 0a 20 2d 2d 20 56 61 72 69 change.without.notice....--.Vari
41ec0 61 62 6c 65 3a 20 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 able:.lisp-directory......This.v
41ee0 61 72 69 61 62 6c 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 ariable.holds.a.string.naming.th
41f00 65 20 64 69 72 65 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 e.directory.which.holds......Ema
41f20 63 73 e2 80 99 73 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 cs...s.own....*.el....and....*.e
41f40 6c 63 e2 80 99 20 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 lc....files...This.is.usually.th
41f60 65 20 70 6c 61 63 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 e.place......where.those.files.a
41f80 72 65 20 6c 6f 63 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 re.located.in.the.Emacs.installa
41fa0 74 69 6f 6e 20 74 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 tion.tree,......unless.Emacs.is.
41fc0 72 75 6e 20 66 72 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 run.from.its.build.directory.in.
41fe0 77 68 69 63 68 20 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 which.case.it......points.to.the
42000 20 e2 80 98 6c 69 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 ....lisp....subdirectory.in.the.
42020 73 6f 75 72 63 65 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 source.directory.from......which
42040 20 45 6d 61 63 73 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 .Emacs.was.built....--.Function:
42060 20 63 6f 75 6e 74 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 .count-sentences.start.end......
42080 43 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 Count.sentences.in.current.buffe
420a0 72 20 66 72 6f 6d 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 r.from.START.to.END....--.Functi
420c0 6f 6e 3a 20 72 65 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 on:.readablep.object......This.p
420e0 72 65 64 69 63 61 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 redicate.says.whether.OBJECT.has
42100 20 e2 80 9c 72 65 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 ....readable.syntax...,.i.e.,.it
42120 0a 20 20 20 20 20 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 ......can.be.written.out.and.the
42140 6e 20 72 65 61 64 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 n.read.back.by.the.Emacs.Lisp.re
42160 61 64 65 72 2e 20 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 ader...If......it.can...t,.this.
42180 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 3b 20 69 66 20 69 function.returns....nil...;.if.i
421a0 74 20 63 61 6e 2c 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 t.can,.this.function......return
421c0 73 20 61 20 70 72 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 s.a.printed.representation.(via.
421e0 e2 80 98 70 72 69 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 ...prin1...)....--.Function:.sub
42200 73 74 69 74 75 74 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 stitute-quotes.string......This.
42220 66 75 6e 63 74 69 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 function.works.like....substitut
42240 65 2d 63 6f 6d 6d 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 e-command-keys...,.but.only.....
42260 20 72 65 70 6c 61 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 .replaces.quote.characters....--
42280 20 46 75 6e 63 74 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 .Function:.get-scratch-buffer-cr
422a0 65 61 74 65 0a 20 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 eate......Return.the.*scratch*.b
422c0 75 66 66 65 72 2c 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 uffer,.creating.a.new.one.if.nee
422e0 64 65 64 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 2d 6e ded....--.Function:.use-region-n
42300 6f 6e 63 6f 6e 74 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 oncontiguous-p......Return.non-n
42320 69 6c 20 66 6f 72 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 il.for.a.non-contiguous.region.i
42340 66 20 e2 80 98 75 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 f....use-region-p.......--.Funct
42360 69 6f 6e 3a 20 75 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 ion:.use-region-end......Return.
42380 74 68 65 20 65 6e 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 the.end.of.the.region.if....use-
423a0 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 73 65 2d region-p.......--.Function:.use-
423c0 72 65 67 69 6f 6e 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 region-beginning......Return.the
423e0 20 73 74 61 72 74 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 .start.of.the.region.if....use-r
42400 65 67 69 6f 6e 2d 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 egion-p.......--.Macro:.buffer-l
42420 6f 63 61 6c 2d 73 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 ocal-set-state.variable.value...
42440 0a 20 20 20 20 20 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 ......Minor.modes.often.set.buff
42460 65 72 2d 6c 6f 63 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 er-local.variables.that.affect.s
42480 6f 6d 65 0a 20 20 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 ome......features.in.Emacs...Whe
424a0 6e 20 61 20 6d 69 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 n.a.minor.mode.is.switched.off,.
424c0 74 68 65 20 6d 6f 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 the.mode.is......expected.to.res
424e0 74 6f 72 65 20 74 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 tore.the.previous.state.of.these
42500 20 76 61 72 69 61 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 .variables...This......convenien
42520 63 65 20 6d 61 63 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 ce.macro.helps.with.doing.that:.
42540 49 74 20 77 6f 72 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 It.works.much.like.........setq-
42560 6c 6f 63 61 6c e2 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 local...,.but.returns.an.object.
42580 74 68 61 74 20 63 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 that.can.be.used.to.restore.....
425a0 20 74 68 65 73 65 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 .these.values.back.to.their.prev
425c0 69 6f 75 73 20 76 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 ious.values/states.(using.the...
425e0 20 20 20 63 6f 6d 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 ...companion.function....buffer-
42600 6c 6f 63 61 6c 2d 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 local-restore-state...)....--.Fu
42620 6e 63 74 69 6f 6e 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 nction:.delete-line......Delete.
42640 74 68 65 20 63 75 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 the.current.line....--.Function:
42660 20 6c 69 73 74 2d 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 .list-of-strings-p.object......R
42680 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 73 20 e2 80 98 6e 69 eturn....t....if.OBJECT.is....ni
426a0 6c e2 80 99 20 6f 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 l....or.a.list.of.strings....--.
426c0 46 75 6e 63 74 69 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 Function:.plistp.object......Non
426e0 2d 6e 69 6c 20 69 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 -nil.if.and.only.if.OBJECT.is.a.
42700 76 61 6c 69 64 20 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 valid.plist....--.Macro:.with-me
42720 6d 6f 69 7a 61 74 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 moization.PLACE.CODE.........Thi
42740 73 20 6d 61 63 72 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 s.macro.provides.a.simple.way.to
42760 20 64 6f 20 6d 65 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 .do.memoization...CODE.is......e
42780 76 61 6c 75 61 74 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 valuated.and.then.stashed.in.PLA
427a0 43 45 2e 20 20 49 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 CE...If.PLACE...s.value.is......
427c0 6e 6f 6e 2d e2 80 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 non-...nil...,.return.that.value
427e0 20 69 6e 73 74 65 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 .instead.of.evaluating.CODE....-
42800 2d 20 53 70 65 63 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 -.Special.Form:.with-restriction
42820 20 73 74 61 72 74 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 .start.end.[:label.label].body..
42840 20 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 ....This.special.form.saves.the.
42860 63 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 current.bounds.of.the.accessible
42880 0a 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 73 65 74 ......portion.of.the.buffer,.set
428a0 73 20 74 68 65 20 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 s.the.accessible.portion.to.star
428c0 74 20 61 74 0a 20 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 t.at......START.and.end.at.END,.
428e0 65 76 61 6c 75 61 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 evaluates.the.BODY.forms,.and.re
42900 73 74 6f 72 65 73 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 stores.the......saved.bounds...I
42920 6e 20 74 68 61 74 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 n.that.case.it.is.equivalent.to.
42940 0a 20 20 20 20 20 20 20 20 20 20 28 73 61 76 65 2d 72 65 73 74 72 69 63 74 69 6f 6e 0a 20 20 20 ...........(save-restriction....
42960 20 20 20 20 20 20 20 20 20 28 6e 61 72 72 6f 77 2d 74 6f 2d 72 65 67 69 6f 6e 20 73 74 61 72 74 .........(narrow-to-region.start
42980 20 65 6e 64 29 0a 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 .end).............body).......Wh
429a0 65 6e 20 74 68 65 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 en.the.optional.argument.LABEL,.
429c0 61 20 73 79 6d 62 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 a.symbol,.is.present,.the......n
429e0 61 72 72 6f 77 69 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 arrowing.is....labeled......A.la
42a00 62 65 6c 65 64 20 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 beled.narrowing.differs.from.a..
42a20 20 20 20 20 6e 6f 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 ....non-labeled.one.in.several.w
42a40 61 79 73 3a 0a 0a 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 ays:..............During.the.eva
42a60 6c 75 61 74 69 6f 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 luation.of.the.BODY.form,....nar
42a80 72 6f 77 2d 74 6f 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 row-to-region....and............
42aa0 80 98 77 69 64 65 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 ..widen....can.be.used.only.with
42ac0 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 74 73 2e 0a 0a 20 20 in.the.START.and.END.limits.....
42ae0 20 20 20 20 20 20 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 ..........To.lift.the.restrictio
42b00 6e 20 69 6e 74 72 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 n.introduced.by....with-restrict
42b20 69 6f 6e e2 80 99 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 ion....and...........gain.access
42b40 20 74 6f 20 6f 74 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 .to.other.portions.of.the.buffer
42b60 2c 20 75 73 65 0a 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 ,.use..............without-restr
42b80 69 63 74 69 6f 6e 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 iction....with.the.same.LABEL.ar
42ba0 67 75 6d 65 6e 74 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 gument...(Another...........way.
42bc0 74 6f 20 67 61 69 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 to.gain.access.to.other.portions
42be0 20 6f 66 20 74 68 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 .of.the.buffer.is.to.use........
42c00 20 20 20 61 6e 20 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 ...an.indirect.buffer.(*note.(el
42c20 69 73 70 29 49 6e 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 isp)Indirect.Buffers::).).......
42c40 20 20 20 e2 80 a2 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 .......Labeled.narrowings.can.be
42c60 20 6e 65 73 74 65 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 .nested...............Labeled.na
42c80 72 72 6f 77 69 6e 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 rrowings.can.only.be.used.in.Lis
42ca0 70 20 70 72 6f 67 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 p.programs:.they.are...........n
42cc0 65 76 65 72 20 76 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 ever.visible.on.display,.and.nev
42ce0 65 72 20 69 6e 74 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 er.interfere.with.narrowings....
42d00 20 20 20 20 20 20 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 .......set.by.the.user........If
42d20 20 79 6f 75 20 75 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 .you.use....with-restriction....
42d40 77 69 74 68 20 74 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 with.the.optional.LABEL.argument
42d60 2c 20 77 65 0a 20 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 ,.we......recommend.documenting.
42d80 74 68 65 20 4c 41 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 the.LABEL.in.the.doc.strings.of.
42da0 74 68 65 20 66 75 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 the.functions......which.use.it,
42dc0 20 73 6f 20 74 68 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 .so.that.other.Lisp.programs.you
42de0 72 20 63 6f 64 65 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 r.code.calls.could......lift.the
42e00 20 6c 61 62 65 6c 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 .labeled.narrowing.if.and.when.i
42e20 74 20 6e 65 65 64 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 t.needs....--.Special.Form:.with
42e40 6f 75 74 2d 72 65 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 out-restriction.[:label.label].b
42e60 6f 64 79 0a 20 20 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 ody......This.special.form.saves
42e80 20 74 68 65 20 63 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 .the.current.bounds.of.the.acces
42ea0 73 69 62 6c 65 0a 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 sible......portion.of.the.buffer
42ec0 2c 20 77 69 64 65 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 ,.widens.the.buffer,.evaluates.t
42ee0 68 65 20 42 4f 44 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 he.BODY.forms,......and.restores
42f00 20 74 68 65 20 73 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 .the.saved.bounds...In.that.case
42f20 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 20 20 20 20 20 .it.is.equivalent.to............
42f40 28 73 61 76 65 2d 72 65 73 74 72 69 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 77 (save-restriction.............(w
42f60 69 64 65 6e 29 0a 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 iden).............body).......Wh
42f80 65 6e 20 74 68 65 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 en.the.optional.argument.LABEL.i
42fa0 73 20 70 72 65 73 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 s.present,.the.narrowing.set.by.
42fc0 20 20 20 20 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 ........with-restriction....with
42fe0 20 74 68 65 20 73 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 .the.same.LABEL.argument.is.lift
43000 65 64 2e 0a 0a 20 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 ed....--.Function:.pos-bol.&opti
43020 6f 6e 61 6c 20 63 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 onal.count......Like....line-beg
43040 69 6e 6e 69 6e 67 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 inning-position...,.but.ignores.
43060 66 69 65 6c 64 73 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 fields.(and.is.more......efficie
43080 6e 74 29 2e 0a 0a 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 nt)....--.Function:.pos-eol.&opt
430a0 69 6f 6e 61 6c 20 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 ional.count......Like....line-en
430c0 64 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 d-position...,.but.ignores.field
430e0 73 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 s.(and.is.more......efficient)..
43100 0a 20 2d 2d 20 46 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 ..--.Function:.char-uppercase-p.
43120 63 68 61 72 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 char......Return.non-...nil....i
43140 66 20 43 48 41 52 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 f.CHAR.is.an.uppercase.character
43160 20 61 63 63 6f 72 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 .according.to......Unicode....--
43180 20 4d 61 63 72 6f 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 .Macro:.with-delayed-message.(ti
431a0 6d 65 6f 75 74 20 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 meout.message).body.........Some
431c0 74 69 6d 65 73 20 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 times.it...s.unclear.whether.an.
431e0 6f 70 65 72 61 74 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 operation.will.take.a.long.time.
43200 20 20 20 20 20 74 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 .....to.execute.or.not,.or.it.ca
43220 6e 20 62 65 20 69 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 n.be.inconvenient.to.implement.a
43240 0a 20 20 20 20 20 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 ......progress.reporter...This.m
43260 61 63 72 6f 20 63 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 acro.can.be.used.in.those.situat
43280 69 6f 6e 73 2e 0a 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 ions.............(with-delayed-m
432a0 65 73 73 61 67 65 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 essage.(2.(format."Gathering.dat
432c0 61 20 66 6f 72 20 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 a.for.%s".entry)).............(s
432e0 65 74 71 20 64 61 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 etq.data.(gather-data.entry)))..
43300 20 20 20 20 20 49 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 .....In.this.example,.if.the.bod
43320 79 20 74 61 6b 65 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 y.takes.more.than.two.seconds.to
43340 0a 20 20 20 20 20 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 ......execute,.the.message.will.
43360 62 65 20 64 69 73 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 be.displayed...If.it.takes.a.sho
43380 72 74 65 72 20 74 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 rter.time......than.that,.the.me
433a0 73 73 61 67 65 20 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 ssage.won...t.be.displayed...In.
433c0 65 69 74 68 65 72 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 either.case,.the......body.is.ev
433e0 61 6c 75 61 74 65 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 aluated.as.normally,.and.the.ret
43400 75 72 6e 20 76 61 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 urn.value.of.the.final......elem
43420 65 6e 74 20 69 6e 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 ent.in.the.body.is.the.return.va
43440 6c 75 65 20 6f 66 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 lue.of.the.macro........The.MESS
43460 41 47 45 20 65 6c 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 AGE.element.is.evaluated.before.
43480 42 4f 44 59 2c 20 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 BODY,.and.is.always......evaluat
434a0 65 64 2c 20 77 68 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 ed,.whether.the.message.is.displ
434c0 61 79 65 64 20 6f 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 ayed.or.not....--.Function:.func
434e0 61 6c 6c 2d 77 69 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 all-with-delayed-message.timeout
43500 20 6d 65 73 73 61 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 .message.function......Like....f
43520 75 6e 63 61 6c 6c 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 uncall...,.but.display.MESSAGE.i
43540 66 20 46 55 4e 43 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 f.FUNCTION.takes.longer.than....
43560 20 20 54 49 4d 45 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 ..TIMEOUT...TIMEOUT.is.a.number.
43580 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 6e 74 65 67 65 of.seconds,.and.can.be.an.intege
435a0 72 20 6f 72 0a 20 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 r.or......a.floating.point.numbe
435c0 72 2e 0a 0a 20 20 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 r........If.FUNCTION.takes.less.
435e0 74 69 6d 65 20 74 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 time.to.execute.than.TIMEOUT.sec
43600 6f 6e 64 73 2c 0a 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 onds,......MESSAGE.is.not.displa
43620 79 65 64 2e 0a 0a 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 yed....--.Function:.buttonize.st
43640 72 69 6e 67 20 63 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 ring.callback.&optional.data.hel
43660 70 2d 65 63 68 6f 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 p-echo......Sometimes.it...s.mor
43680 65 20 63 6f 6e 76 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 e.convenient.to.make.a.string.in
436a0 74 6f 20 61 20 62 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 to.a.button......without.inserti
436c0 6e 67 20 69 74 20 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 ng.it.into.a.buffer.immediately,
436e0 20 66 6f 72 20 69 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 .for.instance.when......creating
43700 20 64 61 74 61 20 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 .data.structures.that.may.then,.
43720 6c 61 74 65 72 2c 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 later,.be.inserted.into.a......b
43740 75 66 66 65 72 2e 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 uffer...This.function.makes.STRI
43760 4e 47 20 69 6e 74 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 NG.into.such.a.string,.and......
43780 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 68 65 6e 20 74 68 65 CALLBACK.will.be.called.when.the
437a0 20 75 73 65 72 20 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 .user.clicks.on.the.button...The
437c0 0a 20 20 20 20 20 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 ......optional.DATA.parameter.wi
437e0 6c 6c 20 62 65 20 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 ll.be.used.as.the.parameter.when
43800 20 43 41 4c 4c 42 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 .CALLBACK......is.called...If...
43820 98 6e 69 6c e2 80 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 .nil...,.the.button.is.used.as.t
43840 68 65 20 70 61 72 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 he.parameter.instead....--.Funct
43860 69 6f 6e 3a 20 62 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 ion:.buttonize-region.start.end.
43880 63 61 6c 6c 62 61 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 callback.&optional.data.........
438a0 20 20 68 65 6c 70 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 ..help-echo......Make.the.region
438c0 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 75 .between.START.and.END.into.a.bu
438e0 74 74 6f 6e 2e 20 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 tton...When.clicked,......CALLBA
43900 43 4b 20 77 69 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 CK.will.be.called.with.the.DATA.
43920 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 20 20 49 66 0a 20 20 as.the.function.argument...If...
43940 20 20 20 44 41 54 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 ...DATA.isn...t.present.(or.is.n
43960 69 6c 29 2c 20 74 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 il),.the.button.itself.will.be.u
43980 73 65 64 0a 20 20 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 sed......instead.as.the.function
439a0 20 61 72 67 75 6d 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 .argument...If.HELP-ECHO,.use.th
439c0 61 74 20 61 73 20 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 at.as.the......help-echo.propert
439e0 79 2e 0a 0a 20 2d 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 y....--.Function:.get-display-pr
43a00 6f 70 65 72 74 79 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 operty.position.prop.&optional.o
43a20 62 6a 65 63 74 0a 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 bject...........properties......
43a40 54 68 69 73 20 63 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 This.convenience.function.can.be
43a60 20 75 73 65 64 20 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 .used.to.get.a.specific.display.
43a80 20 20 20 20 20 70 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 .....property,.no.matter.whether
43aa0 20 74 68 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 69 73 20 61 .the....display....property.is.a
43ac0 20 76 65 63 74 6f 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 .vector,.a......list.or.a.simple
43ae0 20 70 72 6f 70 65 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 .property...This.is.like....get-
43b00 74 65 78 74 2d 70 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 text-property....(*note......Exa
43b20 6d 69 6e 69 6e 67 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 mining.Properties:.(elisp)Examin
43b40 69 6e 67 20 50 72 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 ing.Properties.),.but.works.on..
43b60 20 20 20 20 74 68 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 ....the....display....property.o
43b80 6e 6c 79 2e 0a 0a 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 nly........POSITION.is.the.posit
43ba0 69 6f 6e 20 69 6e 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 ion.in.the.buffer.or.string.to.e
43bc0 78 61 6d 69 6e 65 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 xamine,.and......PROP.is.the....
43be0 64 69 73 70 6c 61 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 display....property.to.return...
43c00 54 68 65 20 6f 70 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 The.optional.OBJECT......argumen
43c20 74 20 73 68 6f 75 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 t.should.be.either.a.string.or.a
43c40 20 62 75 66 66 65 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 .buffer,.and.defaults.to.the....
43c60 20 20 63 75 72 72 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 ..current.buffer...If.the.option
43c80 61 6c 20 50 52 4f 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 al.PROPERTIES.argument.is.non-..
43ca0 98 6e 69 6c e2 80 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 .nil...,......it.should.be.a....
43cc0 64 69 73 70 6c 61 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 display....property,.and.in.that
43ce0 20 63 61 73 65 2c 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 .case,.POSITION.and......OBJECT.
43d00 61 72 65 20 69 67 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 are.ignored...(This.can.be.usefu
43d20 6c 20 69 66 20 79 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 l.if.you...ve.already.gotten....
43d40 20 20 74 68 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 77 69 74 ..the....display....property.wit
43d60 68 20 e2 80 98 67 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 h....get-char-property...,.for.i
43d80 6e 73 74 61 6e 63 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 nstance......(*note.Examining.Pr
43da0 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 6f 70 65 operties:.(elisp)Examining.Prope
43dc0 72 74 69 65 73 2e 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 rties.)....--.Function:.add-disp
43de0 6c 61 79 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 70 72 6f 70 lay-text-property.start.end.prop
43e00 20 76 61 6c 75 65 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 .value.&optional...........objec
43e20 74 0a 20 20 20 20 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 t......Add.display.property.PROP
43e40 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 6d 20 53 54 41 .with.VALUE.to.the.text.from.STA
43e60 52 54 20 74 6f 20 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 RT.to.END.......If.any.text.in.t
43e80 68 65 20 72 65 67 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 he.region.has.a.non-nil....displ
43ea0 61 79 e2 80 99 20 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 ay....property,.those......prope
43ec0 72 74 69 65 73 20 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 rties.are.retained........If.OBJ
43ee0 45 43 54 20 69 73 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 ECT.is.non-...nil...,.it.should.
43f00 62 65 20 61 20 73 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 be.a.string.or.a.buffer...If....
43f20 20 20 e2 80 98 6e 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 .....nil...,.this.defaults.to.th
43f40 65 20 63 75 72 72 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 e.current.buffer....--.Function:
43f60 20 74 61 6b 65 20 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 .take.n.list......This.function.
43f80 72 65 74 75 72 6e 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 returns.the.N.first.elements.of.
43fa0 4c 49 53 54 2e 20 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 LIST...Essentially,......it.retu
43fc0 72 6e 73 20 74 68 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 rns.the.part.of.LIST.that....nth
43fe0 63 64 72 e2 80 99 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 cdr....skips...........take....r
44000 65 74 75 72 6e 73 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 eturns.LIST.if.shorter.than.N.el
44020 65 6d 65 6e 74 73 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 ements;.it.returns....nil....if.
44040 20 20 20 20 20 4e 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 .....N.is.zero.or.negative......
44060 20 20 20 20 20 20 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 .......(take.3.'(a.b.c.d))......
44080 20 20 20 20 20 20 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 ..............(a.b.c)...........
440a0 28 74 61 6b 65 20 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 (take.10.'(a.b.c.d))............
440c0 20 20 20 20 e2 87 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 ........(a.b.c.d)...........(tak
440e0 65 20 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 e.0.'(a.b.c.d)).................
44100 87 92 20 6e 69 6c 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 ...nil...--.Function:.ntake.n.li
44120 73 74 0a 20 20 20 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 st......This.is.a.version.of....
44140 74 61 6b 65 e2 80 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 take....that.works.by.destructiv
44160 65 6c 79 20 6d 6f 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 ely.modifying......the.list.stru
44180 63 74 75 72 65 20 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 cture.of.the.argument...That.mak
441a0 65 73 20 69 74 20 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 es.it.faster,.but.the......origi
441c0 6e 61 6c 20 76 61 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 nal.value.of.LIST.may.be.lost...
441e0 20 20 20 20 20 e2 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 ........ntake....returns.LIST.un
44200 6d 6f 64 69 66 69 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 modified.if.shorter.than.N.eleme
44220 6e 74 73 3b 20 69 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 nts;.it......returns....nil....i
44240 66 20 4e 20 69 73 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 f.N.is.zero.or.negative...Otherw
44260 69 73 65 2c 20 69 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 ise,.it.returns.LIST......trunca
44280 74 65 64 20 74 6f 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 ted.to.its.first.N.elements.....
442a0 20 20 20 54 68 69 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 ...This.means.that.it.is.usually
442c0 20 61 20 67 6f 6f 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 .a.good.idea.to.use.the.return.v
442e0 61 6c 75 65 0a 20 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 alue......and.not.just.rely.on.t
44300 68 65 20 74 72 75 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 he.truncation.effect.unless.N.is
44320 20 6b 6e 6f 77 6e 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 .known.to.be......positive....--
44340 20 46 75 6e 63 74 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 .Function:.compiled-function-p.o
44360 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 72 65 74 75 72 6e 73 bject......This.function.returns
44380 20 e2 80 98 74 e2 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 ....t....if.OBJECT.is.a.function
443a0 20 6f 62 6a 65 63 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 .object.that.is......not.in.the.
443c0 66 6f 72 6d 20 6f 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 form.of.ELisp.source.code.but.so
443e0 6d 65 74 68 69 6e 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 mething.like.machine......code.o
44400 72 20 62 79 74 65 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 r.byte.code.instead...More.speci
44420 66 69 63 61 6c 6c 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 fically.it.returns....t....if.th
44440 65 0a 20 20 20 20 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 e......function.is.built-in,.or.
44460 62 79 74 65 2d 63 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 byte-compiled,.or.natively-compi
44480 6c 65 64 2c 20 6f 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 led,.or.a......function.loaded.f
444a0 72 6f 6d 20 61 20 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 rom.a.dynamic.module....--.Funct
444c0 69 6f 6e 3a 20 66 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 ion:.function-alias-p.object.&op
444e0 74 69 6f 6e 61 6c 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 tional.noerror......Checks.wheth
44500 65 72 20 4f 42 4a 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 er.OBJECT.is.a.function.alias...
44520 49 66 20 69 74 20 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 If.it.is,.it.returns.a......list
44540 20 6f 66 20 73 79 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 .of.symbols.representing.the.fun
44560 63 74 69 6f 6e 20 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 ction.alias.chain,.else....nil..
44580 99 2e 0a 20 20 20 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 ........For.instance,.if....a...
445a0 20 69 73 20 61 6e 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 .is.an.alias.for....b...,.and...
445c0 98 62 e2 80 99 20 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 .b....is.an.alias.for.........c.
445e0 80 99 3a 0a 0a 20 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 ..:............(function-alias-p
44600 20 27 61 29 0a 20 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 .'a)...................(b.c)....
44620 20 20 20 49 66 20 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 ...If.there...s.a.loop.in.the.de
44640 66 69 6e 69 74 69 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 finitions,.an.error.will.be.sign
44660 61 6c 6c 65 64 2e 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 alled.......If.NOERROR.is.non-..
44680 98 6e 69 6c e2 80 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 .nil...,.the.non-looping.parts.o
446a0 66 20 74 68 65 20 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 f.the.chain.is......returned.ins
446c0 74 65 61 64 2e 0a 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 tead....--.Function:.string-equa
446e0 6c 2d 69 67 6e 6f 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 l-ignore-case.string1.string2...
44700 20 20 20 e2 80 98 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 ......string-equal-ignore-case..
44720 99 20 63 6f 6d 70 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 ..compares.strings.ignoring.case
44740 0a 20 20 20 20 20 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 ......differences,.like....char-
44760 65 71 75 61 6c e2 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 equal....when....case-fold-searc
44780 68 e2 80 99 20 69 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 h....is....t...........*Note.(el
447a0 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 46 75 6e 63 isp)Text.Comparison::....--.Func
447c0 74 69 6f 6e 3a 20 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 tion:.string-split.string.&optio
447e0 6e 61 6c 20 73 65 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 nal.separators.omit-nulls.trim..
44800 20 20 20 20 e2 80 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 .......string-split....is.an.ali
44820 61 73 20 66 6f 72 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 as.for.the.function....split-str
44840 69 6e 67 e2 80 99 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 ing......The......name.follows.t
44860 68 65 20 63 6f 6e 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 he.convention.of.other.string.fu
44880 6e 63 74 69 6f 6e 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 nctions........*Note.(elisp)Crea
448a0 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 6e 3a 20 62 ting.Strings::....--.Function:.b
448c0 75 66 66 65 72 2d 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 uffer-match-p.condition.buffer-o
448e0 72 2d 6e 61 6d 65 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 r-name.&optional.arg......This.f
44900 75 6e 63 74 69 6f 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 unction.checks.if.a.buffer.desig
44920 6e 61 74 65 64 20 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 nated.by....buffer-or-name......
44940 20 20 20 73 61 74 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 ...satisfies.a....condition.....
44960 20 4f 70 74 69 6f 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 .Optional.third.argument.ARG.is.
44980 70 61 73 73 65 64 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 passed.to......the.predicate.fun
449a0 63 74 69 6f 6e 20 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 ction.in.CONDITION...A.condition
449c0 20 63 61 6e 20 62 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 .can.be.one.of.the......followin
449e0 67 3a 0a 20 20 20 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 g:.............A.string,.interpr
44a00 65 74 65 64 20 61 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 eted.as.a.regular.expression...T
44a20 68 65 20 62 75 66 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 he.buffer...........satisfies.th
44a40 65 20 63 6f 6e 64 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 e.condition.if.the.regular.expre
44a60 73 73 69 6f 6e 20 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 ssion.matches.the...........buff
44a80 65 72 20 6e 61 6d 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 er.name..............A.predicate
44aa0 20 66 75 6e 63 74 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 .function,.which.should.return.n
44ac0 6f 6e 2d e2 80 98 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 on-...nil....if.the...........bu
44ae0 66 66 65 72 20 6d 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 ffer.matches...If.the.function.e
44b00 78 70 65 63 74 73 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 xpects.one.argument,.it.is......
44b20 20 20 20 20 20 63 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 .....called.with.BUFFER-OR-NAME.
44b40 61 73 20 74 68 65 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 as.the.argument;.if.it.expects.2
44b60 0a 20 20 20 20 20 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 ...........arguments,.the.first.
44b80 61 72 67 75 6d 65 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 argument.is.BUFFER-OR-NAME.and.t
44ba0 68 65 20 73 65 63 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 he.second...........is.ARG.(or..
44bc0 80 98 6e 69 6c e2 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 ..nil....if.ARG.is.omitted).....
44be0 20 20 20 20 20 e2 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 .........A.cons-cell....(OPER...
44c00 45 58 50 52 29 e2 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 EXPR)....where.OPER.is.one.of...
44c20 20 20 20 20 20 20 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 ...........not..................
44c40 20 53 61 74 69 73 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 .Satisfied.if.EXPR.doesn...t.sat
44c60 69 73 66 79 20 e2 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 isfy....buffer-match-p....with..
44c80 20 20 20 20 20 20 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 ..............the.same.buffer.an
44ca0 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 6f 72 e2 80 99 0a d....arg..................or....
44cc0 20 20 20 20 20 20 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 ...............Satisfied.if.EXPR
44ce0 20 69 73 20 61 20 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 .is.a.list.and._any_.condition.i
44d00 6e 20 45 58 50 52 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 n.EXPR................satisfies.
44d20 e2 80 98 62 75 66 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 ...buffer-match-p...,.with.the.s
44d40 61 6d 65 20 62 75 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 ame.buffer.and..................
44d60 98 61 72 67 e2 80 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 .arg..................and.......
44d80 20 20 20 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 ............Satisfied.if.EXPR.is
44da0 20 61 20 6c 69 73 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 .a.list.and._all_.conditions.in.
44dc0 45 58 50 52 0a 20 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 EXPR................satisfy....b
44de0 75 66 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 uffer-match-p...,.with.the.same.
44e00 62 75 66 66 65 72 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 buffer.and....arg...............
44e20 e2 80 98 64 65 72 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 ...derived-mode.................
44e40 20 20 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 ..Satisfied.if.the.buffer...s.ma
44e60 6a 6f 72 20 6d 6f 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 jor.mode.derives.from.EXPR......
44e80 20 20 20 20 20 20 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 .........major-mode.............
44ea0 20 20 20 20 20 20 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 ......Satisfied.if.the.buffer...
44ec0 73 20 6d 61 6a 6f 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 s.major.mode.is.equal.to.EXPR...
44ee0 20 20 20 20 20 20 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 ..............Prefer.using....de
44f00 72 69 76 65 64 2d 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 rived-mode....instead.when.both.
44f20 63 61 6e 20 77 6f 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 can.work..............t.Satisfie
44f40 64 20 62 79 20 61 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 d.by.any.buffer...A.convenient.a
44f60 6c 74 65 72 6e 61 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 lternative.to...."".............
44f80 20 28 65 6d 70 74 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 .(empty.string),....(and)....(em
44fa0 70 74 79 20 63 6f 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 pty.conjunction).or....always...
44fc0 2e 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 ........*Note.(elisp)Buffer.List
44fe0 3a 3a 2e 0a 0a 20 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 ::....--.Function:.match-buffers
45000 20 63 6f 6e 64 69 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 .condition.&optional.buffers.arg
45020 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 69 ......This.function.returns.a.li
45040 73 74 20 6f 66 20 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 st.of.all.buffers.that.satisfy.a
45060 0a 20 20 20 20 20 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 .........condition...,.as.define
45080 64 20 66 6f 72 20 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 d.for....buffer-match-p......By.
450a0 64 65 66 61 75 6c 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 default.all......buffers.are.con
450c0 73 69 64 65 72 65 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 sidered,.but.this.can.be.restric
450e0 74 65 64 20 76 69 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 ted.via.the.second......optional
45100 20 e2 80 98 62 75 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 ....buffer-list....argument...Op
45120 74 69 6f 6e 61 6c 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 tional.third.argument.ARG.will..
45140 20 20 20 20 62 65 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 ....be.used.by.CONDITION.in.the.
45160 73 61 6d 65 20 77 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 same.way.as....buffer-match-p...
45180 20 64 6f 65 73 2e 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 .does........*Note.(elisp)Buffer
451a0 20 4c 69 73 74 3a 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 .List::....--.Function:.string-g
451c0 6c 79 70 68 2d 73 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 lyph-split.string......When.char
451e0 61 63 74 65 72 20 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 acter.compositions.are.in.effect
45200 2c 20 73 65 71 75 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 ,.sequence.of.characters......ca
45220 6e 20 62 65 20 63 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 n.be.composed.for.display.to.for
45240 6d 20 5f 67 72 61 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 m._grapheme.clusters_,.for......
45260 65 78 61 6d 70 6c 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 example.to.display.accented.char
45280 61 63 74 65 72 73 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 acters,.or.ligatures,.or.Emoji,.
452a0 6f 72 0a 20 20 20 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 or......when.complex.text.shapin
452c0 67 20 72 65 71 75 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 g.requires.that.for.some.scripts
452e0 2e 20 20 57 68 65 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 ...When......that.happens,.chara
45300 63 74 65 72 73 20 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 cters.no.longer.map.in.a.simple.
45320 77 61 79 20 74 6f 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 way.to.display......columns,.and
45340 20 64 69 73 70 6c 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 .display.layout.decisions.with.s
45360 75 63 68 20 73 74 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 uch.strings,.such.as......trunca
45380 74 69 6e 67 20 74 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 ting.too.wide.strings,.can.be.a.
453a0 63 6f 6d 70 6c 65 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 complex.job...This.function.....
453c0 20 68 65 6c 70 73 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 .helps.in.performing.such.jobs:.
453e0 69 74 20 73 70 6c 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 it.splits.up.its.argument.STRING
45400 0a 20 20 20 20 20 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 ......into.a.list.of.substrings,
45420 20 77 68 65 72 65 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 .where.each.substring.produces.a
45440 20 73 69 6e 67 6c 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 .single......grapheme.cluster.th
45460 61 74 20 73 68 6f 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 at.should.be.displayed.as.a.unit
45480 2e 20 20 4c 69 73 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 ...Lisp.programs......can.then.u
454a0 73 65 20 74 68 69 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 se.this.list.to.construct.visual
454c0 6c 79 2d 76 61 6c 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 ly-valid.substrings.of......STRI
454e0 4e 47 20 77 68 69 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 NG.which.will.look.correctly.on.
45500 64 69 73 70 6c 61 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 display,.or.compute.the.width...
45520 20 20 20 6f 66 20 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 ...of.any.substring.of.STRING.by
45540 20 61 64 64 69 6e 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 .adding.the.width.of.its.constit
45560 75 65 6e 74 73 0a 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 uents......in.the.returned.list,
45580 20 65 74 63 2e 0a 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 .etc........For.instance,.if.you
455a0 20 77 61 6e 74 20 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 .want.to.display.a.string.withou
455c0 74 20 74 68 65 20 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 t.the.first......glyph,.you.can.
455e0 73 61 79 3a 0a 0a 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 say:............(apply.#'insert.
45600 28 63 64 72 20 28 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 (cdr.(string-glyph-split.string)
45620 29 29 29 0a 0a 20 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 ))).......*Note.(elisp)Size.of.D
45640 69 73 70 6c 61 79 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 isplayed.Text::....--.Macro:.wit
45660 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 6e 67 65 64 h-buffer-unmodified-if-unchanged
45680 20 26 72 65 73 74 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 .&rest.body.........Evaluate.BOD
456a0 59 20 6c 69 6b 65 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 Y.like....progn...,.but.change.b
456c0 75 66 66 65 72 2d 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 uffer-modified.status.only......
456e0 69 66 20 62 75 66 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 if.buffer.text.changes...If.the.
45700 62 75 66 66 65 72 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 buffer.was.unmodified.before....
45720 20 20 65 78 65 63 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 ..execution.of.BODY,.and.buffer.
45740 74 65 78 74 20 61 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 text.after.execution.of.BODY.is.
45760 20 20 20 20 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 20 62 65 .....identical.to.what.it.was.be
45780 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 74 69 6c fore,.ensure.that.buffer.is.stil
457a0 6c 20 6d 61 72 6b 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 l.marked......unmodified.afterwa
457c0 72 64 73 2e 0a 0a 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 rds........Note.that.only.change
457e0 73 20 69 6e 20 74 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 s.in.the.raw.byte.sequence.of.th
45800 65 20 62 75 66 66 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 e.buffer.text,......as.stored.in
45820 20 74 68 65 20 69 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 .the.internal.representation,.ar
45840 65 20 6d 6f 6e 69 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 e.monitored.for.the......purpose
45860 20 6f 66 20 64 65 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 .of.detecting.the.lack.of.change
45880 73 20 69 6e 20 62 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 s.in.buffer.text...Any.other....
458a0 20 20 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 20 70 65 72 63 ..changes.that.are.normally.perc
458c0 65 69 76 65 64 20 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 eived.as."buffer.modifications",
458e0 20 73 75 63 68 0a 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 .such......as.changes.in.text.pr
45900 6f 70 65 72 74 69 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 operties,....buffer-file-coding-
45920 73 79 73 74 65 6d 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 system...,.buffer......multibyte
45940 6e 65 73 73 2c 20 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 ness,.etc.......will.not.be.noti
45960 63 65 64 2c 20 61 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 ced,.and.the.buffer.will......st
45980 69 6c 6c 20 62 65 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 ill.be.marked.unmodified,.effect
459a0 69 76 65 6c 79 20 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 ively.ignoring.those.changes....
459c0 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 66 69 6c 65 --.Function:.file-attribute-file
459e0 2d 69 64 65 6e 74 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 -identifier......Return.the.fiel
45a00 64 73 20 e2 80 98 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 ds....(inodenum.device)....as.a.
45a20 6c 69 73 74 20 66 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 list.from.attributes......genera
45a40 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 20 ted.by....file-attributes.......
45a60 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 73 ....*Note.(elisp)File.Attributes
45a80 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 61 6d 65 2d 73 70 6c ::....--.Function:.file-name-spl
45aa0 69 74 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 73 it.filename......This.function.s
45ac0 70 6c 69 74 73 20 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 plits.a.file.name.into.its.compo
45ae0 6e 65 6e 74 73 2c 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 nents,.and.can.be......thought.o
45b00 66 20 61 73 20 74 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 f.as.the.inverse.of....string-jo
45b20 69 6e e2 80 99 20 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 in....with.the.appropriate......
45b40 64 69 72 65 63 74 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 directory.separator...For.exampl
45b60 65 2c 0a 0a 20 20 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 e,............(file-name-split."
45b80 2f 74 6d 70 2f 66 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 /tmp/foo.txt")..................
45ba0 20 28 22 22 20 22 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 .(""."tmp"."foo.txt")...........
45bc0 28 73 74 72 69 6e 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 (string-join.(file-name-split."/
45be0 74 6d 70 2f 66 6f 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 tmp/foo.txt")."/")..............
45c00 20 e2 87 92 20 22 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 ....."/tmp/foo.txt"...--.Functio
45c20 6e 3a 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 72 79 20 66 69 n:.file-name-parent-directory.fi
45c40 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 74 75 72 6e lename......This.function.return
45c60 73 20 74 68 65 20 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 s.the.directory.name.of.the.pare
45c80 6e 74 20 64 69 72 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 nt.directory.of......FILENAME...
45ca0 49 66 20 46 49 4c 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 If.FILENAME.is.at.the.root.direc
45cc0 74 6f 72 79 20 6f 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 tory.of.the.filesystem,......it.
45ce0 72 65 74 75 72 6e 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 returns....nil......A.relative.F
45d00 49 4c 45 4e 41 4d 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 ILENAME.is.assumed.to.be.relativ
45d20 65 20 74 6f 0a 20 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 e.to.........default-directory..
45d40 99 2c 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 61 6c 73 .,.and.the.return.value.will.als
45d60 6f 20 62 65 20 72 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 o.be.relative.in......that.case.
45d80 20 20 49 66 20 74 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 ..If.the.return.value.is.non-...
45da0 6e 69 6c e2 80 99 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 nil...,.it.ends.in.a.slash......
45dc0 20 20 2a 4e 6f 74 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 ..*Note.(elisp)Directory.Names::
45de0 2e 0a 0a 20 2d 2d 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 ....--.Function:.file-has-change
45e00 64 2d 70 20 66 69 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 d-p.file.&optional.tag......This
45e20 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 6c e2 80 99 20 .function.returns.non-...nil....
45e40 69 66 20 74 68 65 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 if.the.time.stamp.of.FILENAME.ha
45e60 73 0a 20 20 20 20 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 s......changed.since.the.last.ca
45e80 6c 6c 2e 20 20 57 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 ll...When.called.for.the.first.t
45ea0 69 6d 65 20 66 6f 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 ime.for......some.FILENAME,.it.r
45ec0 65 63 6f 72 64 73 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 ecords.the.last.modification.tim
45ee0 65 20 61 6e 64 20 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 e.and.size.of......the.file,.and
45f00 20 72 65 74 75 72 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 .returns.non-...nil....when.FILE
45f20 4e 41 4d 45 20 65 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 NAME.exists...Thereafter,......w
45f40 68 65 6e 20 63 61 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 hen.called.for.the.same.FILENAME
45f60 2c 20 69 74 20 63 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 ,.it.compares.the.current.time..
45f80 20 20 20 20 73 74 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 ....stamp.and.size.with.the.reco
45fa0 72 64 65 64 20 6f 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 rded.ones,.and.returns.non-...ni
45fc0 6c e2 80 99 20 6f 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 l....only......if.either.the.tim
45fe0 65 20 73 74 61 6d 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 e.stamp.or.the.size.(or.both).ar
46000 65 20 64 69 66 66 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 e.different...This......is.usefu
46020 6c 20 77 68 65 6e 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 l.when.a.Lisp.program.wants.to.r
46040 65 2d 72 65 61 64 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 e-read.a.file.whenever.it......c
46060 68 61 6e 67 65 73 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 hanges...With.an.optional.argume
46080 6e 74 20 54 41 47 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 nt.TAG,.which.must.be.a.symbol,.
460a0 20 20 20 20 20 74 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 .....the.size.and.modification.t
460c0 69 6d 65 20 63 6f 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 ime.comparisons.are.limited.to.c
460e0 61 6c 6c 73 0a 20 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 alls......with.the.same.tag.....
46100 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 73 3a ...*Note.(elisp)File.Attributes:
46120 3a 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 61 62 62 72 :....--.Function:.directory-abbr
46140 65 76 2d 6d 61 6b 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 ev-make-regexp.directory......Cr
46160 65 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 eate.a.regexp.to.match.DIRECTORY
46180 20 66 6f 72 20 e2 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 .for....directory-abbrev-alist..
461a0 99 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 61 62 62 72 .....--.Function:.directory-abbr
461c0 65 76 2d 61 70 70 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 ev-apply.filename......Apply.the
461e0 20 61 62 62 72 65 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 .abbreviations.in....directory-a
46200 62 62 72 65 76 2d 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 bbrev-alist....to.FILENAME......
46220 20 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 6f .Note.that.when.calling.this,.yo
46240 75 20 73 68 6f 75 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 u.should.set....case-fold-search
46260 e2 80 99 20 61 73 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 ....as......appropriate.for.the.
46280 66 69 6c 65 73 79 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 filesystem.used.for.FILENAME....
462a0 2d 2d 20 46 75 6e 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 --.Function:.key-valid-p.keys...
462c0 20 20 20 53 61 79 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 ...Say.whether.KEYS.is.a.valid.k
462e0 65 79 2e 20 20 41 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 ey...A.key.is.a.string.consistin
46300 67 20 6f 66 0a 20 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 g.of......one.or.more.key.stroke
46320 73 2e 20 20 54 68 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 s...The.key.strokes.are.separate
46340 64 20 62 79 20 73 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 d.by.single......space.character
46360 73 2e 0a 0a 20 20 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 s........Each.key.stroke.is.eith
46380 65 72 20 61 20 73 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 er.a.single.character,.or.the.na
463a0 6d 65 20 6f 66 20 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 me.of.an......event,.surrounded.
463c0 62 79 20 61 6e 67 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 by.angle.brackets...In.addition,
463e0 20 61 6e 79 20 6b 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 .any.key.stroke......may.be.prec
46400 65 64 65 64 20 62 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 eded.by.one.or.more.modifier.key
46420 73 2e 20 20 46 69 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 s...Finally,.a.limited......numb
46440 65 72 20 6f 66 20 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 er.of.characters.have.a.special.
46460 73 68 6f 72 74 68 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 shorthand.syntax........Here...s
46480 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 0a 0a 20 20 .some.example.key.sequences.....
464a0 20 20 20 e2 80 98 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 ......f..............The.key....
464c0 66 e2 80 99 2e 0a 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 f.............S.o.m.............
464e0 20 41 20 74 68 72 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 .A.three.key.sequence.of.the.key
46500 73 20 e2 80 98 53 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 s....S...,....o....and....m.....
46520 20 20 20 20 20 e2 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 ........C-c.o..............A.two
46540 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 63 e2 80 .key.sequence.of.the.keys....c..
46560 99 20 77 69 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 ..with.the.control.modifier.....
46580 20 20 20 20 20 20 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 ......and.then.the.key....o.....
465a0 20 20 20 20 20 e2 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 ........H-<left>..............Th
465c0 65 20 6b 65 79 20 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 e.key.named."left".with.the.hype
465e0 72 20 6d 6f 64 69 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 r.modifier..........M-RET.......
46600 20 20 20 20 20 20 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 .......The."return".key.with.a.m
46620 65 74 61 20 6d 6f 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 eta.modifier..........C-M-<space
46640 3e e2 80 99 0a 20 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 >..............The."space".key.w
46660 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 61 20 6d 6f ith.both.the.control.and.meta.mo
46680 64 69 66 69 65 72 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 difiers........These.are.the.cha
466a0 72 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 racters.that.have.shorthand.synt
466c0 61 78 3a 20 e2 80 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 ax:....NUL...,....RET...,.......
466e0 80 98 54 41 42 e2 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 ..TAB...,....LFD...,....ESC...,.
46700 e2 80 98 53 50 43 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 ...SPC...,....DEL...........Modi
46720 66 69 65 72 73 20 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 fiers.have.to.be.specified.in.th
46740 69 73 20 6f 72 64 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 is.order......Alt.(A)-Control.(C
46760 29 2d 48 79 70 65 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 )-Hyper.(H)-Meta.(M)-Shift.(s)-S
46780 75 70 65 72 20 28 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 uper.(s)...--.Function:.key-pars
467a0 65 20 6b 65 79 73 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 e.keys......Convert.KEYS.to.the.
467c0 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 6f internal.Emacs.key.representatio
467e0 6e 2e 20 20 53 65 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 n...See.........key-valid-p....f
46800 6f 72 20 61 20 64 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 or.a.description.of.valid.key.se
46820 71 75 65 6e 63 65 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 quences...Examples......include.
46840 e2 80 98 66 e2 80 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 ...f...,....C-c.C-c...,....H-<le
46860 66 74 3e e2 80 99 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 ft>...,....M-RET....or....C-M-<r
46880 65 74 75 72 6e 3e 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 eturn>.......--.Function:.keymap
468a0 2d 73 65 74 20 6b 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 -set.keymap.key.definition......
468c0 54 68 69 73 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 66 This.function.sets.the.binding.f
468e0 6f 72 20 4b 45 59 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 or.KEY.in.KEYMAP...(If.KEY.is.mo
46900 72 65 0a 20 20 20 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 re......than.one.event.long,.the
46920 20 63 68 61 6e 67 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 .change.is.actually.made.in.anot
46940 68 65 72 20 6b 65 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 her.keymap......reached.from.KEY
46960 4d 41 50 2e 29 20 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 MAP.)..The.argument.BINDING.can.
46980 62 65 20 61 6e 79 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 be.any.Lisp.object,......but.onl
469a0 79 20 63 65 72 74 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 y.certain.types.are.meaningful..
469c0 20 28 46 6f 72 20 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 .(For.a.list.of.meaningful......
469e0 74 79 70 65 73 2c 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 types,.see.*note.(elisp)Key.Look
46a00 75 70 3a 3a 2e 29 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 up::.)..The.value.returned.by...
46a20 20 20 20 e2 80 98 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 ......keymap-set....is.BINDING..
46a40 0a 20 20 20 20 20 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 ......If.KEY.is....<t>...,.this.
46a60 73 65 74 73 20 74 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 sets.the.default.binding.in.KEYM
46a80 41 50 2e 20 20 57 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 AP...When.an......event.has.no.b
46aa0 69 6e 64 69 6e 67 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 inding.of.its.own,.the.Emacs.com
46ac0 6d 61 6e 64 20 6c 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 mand.loop.uses.the......keymap..
46ae0 99 73 20 64 65 66 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 .s.default.binding,.if.there.is.
46b00 6f 6e 65 2e 0a 0a 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 one........Every.prefix.of.KEY.m
46b20 75 73 74 20 62 65 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 ust.be.a.prefix.key.(i.e.,.bound
46b40 20 74 6f 20 61 20 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 .to.a.keymap)......or.undefined;
46b60 20 6f 74 68 65 72 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 .otherwise.an.error.is.signaled.
46b80 20 20 49 66 20 73 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 ..If.some.prefix.of......KEY.is.
46ba0 75 6e 64 65 66 69 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 undefined,.then....keymap-set...
46bc0 20 64 65 66 69 6e 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 .defines.it.as.a.prefix.key.so..
46be0 20 20 20 20 74 68 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 ....that.the.rest.of.KEY.can.be.
46c00 64 65 66 69 6e 65 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 defined.as.specified........If.t
46c20 68 65 72 65 20 77 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 here.was.previously.no.binding.f
46c40 6f 72 20 4b 45 59 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 or.KEY.in.KEYMAP,.the.new......b
46c60 69 6e 64 69 6e 67 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 inding.is.added.at.the.beginning
46c80 20 6f 66 20 4b 45 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 .of.KEYMAP...The.order.of.bindin
46ca0 67 73 0a 20 20 20 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 gs......in.a.keymap.makes.no.dif
46cc0 66 65 72 65 6e 63 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 ference.for.keyboard.input,.but.
46ce0 69 74 20 64 6f 65 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 it.does......matter.for.menu.key
46d00 6d 61 70 73 20 28 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 maps.(*note.(elisp)Menu.Keymaps:
46d20 3a 29 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 67 20 :)........*Note.(elisp)Changing.
46d40 4b 65 79 20 42 69 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 Key.Bindings::....--.Function:.k
46d60 65 79 6d 61 70 2d 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 eymap-global-set.key.command....
46d80 20 20 54 68 69 73 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 ..This.function.sets.the.binding
46da0 20 6f 66 20 4b 45 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 .of.KEY.in.the.current.global.ma
46dc0 70 20 74 6f 0a 20 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 p.to......BINDING.............(k
46de0 65 79 6d 61 70 2d 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 eymap-global-set.KEY.BINDING)...
46e00 20 20 20 20 20 20 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 ......................(keymap-se
46e20 74 20 28 63 75 72 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 t.(current-global-map).KEY.BINDI
46e40 4e 47 29 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 64 69 NG).......*Note.(elisp)Key.Bindi
46e60 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 6b 65 ng.Commands::....--.Function:.ke
46e80 79 6d 61 70 2d 6c 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 ymap-local-set.key.command......
46ea0 54 68 69 73 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 This.function.sets.the.binding.o
46ec0 66 20 4b 45 59 20 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 f.KEY.in.the.current.local.keyma
46ee0 70 0a 20 20 20 20 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 p......to.BINDING.............(k
46f00 65 79 6d 61 70 2d 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 eymap-local-set.KEY.BINDING)....
46f20 20 20 20 20 20 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 .....................(keymap-set
46f40 20 28 63 75 72 72 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 .(current-local-map).KEY.BINDING
46f60 29 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 64 69 6e 67 ).......*Note.(elisp)Key.Binding
46f80 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 6b 65 79 6d .Commands::....--.Function:.keym
46fa0 61 70 2d 67 6c 6f 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 ap-global-unset.key.&optional.re
46fc0 6d 6f 76 65 0a 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 move......This.function.removes.
46fe0 74 68 65 20 62 69 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 the.binding.of.KEY.from.the.curr
47000 65 6e 74 20 67 6c 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 ent.global......map........One.u
47020 73 65 20 6f 66 20 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 se.of.this.function.is.in.prepar
47040 61 74 69 6f 6e 20 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 ation.for.defining.a.longer.....
47060 20 6b 65 79 20 74 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 .key.that.uses.KEY.as.a.prefix..
47080 94 77 68 69 63 68 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 .which.would.not.be.allowed.if.K
470a0 45 59 20 68 61 73 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 EY.has......a.non-prefix.binding
470c0 2e 20 20 46 6f 72 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 ...For.example:............(keym
470e0 61 70 2d 67 6c 6f 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 ap-global-unset."C-l")..........
47100 20 20 20 20 20 e2 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 .........nil...........(keymap-g
47120 6c 6f 62 61 6c 2d 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 lobal-set."C-l.C-l".'redraw-disp
47140 6c 61 79 29 0a 20 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 lay)...................nil......
47160 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 6e .*Note.(elisp)Key.Binding.Comman
47180 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 6f 63 61 ds::....--.Function:.keymap-loca
471a0 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 20 20 l-unset.key.&optional.remove....
471c0 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 6e 64 ..This.function.removes.the.bind
471e0 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 6c 6f 63 61 ing.of.KEY.from.the.current.loca
47200 6c 0a 20 20 20 20 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 l......map........*Note.(elisp)K
47220 65 79 20 42 69 6e 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 ey.Binding.Commands::....--.Func
47240 74 69 6f 6e 3a 20 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 tion:.keymap-substitute.keymap.o
47260 6c 64 64 65 66 20 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 lddef.newdef.&optional.oldmap...
47280 20 20 20 20 20 20 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 ........prefix......Replace.OLDD
472a0 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 79 73 20 69 6e 20 4b EF.with.NEWDEF.for.any.keys.in.K
472c0 45 59 4d 41 50 20 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 EYMAP.now.defined.as......OLDDEF
472e0 2e 20 20 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 70 ...In.other.words,.OLDDEF.is.rep
47300 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 0a 20 20 laced.with.NEWDEF.wherever.it...
47320 20 20 20 61 70 70 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 ...appears...Alternatively,.if.o
47340 70 74 69 6f 6e 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 ptional.fourth.argument.OLDMAP.i
47360 73 0a 20 20 20 20 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 s......specified,.we.redefine.in
47380 20 4b 45 59 4d 41 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 .KEYMAP.as.NEWDEF.those.keys.tha
473a0 74 20 61 72 65 0a 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 t.are......defined.as.OLDDEF.in.
473c0 4f 4c 44 4d 41 50 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 OLDMAP....--.Function:.keymap-lo
473e0 6f 6b 75 70 20 6b 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 okup.keymap.key.&optional.accept
47400 2d 64 65 66 61 75 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 -default.no-remap...........posi
47420 74 69 6f 6e 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 tion......This.function.returns.
47440 74 68 65 20 64 65 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 the.definition.of.KEY.in.KEYMAP.
47460 20 20 41 6c 6c 20 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 ..All.the......other.functions.d
47480 65 73 63 72 69 62 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 escribed.in.this.chapter.that.lo
474a0 6f 6b 20 75 70 20 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 ok.up.keys.use.........keymap-lo
474c0 6f 6b 75 70 e2 80 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 okup......Here.are.examples:....
474e0 20 20 20 20 20 20 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 ........(keymap-lookup.(current-
47500 67 6c 6f 62 61 6c 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 global-map)."C-x.C-f")..........
47520 20 20 20 20 20 e2 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 .........find-file...........(ke
47540 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 6d 61 70 29 ymap-lookup.(current-global-map)
47560 20 22 43 2d 78 20 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 ."C-x.C-f.1.2.3.4.5")...........
47580 20 20 20 20 e2 87 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 ........2.......*Note.(elisp)Fun
475a0 63 74 69 6f 6e 73 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 ctions.for.Key.Lookup::....--.Fu
475c0 6e 63 74 69 6f 6e 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 nction:.keymap-local-lookup.keys
475e0 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 0a 20 20 20 20 20 4c .&optional.accept-default......L
47600 69 6b 65 20 e2 80 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 ike....keymap-lookup...,.but.res
47620 74 72 69 63 74 69 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 tricting.the.search.for.commands
47640 20 62 6f 75 6e 64 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 .bound......to.KEYS.to.the.curre
47660 6e 74 20 6c 6f 63 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 nt.local.keymap....--.Function:.
47680 6b 65 79 6d 61 70 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 keymap-global-lookup.keys.&optio
476a0 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 98 nal.accept-default......Like....
476c0 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 6e keymap-lookup...,.but.restrictin
476e0 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 0a g.the.search.for.commands.bound.
47700 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 67 6c 6f 62 .....to.KEYS.to.the.current.glob
47720 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 64 65 66 69 6e 65 al.keymap....--.Function:.define
47740 2d 6b 65 79 6d 61 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 -keymap.&rest.definitions......Y
47760 6f 75 20 63 61 6e 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 ou.can.create.a.keymap.with.the.
47780 66 75 6e 63 74 69 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 functions.described.above,.and..
477a0 20 20 20 20 74 68 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 ....then.use....keymap-set....(*
477c0 6e 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 6e 64 69 6e 67 note.(elisp)Changing.Key.Binding
477e0 73 3a 3a 29 20 74 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 s::).to......specify.key.binding
47800 73 20 69 6e 20 74 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 s.in.that.map...When.writing.mod
47820 65 73 2c 20 68 6f 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 es,.however,.you......frequently
47840 20 68 61 76 65 20 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 .have.to.bind.a.large.number.of.
47860 6b 65 79 73 20 61 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 keys.at.once,.and.using.........
47880 6b 65 79 6d 61 70 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 keymap-set....on.them.all.can.be
478a0 20 74 65 64 69 6f 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 .tedious.and.error-prone...Inste
478c0 61 64 0a 20 20 20 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 ad......you.can.use....define-ke
478e0 79 6d 61 70 e2 80 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 ymap...,.which.creates.a.keymap.
47900 61 6e 64 20 62 69 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 and.binds.a......number.of.keys.
47920 20 20 48 65 72 65 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 ..Here...s.a.very.basic.example:
47940 0a 0a 20 20 20 20 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 ............(define-keymap......
47960 20 20 20 20 20 20 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 ......."n".#'forward-line.......
47980 20 20 20 20 20 20 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 ......"f".#'previous-line.......
479a0 20 20 20 20 20 20 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 ......"C-c.C-c".#'quit-window)..
479c0 20 20 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 6e 65 77 .....This.function.creates.a.new
479e0 20 73 70 61 72 73 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 .sparse.keymap,.defines.the.keys
47a00 74 72 6f 6b 65 73 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 trokes......in.PAIRS,.and.return
47a20 73 20 74 68 65 20 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 s.the.new.keymap........PAIRS.is
47a40 20 61 20 6c 69 73 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 .a.list.of.alternating.key.bindi
47a60 6e 67 73 20 61 6e 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 ngs.and.key.definitions,.as.....
47a80 20 61 63 63 65 70 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 .accepted.by....keymap-set......
47aa0 49 6e 20 61 64 64 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 In.addition,.the.key.can.be.the.
47ac0 73 70 65 63 69 61 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 special......symbol....:menu...,
47ae0 20 69 6e 20 77 68 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 .in.which.case.the.definition.sh
47b00 6f 75 6c 64 20 62 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 ould.be.a.menu......definition.a
47b20 73 20 61 63 63 65 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 s.accepted.by....easy-menu-defin
47b40 65 e2 80 99 20 28 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 e....(*note.(elisp)Easy......Men
47b60 75 3a 3a 29 2e 20 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 u::)...Here...s.a.brief.example.
47b80 6f 66 20 74 68 69 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 of.this.usage:............(defin
47ba0 65 2d 6b 65 79 6d 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 e-keymap.:full.t............."g"
47bc0 20 23 27 65 77 77 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 .#'eww-reload.............:menu.
47be0 27 28 22 45 77 77 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 '("Eww".....................["Ex
47c00 69 74 22 20 71 75 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 it".quit-window.t]..............
47c20 20 20 20 20 20 20 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 .......["Reload".eww-reload.t]))
47c40 0a 0a 20 20 20 20 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 .......A.number.of.keywords.can.
47c60 62 65 20 75 73 65 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 be.used.before.the.key/definitio
47c80 6e 20 70 61 69 72 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 n.pairs.to......change.features.
47ca0 6f 66 20 74 68 65 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 of.the.new.keymap...If.any.of.th
47cc0 65 20 66 65 61 74 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 e.feature.keywords......is.missi
47ce0 6e 67 20 66 72 6f 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 ng.from.the....define-keymap....
47d00 63 61 6c 6c 2c 20 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 call,.the.default.value.for.....
47d20 20 74 68 61 74 20 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 .that.feature.is....nil......Her
47d40 65 e2 80 99 73 20 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 e...s.a.list.of.the.available.fe
47d60 61 74 75 72 65 0a 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 ature......keywords:..........:f
47d80 75 6c 6c 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 ull..............If.non-...nil..
47da0 99 2c 20 63 72 65 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 .,.create.a.char-table.keymap.(a
47dc0 73 20 66 72 6f 6d 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 s.from..............make-keymap.
47de0 80 99 29 20 69 6e 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 ..).instead.of.a.sparse.keymap.(
47e00 61 73 20 66 72 6f 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 as.from..............make-sparse
47e20 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 72 65 61 74 69 6e -keymap....(*note.(elisp)Creatin
47e40 67 20 4b 65 79 6d 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 g.Keymaps::)...A...........spars
47e60 65 20 6b 65 79 6d 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 e.keymap.is.the.default.........
47e80 80 98 3a 70 61 72 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 ..:parent..............If.non-..
47ea0 98 6e 69 6c 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 6b .nil...,.the.value.should.be.a.k
47ec0 65 79 6d 61 70 20 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 eymap.to.use.as.the...........pa
47ee0 72 65 6e 74 20 28 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 rent.(*note.(elisp)Inheritance.a
47f00 6e 64 20 4b 65 79 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 nd.Keymaps::)...........:keymap.
47f20 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 99 2c 20 74 .............If.non-...nil...,.t
47f40 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 2e 20 20 49 6e he.value.should.be.a.keymap...In
47f60 73 74 65 61 64 20 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 stead.of...........creating.a.ne
47f80 77 20 6b 65 79 6d 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 w.keymap,.the.specified.keymap.i
47fa0 73 20 6d 6f 64 69 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 s.modified...........instead....
47fc0 20 20 20 20 e2 80 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 .......:suppress..............If
47fe0 20 6e 6f 6e 2d e2 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 .non-...nil...,.the.keymap.will.
48000 62 65 20 73 75 70 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 be.suppressed.with..............
48020 73 75 70 70 72 65 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 suppress-keymap....(*note.(elisp
48040 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 2e 20 20 42 79 0a 20 )Changing.Key.Bindings::)...By..
48060 20 20 20 20 20 20 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 .........default,.digits.and.the
48080 20 6d 69 6e 75 73 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 .minus.sign.are.exempt.from.....
480a0 20 20 20 20 20 20 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 ......suppressing,.but.if.the.va
480c0 6c 75 65 20 69 73 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 lue.is....nodigits...,.this.supp
480e0 72 65 73 73 65 73 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 resses...........digits.and.minu
48100 73 2d 73 69 67 6e 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 s-sign.like.it.does.with.other.c
48120 68 61 72 61 63 74 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 haracters...........:name.......
48140 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
48160 75 65 20 73 68 6f 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 ue.should.be.a.string.to.use.as.
48180 74 68 65 20 6d 65 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 the.menu...........for.the.keyma
481a0 70 20 69 66 20 79 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 p.if.you.use.it.as.a.menu.with..
481c0 80 98 78 2d 70 6f 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 ..x-popup-menu..............(*no
481e0 74 65 20 28 65 6c 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 te.(elisp)Pop-Up.Menus::).......
48200 20 e2 80 98 3a 70 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 ....:prefix..............If.non-
48220 e2 80 98 6e 69 6c 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 ...nil...,.the.value.should.be.a
48240 20 73 79 6d 62 6f 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 .symbol.to.be.used.as.a.........
48260 20 20 70 72 65 66 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 ..prefix.command.(*note.(elisp)P
48280 72 65 66 69 78 20 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 refix.Keys::)...If.this.is.the..
482a0 20 20 20 20 20 20 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 .........case,.this.symbol.is.re
482c0 74 75 72 6e 65 64 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 turned.by....define-keymap....in
482e0 73 74 65 61 64 20 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 stead.of...........the.map.itsel
48300 66 2e 0a 0a 20 2d 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 f....--.Function:.defvar-keymap.
48320 28 76 61 72 69 61 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 (variable-name.&rest.defs)......
48340 42 79 20 66 61 72 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 By.far,.the.most.common.thing.to
48360 20 64 6f 20 77 69 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 .do.with.a.keymap.is.to.bind.it.
48380 74 6f 0a 20 20 20 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 to......a.variable...This.is.wha
483a0 74 20 76 69 72 74 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 t.virtually.all.modes.do...a.mod
483c0 65 20 63 61 6c 6c 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 e.called.........foo....almost.a
483e0 6c 77 61 79 73 20 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 lways.has.a.variable.called....f
48400 6f 6f 2d 6d 6f 64 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 oo-mode-map...........This.macro
48420 20 64 65 66 69 6e 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 .defines.NAME.as.a.variable,.pas
48440 73 65 73 20 4f 50 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 ses.OPTIONS.and.PAIRS.to........
48460 98 64 65 66 69 6e 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 .define-keymap...,.and.uses.the.
48480 72 65 73 75 6c 74 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 result.as.the.default.value.for.
484a0 74 68 65 0a 20 20 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 the......variable........OPTIONS
484c0 20 69 73 20 6c 69 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 .is.like.the.keywords.in....defi
484e0 6e 65 2d 6b 65 79 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 ne-keymap...,.but.there...s.an..
48500 20 20 20 20 61 64 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 ....additional....:doc....keywor
48520 64 20 74 68 61 74 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 d.that.provides.the.doc.string.f
48540 6f 72 20 74 68 65 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 or.the......defined.variable....
48560 20 20 20 20 48 65 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 ....Here...s.an.example:........
48580 20 20 20 20 28 64 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 ....(defvar-keymap.eww-textarea-
485a0 6d 61 70 0a 20 20 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 map.............:parent.text-mod
485c0 65 2d 6d 61 70 0a 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 e-map............."RET".#'forwar
485e0 64 2d 6c 69 6e 65 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 d-line............."TAB".#'shr-n
48600 65 78 74 2d 6c 69 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 ext-link)...--.Macro:.while-let.
48620 73 70 65 63 20 74 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 spec.then-forms.........Like....
48640 77 68 65 6e 2d 6c 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 when-let...,.but.repeat.until.a.
48660 62 69 6e 64 69 6e 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 binding.in.SPEC.is....nil......T
48680 68 65 0a 20 20 20 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 he......return.value.is.always..
486a0 80 98 6e 69 6c e2 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 ..nil...........This.is.comparab
486c0 6c 65 20 74 6f 20 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 le.to....and-let*.......--.Funct
486e0 69 6f 6e 3a 20 77 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 ion:.window-configuration-equal-
48700 70 20 63 6f 6e 66 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 p.config1.config2......This.func
48720 74 69 6f 6e 20 73 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 tion.says.whether.two.window.con
48740 66 69 67 75 72 61 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 figurations.have.the.same......w
48760 69 6e 64 6f 77 20 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 indow.layout,.but.ignores.the.va
48780 6c 75 65 73 20 6f 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 lues.of.point.and.the.saved.....
487a0 20 73 63 72 6f 6c 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 .scrolling.positions...it.can.re
487c0 74 75 72 6e 20 e2 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 turn....t....even.if.those.aspec
487e0 74 73 20 64 69 66 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 ts.differ....--.Macro:.ert-with-
48800 74 65 6d 70 2d 66 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 temp-file.name.&rest.body......B
48820 69 6e 64 20 4e 41 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 ind.NAME.to.the.name.of.a.new.te
48840 6d 70 6f 72 61 72 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 mporary.file.and.evaluate.BODY..
48860 20 20 20 20 20 44 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 .....Delete.the.temporary.file.a
48880 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 6e 2d fter.BODY.exits.normally.or.non-
488a0 6c 6f 63 61 6c 6c 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 locally.......NAME.will.be.bound
488c0 20 74 6f 20 74 68 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 .to.the.file.name.of.the.tempora
488e0 72 79 20 66 69 6c 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 ry.file...See.the......docstring
48900 20 66 6f 72 20 73 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 .for.supported.keyword.arguments
48920 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 64 69 72 65 ....--.Macro:.ert-with-temp-dire
48940 63 74 6f 72 79 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 ctory.name.&rest.body......Bind.
48960 4e 41 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 NAME.to.the.name.of.a.new.tempor
48980 61 72 79 20 64 69 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 ary.directory.and.evaluate......
489a0 42 4f 44 59 2e 20 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 BODY...Delete.the.temporary.dire
489c0 63 74 6f 72 79 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 ctory.after.BODY.exits.normally.
489e0 6f 72 0a 20 20 20 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 or......non-locally........NAME.
48a00 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 65 2c 20 is.bound.to.the.directory.name,.
48a20 6e 6f 74 20 74 68 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 not.the.directory.file.name.....
48a40 20 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 ..(In.other.words,.it.will.end.w
48a60 69 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 20 6f 6e 0a ith.the.directory.delimiter;.on.
48a80 20 20 20 20 20 55 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 .....Unix-like.systems,.it.will.
48aa0 65 6e 64 20 77 69 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 end.with."/".).......The.same.ke
48ac0 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 72 74 65 64 20 61 73 yword.arguments.are.supported.as
48ae0 20 69 6e 20 e2 80 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 .in....ert-with-temp-file.......
48b00 20 20 28 77 68 69 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 ..(which.see),.except.for....:te
48b20 78 74 e2 80 99 2e 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 xt.......--.Function:.cl-constan
48b40 74 6c 79 20 76 61 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 tly.value......Return.a.function
48b60 20 74 68 61 74 20 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 .that.takes.any.number.of.argume
48b80 6e 74 73 2c 20 62 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 nts,.but.returns......VALUE....-
48ba0 2d 20 4d 61 63 72 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 -.Macro:.cl-with-gensyms.names..
48bc0 2e 20 62 6f 64 79 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 ..body......This.macro.expands.t
48be0 6f 20 63 6f 64 65 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 o.code.that.executes.BODY.with.e
48c00 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 20 69 6e 20 4e 41 4d ach.of.the......variables.in.NAM
48c20 45 53 20 62 6f 75 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 ES.bound.to.a.fresh.uninterned.s
48c40 79 6d 62 6f 6c 2c 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 ymbol,.or....gensym...,......in.
48c60 43 6f 6d 6d 6f 6e 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 Common.Lisp.parlance...For.macro
48c80 73 20 72 65 71 75 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 s.requiring.more.than.one......g
48ca0 65 6e 73 79 6d 2c 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 ensym,.use.of....cl-with-gensyms
48cc0 e2 80 99 20 73 68 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 ....shortens.the.code.and.render
48ce0 73 0a 20 20 20 20 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 s......one...s.intentions.cleare
48d00 72 2e 20 20 43 6f 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 r...Compare:............(defmacr
48d20 6f 20 6d 79 2d 6d 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 o.my-macro.(foo).............(le
48d40 74 20 28 28 62 61 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 t.((bar.(gensym."bar")).........
48d60 20 20 20 20 20 20 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 ..........(baz.(gensym."baz"))..
48d80 20 20 20 20 20 20 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 .................(quux.(gensym."
48da0 71 75 75 78 22 29 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 quux")))...............`(let.((,
48dc0 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 20 20 20 20 20 20 2e bar.(+....)))...................
48de0 2e 2e 29 29 29 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 61 ..)))............(defmacro.my-ma
48e00 63 72 6f 20 28 66 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 cro.(foo).............(cl-with-g
48e20 65 6e 73 79 6d 73 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 ensyms.(bar.baz.quux)...........
48e40 20 20 20 20 60 28 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 ....`(let.((,bar.(+....)))......
48e60 20 20 20 20 20 20 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 ...............)))...--.Macro:.c
48e80 6c 2d 6f 6e 63 65 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 l-once-only.((variable.form)...)
48ea0 20 62 6f 64 79 0a 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 .body......This.macro.is.primari
48ec0 6c 79 20 74 6f 20 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 ly.to.help.the.macro.programmer.
48ee0 65 6e 73 75 72 65 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 ensure.that......forms.supplied.
48f00 62 79 20 74 68 65 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 by.the.user.of.the.macro.are.eva
48f20 6c 75 61 74 65 64 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 luated.just.once.by......its.exp
48f40 61 6e 73 69 6f 6e 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 ansion.even.though.the.result.of
48f60 20 65 76 61 6c 75 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 .evaluating.the.form.is.to......
48f80 6f 63 63 75 72 20 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 occur.more.than.once...Less.ofte
48fa0 6e 2c 20 74 68 69 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 n,.this.macro.is.used.to.ensure.
48fc0 20 20 20 20 20 74 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 .....that.forms.supplied.by.the.
48fe0 6d 61 63 72 6f 20 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 macro.programmer.are.evaluated.j
49000 75 73 74 0a 20 20 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 ust......once........Each.VARIAB
49020 4c 45 20 6d 61 79 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 LE.may.be.used.to.refer.to.the.r
49040 65 73 75 6c 74 20 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 esult.of.evaluating.FORM......in
49060 20 42 4f 44 59 2e 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 .BODY......cl-once-only....binds
49080 20 65 61 63 68 20 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 .each.VARIABLE.to.a.fresh.uninte
490a0 72 6e 65 64 0a 20 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 rned......symbol.during.the.eval
490c0 75 61 74 69 6f 6e 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 uation.of.BODY...Then,....cl-onc
490e0 65 2d 6f 6e 6c 79 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 e-only....wraps......the.final.e
49100 78 70 61 6e 73 69 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 xpansion.in.code.to.evaluate.eac
49120 68 20 46 4f 52 4d 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 h.FORM.and.bind.the......result.
49140 74 6f 20 74 68 65 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 to.the.corresponding.uninterned.
49160 73 79 6d 62 6f 6c 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 symbol...Thus,.when.the......mac
49180 72 6f 20 77 72 69 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 ro.writer.substitutes.the.value.
491a0 66 6f 72 20 56 41 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 for.VARIABLE.into.the.expansion.
491c0 20 20 20 20 20 74 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 .....they.are.effectively.referr
491e0 69 6e 67 20 74 6f 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 ing.to.the.result.of.evaluating.
49200 46 4f 52 4d 2c 0a 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 FORM,......rather.than.FORM.itse
49220 6c 66 2e 20 20 41 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 lf...Another.way.to.put.this.is.
49240 74 68 61 74 20 65 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 that.each......VARIABLE.is.bound
49260 20 74 6f 20 61 6e 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 .to.an.expression.for.the.(singu
49280 6c 61 72 29 20 72 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 lar).result.of......evaluating.F
492a0 4f 52 4d 2e 0a 0a 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 ORM........The.most.common.case.
492c0 69 73 20 77 68 65 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 is.where.VARIABLE.is.one.of.the.
492e0 61 72 67 75 6d 65 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 arguments.to......the.macro.bein
49300 67 20 77 72 69 74 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 g.written,.so....(variable.varia
49320 62 6c 65 29 e2 80 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 ble)....may.be......abbreviated.
49340 74 6f 20 6a 75 73 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 to.just....variable...........Fo
49360 72 20 65 78 61 6d 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 r.example,.consider.this.macro:.
49380 0a 20 20 20 20 20 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 ...........(defmacro.my-list.(x.
493a0 79 20 26 72 65 73 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 y.&rest.forms).............(let.
493c0 28 28 78 2d 72 65 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 ((x-result.(gensym))............
493e0 20 20 20 20 20 20 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 .......(y-result.(gensym))).....
49400 20 20 20 20 20 20 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 ..........`(let.((,x-result.,x).
49420 20 20 20 20 20 20 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 .....................(,y-result.
49440 2c 79 29 29 0a 20 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 ,y))..................(list.,x-r
49460 65 73 75 6c 74 20 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 esult.,y-result.,x-result.,y-res
49480 75 6c 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 ult........................(prog
494a0 6e 20 2c 40 66 6f 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 n.,@forms)))).......In.a.call.li
494c0 6b 65 20 e2 80 98 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 ke....(my-list.(pop.foo)....)...
494e0 20 74 68 65 20 69 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 .the.intermediate.binding......t
49500 6f 20 e2 80 98 78 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 o....x-result....ensures.that.th
49520 65 20 e2 80 98 70 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 e....pop....is.not.done.twice...
49540 42 75 74 20 61 73 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 But.as.a......result.the.code.is
49560 20 72 61 74 68 65 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 .rather.complex:.the.reader.must
49580 20 6b 65 65 70 20 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 .keep.track.of......how....x-res
495a0 75 6c 74 e2 80 99 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 ult....really.just.means.the.fir
495c0 73 74 20 70 61 72 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 st.parameter.of.the.call.to.....
495e0 20 74 68 65 20 6d 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 .the.macro,.and.the.required.use
49600 20 6f 66 20 6d 75 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 .of.multiple.gensyms.to.avoid...
49620 20 20 20 76 61 72 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 ...variable.capture.by....(progn
49640 20 2c 40 66 6f 72 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 .,@forms)....obscures.things.fur
49660 74 68 65 72 2e 0a 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 ther..........cl-once-only....ta
49680 6b 65 73 20 63 61 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 kes.care.of.these.details:......
496a0 20 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 ......(defmacro.my-list.(x.y.&re
496c0 73 74 20 66 6f 72 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 st.forms).............(cl-once-o
496e0 6e 6c 79 20 28 78 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 nly.(x.y)...............`(list.,
49700 78 20 2c 79 20 2c 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 x.,y.,x.,y......................
49720 28 70 72 6f 67 6e 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 (progn.,@forms))))..2.5.2.Extend
49740 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.-----------------
49760 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.
49780 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
497a0 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.
497c0 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
497e0 64 65 64 20 69 6e 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 ded.in.Emacs.29.1:...--.Function
49800 3a 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 2d 6d 61 70 20 :.compat-call.set-transient-map.
49820 6b 65 79 6d 61 70 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 keymap.&optional.keep-pred......
49840 20 20 20 20 20 6f 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 .....on-exit.message.timeout....
49860 20 20 54 68 69 73 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 ..This.function.adds.KEYMAP.as.a
49880 20 e2 80 9c 74 72 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 ....transient....keymap,.which.t
498a0 61 6b 65 73 0a 20 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 akes......precedence.over.other.
498c0 6b 65 79 6d 61 70 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 keymaps.for.one.(or.more).subseq
498e0 75 65 6e 74 20 6b 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 uent.keys........Normally,.KEYMA
49900 50 20 69 73 20 75 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 P.is.used.just.once,.to.look.up.
49920 74 68 65 20 76 65 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 the.very.next.key.......If.the.o
49940 70 74 69 6f 6e 61 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 ptional.argument.KEEP-PRED.is...
49960 98 74 e2 80 99 2c 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 .t...,.the.map.stays.active.as..
49980 20 20 20 20 6c 6f 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 ....long.as.the.user.types.keys.
499a0 64 65 66 69 6e 65 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 defined.in.KEYMAP;.when.the.user
499c0 20 74 79 70 65 73 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 .types......a.key.that.is.not.in
499e0 20 4b 45 59 4d 41 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 .KEYMAP,.the.transient.keymap.is
49a00 20 64 65 61 63 74 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 .deactivated......and.normal.key
49a20 20 6c 6f 6f 6b 75 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 .lookup.continues.for.that.key..
49a40 0a 20 20 20 20 20 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 ......The.KEEP-PRED.argument.can
49a60 20 61 6c 73 6f 20 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 .also.be.a.function...In.that.ca
49a80 73 65 2c 20 74 68 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 se,.the......function.is.called.
49aa0 77 69 74 68 20 6e 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 with.no.arguments,.prior.to.runn
49ac0 69 6e 67 20 65 61 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 ing.each......command,.while.KEY
49ae0 4d 41 50 20 69 73 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 MAP.is.active;.it.should.return.
49b00 6e 6f 6e 2d e2 80 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 non-...nil....if......KEYMAP.sho
49b20 75 6c 64 20 73 74 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 uld.stay.active........The.optio
49b40 6e 61 6c 20 61 72 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 nal.argument.ON-EXIT,.if.non-...
49b60 6e 69 6c e2 80 99 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 nil...,.specifies.a.function....
49b80 20 20 74 68 61 74 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 ..that.is.called,.with.no.argume
49ba0 6e 74 73 2c 20 61 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 nts,.after.KEYMAP.is.deactivated
49bc0 2e 0a 0a 20 20 20 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 ........The.optional.argument.ME
49be0 53 53 41 47 45 20 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 SSAGE.specifies.the.message.to.d
49c00 69 73 70 6c 61 79 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 isplay......after.activating.the
49c20 20 74 72 61 6e 73 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 .transient.map...If.MESSAGE.is.a
49c40 20 73 74 72 69 6e 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 .string,.it.is......the.format.s
49c60 74 72 69 6e 67 20 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 tring.for.the.message,.and.any..
49c80 80 98 25 6b e2 80 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 ..%k....specifier.in.that......s
49ca0 74 72 69 6e 67 20 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 tring.is.replaced.with.the.list.
49cc0 6f 66 20 6b 65 79 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 of.keys.from.the.transient.map..
49ce0 20 20 20 20 20 41 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 .....Any.other.non-...nil....val
49d00 75 65 20 6f 66 20 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 ue.of.MESSAGE.stands.for.the.def
49d20 61 75 6c 74 20 6d 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 ault.message......format....Repe
49d40 61 74 20 77 69 74 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 at.with.%k...........If.the.opti
49d60 6f 6e 61 6c 20 61 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 onal.argument.TIMEOUT.is.non-...
49d80 6e 69 6c e2 80 99 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 nil...,.it.should.be.a......numb
49da0 65 72 20 74 68 61 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 er.that.specifies.how.many.secon
49dc0 64 73 20 6f 66 20 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 ds.of.idle.time.to.wait.before..
49de0 20 20 20 20 64 65 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 ....deactivating.KEYMAP...The.va
49e00 6c 75 65 20 6f 66 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 lue.of.the.variable.........set-
49e20 74 72 61 6e 73 69 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 transient-map-timeout...,.if.non
49e40 2d e2 80 98 6e 69 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 -...nil...,.overrides.the.value.
49e60 6f 66 0a 20 20 20 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 of......this.argument........Thi
49e80 73 20 66 75 6e 63 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 s.function.works.by.adding.and.r
49ea0 65 6d 6f 76 69 6e 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 emoving.KEYMAP.from.the.variable
49ec0 0a 20 20 20 20 20 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 .........overriding-terminal-loc
49ee0 61 6c 2d 6d 61 70 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 al-map...,.which.takes.precedenc
49f00 65 20 6f 76 65 72 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 e.over.all......other.active.key
49f20 6d 61 70 73 20 28 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 maps.(*note.(Searching.Keymaps)e
49f40 6c 69 73 70 3a 3a 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 lisp::)....--.Function:.compat-c
49f60 61 6c 6c 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 all.string-lines.string.&optiona
49f80 6c 20 6f 6d 69 74 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 l.omit-nulls...........keep-newl
49fa0 69 6e 65 73 0a 20 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 ines......Split.STRING.into.a.li
49fc0 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 62 6f 75 6e 64 61 72 st.of.strings.on.newline.boundar
49fe0 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 6c 20 61 72 67 75 6d ies...If.the......optional.argum
4a000 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 6e 69 6c e2 80 99 2c ent.OMIT-NULLS.is.non-...nil...,
4a020 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 20 20 20 20 20 74 68 .remove.empty.lines.from......th
4a040 65 20 72 65 73 75 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 e.results...If.the.optional.argu
4a060 6d 65 6e 74 20 4b 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 ment.KEEP-NEWLINES.is.non-...nil
4a080 e2 80 99 2c 0a 20 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 ...,......don...t.remove.the.tra
4a0a0 69 6c 69 6e 67 20 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 iling.newlines.from.the.result.s
4a0c0 74 72 69 6e 67 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 trings........*Note.(elisp)Creat
4a0e0 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 6e 3a 20 63 6f ing.Strings::....--.Function:.co
4a100 6d 70 61 74 2d 63 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 mpat-call.define-key......This.f
4a120 75 6e 63 74 69 6f 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 unction.is.like....keymap-set...
4a140 20 28 2a 6e 6f 74 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 .(*note.(elisp)Changing.Key.....
4a160 20 42 69 6e 64 69 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 .Bindings::,.but.understands.onl
4a180 79 20 74 68 65 20 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 y.the.legacy.key.syntaxes.......
4a1a0 20 49 6e 20 61 64 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 .In.addition,.this.function.also
4a1c0 20 68 61 73 20 61 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 .has.a.REMOVE.argument...If.it.i
4a1e0 73 0a 20 20 20 20 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 s......non-...nil...,.the.defini
4a200 74 69 6f 6e 20 77 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 tion.will.be.removed...This.is.a
4a220 6c 6d 6f 73 74 20 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 lmost.the.same......as.setting.t
4a240 68 65 20 64 65 66 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 he.definition.to....nil...,.but.
4a260 6d 61 6b 65 73 20 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 makes.a.difference.if.the......K
4a280 45 59 4d 41 50 20 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 EYMAP.has.a.parent,.and.KEY.is.s
4a2a0 68 61 64 6f 77 69 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 hadowing.the.same.binding.in.the
4a2c0 0a 20 20 20 20 20 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 ......parent...With.REMOVE,.subs
4a2e0 65 71 75 65 6e 74 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 equent.lookups.will.return.the.b
4a300 69 6e 64 69 6e 67 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 inding.in......the.parent,.where
4a320 61 73 20 77 69 74 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 as.with.a....nil....definition.t
4a340 68 65 20 6c 6f 6f 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 he.lookups.will.return.........n
4a360 69 6c e2 80 99 2e 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 il...........*Note.(elisp)Low-Le
4a380 76 65 6c 20 4b 65 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 vel.Key.Binding::........This.co
4a3a0 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 68 65 20 mpatibility.version.handles.the.
4a3c0 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 0a 0a 20 2d 2d 20 46 optional.argument.REMOVE....--.F
4a3e0 75 6e 63 74 69 6f 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 unction:.compat-call.plist-get.p
4a400 6c 69 73 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 0a 20 20 list.prop.&optional.predicate...
4a420 20 20 20 54 68 69 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 ...This.returns.the.value.of.the
4a440 20 50 52 4f 50 45 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 .PROPERTY.property.stored.in.the
4a460 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 70 ......property.list.PLIST...Comp
4a480 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 2c arisons.are.done.with.PREDICATE,
4a4a0 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 20 .and......defaults.to....eq.....
4a4c0 20 49 74 20 61 63 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 .It.accepts.a.malformed.PLIST.ar
4a4e0 67 75 6d 65 6e 74 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 gument...If......PROPERTY.is.not
4a500 20 66 6f 75 6e 64 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 .found.in.the.PLIST,.it.returns.
4a520 e2 80 98 6e 69 6c 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 ...nil...........*Note.(elisp)Pl
4a540 69 73 74 20 41 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 ist.Access::........This.compati
4a560 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
4a580 6e 61 6c 20 61 72 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 nal.argument.PREDICATE.......Thi
4a5a0 73 20 69 73 20 61 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 s.is.a.generalized.variable.(*no
4a5c0 74 65 20 28 65 6c 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 te.(elisp)Generalized......Varia
4a5e0 62 6c 65 73 3a 3a 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 bles::).that.can.be.used.to.chan
4a600 67 65 20 61 20 76 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 ge.a.value.with....setf.......--
4a620 20 46 75 6e 63 74 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 .Function:.compat-call.plist-put
4a640 20 70 6c 69 73 74 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 .plist.prop.val.&optional.predic
4a660 61 74 65 0a 20 20 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 ate......This.stores.VALUE.as.th
4a680 65 20 76 61 6c 75 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 e.value.of.the.PROPERTY.property
4a6a0 20 69 6e 20 74 68 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 .in.the......property.list.PLIST
4a6c0 2e 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 52 45 ...Comparisons.are.done.with.PRE
4a6e0 44 49 43 41 54 45 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 DICATE,.and......defaults.to....
4a700 65 71 e2 80 99 2e 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 eq......It.may.modify.PLIST.dest
4a720 72 75 63 74 69 76 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 ructively,.or.it.may......constr
4a740 75 63 74 20 61 20 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 uct.a.new.list.structure.without
4a760 20 61 6c 74 65 72 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 .altering.the.old...The......fun
4a780 63 74 69 6f 6e 20 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 ction.returns.the.modified.prope
4a7a0 72 74 79 20 6c 69 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 rty.list,.so.you.can.store.that.
4a7c0 20 20 20 20 20 62 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 .....back.in.the.place.where.you
4a7e0 20 67 6f 74 20 50 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 .got.PLIST........*Note.(elisp)P
4a800 6c 69 73 74 20 41 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 list.Access::........This.compat
4a820 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 68 65 20 6f 70 74 69 ibility.version.handles.the.opti
4a840 6f 6e 61 6c 20 61 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 onal.argument.PREDICATE....--.Fu
4a860 6e 63 74 69 6f 6e 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 nction:.compat-call.plist-member
4a880 20 70 6c 69 73 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 0a .plist.prop.&optional.predicate.
4a8a0 20 20 20 20 20 54 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 .....This.returns.non-...nil....
4a8c0 69 66 20 50 4c 49 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 if.PLIST.contains.the.given.PROP
4a8e0 45 52 54 59 2e 0a 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 ERTY.......Comparisons.are.done.
4a900 77 69 74 68 20 50 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 with.PREDICATE,.and.defaults.to.
4a920 e2 80 98 65 71 e2 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 ...eq......Unlike.........plist-
4a940 67 65 74 e2 80 99 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 get...,.this.allows.you.to.disti
4a960 6e 67 75 69 73 68 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 nguish.between.a.missing......pr
4a980 6f 70 65 72 74 79 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 operty.and.a.property.with.the.v
4a9a0 61 6c 75 65 20 e2 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 alue....nil......The.value.is...
4a9c0 20 20 20 61 63 74 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 ...actually.the.tail.of.PLIST.wh
4a9e0 6f 73 65 20 e2 80 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 ose....car....is.PROPERTY.......
4aa00 20 2a 4e 6f 74 65 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 .*Note.(elisp)Plist.Access::....
4aa20 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 73 69 6f 6e 20 68 ....This.compatibility.version.h
4aa40 61 6e 64 6c 65 73 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 andles.the.optional.argument.PRE
4aa60 44 49 43 41 54 45 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 DICATE...2.5.3.Missing.Definitio
4aa80 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 2d 0a 0a 43 6f ns.-------------------------..Co
4aaa0 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 72 74 20 66 6f mpat.does.not.provide.support.fo
4aac0 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 65 73 0a 69 6d r.the.following.Lisp.features.im
4aae0 70 6c 65 6d 65 6e 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 plemented.in.29.1:.........The.f
4ab00 75 6e 63 74 69 6f 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 unction....imagep............The
4ab20 20 66 75 6e 63 74 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 .function....image-at-point-p...
4ab40 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 75 6e 63 74 69 6f .........The.function....functio
4ab60 6e 2d 64 6f 63 75 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 n-documentation............The.m
4ab80 61 63 72 6f 20 e2 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 acro....with-undo-amalgamate....
4aba0 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 74 72 69 6e 67 2d 67 ........The.function....string-g
4abc0 6c 79 70 68 2d 73 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 lyph-split............The.functi
4abe0 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 54 68 on....string-limit............Th
4ac00 65 20 66 75 6e 63 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 e.function....string-pixel-width
4ac20 e2 80 99 20 61 6e 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 ....and....buffer-text-pixel-siz
4ac40 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 6d 69 6e e............The.function....min
4ac60 69 62 75 66 66 65 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 ibuffer-lazy-highlight-setup....
4ac80 0a 20 20 20 e2 80 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 ........The.function....pp-emacs
4aca0 2d 6c 69 73 70 2d 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 -lisp-code............The.functi
4acc0 6f 6e 20 e2 80 98 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 on....bidi-string-strip-control-
4ace0 63 68 61 72 61 63 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 characters............The.native
4ad00 20 66 75 6e 63 74 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 .function....current-cpu-time...
4ad20 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 78 64 67 2d 73 74 .........The.functions....xdg-st
4ad40 61 74 65 2d 68 6f 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 ate-home...,....xdg-current-desk
4ad60 74 6f 70 e2 80 99 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 top....and.........xdg-session-t
4ad80 79 70 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 73 65 74 6f ype............The.macro....seto
4ada0 70 74 e2 80 99 2e 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 pt............The....oclosure...
4adc0 20 6c 69 62 72 61 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 .library.........The....textsec.
4ade0 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 72 61 6e 67 65 e2 ...library.........The....range.
4ae00 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 73 74 72 69 6e 67 ...library.........The....string
4ae20 2d 65 64 69 74 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 -edit....library.........The....
4ae40 76 74 61 62 6c 65 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 vtable....library.........The...
4ae60 98 70 69 78 65 6c 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 .pixel-fill....library.........S
4ae80 75 70 70 6f 72 74 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 upport.for.symbols.with.position
4aea0 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 6c 38 71 6d 30 70 .information.....File:.docl8qm0p
4aec0 2e 69 6e 66 6f 2c 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 .info,..Node:.Emacs.30.1,..Prev:
4aee0 20 45 6d 61 63 73 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 .Emacs.29.1,..Up:.Support..2.6.E
4af00 6d 61 63 73 20 33 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 macs.30.1.==============..2.6.1.
4af20 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 2d 2d 2d Added.Definitions.--------------
4af40 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 74 69 6f ---------..The.following.functio
4af60 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 20 69 6e ns.and.macros.are.implemented.in
4af80 20 45 6d 61 63 73 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 .Emacs.30.1...These.functions.ar
4afa0 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 20 45 6d e.made.available.by.Compat.on.Em
4afc0 61 63 73 20 76 65 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 acs.versions.older.than.30.1...N
4afe0 6f 74 65 20 74 68 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 ote.that.due.to.upstream.changes
4b000 2c 20 69 74 20 6d 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 ,.it.might.happen.that.there.wil
4b020 6c 20 62 65 20 74 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 l.be.the.need.for.changes,.so.us
4b040 65 20 74 68 65 73 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 e.these.functions.with.care....-
4b060 2d 20 56 61 72 69 61 62 6c 65 3a 20 74 72 75 73 74 65 64 2d 63 6f 6e 74 65 6e 74 0a 20 20 20 20 -.Variable:.trusted-content.....
4b080 20 4c 69 73 74 20 6f 66 20 66 69 6c 65 73 20 61 6e 64 20 64 69 72 65 63 74 6f 72 69 65 73 20 77 .List.of.files.and.directories.w
4b0a0 68 6f 73 65 20 63 6f 6e 74 65 6e 74 20 77 65 20 74 72 75 73 74 2e 20 20 42 65 20 65 78 74 72 61 hose.content.we.trust...Be.extra
4b0c0 0a 20 20 20 20 20 63 61 72 65 66 75 6c 20 68 65 72 65 20 73 69 6e 63 65 20 74 72 75 73 74 69 6e ......careful.here.since.trustin
4b0e0 67 20 6d 65 61 6e 73 20 74 68 61 74 20 45 6d 61 63 73 20 6d 69 67 68 74 20 65 78 65 63 75 74 65 g.means.that.Emacs.might.execute
4b100 20 74 68 65 20 63 6f 64 65 0a 20 20 20 20 20 63 6f 6e 74 61 69 6e 65 64 20 77 69 74 68 69 6e 20 .the.code......contained.within.
4b120 74 68 6f 73 65 20 66 69 6c 65 73 20 61 6e 64 20 64 69 72 65 63 74 6f 72 69 65 73 20 77 69 74 68 those.files.and.directories.with
4b140 6f 75 74 20 61 6e 20 65 78 70 6c 69 63 69 74 0a 20 20 20 20 20 72 65 71 75 65 73 74 20 62 79 20 out.an.explicit......request.by.
4b160 74 68 65 20 75 73 65 72 2e 20 20 4f 6e 65 20 69 6d 70 6f 72 74 61 6e 74 20 63 61 73 65 20 77 68 the.user...One.important.case.wh
4b180 65 6e 20 74 68 69 73 20 6d 69 67 68 74 20 68 61 70 70 65 6e 20 69 73 0a 20 20 20 20 20 77 68 65 en.this.might.happen.is......whe
4b1a0 6e 20 e2 80 98 66 6c 79 6d 61 6b 65 2d 6d 6f 64 65 e2 80 99 20 69 73 20 65 6e 61 62 6c 65 64 20 n....flymake-mode....is.enabled.
4b1c0 28 66 6f 72 20 65 78 61 6d 70 6c 65 2c 20 77 68 65 6e 20 69 74 20 69 73 20 61 64 64 65 64 20 74 (for.example,.when.it.is.added.t
4b1e0 6f 20 61 0a 20 20 20 20 20 6d 6f 64 65 20 68 6f 6f 6b 29 2e 20 20 45 61 63 68 20 65 6c 65 6d 65 o.a......mode.hook)...Each.eleme
4b200 6e 74 20 6f 66 20 74 68 65 20 6c 69 73 74 20 73 68 6f 75 6c 64 20 62 65 20 61 20 73 74 72 69 6e nt.of.the.list.should.be.a.strin
4b220 67 3a 20 2d 20 49 66 20 69 74 0a 20 20 20 20 20 65 6e 64 73 20 69 6e 20 22 2f 22 2c 20 69 74 20 g:.-.If.it......ends.in."/",.it.
4b240 69 73 20 63 6f 6e 73 69 64 65 72 65 64 20 61 73 20 61 20 64 69 72 65 63 74 6f 72 79 20 6e 61 6d is.considered.as.a.directory.nam
4b260 65 20 61 6e 64 20 6d 65 61 6e 73 20 74 68 61 74 0a 20 20 20 20 20 45 6d 61 63 73 20 73 68 6f 75 e.and.means.that......Emacs.shou
4b280 6c 64 20 74 72 75 73 74 20 61 6c 6c 20 74 68 65 20 66 69 6c 65 73 20 77 68 6f 73 65 20 6e 61 6d ld.trust.all.the.files.whose.nam
4b2a0 65 20 68 61 73 20 74 68 69 73 20 64 69 72 65 63 74 6f 72 79 20 61 73 20 61 0a 20 20 20 20 20 70 e.has.this.directory.as.a......p
4b2c0 72 65 66 69 78 2e 20 20 2d 20 65 6c 73 65 20 69 74 20 69 73 20 63 6f 6e 73 69 64 65 72 65 64 20 refix...-.else.it.is.considered.
4b2e0 61 73 20 61 20 66 69 6c 65 20 6e 61 6d 65 2e 20 20 55 73 65 20 61 62 62 72 65 76 69 61 74 65 64 as.a.file.name...Use.abbreviated
4b300 0a 20 20 20 20 20 66 69 6c 65 20 6e 61 6d 65 73 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 ......file.names...For.example,.
4b320 61 6e 20 65 6e 74 72 79 20 22 7e 2f 6d 79 63 6f 64 65 22 20 6d 65 61 6e 73 20 74 68 61 74 20 45 an.entry."~/mycode".means.that.E
4b340 6d 61 63 73 20 77 69 6c 6c 0a 20 20 20 20 20 74 72 75 73 74 20 61 6c 6c 20 74 68 65 20 66 69 6c macs.will......trust.all.the.fil
4b360 65 73 20 69 6e 20 79 6f 75 72 20 64 69 72 65 63 74 6f 72 79 20 22 6d 79 63 6f 64 65 22 2e 20 20 es.in.your.directory."mycode"...
4b380 54 68 69 73 20 76 61 72 69 61 62 6c 65 20 63 61 6e 0a 20 20 20 20 20 61 6c 73 6f 20 62 65 20 73 This.variable.can......also.be.s
4b3a0 65 74 20 74 6f 20 e2 80 98 3a 61 6c 6c e2 80 99 2c 20 69 6e 20 77 68 69 63 68 20 63 61 73 65 20 et.to....:all...,.in.which.case.
4b3c0 45 6d 61 63 73 20 77 69 6c 6c 20 74 72 75 73 74 20 61 6c 6c 20 66 69 6c 65 73 2c 0a 20 20 20 20 Emacs.will.trust.all.files,.....
4b3e0 20 77 68 69 63 68 20 6f 70 65 6e 73 20 61 20 67 61 70 69 6e 67 20 73 65 63 75 72 69 74 79 20 68 .which.opens.a.gaping.security.h
4b400 6f 6c 65 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 74 72 75 73 74 65 64 2d 63 6f 6e 74 ole....--.Function:.trusted-cont
4b420 65 6e 74 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 77 65 20 ent-p......Return.non-nil.if.we.
4b440 74 72 75 73 74 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 trust.the.contents.of.the.curren
4b460 74 20 62 75 66 66 65 72 2e 0a 20 20 20 20 20 48 65 72 65 2c 20 22 74 72 75 73 74 22 20 6d 65 61 t.buffer.......Here,."trust".mea
4b480 6e 73 20 74 68 61 74 20 77 65 20 61 72 65 20 77 69 6c 6c 69 6e 67 20 74 6f 20 72 75 6e 20 63 6f ns.that.we.are.willing.to.run.co
4b4a0 64 65 20 66 6f 75 6e 64 20 69 6e 73 69 64 65 20 6f 66 0a 20 20 20 20 20 69 74 2e 20 20 53 65 65 de.found.inside.of......it...See
4b4c0 20 61 6c 73 6f 20 e2 80 98 74 72 75 73 74 65 64 2d 63 6f 6e 74 65 6e 74 e2 80 99 2e 0a 0a 20 2d .also....trusted-content.......-
4b4e0 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 63 6f 6c 6f 72 2d 6f 6b 6c 61 62 2d 74 6f 2d 78 79 7a 20 6c -.Function:.color-oklab-to-xyz.l
4b500 20 61 20 62 0a 20 20 20 20 20 43 6f 6e 76 65 72 74 20 74 68 65 20 4f 6b 4c 61 62 20 63 6f 6c 6f .a.b......Convert.the.OkLab.colo
4b520 72 20 72 65 70 72 65 73 65 6e 74 65 64 20 62 79 20 4c 20 41 20 42 20 74 6f 20 43 49 45 20 58 59 r.represented.by.L.A.B.to.CIE.XY
4b540 5a 2e 20 4f 6b 6c 61 62 20 69 73 20 61 0a 20 20 20 20 20 70 65 72 63 65 70 74 75 61 6c 20 63 6f Z..Oklab.is.a......perceptual.co
4b560 6c 6f 72 20 73 70 61 63 65 20 63 72 65 61 74 65 64 20 62 79 20 42 6a c3 b6 72 6e 20 4f 74 74 6f lor.space.created.by.Bj..rn.Otto
4b580 73 73 6f 6e 0a 20 20 20 20 20 3c 68 74 74 70 73 3a 2f 2f 62 6f 74 74 6f 73 73 6f 6e 2e 67 69 74 sson......<https://bottosson.git
4b5a0 68 75 62 2e 69 6f 2f 70 6f 73 74 73 2f 6f 6b 6c 61 62 2f 3e 2e 20 20 49 74 20 68 61 73 20 74 68 hub.io/posts/oklab/>...It.has.th
4b5c0 65 20 70 72 6f 70 65 72 74 79 0a 20 20 20 20 20 74 68 61 74 20 63 68 61 6e 67 65 73 20 69 6e 20 e.property......that.changes.in.
4b5e0 74 68 65 20 68 75 65 20 61 6e 64 20 73 61 74 75 72 61 74 69 6f 6e 20 6f 66 20 61 20 63 6f 6c 6f the.hue.and.saturation.of.a.colo
4b600 72 20 63 61 6e 20 62 65 20 6d 61 64 65 20 77 68 69 6c 65 0a 20 20 20 20 20 6d 61 69 6e 74 61 69 r.can.be.made.while......maintai
4b620 6e 69 6e 67 20 74 68 65 20 73 61 6d 65 20 70 65 72 63 65 69 76 65 64 20 6c 69 67 68 74 6e 65 73 ning.the.same.perceived.lightnes
4b640 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 63 6f 6c 6f 72 2d 78 79 7a 2d 74 6f 2d 6f s....--.Function:.color-xyz-to-o
4b660 6b 6c 61 62 20 78 20 79 20 7a 0a 20 20 20 20 20 43 6f 6e 76 65 72 74 20 74 68 65 20 43 49 45 20 klab.x.y.z......Convert.the.CIE.
4b680 58 59 5a 20 63 6f 6c 6f 72 20 72 65 70 72 65 73 65 6e 74 65 64 20 62 79 20 58 20 59 20 5a 20 74 XYZ.color.represented.by.X.Y.Z.t
4b6a0 6f 20 4f 6b 6c 61 62 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 63 6f 6c 6f 72 2d 6f 6b o.Oklab....--.Function:.color-ok
4b6c0 6c 61 62 2d 74 6f 2d 73 72 67 62 20 6c 20 61 20 62 0a 20 20 20 20 20 43 6f 6e 76 65 72 74 20 74 lab-to-srgb.l.a.b......Convert.t
4b6e0 68 65 20 4f 6b 6c 61 62 20 63 6f 6c 6f 72 20 72 65 70 72 65 73 65 6e 74 65 64 20 62 79 20 4c 20 he.Oklab.color.represented.by.L.
4b700 41 20 42 20 74 6f 20 73 52 47 42 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 63 6f 6c 6f A.B.to.sRGB....--.Function:.colo
4b720 72 2d 73 72 67 62 2d 74 6f 2d 6f 6b 6c 61 62 20 72 20 67 20 62 0a 20 20 20 20 20 43 6f 6e 76 65 r-srgb-to-oklab.r.g.b......Conve
4b740 72 74 20 74 68 65 20 73 52 47 42 20 63 6f 6c 6f 72 20 52 20 47 20 42 20 74 6f 20 4f 6b 6c 61 62 rt.the.sRGB.color.R.G.B.to.Oklab
4b760 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 63 68 61 72 2d 74 6f 2d 6e 61 6d 65 20 63 68 ....--.Function:.char-to-name.ch
4b780 61 72 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 ar......This.function.returns.th
4b7a0 65 20 55 6e 69 63 6f 64 65 20 6e 61 6d 65 20 6f 66 20 43 48 41 52 2e 20 20 49 74 20 72 65 74 75 e.Unicode.name.of.CHAR...It.retu
4b7c0 72 6e 73 20 e2 80 98 6e 69 6c e2 80 99 0a 20 20 20 20 20 69 66 20 43 48 41 52 20 69 73 20 6e 6f rns....nil.........if.CHAR.is.no
4b7e0 74 20 61 20 63 68 61 72 61 63 74 65 72 20 6f 72 20 68 61 73 20 6e 6f 20 55 6e 69 63 6f 64 65 20 t.a.character.or.has.no.Unicode.
4b800 6e 61 6d 65 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6f 62 61 72 72 61 79 2d 63 6c 65 name....--.Function:.obarray-cle
4b820 61 72 20 6f 62 61 72 72 61 79 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 ar.obarray......This.function.re
4b840 6d 6f 76 65 73 20 61 6c 6c 20 73 79 6d 62 6f 6c 73 20 66 72 6f 6d 20 4f 42 41 52 52 41 59 2e 0a moves.all.symbols.from.OBARRAY..
4b860 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 63 6c 6f 73 75 72 65 70 20 6f 62 6a 65 63 74 0a 20 ..--.Function:.closurep.object..
4b880 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 80 ....This.function.returns....t..
4b8a0 99 20 69 66 20 4f 42 4a 45 43 54 20 69 73 20 61 20 63 6c 6f 73 75 72 65 2c 20 77 68 69 63 68 20 ..if.OBJECT.is.a.closure,.which.
4b8c0 69 73 20 61 0a 20 20 20 20 20 70 61 72 74 69 63 75 6c 61 72 20 6b 69 6e 64 20 6f 66 20 66 75 6e is.a......particular.kind.of.fun
4b8e0 63 74 69 6f 6e 20 6f 62 6a 65 63 74 2e 20 20 43 75 72 72 65 6e 74 6c 79 20 63 6c 6f 73 75 72 65 ction.object...Currently.closure
4b900 73 20 61 72 65 20 75 73 65 64 0a 20 20 20 20 20 66 6f 72 20 61 6c 6c 20 62 79 74 65 2d 63 6f 64 s.are.used......for.all.byte-cod
4b920 65 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 61 6c 6c 20 69 6e 74 65 72 70 72 65 74 65 64 20 e.functions.and.all.interpreted.
4b940 66 75 6e 63 74 69 6f 6e 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 69 6e 74 65 72 70 functions....--.Function:.interp
4b960 72 65 74 65 64 2d 66 75 6e 63 74 69 6f 6e 2d 70 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 54 68 69 reted-function-p.object......Thi
4b980 73 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 66 20 4f 42 s.function.returns....t....if.OB
4b9a0 4a 45 43 54 20 69 73 20 61 6e 20 69 6e 74 65 72 70 72 65 74 65 64 20 66 75 6e 63 74 69 6f 6e 2e JECT.is.an.interpreted.function.
4b9c0 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 70 72 69 6d 69 74 69 76 65 2d 66 75 6e 63 74 69 ...--.Function:.primitive-functi
4b9e0 6f 6e 2d 70 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 on-p.object......Return....t....
4ba00 69 66 20 4f 42 4a 45 43 54 20 69 73 20 61 20 62 75 69 6c 74 2d 69 6e 20 70 72 69 6d 69 74 69 76 if.OBJECT.is.a.built-in.primitiv
4ba20 65 20 66 75 6e 63 74 69 6f 6e 2e 20 20 54 68 69 73 0a 20 20 20 20 20 65 78 63 6c 75 64 65 73 20 e.function...This......excludes.
4ba40 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 61 72 65 20 6e 6f special.forms,.since.they.are.no
4ba60 74 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 76 61 6c 75 t.functions....--.Function:.valu
4ba80 65 3c 20 61 20 62 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 e<.a.b......This.function.return
4baa0 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 69 66 20 41 20 63 6f 6d 65 73 20 62 65 66 6f 72 s.non-...nil....if.A.comes.befor
4bac0 65 20 42 20 69 6e 20 74 68 65 20 73 74 61 6e 64 61 72 64 0a 20 20 20 20 20 73 6f 72 74 69 6e 67 e.B.in.the.standard......sorting
4bae0 20 6f 72 64 65 72 3b 20 74 68 69 73 20 6d 65 61 6e 73 20 74 68 61 74 20 69 74 20 72 65 74 75 72 .order;.this.means.that.it.retur
4bb00 6e 73 20 e2 80 98 6e 69 6c e2 80 99 20 77 68 65 6e 20 42 20 63 6f 6d 65 73 20 62 65 66 6f 72 65 ns....nil....when.B.comes.before
4bb20 0a 20 20 20 20 20 41 2c 20 6f 72 20 69 66 20 74 68 65 79 20 61 72 65 20 65 71 75 61 6c 20 6f 72 ......A,.or.if.they.are.equal.or
4bb40 20 75 6e 6f 72 64 65 72 65 64 2e 0a 0a 20 20 20 20 20 54 68 65 20 61 72 67 75 6d 65 6e 74 73 20 .unordered........The.arguments.
4bb60 41 20 61 6e 64 20 42 20 6d 75 73 74 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 74 79 70 65 2e A.and.B.must.have.the.same.type.
4bb80 20 20 53 70 65 63 69 66 69 63 61 6c 6c 79 3a 0a 0a 20 20 20 20 20 20 20 20 e2 80 a2 20 4e 75 6d ..Specifically:..............Num
4bba0 62 65 72 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 75 73 69 6e 67 20 e2 80 98 3c e2 80 99 2e bers.are.compared.using....<....
4bbc0 0a 20 20 20 20 20 20 20 20 e2 80 a2 20 53 74 72 69 6e 67 73 20 61 72 65 20 63 6f 6d 70 61 72 65 .............Strings.are.compare
4bbe0 64 20 75 73 69 6e 67 20 e2 80 98 73 74 72 69 6e 67 3c e2 80 99 20 61 6e 64 20 73 79 6d 62 6f 6c d.using....string<....and.symbol
4bc00 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 62 79 20 63 6f 6d 70 s.are.compared...........by.comp
4bc20 61 72 69 6e 67 20 74 68 65 69 72 20 6e 61 6d 65 73 20 61 73 20 73 74 72 69 6e 67 73 2e 0a 20 20 aring.their.names.as.strings....
4bc40 20 20 20 20 20 20 e2 80 a2 20 43 6f 6e 73 65 73 2c 20 6c 69 73 74 73 2c 20 76 65 63 74 6f 72 73 ..........Conses,.lists,.vectors
4bc60 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 0a 20 20 20 20 20 20 .and.records.are.compared.......
4bc80 20 20 20 20 6c 65 78 69 63 6f 67 72 61 70 68 69 63 61 6c 6c 79 2e 20 20 54 68 69 73 20 6d 65 61 ....lexicographically...This.mea
4bca0 6e 73 20 74 68 61 74 20 74 68 65 20 74 77 6f 20 73 65 71 75 65 6e 63 65 73 20 61 72 65 0a 20 20 ns.that.the.two.sequences.are...
4bcc0 20 20 20 20 20 20 20 20 63 6f 6d 70 61 72 65 64 20 65 6c 65 6d 65 6e 74 2d 77 69 73 65 20 66 72 ........compared.element-wise.fr
4bce0 6f 6d 20 6c 65 66 74 20 74 6f 20 72 69 67 68 74 20 75 6e 74 69 6c 20 74 68 65 79 20 64 69 66 66 om.left.to.right.until.they.diff
4bd00 65 72 2c 0a 20 20 20 20 20 20 20 20 20 20 61 6e 64 20 74 68 65 20 72 65 73 75 6c 74 20 69 73 20 er,...........and.the.result.is.
4bd20 74 68 65 6e 20 74 68 61 74 20 6f 66 20 e2 80 98 76 61 6c 75 65 3c e2 80 99 20 6f 6e 20 74 68 65 then.that.of....value<....on.the
4bd40 20 66 69 72 73 74 20 70 61 69 72 20 6f 66 0a 20 20 20 20 20 20 20 20 20 20 64 69 66 66 65 72 69 .first.pair.of...........differi
4bd60 6e 67 20 65 6c 65 6d 65 6e 74 73 2e 20 20 49 66 20 6f 6e 65 20 73 65 71 75 65 6e 63 65 20 72 75 ng.elements...If.one.sequence.ru
4bd80 6e 73 20 6f 75 74 20 6f 66 20 65 6c 65 6d 65 6e 74 73 0a 20 20 20 20 20 20 20 20 20 20 62 65 66 ns.out.of.elements...........bef
4bda0 6f 72 65 20 74 68 65 20 6f 74 68 65 72 2c 20 74 68 65 20 73 68 6f 72 74 65 72 20 73 65 71 75 65 ore.the.other,.the.shorter.seque
4bdc0 6e 63 65 20 63 6f 6d 65 73 20 62 65 66 6f 72 65 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 6c nce.comes.before.the...........l
4bde0 6f 6e 67 65 72 2e 0a 20 20 20 20 20 20 20 20 e2 80 a2 20 4d 61 72 6b 65 72 73 20 61 72 65 20 63 onger..............Markers.are.c
4be00 6f 6d 70 61 72 65 64 20 66 69 72 73 74 20 62 79 20 62 75 66 66 65 72 2c 20 74 68 65 6e 20 62 79 ompared.first.by.buffer,.then.by
4be20 20 70 6f 73 69 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 20 e2 80 a2 20 42 75 66 66 65 72 73 20 61 .position..............Buffers.a
4be40 6e 64 20 70 72 6f 63 65 73 73 65 73 20 61 72 65 20 63 6f 6d 70 61 72 65 64 20 62 79 20 63 6f 6d nd.processes.are.compared.by.com
4be60 70 61 72 69 6e 67 20 74 68 65 69 72 20 6e 61 6d 65 73 20 61 73 0a 20 20 20 20 20 20 20 20 20 20 paring.their.names.as...........
4be80 73 74 72 69 6e 67 73 2e 20 20 44 65 61 64 20 62 75 66 66 65 72 73 20 28 77 68 6f 73 65 20 6e 61 strings...Dead.buffers.(whose.na
4bea0 6d 65 20 69 73 20 e2 80 98 6e 69 6c e2 80 99 29 20 77 69 6c 6c 20 63 6f 6d 70 61 72 65 0a 20 20 me.is....nil...).will.compare...
4bec0 20 20 20 20 20 20 20 20 62 65 66 6f 72 65 20 61 6e 79 20 6c 69 76 65 20 62 75 66 66 65 72 2e 0a ........before.any.live.buffer..
4bee0 20 20 20 20 20 20 20 20 e2 80 a2 20 4f 74 68 65 72 20 74 79 70 65 73 20 61 72 65 20 63 6f 6e 73 ............Other.types.are.cons
4bf00 69 64 65 72 65 64 20 75 6e 6f 72 64 65 72 65 64 20 61 6e 64 20 74 68 65 20 72 65 74 75 72 6e 20 idered.unordered.and.the.return.
4bf20 76 61 6c 75 65 20 77 69 6c 6c 0a 20 20 20 20 20 20 20 20 20 20 62 65 20 e2 80 98 6e 69 6c e2 80 value.will...........be....nil..
4bf40 99 2e 0a 0a 20 20 20 20 20 45 78 61 6d 70 6c 65 73 3a 0a 20 20 20 20 20 20 20 20 20 20 28 76 61 .........Examples:...........(va
4bf60 6c 75 65 3c 20 2d 34 20 33 2e 35 29 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 20 28 76 61 lue<.-4.3.5).....t...........(va
4bf80 6c 75 65 3c 20 22 64 6f 67 22 20 22 63 61 74 22 29 20 e2 87 92 20 6e 69 6c 0a 20 20 20 20 20 20 lue<."dog"."cat").....nil.......
4bfa0 20 20 20 20 28 76 61 6c 75 65 3c 20 27 79 69 70 20 27 79 69 70 29 20 e2 87 92 20 6e 69 6c 0a 20 ....(value<.'yip.'yip).....nil..
4bfc0 20 20 20 20 20 20 20 20 20 28 76 61 6c 75 65 3c 20 27 28 33 20 32 29 20 27 28 33 20 32 20 30 29 .........(value<.'(3.2).'(3.2.0)
4bfe0 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 5b 33 20 32 20 22 ).....t...........(value<.[3.2."
4c000 61 22 5d 20 5b 33 20 32 20 22 62 22 5d 29 20 e2 87 92 20 74 0a 0a 20 20 20 20 20 4e 6f 74 65 20 a"].[3.2."b"]).....t.......Note.
4c020 74 68 61 74 20 e2 80 98 6e 69 6c e2 80 99 20 69 73 20 74 72 65 61 74 65 64 20 61 73 20 65 69 74 that....nil....is.treated.as.eit
4c040 68 65 72 20 61 20 73 79 6d 62 6f 6c 20 6f 72 20 61 6e 20 65 6d 70 74 79 20 6c 69 73 74 2c 0a 20 her.a.symbol.or.an.empty.list,..
4c060 20 20 20 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 77 68 61 74 20 69 74 20 69 73 20 63 6f 6d 70 ....depending.on.what.it.is.comp
4c080 61 72 65 64 20 61 67 61 69 6e 73 74 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 28 76 61 6c 75 65 3c ared.against:............(value<
4c0a0 20 6e 69 6c 20 27 28 30 29 29 20 e2 87 92 20 74 0a 20 20 20 20 20 20 20 20 20 20 28 76 61 6c 75 .nil.'(0)).....t...........(valu
4c0c0 65 3c 20 27 6e 69 62 20 6e 69 6c 29 20 e2 87 92 20 74 0a 0a 20 20 20 20 20 54 68 65 72 65 20 69 e<.'nib.nil).....t.......There.i
4c0e0 73 20 6e 6f 20 6c 69 6d 69 74 20 74 6f 20 74 68 65 20 6c 65 6e 67 74 68 20 6f 66 20 73 65 71 75 s.no.limit.to.the.length.of.sequ
4c100 65 6e 63 65 73 20 28 6c 69 73 74 73 2c 20 76 65 63 74 6f 72 73 20 61 6e 64 20 73 6f 0a 20 20 20 ences.(lists,.vectors.and.so....
4c120 20 20 6f 6e 29 20 74 68 61 74 20 63 61 6e 20 62 65 20 63 6f 6d 70 61 72 65 64 2c 20 62 75 74 20 ..on).that.can.be.compared,.but.
4c140 e2 80 98 76 61 6c 75 65 3c e2 80 99 20 6d 61 79 20 66 61 69 6c 20 77 69 74 68 20 61 6e 20 65 72 ...value<....may.fail.with.an.er
4c160 72 6f 72 20 69 66 0a 20 20 20 20 20 75 73 65 64 20 74 6f 20 63 6f 6d 70 61 72 65 20 63 69 72 63 ror.if......used.to.compare.circ
4c180 75 6c 61 72 20 6f 72 20 64 65 65 70 6c 79 20 6e 65 73 74 65 64 20 64 61 74 61 20 73 74 72 75 63 ular.or.deeply.nested.data.struc
4c1a0 74 75 72 65 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 64 72 6f 70 20 6e 20 6c 69 73 tures....--.Function:.drop.n.lis
4c1c0 74 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 6e 20 61 6c 69 61 73 t......This.function.is.an.alias
4c1e0 20 66 6f 72 20 e2 80 98 6e 74 68 63 64 72 e2 80 99 2e 20 20 49 74 20 72 65 74 75 72 6e 73 20 74 .for....nthcdr......It.returns.t
4c200 68 65 20 4e 74 68 20 43 44 52 20 6f 66 0a 20 20 20 20 20 4c 49 53 54 2e 20 20 49 6e 20 6f 74 68 he.Nth.CDR.of......LIST...In.oth
4c220 65 72 20 77 6f 72 64 73 2c 20 69 74 20 73 6b 69 70 73 20 70 61 73 74 20 74 68 65 20 66 69 72 73 er.words,.it.skips.past.the.firs
4c240 74 20 4e 20 6c 69 6e 6b 73 20 6f 66 20 4c 49 53 54 20 61 6e 64 0a 20 20 20 20 20 72 65 74 75 72 t.N.links.of.LIST.and......retur
4c260 6e 73 20 77 68 61 74 20 66 6f 6c 6c 6f 77 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 ns.what.follows....--.Function:.
4c280 67 65 74 2d 74 72 75 65 6e 61 6d 65 2d 62 75 66 66 65 72 20 66 69 6c 65 6e 61 6d 65 0a 20 20 20 get-truename-buffer.filename....
4c2a0 20 20 52 65 74 75 72 6e 20 74 68 65 20 62 75 66 66 65 72 20 77 69 74 68 20 e2 80 98 66 69 6c 65 ..Return.the.buffer.with....file
4c2c0 2d 74 72 75 65 6e 61 6d 65 e2 80 99 20 65 71 75 61 6c 20 74 6f 20 46 49 4c 45 4e 41 4d 45 20 28 -truename....equal.to.FILENAME.(
4c2e0 61 0a 20 20 20 20 20 73 74 72 69 6e 67 29 2e 20 20 49 66 20 74 68 65 72 65 20 69 73 20 6e 6f 20 a......string)...If.there.is.no.
4c300 73 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 20 20 53 such.live.buffer,.return.nil...S
4c320 65 65 20 61 6c 73 6f 0a 20 20 20 20 20 e2 80 98 66 69 6e 64 2d 62 75 66 66 65 72 2d 76 69 73 69 ee.also.........find-buffer-visi
4c340 74 69 6e 67 e2 80 99 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 66 69 6e 64 2d 62 75 66 ting.......--.Function:.find-buf
4c360 66 65 72 20 76 61 72 69 61 62 6c 65 20 76 61 6c 75 65 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 fer.variable.value......Return.t
4c380 68 65 20 62 75 66 66 65 72 20 77 69 74 68 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 56 41 52 49 he.buffer.with.buffer-local.VARI
4c3a0 41 42 4c 45 20 65 71 75 61 6c 20 74 6f 20 56 41 4c 55 45 2e 20 20 49 66 0a 20 20 20 20 20 74 68 ABLE.equal.to.VALUE...If......th
4c3c0 65 72 65 20 69 73 20 6e 6f 20 73 75 63 68 20 6c 69 76 65 20 62 75 66 66 65 72 2c 20 72 65 74 75 ere.is.no.such.live.buffer,.retu
4c3e0 72 6e 20 6e 69 6c 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 72 65 71 75 69 72 65 2d 77 rn.nil....--.Function:.require-w
4c400 69 74 68 2d 63 68 65 63 6b 20 66 65 61 74 75 72 65 20 26 6f 70 74 69 6f 6e 61 6c 20 66 69 6c 65 ith-check.feature.&optional.file
4c420 6e 61 6d 65 20 6e 6f 65 72 72 6f 72 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 name.noerror......This.function.
4c440 77 6f 72 6b 73 20 6c 69 6b 65 20 e2 80 98 72 65 71 75 69 72 65 e2 80 99 2c 20 65 78 63 65 70 74 works.like....require...,.except
4c460 20 69 66 20 46 45 41 54 55 52 45 20 69 73 20 61 6c 72 65 61 64 79 0a 20 20 20 20 20 6c 6f 61 64 .if.FEATURE.is.already......load
4c480 65 64 20 28 69 2e 65 2e 20 69 73 20 61 6c 72 65 61 64 79 20 61 20 6d 65 6d 62 65 72 20 6f 66 20 ed.(i.e..is.already.a.member.of.
4c4a0 74 68 65 20 6c 69 73 74 20 69 6e 20 e2 80 98 66 65 61 74 75 72 65 73 e2 80 99 2c 20 73 65 65 0a the.list.in....features...,.see.
4c4c0 20 20 20 20 20 62 65 6c 6f 77 29 2e 20 20 49 66 20 46 45 41 54 55 52 45 20 69 73 20 61 6c 72 65 .....below)...If.FEATURE.is.alre
4c4e0 61 64 79 20 6c 6f 61 64 65 64 2c 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 63 68 65 63 6b 73 ady.loaded,.this.function.checks
4c500 20 69 66 0a 20 20 20 20 20 46 45 41 54 55 52 45 20 77 61 73 20 70 72 6f 76 69 64 65 64 20 62 79 .if......FEATURE.was.provided.by
4c520 20 61 20 66 69 6c 65 20 64 69 66 66 65 72 65 6e 74 20 66 72 6f 6d 20 46 49 4c 45 4e 41 4d 45 2c .a.file.different.from.FILENAME,
4c540 20 61 6e 64 20 69 66 20 73 6f 2c 0a 20 20 20 20 20 69 74 20 62 79 20 64 65 66 61 75 6c 74 20 73 .and.if.so,......it.by.default.s
4c560 69 67 6e 61 6c 73 20 61 6e 20 65 72 72 6f 72 2e 20 20 49 66 20 74 68 65 20 76 61 6c 75 65 20 6f ignals.an.error...If.the.value.o
4c580 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 4e 4f 45 f.the.optional......argument.NOE
4c5a0 52 52 4f 52 20 69 73 20 e2 80 98 72 65 6c 6f 61 64 e2 80 99 2c 20 74 68 65 20 66 75 6e 63 74 69 RROR.is....reload...,.the.functi
4c5c0 6f 6e 20 64 6f 65 73 6e e2 80 99 74 20 73 69 67 6e 61 6c 20 61 6e 20 65 72 72 6f 72 2c 0a 20 20 on.doesn...t.signal.an.error,...
4c5e0 20 20 20 62 75 74 20 69 6e 73 74 65 61 64 20 66 6f 72 63 69 62 6c 79 20 72 65 6c 6f 61 64 73 20 ...but.instead.forcibly.reloads.
4c600 46 49 4c 45 4e 41 4d 45 3b 20 69 66 20 4e 4f 45 52 52 4f 52 20 69 73 20 73 6f 6d 65 20 6f 74 68 FILENAME;.if.NOERROR.is.some.oth
4c620 65 72 0a 20 20 20 20 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 76 61 6c 75 65 2c 20 74 68 65 er......non-...nil....value,.the
4c640 20 66 75 6e 63 74 69 6f 6e 20 65 6d 69 74 73 20 61 20 77 61 72 6e 69 6e 67 20 61 62 6f 75 74 20 .function.emits.a.warning.about.
4c660 46 45 41 54 55 52 45 20 62 65 69 6e 67 0a 20 20 20 20 20 61 6c 72 65 61 64 79 20 70 72 6f 76 69 FEATURE.being......already.provi
4c680 64 65 64 20 62 79 20 61 6e 6f 74 68 65 72 20 66 69 6c 65 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 ded.by.another.file....--.Functi
4c6a0 6f 6e 3a 20 6d 65 72 67 65 2d 6f 72 64 65 72 65 64 2d 6c 69 73 74 73 20 6c 69 73 74 73 20 26 6f on:.merge-ordered-lists.lists.&o
4c6c0 70 74 69 6f 6e 61 6c 20 65 72 72 6f 72 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 4d 65 72 67 ptional.error-function......Merg
4c6e0 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 72 64 65 72 2e 20 20 e.LISTS.in.a.consistent.order...
4c700 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 66 0a 20 20 20 20 LISTS.is.a.list.of.lists.of.....
4c720 20 65 6c 65 6d 65 6e 74 73 2e 20 20 4d 65 72 67 65 20 74 68 65 6d 20 69 6e 74 6f 20 61 20 73 69 .elements...Merge.them.into.a.si
4c740 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 0a 20 20 ngle.list.containing.the.same...
4c760 20 20 20 65 6c 65 6d 65 6e 74 73 20 28 72 65 6d 6f 76 69 6e 67 20 64 75 70 6c 69 63 61 74 65 73 ...elements.(removing.duplicates
4c780 29 2c 20 6f 62 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 ),.obeying.their.relative.positi
4c7a0 6f 6e 73 20 69 6e 0a 20 20 20 20 20 65 61 63 68 20 6c 69 73 74 2e 20 20 54 68 65 20 6f 72 64 65 ons.in......each.list...The.orde
4c7c0 72 20 6f 66 20 74 68 65 20 28 73 75 62 29 6c 69 73 74 73 20 64 65 74 65 72 6d 69 6e 65 73 20 74 r.of.the.(sub)lists.determines.t
4c7e0 68 65 20 66 69 6e 61 6c 20 6f 72 64 65 72 0a 20 20 20 20 20 69 6e 20 74 68 6f 73 65 20 63 61 73 he.final.order......in.those.cas
4c800 65 73 20 77 68 65 72 65 20 74 68 65 20 6f 72 64 65 72 20 77 69 74 68 69 6e 20 74 68 65 20 73 75 es.where.the.order.within.the.su
4c820 62 6c 69 73 74 73 20 64 6f 65 73 20 6e 6f 74 20 69 6d 70 6f 73 65 0a 20 20 20 20 20 61 20 75 6e blists.does.not.impose......a.un
4c840 69 71 75 65 20 63 68 6f 69 63 65 2e 20 20 45 71 75 61 6c 69 74 79 20 6f 66 20 65 6c 65 6d 65 6e ique.choice...Equality.of.elemen
4c860 74 73 20 69 73 20 74 65 73 74 65 64 20 77 69 74 68 20 e2 80 98 65 71 6c e2 80 99 2e 0a 0a 20 20 ts.is.tested.with....eql........
4c880 20 20 20 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 6f ...If.a.consistent.order.does.no
4c8a0 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 74 t.exist,.call.ERROR-FUNCTION.wit
4c8c0 68 20 61 0a 20 20 20 20 20 72 65 6d 61 69 6e 69 6e 67 20 6c 69 73 74 20 6f 66 20 6c 69 73 74 73 h.a......remaining.list.of.lists
4c8e0 20 74 68 61 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 .that.we.do.not.know.how.to.merg
4c900 65 2e 20 20 49 74 0a 20 20 20 20 20 73 68 6f 75 6c 64 20 72 65 74 75 72 6e 20 74 68 65 20 63 61 e...It......should.return.the.ca
4c920 6e 64 69 64 61 74 65 20 74 6f 20 75 73 65 20 74 6f 20 63 6f 6e 74 69 6e 75 65 20 74 68 65 20 6d ndidate.to.use.to.continue.the.m
4c940 65 72 67 65 2c 20 77 68 69 63 68 20 68 61 73 0a 20 20 20 20 20 74 6f 20 62 65 20 74 68 65 20 68 erge,.which.has......to.be.the.h
4c960 65 61 64 20 6f 66 20 6f 6e 65 20 6f 66 20 74 68 65 20 6c 69 73 74 73 2e 20 20 42 79 20 64 65 66 ead.of.one.of.the.lists...By.def
4c980 61 75 6c 74 20 77 65 20 63 68 6f 6f 73 65 20 74 68 65 20 68 65 61 64 0a 20 20 20 20 20 6f 66 20 ault.we.choose.the.head......of.
4c9a0 74 68 65 20 66 69 72 73 74 20 6c 69 73 74 2e 0a 0a 20 2d 2d 20 56 61 72 69 61 62 6c 65 3a 20 63 the.first.list....--.Variable:.c
4c9c0 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 0a 20 20 20 20 20 49 66 20 6e 6f 6e ompletion-lazy-hilit......If.non
4c9e0 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 68 74 69 6e 67 20 -nil,.request.lazy.highlighting.
4ca00 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 0a 20 20 20 20 20 of.completion.candidates........
4ca20 4c 69 73 70 20 70 72 6f 67 72 61 6d 73 20 28 61 2e 6b 2e 61 2e 20 20 22 66 72 6f 6e 74 20 65 6e Lisp.programs.(a.k.a..."front.en
4ca40 64 73 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 20 20 20 ds").that.present.completion....
4ca60 20 20 63 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 ..candidates.may.opt.to.bind.thi
4ca80 73 20 76 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 s.variable.to.a.non-nil.value.wh
4caa0 65 6e 0a 20 20 20 20 20 63 61 6c 6c 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 20 28 73 75 63 68 20 en......calling.functions.(such.
4cac0 61 73 20 e2 80 98 63 6f 6d 70 6c 65 74 69 6f 6e 2d 61 6c 6c 2d 63 6f 6d 70 6c 65 74 69 6f 6e 73 as....completion-all-completions
4cae0 e2 80 99 29 20 77 68 69 63 68 0a 20 20 20 20 20 70 72 6f 64 75 63 65 20 63 6f 6d 70 6c 65 74 69 ...).which......produce.completi
4cb00 6f 6e 20 63 61 6e 64 69 64 61 74 65 73 2e 20 20 54 68 69 73 20 74 65 6c 6c 73 20 74 68 65 20 75 on.candidates...This.tells.the.u
4cb20 6e 64 65 72 6c 79 69 6e 67 0a 20 20 20 20 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 73 74 79 6c 65 73 nderlying......completion.styles
4cb40 20 74 68 61 74 20 74 68 65 79 20 64 6f 20 6e 6f 74 20 6e 65 65 64 20 74 6f 20 66 6f 6e 74 69 66 .that.they.do.not.need.to.fontif
4cb60 79 20 28 69 2e 65 2e 2c 0a 20 20 20 20 20 70 72 6f 70 65 72 74 69 7a 65 20 77 69 74 68 20 74 68 y.(i.e.,......propertize.with.th
4cb80 65 20 e2 80 98 66 61 63 65 e2 80 99 20 70 72 6f 70 65 72 74 79 29 20 63 6f 6d 70 6c 65 74 69 6f e....face....property).completio
4cba0 6e 20 63 61 6e 64 69 64 61 74 65 73 20 69 6e 20 61 20 77 61 79 0a 20 20 20 20 20 74 68 61 74 20 n.candidates.in.a.way......that.
4cbc0 68 69 67 68 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 highlights.the.matching.parts...
4cbe0 54 68 65 6e 20 69 74 20 69 73 20 74 68 65 20 66 72 6f 6e 74 20 65 6e 64 20 77 68 69 63 68 0a 20 Then.it.is.the.front.end.which..
4cc00 20 20 20 20 70 72 65 73 65 6e 74 73 20 74 68 65 20 63 61 6e 64 69 64 61 74 65 73 20 74 68 61 74 ....presents.the.candidates.that
4cc20 20 62 65 63 6f 6d 65 73 20 72 65 73 70 6f 6e 73 69 62 6c 65 20 66 6f 72 20 74 68 69 73 0a 20 20 .becomes.responsible.for.this...
4cc40 20 20 20 66 6f 6e 74 69 66 69 63 61 74 69 6f 6e 2e 20 20 54 68 65 20 66 72 6f 6e 74 20 65 6e 64 ...fontification...The.front.end
4cc60 20 64 6f 65 73 20 74 68 61 74 20 62 79 20 63 61 6c 6c 69 6e 67 20 74 68 65 20 66 75 6e 63 74 69 .does.that.by.calling.the.functi
4cc80 6f 6e 0a 20 20 20 20 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 on.........completion-lazy-hilit
4cca0 e2 80 99 20 6f 6e 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 ....on.each.completion.candidate
4ccc0 20 74 68 61 74 20 69 73 20 74 6f 20 62 65 0a 20 20 20 20 20 64 69 73 70 6c 61 79 65 64 20 74 6f .that.is.to.be......displayed.to
4cce0 20 74 68 65 20 75 73 65 72 2e 0a 0a 20 20 20 20 20 4e 6f 74 65 20 74 68 61 74 20 6f 6e 6c 79 20 .the.user........Note.that.only.
4cd00 73 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 some.completion.styles.take.adva
4cd20 6e 74 61 67 65 20 6f 66 20 74 68 69 73 0a 20 20 20 20 20 76 61 72 69 61 62 6c 65 20 66 6f 72 20 ntage.of.this......variable.for.
4cd40 6f 70 74 69 6d 69 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 optimization.purposes...Other.st
4cd60 79 6c 65 73 20 77 69 6c 6c 20 69 67 6e 6f 72 65 20 74 68 65 0a 20 20 20 20 20 68 69 6e 74 20 61 yles.will.ignore.the......hint.a
4cd80 6e 64 20 66 6f 6e 74 69 66 79 20 65 61 67 65 72 6c 79 20 61 73 20 75 73 75 61 6c 2e 20 20 49 74 nd.fontify.eagerly.as.usual...It
4cda0 20 69 73 20 73 74 69 6c 6c 20 73 61 66 65 20 66 6f 72 20 61 20 66 72 6f 6e 74 0a 20 20 20 20 20 .is.still.safe.for.a.front......
4cdc0 65 6e 64 20 74 6f 20 63 61 6c 6c 20 e2 80 98 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 end.to.call....completion-lazy-h
4cde0 69 6c 69 74 e2 80 99 20 69 6e 20 74 68 65 73 65 20 73 69 74 75 61 74 69 6f 6e 73 2e 0a 0a 20 20 ilit....in.these.situations.....
4ce00 20 20 20 54 6f 20 61 75 74 68 6f 72 20 61 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 73 74 79 6c 65 20 ...To.author.a.completion.style.
4ce20 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 68 69 73 20 76 61 72 that.takes.advantage.of.this.var
4ce40 69 61 62 6c 65 2c 0a 20 20 20 20 20 73 65 65 20 e2 80 98 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 iable,......see....completion-la
4ce60 7a 79 2d 68 69 6c 69 74 2d 66 6e e2 80 99 20 61 6e 64 0a 20 20 20 20 20 e2 80 98 63 6f 6d 70 6c zy-hilit-fn....and.........compl
4ce80 65 74 69 6f 6e 2d 70 63 6d 2d 2d 68 69 6c 69 74 2d 63 6f 6d 6d 6f 6e 61 6c 69 74 79 e2 80 99 2e etion-pcm--hilit-commonality....
4cea0 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 61 7a 79 2d ...--.Variable:.completion-lazy-
4cec0 68 69 6c 69 74 2d 66 6e 0a 20 20 20 20 20 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e 20 66 75 6e 63 hilit-fn......Fontification.func
4cee0 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 63 6f tion.set.by.lazy-highlighting.co
4cf00 6d 70 6c 65 74 69 6f 6e 73 20 73 74 79 6c 65 73 2e 0a 20 20 20 20 20 57 68 65 6e 20 61 20 67 69 mpletions.styles.......When.a.gi
4cf20 76 65 6e 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 ven.style.wants.to.enable.suppor
4cf40 74 20 66 6f 72 0a 20 20 20 20 20 e2 80 98 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 t.for.........completion-lazy-hi
4cf60 6c 69 74 e2 80 99 20 28 77 68 69 63 68 20 73 65 65 29 2c 20 74 68 61 74 20 73 74 79 6c 65 20 73 lit....(which.see),.that.style.s
4cf80 68 6f 75 6c 64 20 73 65 74 20 74 68 69 73 0a 20 20 20 20 20 76 61 72 69 61 62 6c 65 20 74 6f 20 hould.set.this......variable.to.
4cfa0 61 20 66 75 6e 63 74 69 6f 6e 20 6f 66 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 2e 20 20 49 74 20 a.function.of.one.argument...It.
4cfc0 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 65 61 63 68 20 63 6f will.be.called.with......each.co
4cfe0 6d 70 6c 65 74 69 6f 6e 20 63 61 6e 64 69 64 61 74 65 2c 20 61 20 73 74 72 69 6e 67 2c 20 74 6f mpletion.candidate,.a.string,.to
4d000 20 62 65 20 64 69 73 70 6c 61 79 65 64 20 74 6f 20 74 68 65 20 75 73 65 72 2c 0a 20 20 20 20 20 .be.displayed.to.the.user,......
4d020 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 72 6f 70 65 72 74 and.should.destructively.propert
4d040 69 7a 65 20 74 68 65 73 65 20 73 74 72 69 6e 67 73 20 77 69 74 68 20 74 68 65 20 e2 80 98 66 61 ize.these.strings.with.the....fa
4d060 63 65 e2 80 99 0a 20 20 20 20 20 70 72 6f 70 65 72 74 79 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 ce.........property....--.Functi
4d080 6f 6e 3a 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 20 73 74 72 0a 20 20 on:.completion-lazy-hilit.str...
4d0a0 20 20 20 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 63 ...Return.a.copy.of.completion.c
4d0c0 61 6e 64 69 64 61 74 65 20 53 54 52 20 74 68 61 74 20 69 73 20 66 61 63 65 2d 70 72 6f 70 65 72 andidate.STR.that.is.face-proper
4d0e0 74 69 7a 65 64 2e 0a 20 20 20 20 20 53 65 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 6f 66 tized.......See.documentation.of
4d100 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 e2 80 98 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 .the.variable....completion-lazy
4d120 2d 68 69 6c 69 74 e2 80 99 20 66 6f 72 20 6d 6f 72 65 0a 20 20 20 20 20 64 65 74 61 69 6c 73 2e -hilit....for.more......details.
4d140 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 73 74 61 74 69 63 2d 69 66 20 63 6f 6e 64 69 74 69 6f 6e ...--.Macro:.static-if.condition
4d160 20 74 68 65 6e 2d 66 6f 72 6d 20 65 6c 73 65 2d 66 6f 72 6d 73 2e 2e 2e 0a 20 20 20 20 20 54 65 .then-form.else-forms.........Te
4d180 73 74 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 20 st.CONDITION.at.macro-expansion.
4d1a0 74 69 6d 65 2e 20 20 49 66 20 69 74 73 20 76 61 6c 75 65 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 time...If.its.value.is.non-...ni
4d1c0 6c e2 80 99 2c 0a 20 20 20 20 20 65 78 70 61 6e 64 20 74 68 65 20 6d 61 63 72 6f 20 74 6f 20 54 l...,......expand.the.macro.to.T
4d1e0 48 45 4e 2d 46 4f 52 4d 2c 20 6f 74 68 65 72 77 69 73 65 20 65 78 70 61 6e 64 20 69 74 20 74 6f HEN-FORM,.otherwise.expand.it.to
4d200 20 45 4c 53 45 2d 46 4f 52 4d 53 0a 20 20 20 20 20 65 6e 63 6c 6f 73 65 64 20 69 6e 20 61 20 e2 .ELSE-FORMS......enclosed.in.a..
4d220 80 98 70 72 6f 67 6e e2 80 99 2e 20 20 45 4c 53 45 2d 46 4f 52 4d 53 20 6d 61 79 20 62 65 20 65 ..progn......ELSE-FORMS.may.be.e
4d240 6d 70 74 79 2e 0a 0a 20 20 20 20 20 48 65 72 65 20 69 73 20 61 6e 20 65 78 61 6d 70 6c 65 20 6f mpty........Here.is.an.example.o
4d260 66 20 69 74 73 20 75 73 65 20 66 72 6f 6d 20 43 43 20 4d 6f 64 65 2c 20 77 68 69 63 68 20 70 72 f.its.use.from.CC.Mode,.which.pr
4d280 65 76 65 6e 74 73 20 61 0a 20 20 20 20 20 e2 80 98 64 65 66 61 64 76 69 63 65 e2 80 99 20 66 6f events.a.........defadvice....fo
4d2a0 72 6d 20 62 65 69 6e 67 20 63 6f 6d 70 69 6c 65 64 20 69 6e 20 6e 65 77 65 72 20 76 65 72 73 69 rm.being.compiled.in.newer.versi
4d2c0 6f 6e 73 20 6f 66 20 45 6d 61 63 73 3a 0a 20 20 20 20 20 20 20 20 20 20 28 73 74 61 74 69 63 2d ons.of.Emacs:...........(static-
4d2e0 69 66 20 28 62 6f 75 6e 64 70 20 27 63 6f 6d 6d 65 6e 74 2d 6c 69 6e 65 2d 62 72 65 61 6b 2d 66 if.(boundp.'comment-line-break-f
4d300 75 6e 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 67 6e 29 0a 20 unction)...............(progn)..
4d320 20 20 20 20 20 20 20 20 20 20 20 28 64 65 66 76 61 72 20 63 2d 69 6e 73 69 64 65 2d 6c 69 6e 65 ...........(defvar.c-inside-line
4d340 2d 62 72 65 61 6b 2d 61 64 76 69 63 65 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 -break-advice.nil).............(
4d360 64 65 66 61 64 76 69 63 65 20 69 6e 64 65 6e 74 2d 6e 65 77 2d 63 6f 6d 6d 65 6e 74 2d 6c 69 6e defadvice.indent-new-comment-lin
4d380 65 20 28 61 72 6f 75 6e 64 20 63 2d 6c 69 6e 65 2d 62 72 65 61 6b 2d 61 64 76 69 63 65 0a 20 20 e.(around.c-line-break-advice...
4d3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4d3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 63 74 69 76 61 74 65 20 70 72 .....................activate.pr
4d3e0 65 61 63 74 69 76 61 74 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 43 61 6c 6c 20 60 eactivate)..............."Call.`
4d400 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 27 20 69 66 20 69 6e c-indent-new-comment-line'.if.in
4d420 20 43 43 20 4d 6f 64 65 2e 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6f 72 .CC.Mode."...............(if.(or
4d440 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 63 65 0a 20 20 20 20 .c-inside-line-break-advice.....
4d460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 63 2d 62 75 66 66 65 72 2d ..................(not.c-buffer-
4d480 69 73 2d 63 63 2d 6d 6f 64 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 is-cc-mode))...................a
4d4a0 64 2d 64 6f 2d 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 d-do-it.................(let.((c
4d4c0 2d 69 6e 73 69 64 65 2d 6c 69 6e 65 2d 62 72 65 61 6b 2d 61 64 76 69 63 65 20 74 29 29 0a 20 20 -inside-line-break-advice.t))...
4d4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 2d 69 6e 64 65 6e 74 2d 6e 65 77 2d 63 6f ................(c-indent-new-co
4d500 6d 6d 65 6e 74 2d 6c 69 6e 65 20 28 61 64 2d 67 65 74 2d 61 72 67 20 30 29 29 29 29 29 29 0a 0a mment-line.(ad-get-arg.0))))))..
4d520 32 2e 36 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 2.6.2.Extended.Definitions.-----
4d540 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 65 20 66 75 6e ---------------------..These.fun
4d560 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 63 69 74 6c 79 ctions.must.be.called.explicitly
4d580 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 63 65 20 74 68 .via....compat-call...,.since.th
4d5a0 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 65 68 61 76 69 eir.calling.convention.or.behavi
4d5c0 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 33 30 2e 31 3a 0a 0a or.was.extended.in.Emacs.30.1:..
4d5e0 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 6f 72 74 20 73 .--.Function:.compat-call.sort.s
4d600 65 71 75 65 6e 63 65 20 26 72 65 73 74 20 6b 65 79 77 6f 72 64 2d 61 72 67 73 0a 20 20 20 20 20 equence.&rest.keyword-args......
4d620 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 73 6f 72 74 73 20 53 45 51 55 45 4e 43 45 2c 20 77 68 This.function.sorts.SEQUENCE,.wh
4d640 69 63 68 20 6d 75 73 74 20 62 65 20 61 20 6c 69 73 74 20 6f 72 20 76 65 63 74 6f 72 2c 20 61 6e ich.must.be.a.list.or.vector,.an
4d660 64 0a 20 20 20 20 20 72 65 74 75 72 6e 73 20 61 20 73 6f 72 74 65 64 20 73 65 71 75 65 6e 63 65 d......returns.a.sorted.sequence
4d680 20 6f 66 20 74 68 65 20 73 61 6d 65 20 74 79 70 65 2e 20 20 54 68 65 20 73 6f 72 74 20 69 73 20 .of.the.same.type...The.sort.is.
4d6a0 73 74 61 62 6c 65 2c 0a 20 20 20 20 20 77 68 69 63 68 20 6d 65 61 6e 73 20 74 68 61 74 20 65 6c stable,......which.means.that.el
4d6c0 65 6d 65 6e 74 73 20 77 69 74 68 20 65 71 75 61 6c 20 73 6f 72 74 20 6b 65 79 73 20 6d 61 69 6e ements.with.equal.sort.keys.main
4d6e0 74 61 69 6e 20 74 68 65 69 72 0a 20 20 20 20 20 72 65 6c 61 74 69 76 65 20 6f 72 64 65 72 2e 20 tain.their......relative.order..
4d700 20 49 74 20 74 61 6b 65 73 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 6f 70 74 69 6f 6e 61 6c .It.takes.the.following.optional
4d720 20 6b 65 79 77 6f 72 64 20 61 72 67 75 6d 65 6e 74 73 3a 0a 0a 20 20 20 20 20 e2 80 98 3a 6b 65 .keyword.arguments:..........:ke
4d740 79 20 4b 45 59 46 55 4e 43 e2 80 99 0a 20 20 20 20 20 20 20 20 20 20 55 73 65 20 4b 45 59 46 55 y.KEYFUNC..............Use.KEYFU
4d760 4e 43 2c 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 74 61 6b 65 73 20 61 20 73 69 6e 67 NC,.a.function.that.takes.a.sing
4d780 6c 65 20 65 6c 65 6d 65 6e 74 20 66 72 6f 6d 0a 20 20 20 20 20 20 20 20 20 20 53 45 51 55 45 4e le.element.from...........SEQUEN
4d7a0 43 45 20 61 6e 64 20 72 65 74 75 72 6e 73 20 69 74 73 20 6b 65 79 20 76 61 6c 75 65 2c 20 74 6f CE.and.returns.its.key.value,.to
4d7c0 20 67 65 6e 65 72 61 74 65 20 74 68 65 20 6b 65 79 73 20 75 73 65 64 0a 20 20 20 20 20 20 20 20 .generate.the.keys.used.........
4d7e0 20 20 69 6e 20 63 6f 6d 70 61 72 69 73 6f 6e 2e 20 20 49 66 20 74 68 69 73 20 61 72 67 75 6d 65 ..in.comparison...If.this.argume
4d800 6e 74 20 69 73 20 61 62 73 65 6e 74 20 6f 72 20 69 66 20 4b 45 59 46 55 4e 43 20 69 73 0a 20 20 nt.is.absent.or.if.KEYFUNC.is...
4d820 20 20 20 20 20 20 20 20 e2 80 98 6e 69 6c e2 80 99 20 74 68 65 6e 20 e2 80 98 69 64 65 6e 74 69 ...........nil....then....identi
4d840 74 79 e2 80 99 20 69 73 20 61 73 73 75 6d 65 64 3b 20 74 68 61 74 20 69 73 2c 20 74 68 65 20 65 ty....is.assumed;.that.is,.the.e
4d860 6c 65 6d 65 6e 74 73 0a 20 20 20 20 20 20 20 20 20 20 74 68 65 6d 73 65 6c 76 65 73 20 61 72 65 lements...........themselves.are
4d880 20 75 73 65 64 20 61 73 20 73 6f 72 74 69 6e 67 20 6b 65 79 73 2e 0a 0a 20 20 20 20 20 e2 80 98 .used.as.sorting.keys...........
4d8a0 3a 6c 65 73 73 70 20 50 52 45 44 49 43 41 54 45 e2 80 99 0a 20 20 20 20 20 20 20 20 20 20 55 73 :lessp.PREDICATE..............Us
4d8c0 65 20 50 52 45 44 49 43 41 54 45 20 74 6f 20 6f 72 64 65 72 20 74 68 65 20 6b 65 79 73 2e 20 20 e.PREDICATE.to.order.the.keys...
4d8e0 50 52 45 44 49 43 41 54 45 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 0a 20 20 20 PREDICATE.is.a.function.that....
4d900 20 20 20 20 20 20 20 74 61 6b 65 73 20 74 77 6f 20 73 6f 72 74 20 6b 65 79 73 20 61 73 20 61 72 .......takes.two.sort.keys.as.ar
4d920 67 75 6d 65 6e 74 73 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 guments.and.returns.non-...nil..
4d940 99 20 69 66 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 66 69 72 73 74 20 73 68 6f 75 6c 64 20 ..if.the...........first.should.
4d960 63 6f 6d 65 20 62 65 66 6f 72 65 20 74 68 65 20 73 65 63 6f 6e 64 2e 20 20 49 66 20 74 68 69 73 come.before.the.second...If.this
4d980 20 61 72 67 75 6d 65 6e 74 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 61 62 73 65 6e 74 20 6f 72 .argument.is...........absent.or
4d9a0 20 50 52 45 44 49 43 41 54 45 20 69 73 20 e2 80 98 6e 69 6c e2 80 99 2c 20 74 68 65 6e 20 e2 80 .PREDICATE.is....nil...,.then...
4d9c0 98 76 61 6c 75 65 3c e2 80 99 20 69 73 20 75 73 65 64 2c 20 77 68 69 63 68 20 69 73 0a 20 20 20 .value<....is.used,.which.is....
4d9e0 20 20 20 20 20 20 20 61 70 70 6c 69 63 61 62 6c 65 20 74 6f 20 6d 61 6e 79 20 64 69 66 66 65 72 .......applicable.to.many.differ
4da00 65 6e 74 20 4c 69 73 70 20 74 79 70 65 73 20 61 6e 64 20 67 65 6e 65 72 61 6c 6c 79 20 73 6f 72 ent.Lisp.types.and.generally.sor
4da20 74 73 20 69 6e 0a 20 20 20 20 20 20 20 20 20 20 61 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e ts.in...........ascending.order.
4da40 0a 0a 20 20 20 20 20 20 20 20 20 20 46 6f 72 20 63 6f 6e 73 69 73 74 65 6e 63 79 2c 20 61 6e 79 ............For.consistency,.any
4da60 20 70 72 65 64 69 63 61 74 65 20 6d 75 73 74 20 6f 62 65 79 20 74 68 65 20 66 6f 6c 6c 6f 77 69 .predicate.must.obey.the.followi
4da80 6e 67 20 72 75 6c 65 73 3a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 80 a2 20 49 74 20 6d 75 ng.rules:..................It.mu
4daa0 73 74 20 62 65 20 e2 80 9c 61 6e 74 69 73 79 6d 6d 65 74 72 69 63 e2 80 9d 3a 20 69 74 20 63 61 st.be....antisymmetric...:.it.ca
4dac0 6e 6e 6f 74 20 62 6f 74 68 20 6f 72 64 65 72 20 41 20 62 65 66 6f 72 65 0a 20 20 20 20 20 20 20 nnot.both.order.A.before........
4dae0 20 20 20 20 20 20 20 20 42 20 61 6e 64 20 42 20 62 65 66 6f 72 65 20 41 2e 0a 20 20 20 20 20 20 ........B.and.B.before.A........
4db00 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 74 72 61 6e 73 69 74 ...........It.must.be....transit
4db20 69 76 65 e2 80 9d 3a 20 69 66 20 69 74 20 6f 72 64 65 72 73 20 41 20 62 65 66 6f 72 65 20 42 20 ive...:.if.it.orders.A.before.B.
4db40 61 6e 64 20 42 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 65 66 6f 72 65 20 43 2c 20 74 and.B................before.C,.t
4db60 68 65 6e 20 69 74 20 6d 75 73 74 20 61 6c 73 6f 20 6f 72 64 65 72 20 41 20 62 65 66 6f 72 65 20 hen.it.must.also.order.A.before.
4db80 43 2e 0a 0a 20 20 20 20 20 e2 80 98 3a 72 65 76 65 72 73 65 20 46 4c 41 47 e2 80 99 0a 20 20 20 C...........:reverse.FLAG.......
4dba0 20 20 20 20 20 20 20 49 66 20 46 4c 41 47 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c .......If.FLAG.is.non-...nil...,
4dbc0 20 74 68 65 20 73 6f 72 74 69 6e 67 20 6f 72 64 65 72 20 69 73 20 72 65 76 65 72 73 65 64 2e 20 .the.sorting.order.is.reversed..
4dbe0 20 57 69 74 68 20 74 68 65 0a 20 20 20 20 20 20 20 20 20 20 64 65 66 61 75 6c 74 20 e2 80 98 3a .With.the...........default....:
4dc00 6c 65 73 73 70 e2 80 99 20 70 72 65 64 69 63 61 74 65 20 74 68 69 73 20 6d 65 61 6e 73 20 73 6f lessp....predicate.this.means.so
4dc20 72 74 69 6e 67 20 69 6e 20 64 65 73 63 65 6e 64 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 6f 72 rting.in.descending...........or
4dc40 64 65 72 2e 0a 0a 20 20 20 20 20 e2 80 98 3a 69 6e 2d 70 6c 61 63 65 20 46 4c 41 47 e2 80 99 0a der...........:in-place.FLAG....
4dc60 20 20 20 20 20 20 20 20 20 20 49 66 20 46 4c 41 47 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 ..........If.FLAG.is.non-...nil.
4dc80 80 99 2c 20 74 68 65 6e 20 53 45 51 55 45 4e 43 45 20 69 73 20 73 6f 72 74 65 64 20 69 6e 2d 70 ..,.then.SEQUENCE.is.sorted.in-p
4dca0 6c 61 63 65 0a 20 20 20 20 20 20 20 20 20 20 28 64 65 73 74 72 75 63 74 69 76 65 6c 79 29 20 61 lace...........(destructively).a
4dcc0 6e 64 20 72 65 74 75 72 6e 65 64 2e 20 20 49 66 20 e2 80 98 6e 69 6c e2 80 99 2c 20 6f 72 20 69 nd.returned...If....nil...,.or.i
4dce0 66 20 74 68 69 73 20 61 72 67 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 69 73 20 6e 6f 74 f.this.argument...........is.not
4dd00 20 67 69 76 65 6e 2c 20 61 20 73 6f 72 74 65 64 20 63 6f 70 79 20 6f 66 20 74 68 65 20 69 6e 70 .given,.a.sorted.copy.of.the.inp
4dd20 75 74 20 69 73 20 72 65 74 75 72 6e 65 64 20 61 6e 64 0a 20 20 20 20 20 20 20 20 20 20 53 45 51 ut.is.returned.and...........SEQ
4dd40 55 45 4e 43 45 20 69 74 73 65 6c 66 20 72 65 6d 61 69 6e 73 20 75 6e 6d 6f 64 69 66 69 65 64 2e UENCE.itself.remains.unmodified.
4dd60 20 20 49 6e 2d 70 6c 61 63 65 20 73 6f 72 74 69 6e 67 20 69 73 0a 20 20 20 20 20 20 20 20 20 20 ..In-place.sorting.is...........
4dd80 73 6c 69 67 68 74 6c 79 20 66 61 73 74 65 72 2c 20 62 75 74 20 74 68 65 20 6f 72 69 67 69 6e 61 slightly.faster,.but.the.origina
4dda0 6c 20 73 65 71 75 65 6e 63 65 20 69 73 20 6c 6f 73 74 2e 0a 0a 20 20 20 20 20 49 66 20 74 68 65 l.sequence.is.lost........If.the
4ddc0 20 64 65 66 61 75 6c 74 20 62 65 68 61 76 69 6f 75 72 20 69 73 20 6e 6f 74 20 73 75 69 74 61 62 .default.behaviour.is.not.suitab
4dde0 6c 65 20 66 6f 72 20 79 6f 75 72 20 6e 65 65 64 73 2c 20 69 74 20 69 73 0a 20 20 20 20 20 75 73 le.for.your.needs,.it.is......us
4de00 75 61 6c 6c 79 20 65 61 73 69 65 72 20 61 6e 64 20 66 61 73 74 65 72 20 74 6f 20 73 75 70 70 6c ually.easier.and.faster.to.suppl
4de20 79 20 61 20 6e 65 77 20 e2 80 98 3a 6b 65 79 e2 80 99 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 6e y.a.new....:key....function.than
4de40 20 61 0a 20 20 20 20 20 64 69 66 66 65 72 65 6e 74 20 e2 80 98 3a 6c 65 73 73 70 e2 80 99 20 70 .a......different....:lessp....p
4de60 72 65 64 69 63 61 74 65 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 63 6f 6e 73 69 64 65 72 redicate...For.example,.consider
4de80 20 73 6f 72 74 69 6e 67 20 74 68 65 73 65 0a 20 20 20 20 20 73 74 72 69 6e 67 73 3a 0a 0a 20 20 .sorting.these......strings:....
4dea0 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6e 75 6d 62 65 72 73 20 27 28 22 6f 6e 65 22 20 22 74 ........(setq.numbers.'("one"."t
4dec0 77 6f 22 20 22 74 68 72 65 65 22 20 22 66 6f 75 72 22 20 22 66 69 76 65 22 20 22 73 69 78 22 29 wo"."three"."four"."five"."six")
4dee0 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 6f 72 74 20 6e 75 6d 62 65 72 73 29 0a 20 20 20 20 20 )...........(sort.numbers)......
4df00 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 66 69 76 65 22 20 22 66 6f 75 72 22 20 22 6f 6e ..............("five"."four"."on
4df20 65 22 20 22 73 69 78 22 20 22 74 68 72 65 65 22 20 22 74 77 6f 22 29 0a 0a 20 20 20 20 20 59 6f e"."six"."three"."two").......Yo
4df40 75 20 63 61 6e 20 73 6f 72 74 20 74 68 65 20 73 74 72 69 6e 67 73 20 62 79 20 6c 65 6e 67 74 68 u.can.sort.the.strings.by.length
4df60 20 69 6e 73 74 65 61 64 20 62 79 20 73 75 70 70 6c 79 69 6e 67 20 61 20 64 69 66 66 65 72 65 6e .instead.by.supplying.a.differen
4df80 74 0a 20 20 20 20 20 6b 65 79 20 66 75 6e 63 74 69 6f 6e 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 t......key.function:............
4dfa0 28 73 6f 72 74 20 6e 75 6d 62 65 72 73 20 3a 6b 65 79 20 23 27 6c 65 6e 67 74 68 29 0a 20 20 20 (sort.numbers.:key.#'length)....
4dfc0 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 28 22 6f 6e 65 22 20 22 74 77 6f 22 20 22 73 69 ................("one"."two"."si
4dfe0 78 22 20 22 66 6f 75 72 22 20 22 66 69 76 65 22 20 22 74 68 72 65 65 22 29 0a 0a 20 20 20 20 20 x"."four"."five"."three").......
4e000 4e 6f 74 65 20 68 6f 77 20 73 74 72 69 6e 67 73 20 6f 66 20 74 68 65 20 73 61 6d 65 20 6c 65 6e Note.how.strings.of.the.same.len
4e020 67 74 68 20 6b 65 65 70 20 74 68 65 69 72 20 6f 72 69 67 69 6e 61 6c 20 6f 72 64 65 72 2c 0a 20 gth.keep.their.original.order,..
4e040 20 20 20 20 74 68 61 6e 6b 73 20 74 6f 20 74 68 65 20 73 6f 72 74 69 6e 67 20 73 74 61 62 69 6c ....thanks.to.the.sorting.stabil
4e060 69 74 79 2e 20 20 4e 6f 77 20 73 75 70 70 6f 73 65 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 73 6f ity...Now.suppose.you.want.to.so
4e080 72 74 20 62 79 0a 20 20 20 20 20 6c 65 6e 67 74 68 2c 20 62 75 74 20 75 73 65 20 74 68 65 20 73 rt.by......length,.but.use.the.s
4e0a0 74 72 69 6e 67 20 63 6f 6e 74 65 6e 74 73 20 74 6f 20 62 72 65 61 6b 20 74 69 65 73 2e 20 20 54 tring.contents.to.break.ties...T
4e0c0 68 65 20 65 61 73 69 65 73 74 20 77 61 79 0a 20 20 20 20 20 69 73 20 74 6f 20 73 70 65 63 69 66 he.easiest.way......is.to.specif
4e0e0 79 20 61 20 6b 65 79 20 66 75 6e 63 74 69 6f 6e 20 74 68 61 74 20 74 72 61 6e 73 66 6f 72 6d 73 y.a.key.function.that.transforms
4e100 20 61 6e 20 65 6c 65 6d 65 6e 74 20 74 6f 20 61 20 76 61 6c 75 65 0a 20 20 20 20 20 74 68 61 74 .an.element.to.a.value......that
4e120 20 69 73 20 73 6f 72 74 65 64 20 74 68 69 73 20 77 61 79 2e 20 20 53 69 6e 63 65 20 e2 80 98 76 .is.sorted.this.way...Since....v
4e140 61 6c 75 65 3c e2 80 99 20 6f 72 64 65 72 73 20 63 6f 6d 70 6f 75 6e 64 20 6f 62 6a 65 63 74 73 alue<....orders.compound.objects
4e160 0a 20 20 20 20 20 28 63 6f 6e 73 65 73 2c 20 6c 69 73 74 73 2c 20 76 65 63 74 6f 72 73 20 61 6e ......(conses,.lists,.vectors.an
4e180 64 20 72 65 63 6f 72 64 73 29 20 6c 65 78 69 63 6f 67 72 61 70 68 69 63 61 6c 6c 79 2c 20 79 6f d.records).lexicographically,.yo
4e1a0 75 20 63 6f 75 6c 64 0a 20 20 20 20 20 64 6f 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 28 73 6f 72 u.could......do:............(sor
4e1c0 74 20 6e 75 6d 62 65 72 73 20 3a 6b 65 79 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 63 6f 6e 73 t.numbers.:key.(lambda.(x).(cons
4e1e0 20 28 6c 65 6e 67 74 68 20 78 29 20 78 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(length.x).x)))................
4e200 e2 87 92 20 28 22 6f 6e 65 22 20 22 73 69 78 22 20 22 74 77 6f 22 20 22 66 69 76 65 22 20 22 66 ....("one"."six"."two"."five"."f
4e220 6f 75 72 22 20 22 74 68 72 65 65 22 29 0a 0a 20 20 20 20 20 62 65 63 61 75 73 65 20 e2 80 98 28 our"."three").......because....(
4e240 33 20 2e 20 22 73 69 78 22 29 e2 80 99 20 69 73 20 6f 72 64 65 72 65 64 20 62 65 66 6f 72 65 20 3..."six")....is.ordered.before.
4e260 e2 80 98 28 33 20 2e 20 22 74 77 6f 22 29 e2 80 99 20 61 6e 64 20 73 6f 20 6f 6e 2e 0a 0a 20 20 ...(3..."two")....and.so.on.....
4e280 20 20 20 46 6f 72 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 77 69 74 68 20 70 72 65 76 69 6f ...For.compatibility.with.previo
4e2a0 75 73 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 45 6d 61 63 73 2c 20 74 68 65 20 e2 80 98 73 6f 72 us.versions.of.Emacs,.the....sor
4e2c0 74 e2 80 99 0a 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 63 t.........function.can.also.be.c
4e2e0 61 6c 6c 65 64 20 75 73 69 6e 67 20 74 68 65 20 66 69 78 65 64 20 74 77 6f 2d 61 72 67 75 6d 65 alled.using.the.fixed.two-argume
4e300 6e 74 20 66 6f 72 6d 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 28 73 6f 72 74 20 53 45 51 55 45 4e nt.form:............(sort.SEQUEN
4e320 43 45 20 50 52 45 44 49 43 41 54 45 29 0a 0a 20 20 20 20 20 77 68 65 72 65 20 50 52 45 44 49 43 CE.PREDICATE).......where.PREDIC
4e340 41 54 45 20 69 73 20 74 68 65 20 e2 80 98 3a 6c 65 73 73 70 e2 80 99 20 61 72 67 75 6d 65 6e 74 ATE.is.the....:lessp....argument
4e360 2e 20 20 57 68 65 6e 20 75 73 69 6e 67 20 74 68 69 73 20 66 6f 72 6d 2c 0a 20 20 20 20 20 73 6f ...When.using.this.form,......so
4e380 72 74 69 6e 67 20 69 73 20 61 6c 77 61 79 73 20 64 6f 6e 65 20 69 6e 2d 70 6c 61 63 65 2e 0a 0a rting.is.always.done.in-place...
4e3a0 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 63 6f 6d 70 6c 65 .--.Function:.compat-call.comple
4e3c0 74 69 6f 6e 2d 6d 65 74 61 64 61 74 61 2d 67 65 74 20 6d 65 74 61 64 61 74 61 20 70 72 6f 70 0a tion-metadata-get.metadata.prop.
4e3e0 20 20 20 20 20 47 65 74 20 70 72 6f 70 65 72 74 79 20 50 52 4f 50 20 66 72 6f 6d 20 63 6f 6d 70 .....Get.property.PROP.from.comp
4e400 6c 65 74 69 6f 6e 20 4d 45 54 41 44 41 54 41 2e 20 20 49 66 20 74 68 65 20 6d 65 74 61 64 61 74 letion.METADATA...If.the.metadat
4e420 61 0a 20 20 20 20 20 73 70 65 63 69 66 69 65 73 20 61 20 63 6f 6d 70 6c 65 74 69 6f 6e 20 63 61 a......specifies.a.completion.ca
4e440 74 65 67 6f 72 79 2c 20 74 68 65 20 76 61 72 69 61 62 6c 65 73 0a 20 20 20 20 20 e2 80 98 63 6f tegory,.the.variables.........co
4e460 6d 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 e2 80 99 20 61 mpletion-category-overrides....a
4e480 6e 64 20 e2 80 98 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 nd....completion-category-defaul
4e4a0 74 73 e2 80 99 0a 20 20 20 20 20 74 61 6b 65 20 70 72 65 63 65 64 65 6e 63 65 20 66 6f 72 20 63 ts.........take.precedence.for.c
4e4c0 61 74 65 67 6f 72 79 2d 73 70 65 63 69 66 69 63 20 6f 76 65 72 72 69 64 65 73 2e 20 20 49 66 20 ategory-specific.overrides...If.
4e4e0 74 68 65 20 63 6f 6d 70 6c 65 74 69 6f 6e 0a 20 20 20 20 20 6d 65 74 61 64 61 74 61 20 64 6f 65 the.completion......metadata.doe
4e500 73 20 6e 6f 74 20 73 70 65 63 69 66 79 20 74 68 65 20 70 72 6f 70 65 72 74 79 2c 20 74 68 65 0a s.not.specify.the.property,.the.
4e520 20 20 20 20 20 e2 80 98 63 6f 6d 70 6c 65 74 69 6f 6e 2d 65 78 74 72 61 2d 70 72 6f 70 65 72 74 ........completion-extra-propert
4e540 69 65 73 e2 80 99 20 70 6c 69 73 74 20 69 73 20 63 6f 6e 73 75 6c 74 65 64 2e 20 20 4e 6f 74 65 ies....plist.is.consulted...Note
4e560 20 74 68 61 74 20 74 68 65 0a 20 20 20 20 20 6b 65 79 73 20 6f 66 20 74 68 65 20 e2 80 98 63 6f .that.the......keys.of.the....co
4e580 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 e2 80 99 20 70 6c 69 mpletion-extra-properties....pli
4e5a0 73 74 20 61 72 65 20 6b 65 79 77 6f 72 64 0a 20 20 20 20 20 73 79 6d 62 6f 6c 73 2c 20 6e 6f 74 st.are.keyword......symbols,.not
4e5c0 20 70 6c 61 69 6e 20 73 79 6d 62 6f 6c 73 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 63 .plain.symbols....--.Function:.c
4e5e0 6f 6d 70 61 74 2d 63 61 6c 6c 20 63 6f 70 79 2d 74 72 65 65 20 74 72 65 65 20 26 6f 70 74 69 6f ompat-call.copy-tree.tree.&optio
4e600 6e 61 6c 20 76 65 63 74 6f 72 73 2d 61 6e 64 2d 72 65 63 6f 72 64 73 0a 20 20 20 20 20 54 68 69 nal.vectors-and-records......Thi
4e620 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 s.function.returns.a.copy.of.the
4e640 20 74 72 65 65 20 54 52 45 45 2e 20 20 49 66 20 54 52 45 45 20 69 73 20 61 20 63 6f 6e 73 0a 20 .tree.TREE...If.TREE.is.a.cons..
4e660 20 20 20 20 63 65 6c 6c 2c 20 74 68 69 73 20 6d 61 6b 65 73 20 61 20 6e 65 77 20 63 6f 6e 73 20 ....cell,.this.makes.a.new.cons.
4e680 63 65 6c 6c 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 43 41 52 20 61 6e 64 20 43 44 52 2c 20 cell.with.the.same.CAR.and.CDR,.
4e6a0 74 68 65 6e 0a 20 20 20 20 20 72 65 63 75 72 73 69 76 65 6c 79 20 63 6f 70 69 65 73 20 74 68 65 then......recursively.copies.the
4e6c0 20 43 41 52 20 61 6e 64 20 43 44 52 20 69 6e 20 74 68 65 20 73 61 6d 65 20 77 61 79 2e 0a 0a 20 .CAR.and.CDR.in.the.same.way....
4e6e0 20 20 20 20 4e 6f 72 6d 61 6c 6c 79 2c 20 77 68 65 6e 20 54 52 45 45 20 69 73 20 61 6e 79 74 68 ....Normally,.when.TREE.is.anyth
4e700 69 6e 67 20 6f 74 68 65 72 20 74 68 61 6e 20 61 20 63 6f 6e 73 20 63 65 6c 6c 2c 20 e2 80 98 63 ing.other.than.a.cons.cell,....c
4e720 6f 70 79 2d 74 72 65 65 e2 80 99 0a 20 20 20 20 20 73 69 6d 70 6c 79 20 72 65 74 75 72 6e 73 20 opy-tree.........simply.returns.
4e740 54 52 45 45 2e 20 20 48 6f 77 65 76 65 72 2c 20 69 66 20 56 45 43 54 4f 52 53 2d 41 4e 44 2d 52 TREE...However,.if.VECTORS-AND-R
4e760 45 43 4f 52 44 53 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 0a 20 20 20 20 20 69 74 ECORDS.is.non-...nil...,......it
4e780 20 63 6f 70 69 65 73 20 76 65 63 74 6f 72 73 20 61 6e 64 20 72 65 63 6f 72 64 73 20 74 6f 6f 20 .copies.vectors.and.records.too.
4e7a0 28 61 6e 64 20 6f 70 65 72 61 74 65 73 20 72 65 63 75 72 73 69 76 65 6c 79 20 6f 6e 0a 20 20 20 (and.operates.recursively.on....
4e7c0 20 20 74 68 65 69 72 20 65 6c 65 6d 65 6e 74 73 29 2e 20 20 54 68 65 20 54 52 45 45 20 61 72 67 ..their.elements)...The.TREE.arg
4e7e0 75 6d 65 6e 74 20 6d 75 73 74 20 6e 6f 74 20 63 6f 6e 74 61 69 6e 20 63 79 63 6c 65 73 2e 0a 0a ument.must.not.contain.cycles...
4e800 32 2e 36 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 2d 2d 2d 2.6.3.Missing.Definitions.------
4e820 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 6f 65 73 -------------------..Compat.does
4e840 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 66 6f 6c .not.provide.support.for.the.fol
4e860 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 74 65 64 lowing.Lisp.features.implemented
4e880 20 69 6e 20 33 30 2e 31 3a 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 6c 38 71 6d 30 70 2e 69 6e 66 .in.30.1:....File:.docl8qm0p.inf
4e8a0 6f 2c 20 20 4e 6f 64 65 3a 20 44 65 76 65 6c 6f 70 6d 65 6e 74 2c 20 20 4e 65 78 74 3a 20 46 75 o,..Node:.Development,..Next:.Fu
4e8c0 6e 63 74 69 6f 6e 20 49 6e 64 65 78 2c 20 20 50 72 65 76 3a 20 53 75 70 70 6f 72 74 2c 20 20 55 nction.Index,..Prev:.Support,..U
4e8e0 70 3a 20 54 6f 70 0a 0a 33 20 44 65 76 65 6c 6f 70 6d 65 6e 74 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a p:.Top..3.Development.**********
4e900 2a 2a 2a 0a 0a 43 6f 6d 70 61 74 20 69 73 20 64 65 76 65 6c 6f 70 65 64 20 6f 6e 20 47 69 74 48 ***..Compat.is.developed.on.GitH
4e920 75 62 2e 0a 0a 20 20 20 42 75 67 20 72 65 70 6f 72 74 73 2c 20 70 61 74 63 68 65 73 20 61 6e 64 ub......Bug.reports,.patches.and
4e940 20 63 6f 6d 6d 65 6e 74 73 20 61 72 65 20 62 65 73 74 20 73 65 6e 74 20 74 6f 20 74 68 65 20 69 .comments.are.best.sent.to.the.i
4e960 73 73 75 65 20 74 72 61 63 6b 65 72 0a 28 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d ssue.tracker.(https://github.com
4e980 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 29 2e 20 20 54 /emacs-compat/compat/issues)...T
4e9a0 68 65 73 65 20 6d 61 79 20 69 6e 63 6c 75 64 65 0a 69 73 73 75 65 73 20 69 6e 20 74 68 65 20 63 hese.may.include.issues.in.the.c
4e9c0 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 63 6f 64 65 2c 20 6d 69 73 73 69 6e 67 20 64 65 66 69 6e ompatibility.code,.missing.defin
4e9e0 69 74 69 6f 6e 73 20 6f 72 20 70 65 72 66 6f 72 6d 61 6e 63 65 0a 69 73 73 75 65 73 2e 20 20 57 itions.or.performance.issues...W
4ea00 65 20 61 6c 73 6f 20 70 72 6f 76 69 64 65 20 61 20 64 65 76 65 6c 6f 70 6d 65 6e 74 20 6d 61 69 e.also.provide.a.development.mai
4ea20 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 73 72 2e 68 74 2f 7e ling.list.(https://lists.sr.ht/~
4ea40 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 2f 63 6f 6d 70 61 74 pkal/compat-devel).(~pkal/compat
4ea60 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 2f 63 6f 6d 70 61 74 -devel@lists.sr.ht.<~pkal/compat
4ea80 2d 64 65 76 65 6c 40 6c 69 73 74 73 2e 73 72 2e 68 74 3e 29 2e 0a 0a 20 20 20 50 6c 65 61 73 65 -devel@lists.sr.ht>)......Please
4eaa0 20 6e 6f 74 65 20 74 68 61 74 20 61 73 20 61 20 47 4e 55 20 45 4c 50 41 20 70 61 63 6b 61 67 65 .note.that.as.a.GNU.ELPA.package
4eac0 2c 20 43 6f 6d 70 61 74 20 72 65 71 75 69 72 65 73 20 63 6f 6e 74 72 69 62 75 74 6f 72 73 0a 74 ,.Compat.requires.contributors.t
4eae0 6f 20 68 61 76 65 20 73 69 67 6e 65 64 20 74 68 65 20 46 53 46 20 63 6f 70 79 72 69 67 68 74 20 o.have.signed.the.FSF.copyright.
4eb00 61 73 73 69 67 6e 6d 65 6e 74 0a 28 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f assignment.(https://www.gnu.org/
4eb20 73 6f 66 74 77 61 72 65 2f 65 6d 61 63 73 2f 6d 61 6e 75 61 6c 2f 68 74 6d 6c 5f 6e 6f 64 65 2f software/emacs/manual/html_node/
4eb40 65 6d 61 63 73 2f 43 6f 70 79 72 69 67 68 74 2d 41 73 73 69 67 6e 6d 65 6e 74 2e 68 74 6d 6c 29 emacs/Copyright-Assignment.html)
4eb60 2c 0a 62 65 66 6f 72 65 20 61 6e 79 20 6e 6f 6e 2d 74 72 69 76 69 61 6c 20 63 6f 6e 74 72 69 62 ,.before.any.non-trivial.contrib
4eb80 75 74 69 6f 6e 20 28 72 6f 75 67 68 6c 79 20 31 35 20 6c 69 6e 65 73 20 6f 66 20 63 6f 64 65 29 ution.(roughly.15.lines.of.code)
4eba0 20 63 61 6e 20 62 65 0a 61 70 70 6c 69 65 64 2e 0a 0a 20 20 20 49 74 20 69 73 20 69 6d 70 6f 72 .can.be.applied......It.is.impor
4ebc0 74 61 6e 74 20 74 68 61 74 20 79 6f 75 20 70 72 6f 76 69 64 65 20 74 65 73 74 73 20 77 68 65 6e tant.that.you.provide.tests.when
4ebe0 20 79 6f 75 20 63 6f 6e 74 72 69 62 75 74 65 20 6e 65 77 0a 66 75 6e 63 74 69 6f 6e 61 6c 69 74 .you.contribute.new.functionalit
4ec00 79 2e 20 20 43 6f 6d 70 61 74 20 68 61 73 20 31 30 30 25 20 74 65 73 74 20 63 6f 76 65 72 61 67 y...Compat.has.100%.test.coverag
4ec20 65 20 62 79 20 74 68 65 20 74 65 73 74 20 73 75 69 74 65 2e 20 20 57 65 20 75 73 65 0a 63 6f 6e e.by.the.test.suite...We.use.con
4ec40 74 69 6e 75 6f 75 73 20 69 6e 74 65 67 72 61 74 69 6f 6e 20 74 6f 20 63 68 65 63 6b 20 69 66 20 tinuous.integration.to.check.if.
4ec60 70 61 74 63 68 65 73 20 70 72 65 73 65 72 76 65 20 65 78 69 73 74 69 6e 67 0a 66 75 6e 63 74 69 patches.preserve.existing.functi
4ec80 6f 6e 61 6c 69 74 79 2e 0a 0a 20 20 20 44 65 76 65 6c 6f 70 6d 65 6e 74 20 66 6f 72 20 74 68 65 onality......Development.for.the
4eca0 20 63 75 72 72 65 6e 74 6c 79 20 73 74 61 62 6c 65 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 20 .currently.stable.Emacs.version.
4ecc0 68 61 70 70 65 6e 73 20 69 6e 20 74 68 65 0a 6d 61 69 6e 20 62 72 61 6e 63 68 20 6f 66 20 74 68 happens.in.the.main.branch.of.th
4ece0 65 20 43 6f 6d 70 61 74 20 47 69 74 20 72 65 70 6f 73 69 74 6f 72 79 2e 20 20 45 4c 50 41 2d 64 e.Compat.Git.repository...ELPA-d
4ed00 65 76 65 6c 20 6e 69 67 68 74 6c 79 20 62 75 69 6c 64 73 20 61 72 65 0a 63 72 65 61 74 65 64 20 evel.nightly.builds.are.created.
4ed20 66 72 6f 6d 20 74 68 69 73 20 62 72 61 6e 63 68 2e 20 20 4e 65 77 20 66 65 61 74 75 72 65 73 2c from.this.branch...New.features,
4ed40 20 77 68 69 63 68 20 61 72 65 20 6e 6f 74 20 79 65 74 20 72 65 61 64 79 20 74 6f 20 62 65 0a 6d .which.are.not.yet.ready.to.be.m
4ed60 65 72 67 65 64 20 64 69 72 65 63 74 6c 79 20 69 6e 74 6f 20 74 68 65 20 6d 61 69 6e 20 62 72 61 erged.directly.into.the.main.bra
4ed80 6e 63 68 2c 20 61 72 65 20 64 65 76 65 6c 6f 70 65 64 20 69 6e 20 66 65 61 74 75 72 65 20 62 72 nch,.are.developed.in.feature.br
4eda0 61 6e 63 68 65 73 2e 0a 46 75 72 74 68 65 72 6d 6f 72 65 20 74 68 65 20 47 69 74 20 72 65 70 6f anches..Furthermore.the.Git.repo
4edc0 73 69 74 6f 72 79 20 68 61 73 20 61 20 62 72 61 6e 63 68 20 65 6d 61 63 73 2d 3c 76 65 72 73 69 sitory.has.a.branch.emacs-<versi
4ede0 6f 6e 3e 20 77 68 65 72 65 20 74 68 65 0a 64 65 76 65 6c 6f 70 6d 65 6e 74 20 66 6f 72 20 74 68 on>.where.the.development.for.th
4ee00 65 20 75 70 63 6f 6d 69 6e 67 20 45 6d 61 63 73 20 72 65 6c 65 61 73 65 20 74 61 6b 65 73 20 70 e.upcoming.Emacs.release.takes.p
4ee20 6c 61 63 65 2e 20 20 54 68 69 73 20 62 72 61 6e 63 68 20 69 73 0a 73 65 70 61 72 61 74 65 20 66 lace...This.branch.is.separate.f
4ee40 72 6f 6d 20 74 68 65 20 6d 61 69 6e 20 62 72 61 6e 63 68 20 73 69 6e 63 65 20 74 68 65 20 6e 65 rom.the.main.branch.since.the.ne
4ee60 77 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 73 68 6f 75 6c 64 20 6e 6f 74 20 62 65 0a 6d 61 w.functionality.should.not.be.ma
4ee80 64 65 20 61 76 61 69 6c 61 62 6c 65 20 28 6e 65 69 74 68 65 72 20 76 69 61 20 45 4c 50 41 20 6e de.available.(neither.via.ELPA.n
4eea0 6f 72 20 45 4c 50 41 2d 64 65 76 65 6c 29 20 62 65 66 6f 72 65 20 74 68 65 20 6e 65 77 20 45 6d or.ELPA-devel).before.the.new.Em
4eec0 61 63 73 0a 76 65 72 73 69 6f 6e 20 68 61 73 20 62 65 65 6e 20 72 65 61 73 6f 6e 61 62 6c 79 20 acs.version.has.been.reasonably.
4eee0 73 74 61 62 69 6c 69 7a 65 64 2c 20 65 2e 67 2e 2c 20 61 72 6f 75 6e 64 20 74 68 65 20 74 69 6d stabilized,.e.g.,.around.the.tim
4ef00 65 20 77 68 65 6e 20 74 68 65 0a 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 20 62 72 61 6e 63 68 20 e.when.the.Emacs.version.branch.
4ef20 69 73 20 63 72 65 61 74 65 64 20 69 6e 20 74 68 65 20 45 6d 61 63 73 20 72 65 70 6f 73 69 74 6f is.created.in.the.Emacs.reposito
4ef40 72 79 20 6f 6e 20 53 61 76 61 6e 6e 61 68 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 6c 38 71 6d ry.on.Savannah.....File:.docl8qm
4ef60 30 70 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 46 75 6e 63 74 69 6f 6e 20 49 6e 64 65 78 2c 20 0p.info,..Node:.Function.Index,.
4ef80 20 4e 65 78 74 3a 20 56 61 72 69 61 62 6c 65 20 49 6e 64 65 78 2c 20 20 50 72 65 76 3a 20 44 65 .Next:.Variable.Index,..Prev:.De
4efa0 76 65 6c 6f 70 6d 65 6e 74 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 41 70 70 65 6e 64 69 78 20 41 20 velopment,..Up:.Top..Appendix.A.
4efc0 46 75 6e 63 74 69 6f 6e 20 49 6e 64 65 78 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a Function.Index.*****************
4efe0 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 65 6e 75 3a 0a 0a 2a ********....[index..].*.Menu:..*
4f000 20 61 64 64 2d 64 69 73 70 6c 61 79 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 3a 20 20 20 20 20 .add-display-text-property:.....
4f020 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
4f040 6e 65 20 31 39 36 29 0a 2a 20 61 6c 69 73 74 2d 67 65 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 ne.196).*.alist-get:............
4f060 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 20 .................Emacs.25.1.....
4f080 20 20 20 20 20 20 28 6c 69 6e 65 20 20 38 32 29 0a 2a 20 61 6c 77 61 79 73 3a 20 20 20 20 20 20 ......(line..82).*.always:......
4f0a0 20 20 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.
4f0c0 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 38 33 29 0a 2a 20 61 6e 64 2d 28.1...........(line..83).*.and-
4f0e0 6c 65 74 2a 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 let*:...........................
4f100 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 31 35 ...Emacs.26.1...........(line.15
4f120 38 29 0a 2a 20 61 73 73 6f 63 2d 64 65 6c 65 74 65 2d 61 6c 6c 3a 20 20 20 20 20 20 20 20 20 20 8).*.assoc-delete-all:..........
4f140 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..........
4f160 20 28 6c 69 6e 65 20 20 31 33 29 0a 2a 20 62 69 67 6e 75 6d 70 3a 20 20 20 20 20 20 20 20 20 20 .(line..13).*.bignump:..........
4f180 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.
4f1a0 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 35 35 29 0a 2a 20 62 6f 6f 6c 2d 76 65 63 74 ..........(line..55).*.bool-vect
4f1c0 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 20 20 20 45 6d or:...........................Em
4f1e0 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 37 37 29 0a 2a 20 acs.25.1...........(line.177).*.
4f200 62 6f 75 6e 64 73 2d 6f 66 2d 74 68 69 6e 67 2d 61 74 2d 6d 6f 75 73 65 3a 20 20 20 20 20 20 20 bounds-of-thing-at-mouse:.......
4f220 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
4f240 65 20 32 39 36 29 0a 2a 20 62 75 66 66 65 72 2d 68 61 73 68 3a 20 20 20 20 20 20 20 20 20 20 20 e.296).*.buffer-hash:...........
4f260 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......
4f280 20 20 20 20 20 28 6c 69 6e 65 20 20 38 30 29 0a 2a 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 2d 62 .....(line..80).*.buffer-local-b
4f2a0 6f 75 6e 64 70 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 oundp:...................Emacs.2
4f2c0 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 32 39 29 0a 2a 20 62 75 66 66 65 8.1...........(line.129).*.buffe
4f2e0 72 2d 6c 6f 63 61 6c 2d 72 65 73 74 6f 72 65 2d 73 74 61 74 65 3a 20 20 20 20 20 20 20 20 20 20 r-local-restore-state:..........
4f300 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 20 35 36 ..Emacs.29.1...........(line..56
4f320 29 0a 2a 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 2d 73 65 74 2d 73 74 61 74 65 3a 20 20 20 20 20 ).*.buffer-local-set-state:.....
4f340 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...........
4f360 28 6c 69 6e 65 20 20 35 36 29 0a 2a 20 62 75 66 66 65 72 2d 6d 61 74 63 68 2d 70 3a 20 20 20 20 (line..56).*.buffer-match-p:....
4f380 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..
4f3a0 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 36 34 29 0a 2a 20 62 75 74 74 6f 6e 69 7a 65 3a .........(line.264).*.buttonize:
4f3c0 20 20 20 20 20 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
4f3e0 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 36 32 29 0a 2a 20 62 cs.29.1...........(line.162).*.b
4f400 75 74 74 6f 6e 69 7a 65 2d 72 65 67 69 6f 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 uttonize-region:................
4f420 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
4f440 20 31 37 31 29 0a 2a 20 63 68 61 72 2d 74 6f 2d 6e 61 6d 65 3a 20 20 20 20 20 20 20 20 20 20 20 .171).*.char-to-name:...........
4f460 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.......
4f480 20 20 20 20 28 6c 69 6e 65 20 20 35 30 29 0a 2a 20 63 68 61 72 2d 75 70 70 65 72 63 61 73 65 2d ....(line..50).*.char-uppercase-
4f4a0 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 63 73 20 32 39 p:......................Emacs.29
4f4c0 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 63 6c 2d 63 6f 6e .1...........(line.133).*.cl-con
4f4e0 73 74 61 6e 74 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 stantly:........................
4f500 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 34 31 29 .Emacs.29.1...........(line.641)
4f520 0a 2a 20 63 6c 2d 6f 6e 63 65 2d 6f 6e 6c 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .*.cl-once-only:................
4f540 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...........(
4f560 6c 69 6e 65 20 36 36 34 29 0a 2a 20 63 6c 2d 77 69 74 68 2d 67 65 6e 73 79 6d 73 3a 20 20 20 20 line.664).*.cl-with-gensyms:....
4f580 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...
4f5a0 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 36 34 35 29 0a 2a 20 63 6c 6f 73 75 72 65 70 3a 20 20 ........(line.645).*.closurep:..
4f5c0 20 20 20 20 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
4f5e0 73 20 33 30 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 35 37 29 0a 2a 20 63 6f s.30.1...........(line..57).*.co
4f600 6c 6f 72 2d 64 61 72 6b 2d 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lor-dark-p:.....................
4f620 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.
4f640 33 32 36 29 0a 2a 20 63 6f 6c 6f 72 2d 6f 6b 6c 61 62 2d 74 6f 2d 73 72 67 62 3a 20 20 20 20 20 326).*.color-oklab-to-srgb:.....
4f660 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........
4f680 20 20 20 28 6c 69 6e 65 20 20 34 34 29 0a 2a 20 63 6f 6c 6f 72 2d 6f 6b 6c 61 62 2d 74 6f 2d 78 ...(line..44).*.color-oklab-to-x
4f6a0 79 7a 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 33 30 2e yz:....................Emacs.30.
4f6c0 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 33 34 29 0a 2a 20 63 6f 6c 6f 72 2d 73 1...........(line..34).*.color-s
4f6e0 72 67 62 2d 74 6f 2d 6f 6b 6c 61 62 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rgb-to-oklab:...................
4f700 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 34 37 29 0a Emacs.30.1...........(line..47).
4f720 2a 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 73 70 65 63 3a 20 *.color-values-from-color-spec:.
4f740 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 6c .........Emacs.28.1...........(l
4f760 69 6e 65 20 33 33 32 29 0a 2a 20 63 6f 6c 6f 72 2d 78 79 7a 2d 74 6f 2d 6f 6b 6c 61 62 3a 20 20 ine.332).*.color-xyz-to-oklab:..
4f780 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 2e 31 2e 20 20 20 ..................Emacs.30.1....
4f7a0 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 34 31 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 3a .......(line..41).*.compat-call:
4f7c0 20 20 20 20 20 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 ...........................Usage
4f7e0 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 35 30 29 0a 2a 20 63 6f 6d ................(line..50).*.com
4f800 70 61 74 2d 63 61 6c 6c 20 61 6c 69 73 74 2d 67 65 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 pat-call.alist-get:.............
4f820 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
4f840 34 34 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 61 73 73 6f 63 3a 20 20 20 20 20 20 20 20 44).*.compat-call.assoc:........
4f860 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.........
4f880 20 20 28 6c 69 6e 65 20 33 31 36 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 61 73 73 6f 63 ..(line.316).*.compat-call.assoc
4f8a0 2d 64 65 6c 65 74 65 2d 61 6c 6c 3a 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 -delete-all:..........Emacs.27.1
4f8c0 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 34 31 37 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 ...........(line.417).*.compat-c
4f8e0 61 6c 6c 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6d 65 74 61 64 61 74 61 2d 67 65 74 3a 20 20 20 45 all.completion-metadata-get:...E
4f900 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 32 38 37 29 0a 2a macs.30.1...........(line.287).*
4f920 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 63 6f 70 79 2d 74 72 65 65 3a 20 20 20 20 20 20 20 20 20 .compat-call.copy-tree:.........
4f940 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
4f960 6e 65 20 32 39 37 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 63 6f 75 6e 74 2d 77 69 6e 64 ne.297).*.compat-call.count-wind
4f980 6f 77 73 3a 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 ows:.............Emacs.28.1.....
4f9a0 20 20 20 20 20 20 28 6c 69 6e 65 20 34 31 31 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 64 ......(line.411).*.compat-call.d
4f9c0 65 66 69 6e 65 2d 6b 65 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 efine-key:................Emacs.
4f9e0 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 37 36 31 29 0a 2a 20 63 6f 6d 70 29.1...........(line.761).*.comp
4fa00 61 74 2d 63 61 6c 6c 20 65 78 65 63 75 74 61 62 6c 65 2d 66 69 6e 64 3a 20 20 20 20 20 20 20 20 at-call.executable-find:........
4fa20 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 34 32 ...Emacs.27.1...........(line.42
4fa40 39 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 66 69 6c 65 2d 73 69 7a 65 2d 68 75 6d 61 6e 9).*.compat-call.file-size-human
4fa60 2d 72 65 61 64 61 62 6c 65 3a 20 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 20 20 -readable:..Emacs.27.1..........
4fa80 20 28 6c 69 6e 65 20 33 39 37 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 6c 69 6e 65 2d 6e .(line.397).*.compat-call.line-n
4faa0 75 6d 62 65 72 2d 61 74 2d 70 6f 73 3a 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 36 2e 31 2e umber-at-pos:........Emacs.26.1.
4fac0 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 33 30 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 ..........(line.330).*.compat-ca
4fae0 6c 6c 20 6c 6f 6f 6b 75 70 2d 6b 65 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d ll.lookup-key:................Em
4fb00 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 35 36 29 0a 2a 20 acs.27.1...........(line.356).*.
4fb20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 6d 61 6b 65 2d 74 65 6d 70 2d 66 69 6c 65 3a 20 20 20 20 20 compat-call.make-temp-file:.....
4fb40 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 6c 69 6e .......Emacs.26.1...........(lin
4fb60 65 20 32 37 38 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 70 6c 69 73 74 2d 67 65 74 3a 20 e.278).*.compat-call.plist-get:.
4fb80 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 20 ................Emacs.29.1......
4fba0 20 20 20 20 20 28 6c 69 6e 65 20 37 37 37 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 70 6c .....(line.777).*.compat-call.pl
4fbc0 69 73 74 2d 6d 65 6d 62 65 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 ist-member:..............Emacs.2
4fbe0 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 38 30 31 29 0a 2a 20 63 6f 6d 70 61 9.1...........(line.801).*.compa
4fc00 74 2d 63 61 6c 6c 20 70 6c 69 73 74 2d 70 75 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t-call.plist-put:...............
4fc20 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 37 38 39 ..Emacs.29.1...........(line.789
4fc40 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 72 65 63 65 6e 74 65 72 3a 20 20 20 20 20 20 20 ).*.compat-call.recenter:.......
4fc60 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...........
4fc80 28 6c 69 6e 65 20 33 34 36 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 72 65 67 65 78 70 2d (line.346).*.compat-call.regexp-
4fca0 6f 70 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 37 2e 31 2e 20 opt:................Emacs.27.1..
4fcc0 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 38 35 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c .........(line.385).*.compat-cal
4fce0 6c 20 73 65 74 2d 74 72 61 6e 73 69 65 6e 74 2d 6d 61 70 3a 20 20 20 20 20 20 20 20 20 45 6d 61 l.set-transient-map:.........Ema
4fd00 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 31 36 29 0a 2a 20 63 cs.29.1...........(line.716).*.c
4fd20 6f 6d 70 61 74 2d 63 61 6c 6c 20 73 65 74 71 2d 6c 6f 63 61 6c 3a 20 20 20 20 20 20 20 20 20 20 ompat-call.setq-local:..........
4fd40 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
4fd60 20 33 37 30 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 73 6f 72 74 3a 20 20 20 20 20 20 20 .370).*.compat-call.sort:.......
4fd80 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.......
4fda0 20 20 20 20 28 6c 69 6e 65 20 32 31 32 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 73 74 72 ....(line.212).*.compat-call.str
4fdc0 69 6e 67 2d 6c 69 6e 65 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 ing-lines:..............Emacs.29
4fde0 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 37 35 32 29 0a 2a 20 63 6f 6d 70 61 74 .1...........(line.752).*.compat
4fe00 2d 63 61 6c 6c 20 73 74 72 69 6e 67 2d 74 72 69 6d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -call.string-trim:..............
4fe20 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 37 35 29 .Emacs.26.1...........(line.375)
4fe40 0a 2a 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 6c 65 66 74 3a .*.compat-call.string-trim-left:
4fe60 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...........(
4fe80 6c 69 6e 65 20 33 35 39 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 73 74 72 69 6e 67 2d 74 line.359).*.compat-call.string-t
4fea0 72 69 6d 2d 72 69 67 68 74 3a 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 36 2e 31 2e 20 20 rim-right:.........Emacs.26.1...
4fec0 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 36 37 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c ........(line.367).*.compat-call
4fee0 20 73 74 72 69 6e 67 2d 77 69 64 74 68 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 .string-width:..............Emac
4ff00 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 39 34 29 0a 2a 20 63 6f s.28.1...........(line.394).*.co
4ff20 6d 70 61 74 2d 66 75 6e 63 74 69 6f 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mpat-function:..................
4ff40 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 20 28 6c 69 6e 65 20 .....Usage................(line.
4ff60 20 35 38 29 0a 2a 20 63 6f 6d 70 69 6c 65 64 2d 66 75 6e 63 74 69 6f 6e 2d 70 3a 20 20 20 20 20 .58).*.compiled-function-p:.....
4ff80 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 20 ..............Emacs.29.1........
4ffa0 20 20 20 28 6c 69 6e 65 20 32 33 32 29 0a 2a 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d ...(line.232).*.completion-lazy-
4ffc0 68 69 6c 69 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 33 30 2e hilit:.................Emacs.30.
4ffe0 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 38 32 29 0a 2a 20 63 6f 75 6e 74 2d 73 1...........(line.182).*.count-s
50000 65 6e 74 65 6e 63 65 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 entences:.......................
50020 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 33 31 29 0a Emacs.29.1...........(line..31).
50040 2a 20 63 58 58 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 *.cXXXr:........................
50060 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 6c .........Emacs.26.1...........(l
50080 69 6e 65 20 20 36 36 29 0a 2a 20 63 58 58 58 58 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ine..66).*.cXXXXr:..............
500a0 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 20 ..................Emacs.26.1....
500c0 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 36 37 29 0a 2a 20 64 61 74 65 2d 64 61 79 73 2d 69 6e .......(line..67).*.date-days-in
500e0 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 20 20 45 6d 61 63 73 -month:....................Emacs
50100 20 32 37 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 64 61 74 .27.1...........(line.213).*.dat
50120 65 2d 6f 72 64 69 6e 61 6c 2d 74 6f 2d 74 69 6d 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e-ordinal-to-time:..............
50140 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 32 ....Emacs.27.1...........(line.2
50160 32 30 29 0a 2a 20 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 64 61 79 3a 20 20 20 20 20 20 20 20 20 20).*.decoded-time-day:.........
50180 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.........
501a0 20 20 28 6c 69 6e 65 20 31 37 35 29 0a 2a 20 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 64 73 74 3a ..(line.175).*.decoded-time-dst:
501c0 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
501e0 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 39 35 29 0a 2a 20 64 65 63 6f 64 65 64 2d ...........(line.195).*.decoded-
50200 74 69 6d 65 2d 68 6f 75 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 time-hour:.....................E
50220 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 37 30 29 0a 2a macs.27.1...........(line.170).*
50240 20 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 6d 69 6e 75 74 65 3a 20 20 20 20 20 20 20 20 20 20 20 .decoded-time-minute:...........
50260 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 6c 69 ........Emacs.27.1...........(li
50280 6e 65 20 31 36 35 29 0a 2a 20 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 6d 6f 6e 74 68 3a 20 20 20 ne.165).*.decoded-time-month:...
502a0 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 20 20 .................Emacs.27.1.....
502c0 20 20 20 20 20 20 28 6c 69 6e 65 20 31 38 30 29 0a 2a 20 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d ......(line.180).*.decoded-time-
502e0 70 65 72 69 6f 64 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 period:...................Emacs.
50300 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 36 33 29 0a 2a 20 64 65 63 6f 28.1...........(line.363).*.deco
50320 64 65 64 2d 74 69 6d 65 2d 73 65 63 6f 6e 64 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ded-time-second:................
50340 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 31 36 ...Emacs.27.1...........(line.16
50360 30 29 0a 2a 20 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 77 65 65 6b 64 61 79 3a 20 20 20 20 20 20 0).*.decoded-time-weekday:......
50380 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..........
503a0 20 28 6c 69 6e 65 20 31 39 30 29 0a 2a 20 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 79 65 61 72 3a .(line.190).*.decoded-time-year:
503c0 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.
503e0 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 38 35 29 0a 2a 20 64 65 63 6f 64 65 64 2d 74 ..........(line.185).*.decoded-t
50400 69 6d 65 2d 7a 6f 6e 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d ime-zone:.....................Em
50420 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 30 30 29 0a 2a 20 acs.27.1...........(line.200).*.
50440 64 65 66 69 6e 65 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 define-keymap:..................
50460 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
50480 65 20 35 32 34 29 0a 2a 20 64 65 66 76 61 72 2d 6b 65 79 6d 61 70 3a 20 20 20 20 20 20 20 20 20 e.524).*.defvar-keymap:.........
504a0 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 20 ................Emacs.29.1......
504c0 20 20 20 20 20 28 6c 69 6e 65 20 35 39 32 29 0a 2a 20 64 65 6c 65 74 65 2d 6c 69 6e 65 3a 20 20 .....(line.592).*.delete-line:..
504e0 20 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
50500 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 64 69 72 65 63 9.1...........(line..65).*.direc
50520 74 6f 72 79 2d 61 62 62 72 65 76 2d 61 70 70 6c 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tory-abbrev-apply:..............
50540 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 38 ..Emacs.29.1...........(line.388
50560 29 0a 2a 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 ).*.directory-abbrev-make-regexp
50580 3a 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...........
505a0 28 6c 69 6e 65 20 33 38 35 29 0a 2a 20 64 69 72 65 63 74 6f 72 79 2d 65 6d 70 74 79 2d 70 3a 20 (line.385).*.directory-empty-p:.
505c0 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 20 ....................Emacs.28.1..
505e0 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 34 37 29 0a 2a 20 64 69 72 65 63 74 6f 72 79 2d .........(line.247).*.directory-
50600 6e 61 6d 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 name-p:......................Ema
50620 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 35 36 29 0a 2a 20 64 cs.25.1...........(line..56).*.d
50640 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 20 20 let:............................
50660 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
50680 20 31 34 37 29 0a 2a 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 .147).*.dolist-with-progress-rep
506a0 6f 72 74 65 72 3a 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 orter:.........Emacs.27.1.......
506c0 20 20 20 20 28 6c 69 6e 65 20 31 31 39 29 0a 2a 20 64 72 6f 70 3a 20 20 20 20 20 20 20 20 20 20 ....(line.119).*.drop:..........
506e0 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 33 30 ........................Emacs.30
50700 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 31 30 29 0a 2a 20 65 6e 73 75 72 65 .1...........(line.110).*.ensure
50720 2d 6c 69 73 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 -list:..........................
50740 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 36 32 29 .Emacs.28.1...........(line.162)
50760 0a 2a 20 65 72 74 2d 77 69 74 68 2d 74 65 6d 70 2d 64 69 72 65 63 74 6f 72 79 3a 20 20 20 20 20 .*.ert-with-temp-directory:.....
50780 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...........(
507a0 6c 69 6e 65 20 36 32 39 29 0a 2a 20 65 72 74 2d 77 69 74 68 2d 74 65 6d 70 2d 66 69 6c 65 3a 20 line.629).*.ert-with-temp-file:.
507c0 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...
507e0 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 36 32 33 29 0a 2a 20 66 69 6c 65 2d 61 74 74 72 69 62 ........(line.623).*.file-attrib
50800 75 74 65 2d 61 63 63 65 73 73 2d 74 69 6d 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 ute-access-time:............Emac
50820 73 20 32 36 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 32 33 29 0a 2a 20 66 69 s.26.1...........(line.223).*.fi
50840 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 63 6f 6c 6c 65 63 74 3a 20 20 20 20 20 20 20 20 20 20 20 le-attribute-collect:...........
50860 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.
50880 32 36 30 29 0a 2a 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 260).*.file-attribute-device-num
508a0 62 65 72 3a 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 ber:..........Emacs.26.1........
508c0 20 20 20 28 6c 69 6e 65 20 32 35 35 29 0a 2a 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 66 ...(line.255).*.file-attribute-f
508e0 69 6c 65 2d 69 64 65 6e 74 69 66 69 65 72 3a 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e ile-identifier:........Emacs.29.
50900 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 34 35 29 0a 2a 20 66 69 6c 65 2d 61 74 1...........(line.345).*.file-at
50920 74 72 69 62 75 74 65 2d 67 72 6f 75 70 2d 69 64 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tribute-group-id:...............
50940 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 31 38 29 0a Emacs.26.1...........(line.218).
50960 2a 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 3a 20 20 *.file-attribute-inode-number:..
50980 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 6c .........Emacs.26.1...........(l
509a0 69 6e 65 20 32 35 30 29 0a 2a 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 6c 69 6e 6b 2d 6e ine.250).*.file-attribute-link-n
509c0 75 6d 62 65 72 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 umber:............Emacs.26.1....
509e0 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 30 38 29 0a 2a 20 66 69 6c 65 2d 61 74 74 72 69 62 75 .......(line.208).*.file-attribu
50a00 74 65 2d 6d 6f 64 65 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 te-modes:..................Emacs
50a20 20 32 36 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 34 35 29 0a 2a 20 66 69 6c .26.1...........(line.245).*.fil
50a40 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 3a 20 20 e-attribute-modification-time:..
50a60 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 32 ....Emacs.26.1...........(line.2
50a80 32 38 29 0a 2a 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 73 69 7a 65 3a 20 20 20 20 20 20 28).*.file-attribute-size:......
50aa0 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.........
50ac0 20 20 28 6c 69 6e 65 20 32 34 30 29 0a 2a 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 73 74 ..(line.240).*.file-attribute-st
50ae0 61 74 75 73 2d 63 68 61 6e 67 65 2d 74 69 6d 65 3a 20 20 20 20 20 45 6d 61 63 73 20 32 36 2e 31 atus-change-time:.....Emacs.26.1
50b00 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 33 34 29 0a 2a 20 66 69 6c 65 2d 61 74 74 ...........(line.234).*.file-att
50b20 72 69 62 75 74 65 2d 74 79 70 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 ribute-type:...................E
50b40 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 33 29 0a 2a macs.26.1...........(line.203).*
50b60 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 75 73 65 72 2d 69 64 3a 20 20 20 20 20 20 20 20 .file-attribute-user-id:........
50b80 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 6c 69 ........Emacs.26.1...........(li
50ba0 6e 65 20 32 31 33 29 0a 2a 20 66 69 6c 65 2d 62 61 63 6b 75 70 2d 66 69 6c 65 2d 6e 61 6d 65 73 ne.213).*.file-backup-file-names
50bc0 3a 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.....
50be0 20 20 20 20 20 20 28 6c 69 6e 65 20 33 35 31 29 0a 2a 20 66 69 6c 65 2d 68 61 73 2d 63 68 61 6e ......(line.351).*.file-has-chan
50c00 67 65 64 2d 70 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 ged-p:....................Emacs.
50c20 32 39 2e 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 66 69 6c 65 29.1...........(line.370).*.file
50c40 2d 6c 6f 63 61 6c 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 -local-name:....................
50c60 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 31 36 ...Emacs.26.1...........(line.16
50c80 37 29 0a 2a 20 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 7).*.file-modes-number-to-symbol
50ca0 69 63 3a 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 ic:.........Emacs.28.1..........
50cc0 20 28 6c 69 6e 65 20 33 34 35 29 0a 2a 20 66 69 6c 65 2d 6e 61 6d 65 2d 63 6f 6e 63 61 74 3a 20 .(line.345).*.file-name-concat:.
50ce0 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.
50d00 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 35 33 29 0a 2a 20 66 69 6c 65 2d 6e 61 6d 65 ..........(line..53).*.file-name
50d20 2d 70 61 72 65 6e 74 2d 64 69 72 65 63 74 6f 72 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 45 6d -parent-directory:............Em
50d40 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 36 31 29 0a 2a 20 acs.29.1...........(line.361).*.
50d60 66 69 6c 65 2d 6e 61 6d 65 2d 71 75 6f 74 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 file-name-quote:................
50d80 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 6c 69 6e .......Emacs.26.1...........(lin
50da0 65 20 31 30 32 29 0a 2a 20 66 69 6c 65 2d 6e 61 6d 65 2d 71 75 6f 74 65 64 2d 70 3a 20 20 20 20 e.102).*.file-name-quoted-p:....
50dc0 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......
50de0 20 20 20 20 20 28 6c 69 6e 65 20 20 39 35 29 0a 2a 20 66 69 6c 65 2d 6e 61 6d 65 2d 73 70 6c 69 .....(line..95).*.file-name-spli
50e00 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 45 6d 61 63 73 20 32 t:.......................Emacs.2
50e20 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 35 31 29 0a 2a 20 66 69 6c 65 2d 9.1...........(line.351).*.file-
50e40 6e 61 6d 65 2d 75 6e 71 75 6f 74 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 name-unquote:...................
50e60 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 39 30 ..Emacs.26.1...........(line..90
50e80 29 0a 2a 20 66 69 6c 65 2d 6e 61 6d 65 2d 77 69 74 68 2d 65 78 74 65 6e 73 69 6f 6e 3a 20 20 20 ).*.file-name-with-extension:...
50ea0 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...........
50ec0 28 6c 69 6e 65 20 32 32 39 29 0a 2a 20 66 69 6c 65 2d 73 69 7a 65 2d 68 75 6d 61 6e 2d 72 65 61 (line.229).*.file-size-human-rea
50ee0 64 61 62 6c 65 2d 69 65 63 3a 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 dable-iec:..........Emacs.27.1..
50f00 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 35 31 29 0a 2a 20 66 69 6e 64 2d 62 75 66 66 65 .........(line.251).*.find-buffe
50f20 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 45 6d 61 r:...........................Ema
50f40 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 32 30 29 0a 2a 20 66 cs.30.1...........(line.120).*.f
50f60 69 78 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 20 20 20 20 ixnump:.........................
50f80 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
50fa0 20 20 36 30 29 0a 2a 20 66 6c 61 74 74 65 6e 2d 74 72 65 65 3a 20 20 20 20 20 20 20 20 20 20 20 ..60).*.flatten-tree:...........
50fc0 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.......
50fe0 20 20 20 20 28 6c 69 6e 65 20 31 33 32 29 0a 2a 20 66 6f 72 6d 61 74 2d 6d 65 73 73 61 67 65 3a ....(line.132).*.format-message:
51000 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 35 ........................Emacs.25
51020 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 34 34 29 0a 2a 20 66 6f 72 6d 61 74 .1...........(line..44).*.format
51040 2d 70 72 6f 6d 70 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 -prompt:........................
51060 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 32 35 38 29 .Emacs.28.1...........(line.258)
51080 0a 2a 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 3a .*.funcall-with-delayed-message:
510a0 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...........(
510c0 6c 69 6e 65 20 31 35 34 29 0a 2a 20 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 2d 70 3a 20 20 20 line.154).*.function-alias-p:...
510e0 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...
51100 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 33 39 29 0a 2a 20 67 61 72 62 61 67 65 2d 63 6f 6c ........(line.239).*.garbage-col
51120 6c 65 63 74 2d 6d 61 79 62 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 lect-maybe:.................Emac
51140 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 36 38 29 0a 2a 20 67 65 s.28.1...........(line..68).*.ge
51160 6e 73 79 6d 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 nsym:...........................
51180 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.
511a0 20 37 30 29 0a 2a 20 67 65 74 2d 64 69 73 70 6c 61 79 2d 70 72 6f 70 65 72 74 79 3a 20 20 20 20 .70).*.get-display-property:....
511c0 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 20 ..............Emacs.29.1........
511e0 20 20 20 28 6c 69 6e 65 20 31 37 39 29 0a 2a 20 67 65 74 2d 73 63 72 61 74 63 68 2d 62 75 66 66 ...(line.179).*.get-scratch-buff
51200 65 72 2d 63 72 65 61 74 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e er-create:.............Emacs.29.
51220 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 34 34 29 0a 2a 20 67 65 74 2d 74 72 75 1...........(line..44).*.get-tru
51240 65 6e 61 6d 65 2d 62 75 66 66 65 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ename-buffer:...................
51260 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 31 35 29 0a Emacs.30.1...........(line.115).
51280 2a 20 68 61 73 68 2d 74 61 62 6c 65 2d 65 6d 70 74 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 *.hash-table-empty:.............
512a0 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
512c0 69 6e 65 20 31 31 39 29 0a 2a 20 69 66 2d 6c 65 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ine.119).*.if-let:..............
512e0 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....
51300 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 39 36 29 0a 2a 20 69 66 2d 6c 65 74 2a 3a 20 20 20 20 .......(line..96).*.if-let*:....
51320 20 20 20 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
51340 20 32 36 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 34 39 29 0a 2a 20 69 67 6e .26.1...........(line.149).*.ign
51360 6f 72 65 2d 65 72 72 6f 72 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ore-errors:.....................
51380 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 31 ....Emacs.27.1...........(line.1
513a0 30 36 29 0a 2a 20 69 6d 61 67 65 2d 70 72 6f 70 65 72 74 79 3a 20 20 20 20 20 20 20 20 20 20 20 06).*.image-property:...........
513c0 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.........
513e0 20 20 28 6c 69 6e 65 20 31 39 38 29 0a 2a 20 69 6e 73 65 72 74 2d 69 6e 74 6f 2d 62 75 66 66 65 ..(line.198).*.insert-into-buffe
51400 72 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 38 2e 31 r:....................Emacs.28.1
51420 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 39 32 29 0a 2a 20 69 6e 74 65 72 70 72 65 ...........(line..92).*.interpre
51440 74 65 64 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 45 ted-function-p:................E
51460 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 36 32 29 0a 2a macs.30.1...........(line..62).*
51480 20 6b 65 79 2d 70 61 72 73 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .key-parse:.....................
514a0 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
514c0 6e 65 20 34 32 35 29 0a 2a 20 6b 65 79 2d 76 61 6c 69 64 2d 70 3a 20 20 20 20 20 20 20 20 20 20 ne.425).*.key-valid-p:..........
514e0 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.....
51500 20 20 20 20 20 20 28 6c 69 6e 65 20 33 39 33 29 0a 2a 20 6b 65 79 6d 61 70 2d 67 6c 6f 62 61 6c ......(line.393).*.keymap-global
51520 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 45 6d 61 63 73 20 -lookup:..................Emacs.
51540 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 35 32 30 29 0a 2a 20 6b 65 79 6d 29.1...........(line.520).*.keym
51560 61 70 2d 67 6c 6f 62 61 6c 2d 73 65 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ap-global-set:..................
51580 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 34 35 ...Emacs.29.1...........(line.45
515a0 34 29 0a 2a 20 6b 65 79 6d 61 70 2d 67 6c 6f 62 61 6c 2d 75 6e 73 65 74 3a 20 20 20 20 20 20 20 4).*.keymap-global-unset:.......
515c0 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..........
515e0 20 28 6c 69 6e 65 20 34 37 34 29 0a 2a 20 6b 65 79 6d 61 70 2d 6c 6f 63 61 6c 2d 6c 6f 6f 6b 75 .(line.474).*.keymap-local-looku
51600 70 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 39 2e 31 2e p:...................Emacs.29.1.
51620 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 35 31 36 29 0a 2a 20 6b 65 79 6d 61 70 2d 6c 6f ..........(line.516).*.keymap-lo
51640 63 61 6c 2d 73 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 45 6d cal-set:......................Em
51660 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 36 34 29 0a 2a 20 acs.29.1...........(line.464).*.
51680 6b 65 79 6d 61 70 2d 6c 6f 63 61 6c 2d 75 6e 73 65 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 keymap-local-unset:.............
516a0 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
516c0 65 20 34 38 39 29 0a 2a 20 6b 65 79 6d 61 70 2d 6c 6f 6f 6b 75 70 3a 20 20 20 20 20 20 20 20 20 e.489).*.keymap-lookup:.........
516e0 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 20 ................Emacs.29.1......
51700 20 20 20 20 20 28 6c 69 6e 65 20 35 30 33 29 0a 2a 20 6b 65 79 6d 61 70 2d 73 65 74 3a 20 20 20 .....(line.503).*.keymap-set:...
51720 20 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
51740 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 34 33 30 29 0a 2a 20 6b 65 79 6d 61 9.1...........(line.430).*.keyma
51760 70 2d 73 75 62 73 74 69 74 75 74 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 p-substitute:...................
51780 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 34 39 35 ..Emacs.29.1...........(line.495
517a0 29 0a 2a 20 6c 65 6e 67 74 68 3c 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).*.length<:....................
517c0 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...........
517e0 28 6c 69 6e 65 20 20 34 35 29 0a 2a 20 6c 65 6e 67 74 68 3d 3a 20 20 20 20 20 20 20 20 20 20 20 (line..45).*.length=:...........
51800 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 20 ....................Emacs.28.1..
51820 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 34 32 29 0a 2a 20 6c 65 6e 67 74 68 3e 3a 20 20 .........(line..42).*.length>:..
51840 20 20 20 20 20 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
51860 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 35 30 29 0a 2a 20 6c cs.28.1...........(line..50).*.l
51880 69 73 74 2d 6f 66 2d 73 74 72 69 6e 67 73 2d 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ist-of-strings-p:...............
518a0 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
518c0 20 20 36 38 29 0a 2a 20 6d 61 63 72 6f 65 78 70 2d 66 69 6c 65 2d 6e 61 6d 65 3a 20 20 20 20 20 ..68).*.macroexp-file-name:.....
518e0 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.......
51900 20 20 20 20 28 6c 69 6e 65 20 33 30 35 29 0a 2a 20 6d 61 63 72 6f 65 78 70 2d 70 61 72 73 65 3a ....(line.305).*.macroexp-parse:
51920 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 35 ........................Emacs.25
51940 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 37 34 29 0a 2a 20 6d 61 63 72 6f 65 .1...........(line.174).*.macroe
51960 78 70 2d 71 75 6f 74 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 xp-quote:.......................
51980 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 37 31 29 .Emacs.25.1...........(line.171)
519a0 0a 2a 20 6d 61 63 72 6f 65 78 70 2d 77 61 72 6e 2d 61 6e 64 2d 72 65 74 75 72 6e 3a 20 20 20 20 .*.macroexp-warn-and-return:....
519c0 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...........(
519e0 6c 69 6e 65 20 33 30 39 29 0a 2a 20 6d 61 63 72 6f 65 78 70 61 6e 64 2d 31 3a 20 20 20 20 20 20 line.309).*.macroexpand-1:......
51a00 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...
51a20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 36 34 29 0a 2a 20 6d 61 6a 6f 72 2d 6d 6f 64 65 2d ........(line.164).*.major-mode-
51a40 72 65 73 74 6f 72 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 restore:....................Emac
51a60 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 32 29 0a 2a 20 6d 61 s.27.1...........(line..22).*.ma
51a80 6a 6f 72 2d 6d 6f 64 65 2d 73 75 73 70 65 6e 64 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 jor-mode-suspend:...............
51aa0 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.
51ac0 20 31 33 29 0a 2a 20 6d 61 6b 65 2d 65 6d 70 74 79 2d 66 69 6c 65 3a 20 20 20 20 20 20 20 20 20 .13).*.make-empty-file:.........
51ae0 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 20 ..............Emacs.27.1........
51b00 20 20 20 28 6c 69 6e 65 20 32 35 34 29 0a 2a 20 6d 61 6b 65 2d 6c 6f 63 6b 2d 66 69 6c 65 2d 6e ...(line.254).*.make-lock-file-n
51b20 61 6d 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 38 2e ame:...................Emacs.28.
51b40 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 6d 61 6b 65 2d 6e 65 1...........(line.359).*.make-ne
51b60 61 72 62 79 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 20 arby-temp-file:.................
51b80 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 31 32 30 29 0a Emacs.26.1...........(line.120).
51ba0 2a 20 6d 61 6b 65 2d 73 65 70 61 72 61 74 6f 72 2d 6c 69 6e 65 3a 20 20 20 20 20 20 20 20 20 20 *.make-separator-line:..........
51bc0 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 6c .........Emacs.28.1...........(l
51be0 69 6e 65 20 20 38 38 29 0a 2a 20 6d 61 70 63 61 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ine..88).*.mapcan:..............
51c00 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 20 ..................Emacs.26.1....
51c20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 35 33 29 0a 2a 20 6d 61 72 6b 2d 74 68 69 6e 67 2d 61 .......(line..53).*.mark-thing-a
51c40 74 2d 6d 6f 75 73 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 t-mouse:...................Emacs
51c60 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 30 32 29 0a 2a 20 6d 61 74 .28.1...........(line.302).*.mat
51c80 63 68 2d 62 75 66 66 65 72 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ch-buffers:.....................
51ca0 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
51cc0 39 38 29 0a 2a 20 6d 65 72 67 65 2d 6f 72 64 65 72 65 64 2d 6c 69 73 74 73 3a 20 20 20 20 20 20 98).*.merge-ordered-lists:......
51ce0 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.........
51d00 20 20 28 6c 69 6e 65 20 31 33 35 29 0a 2a 20 6d 69 6e 69 62 75 66 66 65 72 2d 68 69 73 74 6f 72 ..(line.135).*.minibuffer-histor
51d20 79 2d 76 61 6c 75 65 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 y-value:..............Emacs.27.1
51d40 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 33 32 29 0a 2a 20 6e 61 6d 65 64 2d 6c 65 ...........(line..32).*.named-le
51d60 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 45 t:.............................E
51d80 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 32 31 31 29 0a 2a macs.28.1...........(line.211).*
51da0 20 6e 61 74 69 76 65 2d 63 6f 6d 70 2d 61 76 61 69 6c 61 62 6c 65 2d 70 3a 20 20 20 20 20 20 20 .native-comp-available-p:.......
51dc0 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
51de0 6e 65 20 33 37 35 29 0a 2a 20 6e 74 61 6b 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ne.375).*.ntake:................
51e00 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.....
51e20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 31 39 29 0a 2a 20 6f 62 61 72 72 61 79 2d 63 6c 65 61 72 ......(line.219).*.obarray-clear
51e40 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 45 6d 61 63 73 20 :.........................Emacs.
51e60 33 30 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 35 34 29 0a 2a 20 70 61 63 6b 30.1...........(line..54).*.pack
51e80 61 67 65 2d 67 65 74 2d 76 65 72 73 69 6f 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 age-get-version:................
51ea0 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 32 30 ...Emacs.27.1...........(line.20
51ec0 35 29 0a 2a 20 70 6c 69 73 74 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5).*.plistp:....................
51ee0 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..........
51f00 20 28 6c 69 6e 65 20 20 37 31 29 0a 2a 20 70 6f 73 2d 62 6f 6c 3a 20 20 20 20 20 20 20 20 20 20 .(line..71).*.pos-bol:..........
51f20 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.
51f40 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 32 35 29 0a 2a 20 70 6f 73 2d 65 6f 6c 3a 20 ..........(line.125).*.pos-eol:.
51f60 20 20 20 20 20 20 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 ..............................Em
51f80 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 32 39 29 0a 2a 20 acs.29.1...........(line.129).*.
51fa0 70 72 69 6d 69 74 69 76 65 2d 66 75 6e 63 74 69 6f 6e 2d 70 3a 20 20 20 20 20 20 20 20 20 20 20 primitive-function-p:...........
51fc0 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 6e .......Emacs.30.1...........(lin
51fe0 65 20 20 36 35 29 0a 2a 20 70 72 6f 63 65 73 73 2d 6c 69 6e 65 73 2d 68 61 6e 64 6c 69 6e 67 2d e..65).*.process-lines-handling-
52000 73 74 61 74 75 73 3a 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 status:.........Emacs.28.1......
52020 20 20 20 20 20 28 6c 69 6e 65 20 20 32 30 29 0a 2a 20 70 72 6f 63 65 73 73 2d 6c 69 6e 65 73 2d .....(line..20).*.process-lines-
52040 69 67 6e 6f 72 65 2d 73 74 61 74 75 73 3a 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 ignore-status:...........Emacs.2
52060 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 31 36 29 0a 2a 20 70 72 6f 70 65 8.1...........(line..16).*.prope
52080 72 2d 6c 69 73 74 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 r-list-p:.......................
520a0 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 37 36 ..Emacs.27.1...........(line..76
520c0 29 0a 2a 20 70 72 6f 76 69 64 65 64 2d 6d 6f 64 65 2d 64 65 72 69 76 65 64 2d 70 3a 20 20 20 20 ).*.provided-mode-derived-p:....
520e0 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...........
52100 28 6c 69 6e 65 20 32 34 37 29 0a 2a 20 72 65 61 64 2d 61 6e 73 77 65 72 3a 20 20 20 20 20 20 20 (line.247).*.read-answer:.......
52120 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..
52140 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 31 37 29 0a 2a 20 72 65 61 64 2d 63 68 61 72 2d .........(line..17).*.read-char-
52160 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 66 65 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 from-minibuffer:.............Ema
52180 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 34 34 29 0a 2a 20 72 cs.27.1...........(line..44).*.r
521a0 65 61 64 2d 6d 75 6c 74 69 70 6c 65 2d 63 68 6f 69 63 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 ead-multiple-choice:............
521c0 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
521e0 20 31 38 35 29 0a 2a 20 72 65 61 64 61 62 6c 65 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .185).*.readablep:..............
52200 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.......
52220 20 20 20 20 28 6c 69 6e 65 20 20 33 34 29 0a 2a 20 72 65 67 69 6f 6e 2d 62 6f 75 6e 64 73 3a 20 ....(line..34).*.region-bounds:.
52240 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 35 ........................Emacs.25
52260 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 38 29 0a 2a 20 72 65 67 69 6f 6e .1...........(line..28).*.region
52280 2d 6e 6f 6e 63 6f 6e 74 69 67 75 6f 75 73 2d 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -noncontiguous-p:...............
522a0 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 33 34 29 .Emacs.25.1...........(line..34)
522c0 0a 2a 20 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 3a 20 20 20 20 .*.replace-regexp-in-string:....
522e0 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...........(
52300 6c 69 6e 65 20 31 30 38 29 0a 2a 20 72 65 70 6c 61 63 65 2d 73 74 72 69 6e 67 2d 69 6e 2d 72 65 line.108).*.replace-string-in-re
52320 67 69 6f 6e 3a 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 gion:..............Emacs.28.1...
52340 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 30 32 29 0a 2a 20 72 65 71 75 69 72 65 2d 77 69 74 ........(line.102).*.require-wit
52360 68 2d 63 68 65 63 6b 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 h-check:....................Emac
52380 73 20 33 30 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 32 34 29 0a 2a 20 72 69 s.30.1...........(line.124).*.ri
523a0 6e 67 2d 72 65 73 69 7a 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ng-resize:......................
523c0 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.
523e0 20 32 38 29 0a 2a 20 73 61 76 65 2d 6d 61 72 6b 2d 61 6e 64 2d 65 78 63 75 72 73 69 6f 6e 3a 20 .28).*.save-mark-and-excursion:.
52400 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........
52420 20 20 20 28 6c 69 6e 65 20 20 33 39 29 0a 2a 20 73 74 61 74 69 63 2d 69 66 3a 20 20 20 20 20 20 ...(line..39).*.static-if:......
52440 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 33 30 2e .......................Emacs.30.
52460 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 38 37 29 0a 2a 20 73 74 72 69 6e 67 2d 1...........(line.187).*.string-
52480 63 68 6f 70 2d 6e 65 77 6c 69 6e 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 chop-newline:...................
524a0 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 32 30 36 29 0a Emacs.28.1...........(line.206).
524c0 2a 20 73 74 72 69 6e 67 2d 63 6c 65 61 6e 2d 77 68 69 74 65 73 70 61 63 65 3a 20 20 20 20 20 20 *.string-clean-whitespace:......
524e0 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 6c .........Emacs.28.1...........(l
52500 69 6e 65 20 31 37 35 29 0a 2a 20 73 74 72 69 6e 67 2d 64 69 73 74 61 6e 63 65 3a 20 20 20 20 20 ine.175).*.string-distance:.....
52520 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 20 ..................Emacs.27.1....
52540 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 38 36 29 0a 2a 20 73 74 72 69 6e 67 2d 65 71 75 61 6c .......(line..86).*.string-equal
52560 2d 69 67 6e 6f 72 65 2d 63 61 73 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 -ignore-case:..............Emacs
52580 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 35 32 29 0a 2a 20 73 74 72 .29.1...........(line.252).*.str
525a0 69 6e 67 2d 66 69 6c 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 ing-fill:.......................
525c0 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
525e0 38 32 29 0a 2a 20 73 74 72 69 6e 67 2d 67 6c 79 70 68 2d 73 70 6c 69 74 3a 20 20 20 20 20 20 20 82).*.string-glyph-split:.......
52600 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.........
52620 20 20 28 6c 69 6e 65 20 33 30 37 29 0a 2a 20 73 74 72 69 6e 67 2d 67 72 65 61 74 65 72 70 3a 20 ..(line.307).*.string-greaterp:.
52640 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 35 2e 31 ......................Emacs.25.1
52660 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 36 34 29 0a 2a 20 73 74 72 69 6e 67 2d 6c ...........(line..64).*.string-l
52680 69 6e 65 73 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 ines:..........................E
526a0 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 39 30 29 0a 2a macs.28.1...........(line.190).*
526c0 20 73 74 72 69 6e 67 2d 70 61 64 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .string-pad:....................
526e0 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
52700 6e 65 20 31 39 37 29 0a 2a 20 73 74 72 69 6e 67 2d 72 65 70 6c 61 63 65 3a 20 20 20 20 20 20 20 ne.197).*.string-replace:.......
52720 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.....
52740 20 20 20 20 20 20 28 6c 69 6e 65 20 20 37 37 29 0a 2a 20 73 74 72 69 6e 67 2d 73 65 61 72 63 68 ......(line..77).*.string-search
52760 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 45 6d 61 63 73 20 :.........................Emacs.
52780 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 33 34 29 0a 2a 20 73 74 72 69 28.1...........(line..34).*.stri
527a0 6e 67 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 20 20 20 ng-split:.......................
527c0 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 35 ...Emacs.29.1...........(line.25
527e0 38 29 0a 2a 20 73 75 62 72 2d 70 72 69 6d 69 74 69 76 65 2d 70 3a 20 20 20 20 20 20 20 20 20 20 8).*.subr-primitive-p:..........
52800 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..........
52820 20 28 6c 69 6e 65 20 33 36 38 29 0a 2a 20 73 75 62 73 74 69 74 75 74 65 2d 71 75 6f 74 65 73 3a .(line.368).*.substitute-quotes:
52840 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.
52860 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 34 30 29 0a 2a 20 74 61 6b 65 3a 20 20 20 20 ..........(line..40).*.take:....
52880 20 20 20 20 20 20 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 ..............................Em
528a0 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 30 35 29 0a 2a 20 acs.29.1...........(line.205).*.
528c0 74 65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 3a 20 20 20 20 20 20 20 temporary-file-directory:.......
528e0 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 6c 69 6e .......Emacs.26.1...........(lin
52900 65 20 31 33 37 29 0a 2a 20 74 65 78 74 2d 70 72 6f 70 65 72 74 79 2d 73 65 61 72 63 68 2d 62 61 e.137).*.text-property-search-ba
52920 63 6b 77 61 72 64 3a 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 ckward:.........Emacs.27.1......
52940 20 20 20 20 20 28 6c 69 6e 65 20 33 33 32 29 0a 2a 20 74 65 78 74 2d 70 72 6f 70 65 72 74 79 2d .....(line.332).*.text-property-
52960 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 3a 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 search-forward:..........Emacs.2
52980 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 36 30 29 0a 2a 20 74 65 78 74 2d 7.1...........(line.260).*.text-
529a0 71 75 6f 74 69 6e 67 2d 73 74 79 6c 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 quoting-style:..................
529c0 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 32 38 ..Emacs.28.1...........(line..28
529e0 29 0a 2a 20 74 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 ).*.thing-at-mouse:.............
52a00 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...........
52a20 28 6c 69 6e 65 20 32 38 39 29 0a 2a 20 74 68 72 65 61 64 2d 66 69 72 73 74 3a 20 20 20 20 20 20 (line.289).*.thread-first:......
52a40 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 31 2e 20 ....................Emacs.25.1..
52a60 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 32 32 29 0a 2a 20 74 68 72 65 61 64 2d 6c 61 73 .........(line.122).*.thread-las
52a80 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 45 6d 61 t:...........................Ema
52aa0 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 34 33 29 0a 2a 20 74 cs.25.1...........(line.143).*.t
52ac0 69 6d 65 2d 65 71 75 61 6c 2d 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ime-equal-p:....................
52ae0 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
52b00 20 32 30 38 29 0a 2a 20 74 72 75 73 74 65 64 2d 63 6f 6e 74 65 6e 74 2d 70 3a 20 20 20 20 20 20 .208).*.trusted-content-p:......
52b20 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.......
52b40 20 20 20 20 28 6c 69 6e 65 20 20 32 39 29 0a 2a 20 75 73 65 2d 72 65 67 69 6f 6e 2d 62 65 67 69 ....(line..29).*.use-region-begi
52b60 6e 6e 69 6e 67 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 39 nning:..................Emacs.29
52b80 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 35 33 29 0a 2a 20 75 73 65 2d 72 65 .1...........(line..53).*.use-re
52ba0 67 69 6f 6e 2d 65 6e 64 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 gion-end:.......................
52bc0 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 20 35 30 29 .Emacs.29.1...........(line..50)
52be0 0a 2a 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 3a 20 20 .*.use-region-noncontiguous-p:..
52c00 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...........(
52c20 6c 69 6e 65 20 20 34 37 29 0a 2a 20 76 61 6c 75 65 3c 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 line..47).*.value<:.............
52c40 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 33 30 2e 31 2e 20 20 ...................Emacs.30.1...
52c60 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 36 39 29 0a 2a 20 77 68 65 6e 2d 6c 65 74 3a 20 20 ........(line..69).*.when-let:..
52c80 20 20 20 20 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
52ca0 73 20 32 35 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 31 34 29 0a 2a 20 77 68 s.25.1...........(line.114).*.wh
52cc0 65 6e 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 20 20 20 20 20 en-let*:........................
52ce0 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.
52d00 31 35 33 29 0a 2a 20 77 68 69 6c 65 2d 6c 65 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 153).*.while-let:...............
52d20 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 20 ..............Emacs.29.1........
52d40 20 20 20 28 6c 69 6e 65 20 36 31 32 29 0a 2a 20 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 72 61 ...(line.612).*.window-configura
52d60 74 69 6f 6e 2d 65 71 75 61 6c 2d 70 3a 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e tion-equal-p:..........Emacs.29.
52d80 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 36 31 38 29 0a 2a 20 77 69 74 68 2d 62 75 1...........(line.618).*.with-bu
52da0 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 3a 20 20 20 ffer-unmodified-if-unchanged:...
52dc0 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 33 30 29 0a Emacs.29.1...........(line.330).
52de0 2a 20 77 69 74 68 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 *.with-delayed-message:.........
52e00 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
52e20 69 6e 65 20 31 33 37 29 0a 2a 20 77 69 74 68 2d 65 6e 76 69 72 6f 6e 6d 65 6e 74 2d 76 61 72 69 ine.137).*.with-environment-vari
52e40 61 62 6c 65 73 3a 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 ables:............Emacs.28.1....
52e60 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 31 33 29 0a 2a 20 77 69 74 68 2d 65 78 69 73 74 69 6e .......(line.313).*.with-existin
52e80 67 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 g-directory:...............Emacs
52ea0 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 33 36 29 0a 2a 20 77 69 74 .28.1...........(line.136).*.wit
52ec0 68 2d 66 69 6c 65 2d 6d 6f 64 65 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 h-file-modes:...................
52ee0 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 20 ....Emacs.25.1...........(line..
52f00 37 31 29 0a 2a 20 77 69 74 68 2d 6d 65 6d 6f 69 7a 61 74 69 6f 6e 3a 20 20 20 20 20 20 20 20 20 71).*.with-memoization:.........
52f20 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.........
52f40 20 20 28 6c 69 6e 65 20 20 37 34 29 0a 2a 20 77 69 74 68 2d 6d 69 6e 69 62 75 66 66 65 72 2d 73 ..(line..74).*.with-minibuffer-s
52f60 65 6c 65 63 74 65 64 2d 77 69 6e 64 6f 77 3a 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 elected-window:.......Emacs.27.1
52f80 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 33 38 29 0a 2a 20 77 69 74 68 2d 72 65 73 ...........(line..38).*.with-res
52fa0 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 20 20 20 20 20 45 triction:......................E
52fc0 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 37 39 29 0a 2a macs.29.1...........(line..79).*
52fe0 20 77 69 74 68 2d 73 75 70 70 72 65 73 73 65 64 2d 77 61 72 6e 69 6e 67 73 3a 20 20 20 20 20 20 .with-suppressed-warnings:......
53000 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 6c 69 ........Emacs.27.1...........(li
53020 6e 65 20 20 36 35 29 0a 2a 20 77 69 74 68 2d 77 69 6e 64 6f 77 2d 6e 6f 6e 2d 64 65 64 69 63 61 ne..65).*.with-window-non-dedica
53040 74 65 64 3a 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 ted:.............Emacs.28.1.....
53060 20 20 20 20 20 20 28 6c 69 6e 65 20 33 38 33 29 0a 2a 20 77 69 74 68 6f 75 74 2d 72 65 73 74 72 ......(line.383).*.without-restr
53080 69 63 74 69 6f 6e 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 iction:...................Emacs.
530a0 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 31 33 29 0a 2a 20 78 6f 72 3a 29.1...........(line.113).*.xor:
530c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
530e0 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 31 34 ...Emacs.27.1...........(line.14
53100 32 29 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 6c 38 71 6d 30 70 2e 69 6e 66 6f 2c 20 20 4e 6f 64 2)....File:.docl8qm0p.info,..Nod
53120 65 3a 20 56 61 72 69 61 62 6c 65 20 49 6e 64 65 78 2c 20 20 50 72 65 76 3a 20 46 75 6e 63 74 69 e:.Variable.Index,..Prev:.Functi
53140 6f 6e 20 49 6e 64 65 78 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 41 70 70 65 6e 64 69 78 20 42 20 56 on.Index,..Up:.Top..Appendix.B.V
53160 61 72 69 61 62 6c 65 20 49 6e 64 65 78 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a ariable.Index.******************
53180 2a 2a 2a 2a 2a 2a 2a 0a 0a 00 08 5b 69 6e 64 65 78 00 08 5d 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 *******....[index..].*.Menu:..*.
531a0 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 20 completion-lazy-hilit:..........
531c0 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 6e .......Emacs.30.1...........(lin
531e0 65 20 31 34 39 29 0a 2a 20 63 6f 6d 70 6c 65 74 69 6f 6e 2d 6c 61 7a 79 2d 68 69 6c 69 74 2d 66 e.149).*.completion-lazy-hilit-f
53200 6e 3a 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 n:..............Emacs.30.1......
53220 20 20 20 20 20 28 6c 69 6e 65 20 31 37 33 29 0a 2a 20 65 78 65 63 2d 70 61 74 68 3a 20 20 20 20 .....(line.173).*.exec-path:....
53240 20 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
53260 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 32 38 29 0a 2a 20 67 65 6e 73 79 7.1...........(line.228).*.gensy
53280 6d 2d 63 6f 75 6e 74 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 m-counter:......................
532a0 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 37 37 ..Emacs.26.1...........(line..77
532c0 29 0a 2a 20 6c 69 73 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 ).*.lisp-directory:.............
532e0 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...........
53300 28 6c 69 6e 65 20 20 32 33 29 0a 2a 20 6d 6f 75 6e 74 65 64 2d 66 69 6c 65 2d 73 79 73 74 65 6d (line..23).*.mounted-file-system
53320 73 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 31 2e 20 s:..................Emacs.26.1..
53340 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 33 33 29 0a 2a 20 72 65 67 65 78 70 2d 75 6e 6d .........(line.133).*.regexp-unm
53360 61 74 63 68 61 62 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 atchable:....................Ema
53380 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 35 32 29 0a 2a 20 73 cs.27.1...........(line.152).*.s
533a0 65 74 2d 74 72 61 6e 73 69 65 6e 74 2d 6d 61 70 2d 74 69 6d 65 6f 75 74 3a 20 20 20 20 20 20 20 et-transient-map-timeout:.......
533c0 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
533e0 20 37 34 32 29 0a 2a 20 74 65 78 74 2d 71 75 6f 74 69 6e 67 2d 73 74 79 6c 65 3a 20 20 20 20 20 .742).*.text-quoting-style:.....
53400 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 20 20 20 ...............Emacs.25.1.......
53420 20 20 20 20 28 6c 69 6e 65 20 20 31 33 29 0a 2a 20 74 72 75 73 74 65 64 2d 63 6f 6e 74 65 6e 74 ....(line..13).*.trusted-content
53440 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 33 30 :.......................Emacs.30
53460 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 31 34 29 0a 2a 20 75 6e 74 72 75 73 .1...........(line..14).*.untrus
53480 74 65 64 2d 63 6f 6e 74 65 6e 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ted-content:....................
534a0 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 20 31 37 29 .Emacs.29.1...........(line..17)
534c0 0a 0a 0a 1f 0a 54 61 67 20 54 61 62 6c 65 3a 0a 4e 6f 64 65 3a 20 54 6f 70 7f 38 32 39 0a 4e 6f .....Tag.Table:.Node:.Top.829.No
534e0 64 65 3a 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 7f 32 33 32 38 0a 4e 6f 64 65 3a 20 4f 76 65 72 de:.Introduction.2328.Node:.Over
53500 76 69 65 77 7f 32 34 39 31 0a 4e 6f 64 65 3a 20 55 73 61 67 65 7f 33 30 31 37 0a 4e 6f 64 65 3a view.2491.Node:.Usage.3017.Node:
53520 20 4c 69 6d 69 74 61 74 69 6f 6e 73 7f 37 33 39 36 0a 4e 6f 64 65 3a 20 53 75 70 70 6f 72 74 7f .Limitations.7396.Node:.Support.
53540 31 32 32 36 32 0a 4e 6f 64 65 3a 20 45 6d 61 63 73 20 32 35 2e 31 7f 31 32 39 31 37 0a 4e 6f 64 12262.Node:.Emacs.25.1.12917.Nod
53560 65 3a 20 45 6d 61 63 73 20 32 36 2e 31 7f 32 31 34 30 35 0a 4e 6f 64 65 3a 20 45 6d 61 63 73 20 e:.Emacs.26.1.21405.Node:.Emacs.
53580 32 37 2e 31 7f 33 38 36 39 39 0a 4e 6f 64 65 3a 20 45 6d 61 63 73 20 32 38 2e 31 7f 35 39 30 39 27.1.38699.Node:.Emacs.28.1.5909
535a0 36 0a 4e 6f 64 65 3a 20 45 6d 61 63 73 20 32 39 2e 31 7f 37 39 32 33 32 0a 4e 6f 64 65 3a 20 45 6.Node:.Emacs.29.1.79232.Node:.E
535c0 6d 61 63 73 20 33 30 2e 31 7f 31 31 36 39 31 31 0a 4e 6f 64 65 3a 20 44 65 76 65 6c 6f 70 6d 65 macs.30.1.116911.Node:.Developme
535e0 6e 74 7f 31 33 31 37 32 33 0a 4e 6f 64 65 3a 20 46 75 6e 63 74 69 6f 6e 20 49 6e 64 65 78 7f 31 nt.131723.Node:.Function.Index.1
53600 33 33 34 35 37 0a 4e 6f 64 65 3a 20 56 61 72 69 61 62 6c 65 20 49 6e 64 65 78 7f 31 35 30 32 37 33457.Node:.Variable.Index.15027
53620 36 0a 1f 0a 45 6e 64 20 54 61 67 20 54 61 62 6c 65 0a 0a 1f 0a 4c 6f 63 61 6c 20 56 61 72 69 61 6...End.Tag.Table....Local.Varia
53640 62 6c 65 73 3a 0a 63 6f 64 69 6e 67 3a 20 75 74 66 2d 38 0a 45 6e 64 3a 0a 00 00 00 00 00 00 00 bles:.coding:.utf-8.End:........
53660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
536a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
536c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
536e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
537a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
537c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
537e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53800 63 6f 6d 70 61 74 2d 33 30 2e 31 2e 30 2e 31 2f 64 69 72 00 00 00 00 00 00 00 00 00 00 00 00 00 compat-30.1.0.1/dir.............
53820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53860 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
53880 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 34 00 20 30 00 00 00 0001152.00000000000.012354..0...
538a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
538c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
538e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53900 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...................
53920 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...................
53940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
539a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
539c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
539e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53a00 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
53a20 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
53a40 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
53a60 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
53a80 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
53aa0 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
53ac0 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
53ae0 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
53b00 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
53b20 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
53b40 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,.
53b60 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
53b80 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
53ba0 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
53bc0 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.
53be0 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
53c00 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
53c20 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)..........
53c40 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
53c60 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........................
53c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53e00 63 6f 6d 70 61 74 2d 33 30 2e 31 2e 30 2e 31 2f 63 6f 6d 70 61 74 2d 32 37 2e 65 6c 00 00 00 00 compat-30.1.0.1/compat-27.el....
53e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53e60 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
53e80 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 32 00 20 30 00 00 00 0110362.00000000000.013712..0...
53ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53f00 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...................
53f20 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...................
53f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54000 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
54020 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
54040 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
54060 20 28 43 29 20 32 30 32 31 2d 32 30 32 35 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 .(C).2021-2025.Free.Software.Fou
54080 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
540a0 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
540c0 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
540e0 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.
54100 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.;
54120 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,.
54140 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,
54160 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
54180 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
541a0 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
541c0 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
541e0 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
54200 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
54220 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.
54240 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
54260 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
54280 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
542a0 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.
542c0 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
542e0 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
54300 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
54320 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
54340 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.
54360 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
54380 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".
543a0 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
543c0 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
543e0 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
54400 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
54420 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
54440 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
54460 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
54480 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
544a0 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.
544c0 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
544e0 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
54500 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.
54520 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
54540 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).
54560 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...........
54580 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
545a0 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
545c0 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
545e0 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
54600 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
54620 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)))...
54640 20 20 20 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
54660 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..............................
54680 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)..........
546a0 20 20 20 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
546c0 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 ................................
546e0 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)))...........
54700 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
54720 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
54740 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
54760 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))))).....;;.
54780 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
547a0 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.
547c0 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
547e0 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
54800 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
54820 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>..."
54840 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
54860 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
54880 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
548a0 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.
548c0 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
548e0 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
54900 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
54920 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
54940 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
54960 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
54980 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
549a0 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:/
549c0 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
549e0 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
54a00 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-
54a20 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)
54a40 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."
54a60 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
54a80 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-
54aa0 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).......
54ac0 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
54ae0 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
54b00 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
54b20 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)))...
54b40 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
54b60 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))....
54b80 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
54ba0 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))......
54bc0 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)..
54be0 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)......
54c00 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
54c20 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
54c40 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))................
54c60 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
54c80 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).................
54ca0 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).............
54cc0 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+.
54ce0 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+.
54d00 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)))...............
54d20 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)))).......(
54d40 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
54d60 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
54d80 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)
54da0 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
54dc0 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
54de0 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
54e00 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
54e20 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))).
54e40 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
54e60 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.
54e80 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
54ea0 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.
54ec0 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
54ee0 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....((
54f00 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.
54f20 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))....(
54f40 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
54f60 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).....
54f80 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
54fa0 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)))........
54fc0 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
54fe0 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.
55000 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
55020 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
55040 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
55060 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
55080 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
550a0 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
550c0 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.
550e0 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
55100 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
55120 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....
55140 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)
55160 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)).
55180 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
551a0 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
551c0 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
551e0 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
55200 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
55220 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
55240 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
55260 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
55280 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)))))..;;
552a0 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
552c0 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
552e0 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
55300 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-
55320 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
55340 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
55360 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
55380 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
553a0 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
553c0 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
553e0 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
55400 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
55420 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
55440 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))............
55460 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
55480 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
554a0 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
554c0 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))).........(
554e0 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.
55500 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)
55520 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
55540 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-
55560 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).;;.
55580 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
555a0 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
555c0 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
555e0 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
55600 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.
55620 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
55640 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))...`(
55660 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
55680 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
556a0 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
556c0 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.&
556e0 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
55700 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
55720 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
55740 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
55760 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
55780 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.
557a0 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
557c0 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
557e0 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
55800 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
55820 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
55840 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,
55860 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
55880 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
558a0 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
558c0 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
558e0 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
55900 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
55920 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...)"...(
55940 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
55960 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
55980 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
559a0 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--")
559c0 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."-
559e0 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
55a00 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--")
55a20 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
55a40 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)
55a60 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))
55a80 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)..
55aa0 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
55ac0 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
55ae0 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
55b00 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........
55b20 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
55b40 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))))...
55b60 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
55b80 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)
55ba0 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
55bc0 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
55be0 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
55c00 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
55c20 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
55c40 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
55c60 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.
55c80 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
55ca0 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
55cc0 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..
55ce0 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.
55d00 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
55d20 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
55d40 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.(
55d60 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
55d80 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
55da0 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.
55dc0 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
55de0 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
55e00 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.(
55e20 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
55e40 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
55e60 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
55e80 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
55ea0 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
55ec0 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
55ee0 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.
55f00 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
55f20 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
55f40 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\\`".;
55f60 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
55f80 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
55fa0 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
55fc0 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
55fe0 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
56000 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
56020 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
56040 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."
56060 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.
56080 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.(
560a0 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
560c0 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)).....(
560e0 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.
56100 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
56120 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))...
56140 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
56160 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
56180 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))..........
561a0 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))...
561c0 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))))...
561e0 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
56200 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
56220 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
56240 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
56260 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
56280 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-
562a0 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
562c0 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
562e0 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
56300 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..................
56320 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
56340 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)..........
56360 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
56380 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
563a0 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-
563c0 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)))..(
563e0 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.
56400 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
56420 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>..
56440 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
56460 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'
56480 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
564a0 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
564c0 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
564e0 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
56500 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
56520 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..
56540 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
56560 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)))..
56580 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.......
565a0 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
565c0 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))).............
565e0 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)...
56600 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-
56620 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)))........
56640 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
56660 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
56680 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-
566a0 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)))..........
566c0 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)
566e0 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
56700 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))).....
56720 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-
56740 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
56760 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.()
56780 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
567a0 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
567c0 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
567e0 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
56800 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
56820 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.".
56840 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
56860 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
56880 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-
568a0 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)))..
568c0 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
568e0 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
56900 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
56920 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
56940 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..
56960 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
56980 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.
569a0 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
569c0 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
569e0 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
56a00 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
56a20 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
56a40 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
56a60 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
56a80 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
56aa0 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").
56ac0 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
56ae0 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
56b00 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
56b20 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
56b40 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
56b60 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-
56b80 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
56ba0 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
56bc0 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
56be0 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.
56c00 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
56c20 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
56c40 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
56c60 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
56c80 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].#
56ca0 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
56cc0 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.
56ce0 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'.
56d00 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
56d20 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..
56d40 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-
56d60 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.:
56d80 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
56da0 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
56dc0 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
56de0 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
56e00 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
56e20 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-
56e40 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
56e60 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
56e80 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
56ea0 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
56ec0 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
56ee0 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
56f00 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
56f20 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.
56f40 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
56f60 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
56f80 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
56fa0 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
56fc0 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.
56fe0 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.
57000 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.
57020 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
57040 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
57060 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.
57080 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
570a0 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.`
570c0 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
570e0 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
57100 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
57120 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
57140 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
57160 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)............
57180 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
571a0 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)).....
571c0 20 20 20 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-
571e0 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)..
57200 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.
57220 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))...........
57240 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
57260 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-
57280 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
572a0 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)................
572c0 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
572e0 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'..........
57300 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
57320 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')......
57340 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.
57360 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...
57380 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
573a0 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...................
573c0 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..........
573e0 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
57400 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).............
57420 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.()......
57440 20 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
57460 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)..........................
57480 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
574a0 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...............
574c0 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
574e0 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))))).........................(
57500 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).............
57520 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
57540 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).....................
57560 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
57580 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))...............
575a0 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
575c0 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]...........
575e0 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
57600 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).......
57620 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
57640 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
57660 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 ))..............................
57680 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
576a0 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).....................
576c0 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
576e0 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)).......
57700 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.
57720 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
57740 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.
57760 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.(
57780 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.
577a0 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)))........
577c0 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
577e0 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.
57800 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
57820 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.....
57840 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).......
57860 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
57880 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
578a0 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)))
578c0 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
578e0 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.
57900 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
57920 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))..;
57940 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
57960 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
57980 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
579a0 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
579c0 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
579e0 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)..................(
57a00 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)..................(:
57a20 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
57a40 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
57a60 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
57a80 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
57aa0 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
57ac0 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
57ae0 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
57b00 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
57b20 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
57b40 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
57b60 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
57b80 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
57ba0 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).").....(
57bc0 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.
57be0 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
57c00 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
57c20 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
57c40 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
57c60 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
57c80 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
57ca0 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
57cc0 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.
57ce0 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
57d00 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."
57d20 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
57d40 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
57d60 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
57d80 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
57da0 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
57dc0 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
57de0 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
57e00 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.
57e20 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
57e40 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.
57e60 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.().;;.<
57e80 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-
57ea0 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
57ec0 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.
57ee0 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
57f00 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
57f20 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
57f40 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.
57f60 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.
57f80 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
57fa0 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
57fc0 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...........
57fe0 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
58000 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))))..;;;;
58020 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
58040 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
58060 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
58080 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
580a0 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.
580c0 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
580e0 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
58100 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
58120 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
58140 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
58160 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
58180 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
581a0 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
581c0 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
581e0 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)))..;;;
58200 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
58220 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
58240 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
58260 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
58280 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
582a0 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
582c0 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
582e0 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'."
58300 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))..
58320 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
58340 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
58360 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
58380 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
583a0 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.
583c0 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"...
583e0 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
58400 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)......
58420 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
58440 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
58460 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
58480 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
584a0 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
584c0 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
584e0 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
58500 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.
58520 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
58540 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
58560 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
58580 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.
585a0 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:
585c0 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
585e0 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
58600 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)))...:
58620 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
58640 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
58660 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
58680 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.'
586a0 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)....
586c0 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)))..;;;;.
586e0 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
58700 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
58720 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
58740 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
58760 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
58780 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-
587a0 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
587c0 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-
587e0 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))))
58800 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.
58820 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-
58840 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
58860 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
58880 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-
588a0 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
588c0 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
588e0 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)))
58900 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
58920 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
58940 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
58960 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
58980 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
589a0 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
589c0 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
589e0 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
58a00 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
58a20 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
58a40 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
58a60 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
58a80 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).....
58aa0 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
58ac0 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
58ae0 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-
58b00 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
58b20 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
58b40 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.
58b60 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
58b80 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
58ba0 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
58bc0 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.((
58be0 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.
58c00 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))...................
58c20 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)
58c40 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"
58c60 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"))).....
58c80 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)
58ca0 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
58cc0 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)......
58ce0 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)))
58d00 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
58d20 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
58d40 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)..............
58d60 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........
58d80 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
58da0 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)....
58dc0 20 20 20 20 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.
58de0 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").....
58e00 20 20 20 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
58e20 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")).......................
58e40 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))))...
58e60 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
58e80 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)..............
58ea0 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)
58ec0 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%
58ee0 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")
58f00 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........
58f20 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
58f40 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."")).........
58f60 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
58f80 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-
58fa0 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
58fc0 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
58fe0 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
59000 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
59020 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
59040 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-
59060 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
59080 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
590a0 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
590c0 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
590e0 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
59100 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
59120 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
59140 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
59160 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
59180 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.
591a0 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
591c0 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
591e0 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
59200 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
59220 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
59240 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
59260 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
59280 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.
592a0 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).............;
592c0 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
592e0 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.............'(
59300 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/
59320 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
59340 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)))
59360 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
59380 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).;;.<
593a0 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>...
593c0 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
593e0 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
59400 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
59420 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
59440 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...
59460 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.........
59480 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.....
594a0 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
594c0 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)).....
594e0 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)).....
59500 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
59520 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.
59540 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
59560 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
59580 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-
595a0 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
595c0 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
595e0 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
59600 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
59620 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.
59640 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
59660 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)
59680 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
596a0 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)
596c0 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
596e0 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
59700 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
59720 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
59740 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
59760 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.
59780 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.
597a0 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
597c0 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
597e0 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
59800 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
59820 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).....
59840 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\\`")).........
59860 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).............
59880 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."\\)"))...
598a0 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)....
598c0 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."\\
598e0 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
59900 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."\\
59920 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."\\)\\>")).............
59940 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)..........
59960 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."\\)\
59980 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."\
599a0 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
599c0 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.
599e0 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
59a00 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-
59a20 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)
59a40 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
59a60 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-
59a80 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
59aa0 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
59ac0 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
59ae0 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
59b00 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
59b20 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
59b40 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
59b60 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)."...;
59b80 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
59ba0 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,
59bc0 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
59be0 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
59c00 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
59c20 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!.
59c40 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
59c60 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
59c80 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)))
59ca0 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
59cc0 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.
59ce0 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
59d00 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.
59d20 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...
59d40 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........"/[^/]
59d60 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
59d80 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\\)+\\)/[^/
59da0 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
59dc0 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
59de0 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
59e00 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......;
59e20 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
59e40 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
59e60 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.......((
59e80 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
59ea0 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.
59ec0 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
59ee0 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)))..........
59f00 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.
59f20 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)))
59f40 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.
59f60 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
59f80 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
59fa0 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
59fc0 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.
59fe0 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")...
5a000 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
5a020 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
5a040 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
5a060 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
5a080 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
5a0a0 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.
5a0c0 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.
5a0e0 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
5a100 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
5a120 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.
5a140 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
5a160 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.
5a180 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).
5a1a0 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
5a1c0 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
5a1e0 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
5a200 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
5a220 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)...
5a240 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)).....
5a260 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
5a280 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
5a2a0 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)........
5a2c0 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.
5a2e0 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)).......
5a300 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.
5a320 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
5a340 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
5a360 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
5a380 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-
5a3a0 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.
5a3c0 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
5a3e0 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
5a400 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
5a420 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
5a440 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
5a460 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
5a480 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
5a4a0 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
5a4c0 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
5a4e0 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
5a500 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
5a520 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
5a540 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-
5a560 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
5a580 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
5a5a0 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
5a5c0 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
5a5e0 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
5a600 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
5a620 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
5a640 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
5a660 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
5a680 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
5a6a0 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
5a6c0 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.
5a6e0 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
5a700 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
5a720 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
5a740 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.
5a760 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
5a780 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.
5a7a0 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
5a7c0 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
5a7e0 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.`
5a800 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.
5a820 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
5a840 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
5a860 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
5a880 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
5a8a0 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
5a8c0 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.
5a8e0 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.
5a900 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
5a920 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
5a940 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
5a960 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.
5a980 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
5a9a0 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.
5a9c0 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
5a9e0 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
5aa00 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.
5aa20 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-
5aa40 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
5aa60 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
5aa80 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
5aaa0 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
5aac0 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.
5aae0 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
5ab00 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.
5ab20 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
5ab40 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
5ab60 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
5ab80 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
5aba0 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-
5abc0 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
5abe0 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
5ac00 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
5ac20 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*.((
5ac40 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-
5ac60 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.....
5ac80 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
5aca0 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)................#'
5acc0 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
5ace0 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.
5ad00 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
5ad20 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))))..........
5ad40 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
5ad60 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
5ad80 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).
5ada0 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)..........
5adc0 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.............
5ade0 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))....
5ae00 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
5ae20 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
5ae40 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...................;
5ae60 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
5ae80 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.
5aea0 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
5aec0 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
5aee0 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
5af00 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))................
5af20 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).........
5af40 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
5af60 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
5af80 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
5afa0 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).....................
5afc0 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....................
5afe0 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))
5b000 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
5b020 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)..................
5b040 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))......
5b060 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
5b080 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
5b0a0 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
5b0c0 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)).......
5b0e0 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.
5b100 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
5b120 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
5b140 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................
5b160 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
5b180 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
5b1a0 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
5b1c0 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
5b1e0 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
5b200 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.
5b220 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
5b240 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)))))
5b260 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
5b280 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.......((
5b2a0 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
5b2c0 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
5b2e0 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
5b300 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.
5b320 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
5b340 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
5b360 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
5b380 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
5b3a0 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
5b3c0 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
5b3e0 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..........
5b400 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
5b420 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
5b440 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))..........
5b460 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
5b480 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
5b4a0 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
5b4c0 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
5b4e0 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
5b500 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
5b520 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.
5b540 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))
5b560 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
5b580 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........
5b5a0 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
5b5c0 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)
5b5e0 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.....
5b600 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)..
5b620 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))))
5b640 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)
5b660 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
5b680 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
5b6a0 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
5b6c0 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
5b6e0 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.
5b700 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
5b720 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
5b740 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
5b760 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
5b780 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
5b7a0 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,.
5b7c0 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.
5b7e0 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......
5b800 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).......
5b820 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
5b840 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
5b860 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).......
5b880 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).....
5b8a0 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)..
5b8c0 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.
5b8e0 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
5b900 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
5b920 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........
5b940 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).............(
5b960 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
5b980 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
5b9a0 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)).................
5b9c0 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
5b9e0 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.
5ba00 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
5ba20 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
5ba40 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..............
5ba60 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
5ba80 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...
5baa0 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
5bac0 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.(
5bae0 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)......................
5bb00 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
5bb20 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))..
5bb40 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
5bb60 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
5bb80 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.............................
5bba0 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)).........
5bbc0 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
5bbe0 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)...........................
5bc00 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))...............
5bc20 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))..
5bc40 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.(
5bc60 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
5bc80 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))...........
5bca0 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).
5bcc0 20 20 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.
5bce0 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))))).................;;.
5bd00 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.
5bd20 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..........
5bd40 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
5bd60 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..............
5bd80 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
5bda0 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)))................
5bdc0 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))...............
5bde0 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................
5be00 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
5be20 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
5be40 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
5be60 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
5be80 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
5bea0 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).
5bec0 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
5bee0 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.
5bf00 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....
5bf20 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
5bf40 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)).
5bf60 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))....
5bf80 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
5bfa0 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
5bfc0 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
5bfe0 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
5c000 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
5c020 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
5c040 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
5c060 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
5c080 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)
5c0a0 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
5c0c0 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)))..
5c0e0 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
5c100 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
5c120 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..
5c140 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)).....
5c160 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).............
5c180 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
5c1a0 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
5c1c0 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
5c1e0 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
5c200 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
5c220 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....
5c240 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).
5c260 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)).
5c280 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))
5c2a0 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-
5c2c0 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
5c2e0 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
5c300 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
5c320 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)))...........
5c340 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
5c360 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
5c380 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-
5c3a0 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)).......
5c3c0 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.............
5c3e0 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)..........
5c400 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))))).......
5c420 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)).......
5c440 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
5c460 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-
5c480 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
5c4a0 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
5c4c0 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
5c4e0 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
5c500 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.".
5c520 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
5c540 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-
5c560 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
5c580 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))).......
5c5a0 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
5c5c0 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)).......
5c5e0 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))........
5c600 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
5c620 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
5c640 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
5c660 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)).........
5c680 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
5c6a0 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)))....
5c6c0 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
5c6e0 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.
5c700 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
5c720 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......
5c740 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..
5c760 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
5c780 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.(
5c7a0 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).
5c7c0 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
5c7e0 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
5c800 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")
5c820 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
5c840 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
5c860 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-
5c880 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-
5c8a0 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.
5c8c0 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
5c8e0 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
5c900 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
5c920 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
5c940 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
5c960 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
5c980 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.
5c9a0 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
5c9c0 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
5c9e0 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
5ca00 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
5ca20 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
5ca40 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
5ca60 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
5ca80 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
5caa0 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)
5cac0 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>..
5cae0 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
5cb00 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
5cb20 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
5cb40 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
5cb60 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.
5cb80 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
5cba0 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
5cbc0 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
5cbe0 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:..
5cc00 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-
5cc20 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.
5cc40 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
5cc60 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
5cc80 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
5cca0 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
5ccc0 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.
5cce0 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
5cd00 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
5cd20 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
5cd40 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
5cd60 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:...\\=
5cd80 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
5cda0 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
5cdc0 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\"..?!.\
5cde0 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
5ce00 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
5ce20 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
5ce40 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
5ce60 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
5ce80 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
5cea0 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
5cec0 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,
5cee0 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
5cf00 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
5cf20 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
5cf40 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-
5cf60 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
5cf80 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
5cfa0 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
5cfc0 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........
5cfe0 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)..
5d000 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...............
5d020 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
5d040 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)).............
5d060 20 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.(
5d080 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))))....
5d0a0 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)))))
5d0c0 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
5d0e0 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...............
5d100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d200 63 6f 6d 70 61 74 2d 33 30 2e 31 2e 30 2e 31 2f 63 6f 6d 70 61 74 2d 70 6b 67 2e 65 6c 00 00 00 compat-30.1.0.1/compat-pkg.el...
5d220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d260 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
5d280 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 36 00 20 30 00 00 00 0000736.00000000000.014246..0...
5d2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d300 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...................
5d320 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...................
5d340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d400 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
5d420 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
5d440 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
5d460 70 61 74 22 20 22 33 30 2e 31 2e 30 2e 31 22 20 22 45 6d 61 63 73 20 4c 69 73 70 20 43 6f 6d 70 pat"."30.1.0.1"."Emacs.Lisp.Comp
5d480 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.
5d4a0 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 63 63 63 64 34 4").(seq."2.23")).:commit."cccd4
5d4c0 31 66 35 34 39 66 61 38 38 30 33 31 61 33 32 64 65 62 32 36 32 35 33 62 34 36 32 30 32 31 64 37 1f549fa88031a32deb26253b462021d7
5d4e0 65 31 32 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 e12".:authors.'(("Philip.Kaluder
5d500 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
5d520 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
5d540 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
5d560 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
5d580 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.'("
5d5a0 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
5d5c0 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")...
5d5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d600 63 6f 6d 70 61 74 2d 33 30 2e 31 2e 30 2e 31 2f 63 6f 6d 70 61 74 2e 65 6c 00 00 00 00 00 00 00 compat-30.1.0.1/compat.el.......
5d620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d660 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
5d680 30 30 30 37 36 32 34 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 34 37 32 00 20 30 00 00 00 0007624.00000000000.013472..0...
5d6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d700 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...................
5d720 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...................
5d740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d800 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
5d820 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
5d840 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)
5d860 20 32 30 32 31 2d 32 30 32 35 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 .2021-2025.Free.Software.Foundat
5d880 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
5d8a0 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
5d8c0 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
5d8e0 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
5d900 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
5d920 73 2e 73 72 2e 68 74 3e 0a 3b 3b 20 56 65 72 73 69 6f 6e 3a 20 33 30 2e 31 2e 30 2e 31 0a 3b 3b s.sr.ht>.;;.Version:.30.1.0.1.;;
5d940 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
5d960 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
5d980 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")).
5d9a0 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
5d9c0 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.
5d9e0 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
5da00 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
5da20 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
5da40 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
5da60 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
5da80 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
5daa0 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
5dac0 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
5dae0 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
5db00 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
5db20 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
5db40 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.
5db60 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.;;.
5db80 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
5dba0 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
5dbc0 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
5dbe0 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
5dc00 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
5dc20 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/>...;;
5dc40 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.
5dc60 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
5dc80 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
5dca0 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
5dcc0 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.
5dce0 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.
5dd00 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.
5dd20 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
5dd40 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.;
5dd60 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
5dd80 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
5dda0 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
5ddc0 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
5dde0 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
5de00 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
5de20 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
5de40 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
5de60 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
5de80 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.
5dea0 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
5dec0 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
5dee0 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
5df00 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
5df20 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...
5df40 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
5df60 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
5df80 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.;;
5dfa0 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...;;
5dfc0 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
5dfe0 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.;
5e000 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
5e020 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
5e040 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
5e060 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.
5e080 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
5e0a0 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
5e0c0 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
5e0e0 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
5e100 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.().....
5e120 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
5e140 30 2e 31 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 33 30 29 0.1").......(require.'compat-30)
5e160 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 29 29 0a .......'(require.'compat-30)))).
5e180 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 20 4d 61 (compat--maybe-require)..;;;;.Ma
5e1a0 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 74 79 20 cros.for.extended.compatibility.
5e1c0 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 70 61 74 function.calls..(defmacro.compat
5e1e0 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 70 61 74 -function.(fun)..."Return.compat
5e200 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 55 4e 2e ibility.function.symbol.for.FUN.
5e220 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 65 73 20 ..If.the.Emacs.version.provides.
5e240 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 20 6f 66 a.sufficiently.recent.version.of
5e260 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 6e 65 64 .FUN,.the.symbol.FUN.is.returned
5e280 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 0a 72 65 .itself...Otherwise.the.macro.re
5e2a0 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 62 69 6c turns.the.symbol.of.a.compatibil
5e2c0 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 68 65 0a ity.function.which.supports.the.
5e2e0 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 6f 6e 20 behavior.and.calling.convention.
5e300 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 65 72 73 of.the.current.stable.Emacs.vers
5e320 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 20 77 69 ion...For.example.Compat.29.1.wi
5e340 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 74 69 6f ll.provide.compatibility.functio
5e360 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 6f 72 20 ns.which.implement.the.behavior.
5e380 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 63 73 20 and.calling.convention.of.Emacs.
5e3a0 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 20 74 6f 29.1...See.also.`compat-call'.to
5e3c0 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 66 75 6e .directly.call.compatibility.fun
5e3e0 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 65 72 6e ctions."...(let.((compat.(intern
5e400 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 0a 20 20 .(format."compat--%s".fun))))...
5e420 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 6d 70 61 ..`#',(if.(fboundp.compat).compa
5e440 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 6c 6c 20 t.fun)))..(defmacro.compat-call.
5e460 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 61 74 69 (fun.&rest.args)..."Call.compati
5e480 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 77 69 74 bility.function.or.macro.FUN.wit
5e4a0 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 69 6f 6e h.ARGS...A.good.example.function
5e4c0 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 65 6e 64 .is.`plist-get'.which.was.extend
5e4e0 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 74 65 20 ed.with.an.additional.predicate.
5e500 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 63 6f 6d argument.in.Emacs.29.1...The.com
5e520 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 70 70 6f patibility.function,.which.suppo
5e540 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 20 63 61 rts.this.additional.argument,.ca
5e560 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 63 74 69 n.be.obtained.via.(compat-functi
5e580 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 28 63 6f on.plist-get).and.called.via.(co
5e5a0 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 70 20 70 mpat-call.plist-get.plist.prop.p
5e5c0 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 65 20 74 redicate)...It.is.not.possible.t
5e5e0 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 69 73 74 o.directly.call.(plist-get.plist
5e600 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 65 72 20 .prop.predicate).on.Emacs.older.
5e620 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 20 60 70 than.29.1,.since.the.original.`p
5e640 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 65 74 20 list-get'.function.does.not.yet.
5e660 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 74 2e 20 support.the.predicate.argument..
5e680 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 20 6e 65 .Note.that.the.Compat.library.ne
5e6a0 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 6f 6e 73 ver.overrides.existing.functions
5e6c0 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 20 74 6f ...See.also.`compat-function'.to
5e6e0 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 6e 73 2e .lookup.compatibility.functions.
5e700 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 72 6d 61 "...(let.((compat.(intern.(forma
5e720 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 2c 28 69 t."compat--%s".fun)))).....`(,(i
5e740 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 29 20 2c f.(fboundp.compat).compat.fun).,
5e760 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 3b 3b 20 @args)))..(provide.'compat).;;;.
5e780 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 00 00 00 compat.el.ends.here.............
5e7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e8a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e8c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e8e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e9a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e9c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e9e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ea00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ea20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ea40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ea60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ea80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5eaa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5eac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5eae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5eb00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5eb20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5eb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5eb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5eb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5eba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ebc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ebe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ec00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ec20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ec40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ec60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ec80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5eca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ecc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ece0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ed00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ed20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ed40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ed60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ed80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5eda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5edc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ede0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ee00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ee20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ee40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ee60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ee80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5eea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5eec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5eee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ef00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ef20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ef40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ef60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ef80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5efa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5efc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5efe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................