summaryrefslogtreecommitdiff
path: root/localrepo/compat-29.1.4.5.tar
blob: 7a5fc787928cbf8dffff3b5d888994ce7e923383 (plain)
ofshex dumpascii
0000 63 6f 6d 70 61 74 2d 32 39 2e 31 2e 34 2e 35 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 compat-29.1.4.5/................
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 37 34 00 20 35 00 00 00 0000000.00000000000.011674..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 32 39 2e 31 2e 34 2e 35 2f 63 6f 6d 70 61 74 2d 32 35 2e 65 6c 00 00 00 00 compat-29.1.4.5/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 33 30 34 33 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 37 32 37 00 20 30 00 00 00 0023043.00000000000.013727..0...
02a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
02e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0300 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
0320 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
0340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
03e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0400 3b 3b 3b 20 63 6f 6d 70 61 74 2d 32 35 2e 65 6c 20 2d 2d 2d 20 46 75 6e 63 74 69 6f 6e 61 6c 69 ;;;.compat-25.el.---.Functionali
0420 74 79 20 61 64 64 65 64 20 69 6e 20 45 6d 61 63 73 20 32 35 2e 31 20 2d 2a 2d 20 6c 65 78 69 63 ty.added.in.Emacs.25.1.-*-.lexic
0440 61 6c 2d 62 69 6e 64 69 6e 67 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 al-binding:.t;.-*-..;;.Copyright
0460 20 28 43 29 20 32 30 32 31 2d 32 30 32 34 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 .(C).2021-2024.Free.Software.Fou
0480 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 ndation,.Inc...;;.This.program.i
04a0 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 s.free.software;.you.can.redistr
04c0 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 ibute.it.and/or.modify.;;.it.und
04e0 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 er.the.terms.of.the.GNU.General.
0500 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 3b Public.License.as.published.by.;
0520 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 ;.the.Free.Software.Foundation,.
0540 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c either.version.3.of.the.License,
0560 20 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 .or.;;.(at.your.option).any.late
0580 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f 67 72 61 6d 20 69 73 20 64 r.version...;;.This.program.is.d
05a0 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 istributed.in.the.hope.that.it.w
05c0 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e ill.be.useful,.;;.but.WITHOUT.AN
05e0 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 Y.WARRANTY;.without.even.the.imp
0600 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c lied.warranty.of.;;.MERCHANTABIL
0620 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 ITY.or.FITNESS.FOR.A.PARTICULAR.
0640 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c PURPOSE...See.the.;;.GNU.General
0660 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 .Public.License.for.more.details
0680 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 ...;;.You.should.have.received.a
06a0 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 .copy.of.the.GNU.General.Public.
06c0 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 68 69 73 20 70 72 6f 67 72 License.;;.along.with.this.progr
06e0 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 3a 2f 2f 77 77 77 2e 67 6e am...If.not,.see.<https://www.gn
0700 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 u.org/licenses/>...;;;.Commentar
0720 79 3a 0a 0a 3b 3b 20 46 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 61 64 64 65 64 20 69 6e 20 45 6d y:..;;.Functionality.added.in.Em
0740 61 63 73 20 32 35 2e 31 2c 20 6e 65 65 64 65 64 20 62 79 20 6f 6c 64 65 72 20 45 6d 61 63 73 20 acs.25.1,.needed.by.older.Emacs.
0760 76 65 72 73 69 6f 6e 73 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 65 76 61 6c 2d 77 68 65 6e versions...;;;.Code:..(eval-when
0780 2d 63 6f 6d 70 69 6c 65 20 28 6c 6f 61 64 20 22 63 6f 6d 70 61 74 2d 6d 61 63 73 2e 65 6c 22 20 -compile.(load."compat-macs.el".
07a0 6e 69 6c 20 74 20 74 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 76 65 72 73 69 6f 6e 20 22 32 35 2e 31 nil.t.t))..(compat-version."25.1
07c0 22 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 61 6c 6c 6f 63 2e 63 0a 0a 28 63 6f ")..;;;;.Defined.in.alloc.c..(co
07e0 6d 70 61 74 2d 64 65 66 75 6e 20 62 6f 6f 6c 2d 76 65 63 74 6f 72 20 28 26 72 65 73 74 20 6f 62 mpat-defun.bool-vector.(&rest.ob
0800 6a 65 63 74 73 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 62 6f 6f 6c 2d 76 65 63 jects).;;.<compat-tests:bool-vec
0820 74 6f 72 3e 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6e 65 77 20 62 6f 6f 6c 2d 76 65 63 74 6f 72 tor>..."Return.a.new.bool-vector
0840 20 77 69 74 68 20 73 70 65 63 69 66 69 65 64 20 61 72 67 75 6d 65 6e 74 73 20 61 73 20 65 6c 65 .with.specified.arguments.as.ele
0860 6d 65 6e 74 73 2e 0a 41 6c 6c 6f 77 73 20 61 6e 79 20 6e 75 6d 62 65 72 20 6f 66 20 61 72 67 75 ments..Allows.any.number.of.argu
0880 6d 65 6e 74 73 2c 20 69 6e 63 6c 75 64 69 6e 67 20 7a 65 72 6f 2e 0a 75 73 61 67 65 3a 20 28 62 ments,.including.zero..usage:.(b
08a0 6f 6f 6c 2d 76 65 63 74 6f 72 20 26 72 65 73 74 20 4f 42 4a 45 43 54 53 29 22 0a 20 20 28 6c 65 ool-vector.&rest.OBJECTS)"...(le
08c0 74 20 28 28 76 65 63 20 28 6d 61 6b 65 2d 62 6f 6f 6c 2d 76 65 63 74 6f 72 20 28 6c 65 6e 67 74 t.((vec.(make-bool-vector.(lengt
08e0 68 20 6f 62 6a 65 63 74 73 29 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 20 20 28 69 20 30 29 29 0a h.objects).nil)).........(i.0)).
0900 20 20 20 20 28 77 68 69 6c 65 20 6f 62 6a 65 63 74 73 0a 20 20 20 20 20 20 28 77 68 65 6e 20 28 ....(while.objects.......(when.(
0920 63 61 72 20 6f 62 6a 65 63 74 73 29 0a 20 20 20 20 20 20 20 20 28 61 73 65 74 20 76 65 63 20 69 car.objects).........(aset.vec.i
0940 20 74 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 6f 62 6a 65 63 74 73 20 28 63 64 72 20 6f 62 .t)).......(setq.objects.(cdr.ob
0960 6a 65 63 74 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 20 28 31 2b 20 69 29 29 29 0a 20 20 jects).............i.(1+.i)))...
0980 20 20 76 65 63 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 66 6e 73 2e 63 0a 0a ..vec))..;;;;.Defined.in.fns.c..
09a0 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 73 6f 72 74 20 28 73 65 71 20 70 72 65 64 69 63 61 74 (compat-defun.sort.(seq.predicat
09c0 65 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 73 6f 72 74 3e 0a 20 20 22 48 61 6e e).;;.<compat-tests:sort>..."Han
09e0 64 6c 65 20 76 65 63 74 6f 72 20 53 45 51 2e 22 0a 20 20 3a 65 78 74 65 6e 64 65 64 20 74 0a 20 dle.vector.SEQ."...:extended.t..
0a00 20 28 63 6f 6e 64 0a 20 20 20 28 28 6c 69 73 74 70 20 73 65 71 29 0a 20 20 20 20 28 73 6f 72 74 .(cond....((listp.seq).....(sort
0a20 20 73 65 71 20 70 72 65 64 69 63 61 74 65 29 29 0a 20 20 20 28 28 76 65 63 74 6f 72 70 20 73 65 .seq.predicate))....((vectorp.se
0a40 71 29 0a 20 20 20 20 28 6c 65 74 2a 20 28 28 6c 69 73 74 20 28 73 6f 72 74 20 28 61 70 70 65 6e q).....(let*.((list.(sort.(appen
0a60 64 20 73 65 71 20 6e 69 6c 29 20 70 72 65 64 69 63 61 74 65 29 29 0a 20 20 20 20 20 20 20 20 20 d.seq.nil).predicate))..........
0a80 20 20 28 70 20 6c 69 73 74 29 20 28 69 20 30 29 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 70 ..(p.list).(i.0)).......(while.p
0aa0 0a 20 20 20 20 20 20 20 20 28 61 73 65 74 20 73 65 71 20 69 20 28 63 61 72 20 70 29 29 0a 20 20 .........(aset.seq.i.(car.p))...
0ac0 20 20 20 20 20 20 28 73 65 74 71 20 69 20 28 31 2b 20 69 29 20 70 20 28 63 64 72 20 70 29 29 29 ......(setq.i.(1+.i).p.(cdr.p)))
0ae0 0a 20 20 20 20 20 20 28 61 70 70 6c 79 20 23 27 76 65 63 74 6f 72 20 6c 69 73 74 29 29 29 0a 20 .......(apply.#'vector.list)))..
0b00 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 6e ..(t.(signal.'wrong-type-argumen
0b20 74 20 28 6c 69 73 74 20 27 6c 69 73 74 2d 6f 72 2d 76 65 63 74 6f 72 2d 70 20 73 65 71 29 29 29 t.(list.'list-or-vector-p.seq)))
0b40 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 2e 63 0a 0a 28 ))..;;;;.Defined.in.editfns.c..(
0b60 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 61 67 65 20 66 compat-defalias.format-message.f
0b80 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 6d 61 74 2d 6d ormat).;;.<compat-tests:format-m
0ba0 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 6c 65 69 6f 2e essage>..;;;;.Defined.in.fileio.
0bc0 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 6e 61 6d 65 2d c..(compat-defun.directory-name-
0be0 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 69 72 65 63 74 p.(name).;;.<compat-tests:direct
0c00 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 69 6c 20 69 66 ory-name-p>..."Return.non-nil.if
0c20 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 20 73 65 70 61 .NAME.ends.with.a.directory.sepa
0c40 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 61 6c 2d 77 68 rator.character."...(eq.(eval-wh
0c60 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 71 20 73 79 73 en-compile.........(if.(memq.sys
0c80 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 74 20 6d 73 2d tem-type.'(cygwin.windows-nt.ms-
0ca0 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 20 20 20 20 20 dos)).............?\\.?/))......
0cc0 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 65 29 29 29 29 .(aref.name.(1-.(length.name))))
0ce0 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 63 6f 6d 70 61 )..;;;;.Defined.in.doc.c..(compa
0d00 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 20 6e 69 6c 20 t-defvar.text-quoting-style.nil.
0d20 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 6e 67 2d 73 74 ;;.<compat-tests:text-quoting-st
0d40 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 6e 67 6c 65 20 yle>..."Style.to.use.for.single.
0d60 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 2e 0a 0a 54 68 quotes.in.help.and.messages...Th
0d80 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 74 65 72 6d 69 e.value.of.this.variable.determi
0da0 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 63 63 65 6e 74 nes.substitution.of.grave.accent
0dc0 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 75 74 70 75 74 s.and.apostrophes.in.help.output
0de0 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 66 6f 0a 6d 61 .(but.not.for.display.of.Info.ma
0e00 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 65 20 60 6d 65 nuals).and.in.functions.like.`me
0e20 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 2c 20 62 75 74 ssage'.and.`format-message',.but
0e40 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 65 20 73 68 6f .not.in.`format'...The.value.sho
0e60 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 3a 0a 20 20 60 uld.be.one.of.these.symbols:...`
0e80 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 64 20 73 69 6e curve':....quote.with.curved.sin
0ea0 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 0a 20 20 60 73 gle.quotes....like.this.......`s
0ec0 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 68 74 20 61 70 traight':.quote.with.straight.ap
0ee0 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 2e 0a 20 20 60 ostrophes.\\='like.this\\='....`
0f00 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 20 61 63 63 65 grave':....quote.with.grave.acce
0f20 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 74 68 69 73 5c nt.and.apostrophe.\\=`like.this\
0f40 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 20 6e 6f 74 20 \=';...............i.e.,.do.not.
0f60 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 72 6b 73 2e 0a alter.the.original.quote.marks..
0f80 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 69 66 20 63 75 ..nil:........like.`curve'.if.cu
0fa0 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 6c 61 79 61 62 rved.single.quotes.are.displayab
0fc0 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 60 67 72 61 76 le,...............and.like.`grav
0fe0 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 64 65 66 61 75 e'.otherwise...This.is.the.defau
1000 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 74 68 65 20 76 lt...You.should.never.read.the.v
1020 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 74 6c 79 20 66 alue.of.this.variable.directly.f
1040 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 65 20 66 75 6e rom.a.Lisp.program...Use.the.fun
1060 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 69 6e 73 74 65 ction.`text-quoting-style'.inste
1080 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 65 20 63 6f 72 ad,.as.that.will.compute.the.cor
10a0 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 74 65 72 6d 69 rect.value.for.the.current.termi
10c0 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 3b 20 44 65 66 nal.in.the.nil.case.")..;;;;.Def
10e0 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 2d 65 78 63 75 ined.in.simple.el..;;.`save-excu
1100 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 61 72 6b 2d 61 rsion'.behaved.like.`save-mark-a
1120 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 28 63 6f 6d 70 nd-excursion'.before.25.1..(comp
1140 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 78 63 75 72 73 at-defalias.save-mark-and-excurs
1160 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 70 61 74 2d 74 ion.save-excursion).;;.<compat-t
1180 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 6e 3e 0a 0a 28 ests:save-mark-and-excursion>..(
11a0 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 6e 64 73 20 6e declare-function.region-bounds.n
11c0 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 2e 65 6c 0a 28 il).;;.Defined.in.compat-26.el.(
11e0 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 69 67 75 6f 75 compat-defun.region-noncontiguou
1200 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 69 6f 6e 2d 6e s-p.().;;.<compat-tests:region-n
1220 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 6f 6e 2d 6e 69 oncontiguous-p>..."Return.non-ni
1240 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 72 61 6c l.if.the.region.contains.several
1260 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 63 74 61 6e 67 .pieces..An.example.is.a.rectang
1280 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 73 74 20 6f 66 ular.region.handled.as.a.list.of
12a0 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 73 20 66 6f 72 .separate.contiguous.regions.for
12c0 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 73 20 28 72 65 .each.line."...(let.((bounds.(re
12e0 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 75 6e 64 73 29 gion-bounds))).(and.(cdr.bounds)
1300 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 20 73 75 62 72 .bounds)))..;;;;.Defined.in.subr
1320 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 72 65 61 74 65 .el..(compat-defun.string-greate
1340 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 6d 70 61 74 2d rp.(string1.string2).;;.<compat-
1360 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 65 74 75 72 6e tests:string-greaterp>..."Return
1380 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 74 65 72 20 74 .non-nil.if.STRING1.is.greater.t
13a0 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 63 20 6f 72 64 han.STRING2.in.lexicographic.ord
13c0 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 6d 62 6f 6c 73 er..Case.is.significant..Symbols
13e0 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 69 6e 74 20 6e .are.also.allowed;.their.print.n
1400 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 73 74 72 69 6e ames.are.used.instead."...(strin
1420 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 28 63 6f 6d 70 g-lessp.string2.string1))..(comp
1440 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 20 28 6d 6f 64 at-defmacro.with-file-modes.(mod
1460 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 65 73 74 73 3a es.&rest.body).;;.<compat-tests:
1480 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 20 42 4f 44 59 with-file-modes>..."Execute.BODY
14a0 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 6f 6e 73 20 74 .with.default.file.permissions.t
14c0 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 44 45 53 20 69 emporarily.set.to.MODES..MODES.i
14e0 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 6d 6f 64 65 73 s.as.for.`set-default-file-modes
1500 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 64 65 62 75 67 '."...(declare.(indent.1).(debug
1520 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 79 6d 62 6f 6c .t))...(let.((umask.(make-symbol
1540 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 61 73 6b 20 28 ."umask"))).....`(let.((,umask.(
1560 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 20 20 28 75 6e default-file-modes)))........(un
1580 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 6f 67 6e 0a 20 wind-protect............(progn..
15a0 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 6c 65 2d 6d 6f ............(set-default-file-mo
15c0 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 62 6f 64 79 29 des.,modes)..............,@body)
15e0 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 2d 6d 6f 64 65 ..........(set-default-file-mode
1600 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 61 63 72 6f 20 s.,umask)))))..(compat-defmacro.
1620 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 65 29 20 3b 3b if-let.(spec.then.&rest.else).;;
1640 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 69 6e 64 20 76 .<compat-tests:if-let>..."Bind.v
1660 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 65 ariables.according.to.SPEC.and.e
1680 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 61 74 65 20 65 valuate.THEN.or.ELSE..Evaluate.e
16a0 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 60 6c 65 74 2a ach.binding.in.turn,.as.in.`let*
16c0 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 6c 75 65 20 69 ',.stopping.if.a.binding.value.i
16e0 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 72 65 74 75 72 s.nil...If.all.are.non-nil.retur
1700 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 69 73 65 20 74 n.the.value.of.THEN,.otherwise.t
1720 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 20 65 6c 65 6d he.last.form.in.ELSE...Each.elem
1740 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 4f 4c 20 56 41 ent.of.SPEC.is.a.list.(SYMBOL.VA
1760 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 74 6f 20 74 68 LUEFORM).that.binds.SYMBOL.to.th
1780 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 6c 65 6d 65 6e e.value.of.VALUEFORM...An.elemen
17a0 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 65 20 66 6f 72 t.can.additionally.be.of.the.for
17c0 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 6c 75 61 74 65 m.(VALUEFORM),.which.is.evaluate
17e0 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 20 53 59 4d 42 d.and.checked.for.nil;.i.e..SYMB
1800 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 68 65 20 74 65 OL.can.be.omitted.if.only.the.te
1820 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 49 74 20 63 61 st.result.is.of.interest...It.ca
1840 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 4c 2c 20 74 68 n.also.be.of.the.form.SYMBOL,.th
1860 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 20 63 68 65 63 en.the.binding.of.SYMBOL.is.chec
1880 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 63 61 73 65 2c ked.for.nil...As.a.special.case,
18a0 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 6f 72 6d 20 5c .interprets.a.SPEC.of.the.form.\
18c0 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 53 59 4d 42 4f (SYMBOL.SOMETHING).like.\((SYMBO
18e0 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 20 66 6f 72 20 L.SOMETHING))...This.exists.for.
1900 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 20 61 6e 20 6f backward.compatibility.with.an.o
1920 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 79 20 6f 6e 65 ld.syntax.that.accepted.only.one
1940 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 6e 74 20 32 29 .binding."...(declare.(indent.2)
1960 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 79 6d 62 6f 6c ............(debug.([&or.(symbol
1980 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 20 20 20 20 20 p.form).........................
19a0 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 70 20 66 6f 72 (&rest.[&or.symbolp.(symbolp.for
19c0 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 20 20 20 20 20 m).(form)])]....................
19e0 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 65 6e 67 74 68 body)))...(when.(and.(<=.(length
1a00 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 73 70 65 63 29 .spec).2).(not.(listp.(car.spec)
1a20 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 65 20 62 69 6e ))).....;;.Adjust.the.single.bin
1a40 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 69 73 74 20 73 ding.case.....(setq.spec.(list.s
1a60 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 2d 73 79 6d 62 pec)))...(let.((empty.(make-symb
1a80 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 69 73 74 29 0a ol."s")).........(last.t).list).
1aa0 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 20 20 28 70 75 ....(dolist.(var.spec).......(pu
1ac0 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 72 29 20 65 6d sh.`(,(if.(cdr.var).(car.var).em
1ae0 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 73 74 20 2c 28 pty)...............(and.,last.,(
1b00 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 72 20 76 61 72 if.(cdr.var).(cadr.var).(car.var
1b20 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 20 20 28 77 68 )))).............list).......(wh
1b40 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 72 20 76 61 72 en.(or.(cdr.var).(consp.(car.var
1b60 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 72 20 6c 69 73 ))).........(setq.last.(caar.lis
1b80 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 20 6c 69 73 74 t)))).....`(let*.,(nreverse.list
1ba0 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 74 68 65 6e 20 )........(if.,(caar.list).,then.
1bc0 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 6f 20 77 68 65 ,@else))))..(compat-defmacro.whe
1be0 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 3c 63 6f 6d 70 n-let.(spec.&rest.body).;;.<comp
1c00 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 76 61 72 69 61 at-tests:when-let>..."Bind.varia
1c20 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 63 6f 6e 64 69 bles.according.to.SPEC.and.condi
1c40 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 6c 75 61 74 65 tionally.evaluate.BODY..Evaluate
1c60 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 70 69 6e 67 20 .each.binding.in.turn,.stopping.
1c80 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 49 66 20 61 6c if.a.binding.value.is.nil..If.al
1ca0 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 61 6c 75 65 20 l.are.non-nil,.return.the.value.
1cc0 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 54 68 65 20 76 of.the.last.form.in.BODY...The.v
1ce0 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 6d 65 20 61 73 ariable.list.SPEC.is.the.same.as
1d00 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 69 6e 64 65 6e .in.`if-let'."...(declare.(inden
1d20 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 74 20 27 69 66 t.1).(debug.if-let))...(list.'if
1d40 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 6f 64 79 29 29 -let.spec.(macroexp-progn.body))
1d60 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
1d80 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 79 2d 70 20 28 ompat-defun.hash-table-empty-p.(
1da0 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 73 3a 68 61 73 hash-table).;;.<compat-tests:has
1dc0 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 68 65 74 68 65 h-table-empty-p>..."Check.whethe
1de0 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 30 20 65 6c 65 r.HASH-TABLE.is.empty.(has.0.ele
1e00 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 6c 65 2d 63 6f ments)."...(zerop.(hash-table-co
1e20 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 64 65 66 6d 61 unt.hash-table)))..(compat-defma
1e40 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 6d 73 29 20 3b cro.thread-first.(&rest.forms).;
1e60 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 74 3e 0a 20 20 ;.<compat-tests:thread-first>...
1e80 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 68 65 20 66 69 "Thread.FORMS.elements.as.the.fi
1ea0 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 73 73 6f 72 2e rst.argument.of.their.successor.
1ec0 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 0a 20 20 20 20 .Example:.....(thread-first.....
1ee0 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 35 29 0a 20 20 ..5.......(+.20).......(/.25)...
1f00 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 76 61 6c 65 6e ....-.......(+.40)).Is.equivalen
1f20 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 20 32 35 29 29 t.to:.....(+.(-.(/.(+.5.20).25))
1f40 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 27 20 67 6f 74 .40).Note.how.the.single.`-'.got
1f60 20 63 6f 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 62 65 66 6f 72 65 0a 74 68 .converted.into.a.list.before.th
1f80 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 74 20 31 29 0a reading."...(declare.(indent.1).
1fa0 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 73 74 20 5b 26 ...........(debug.(form.&rest.[&
1fc0 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 29 5d 29 29 29 or.symbolp.(sexp.&rest.form)])))
1fe0 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 29 0a 20 20 20 ...(let.((body.(car.forms)))....
2000 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 0a 20 20 20 20 .(dolist.(form.(cdr.forms)).....
2020 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 20 20 20 20 28 ..(when.(symbolp.form).........(
2040 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 20 20 20 28 73 setq.form.(list.form))).......(s
2060 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 20 66 6f 72 6d etq.body.(append.(list.(car.form
2080 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 6c 69 73 ))..........................(lis
20a0 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 20 20 20 20 20 t.body).........................
20c0 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 28 63 6f 6d 70 .(cdr.form)))).....body))..(comp
20e0 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 65 73 74 20 66 at-defmacro.thread-last.(&rest.f
2100 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 61 64 2d 6c 61 orms).;;.<compat-tests:thread-la
2120 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 73 20 61 73 20 st>..."Thread.FORMS.elements.as.
2140 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 73 75 63 63 65 the.last.argument.of.their.succe
2160 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 6c 61 73 74 0a ssor..Example:.....(thread-last.
2180 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 35 ......5.......(+.20).......(/.25
21a0 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 76 ).......-.......(+.40)).Is.equiv
21c0 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 35 20 28 2b 20 alent.to:.....(+.40.(-.(/.25.(+.
21e0 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 65 20 60 2d 27 20.5)))).Note.how.the.single.`-'
2200 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 72 .got.converted.into.a.list.befor
2220 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 74 e.threading."...(declare.(indent
2240 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 20 28 6c 65 74 .1).(debug.thread-first))...(let
2260 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 64 6f 6c 69 73 .((body.(car.forms))).....(dolis
2280 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 28 77 68 65 6e t.(form.(cdr.forms)).......(when
22a0 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 74 71 20 66 6f .(symbolp.form).........(setq.fo
22c0 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 71 20 62 6f 64 rm.(list.form))).......(setq.bod
22e0 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 29 29 0a 20 20 y.(append.form.(list.body))))...
2300 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 61 63 72 6f 65 ..body))..;;;;.Defined.in.macroe
2320 78 70 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 6d 61 63 72 6f 65 78 70 2d 70 61 xp.el..(compat-defun.macroexp-pa
2340 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 74 65 73 74 73 rse-body.(body).;;.<compat-tests
2360 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 72 73 65 20 61 :macroexp-parse-body>..."Parse.a
2380 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 41 54 49 4f 4e .function.BODY.into.(DECLARATION
23a0 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 28 29 29 29 0a S...EXPS)."...(let.((decls.())).
23c0 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 20 20 20 20 20 ....(while.(and.(cdr.body)......
23e0 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 64 79 29 29 29 ...........(let.((e.(car.body)))
2400 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 69 6e 67 70 20 ...................(or.(stringp.
2420 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 65 6d 71 20 28 e).......................(memq.(
2440 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 20 20 20 20 20 car-safe.e).....................
2460 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 63 6c 61 72 65 ........'(:documentation.declare
2480 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 29 0a 20 20 20 .interactive.cl-declare)))))....
24a0 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 0a 20 20 20 20 ...(push.(pop.body).decls)).....
24c0 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 29 29 29 0a 0a (cons.(nreverse.decls).body)))..
24e0 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 65 20 28 76 29 (compat-defun.macroexp-quote.(v)
2500 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 71 75 6f 74 65 .;;.<compat-tests:macroexp-quote
2520 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 20 73 75 63 68 >..."Return.an.expression.E.such
2540 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 73 20 65 69 74 .that.`(eval.E)'.is.V...E.is.eit
2560 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 67 20 6f 6e 20 her.V.or.(quote.V).depending.on.
2580 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 6c 66 20 6f 72 whether.V.evaluates.to.itself.or
25a0 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 73 70 20 76 29 .not."...(if.(and.(not.(consp.v)
25c0 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 76 29 0a 20 20 )............(or.(keywordp.v)...
25e0 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 76 29 29 0a 20 .............(not.(symbolp.v))..
2600 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 20 74 29 29 29 ..............(memq.v.'(nil.t)))
2620 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 76 29 29 29 0a ).......v.....(list.'quote.v))).
2640 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 31 20 28 66 6f .(compat-defun.macroexpand-1.(fo
2660 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 3b 20 3c 63 6f rm.&optional.environment).;;.<co
2680 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 20 22 50 65 72 mpat-tests:macroexpand-1>..."Per
26a0 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 6d 61 63 72 6f form.(at.most).one.step.of.macro
26c0 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 6f 6e 73 70 20 .expansion."...(cond....((consp.
26e0 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 20 66 6f 72 6d form).....(let*.((head.(car.form
2700 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 20 28 61 73 73 ))............(env-expander.(ass
2720 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 20 28 69 66 20 q.head.environment))).......(if.
2740 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 28 63 64 72 20 env-expander...........(if.(cdr.
2760 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 20 28 61 70 70 env-expander)...............(app
2780 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 66 6f 72 6d 29 ly.(cdr.env-expander).(cdr.form)
27a0 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 20 28 69 66 20 ).............form).........(if.
27c0 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 62 6f 75 6e 64 (not.(and.(symbolp.head).(fbound
27e0 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 20 20 20 20 20 p.head))).............form......
2800 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 6f 2d 6c 6f 61 .....(let.((def.(autoload-do-loa
2820 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 61 64 20 27 6d d.(symbol-function.head).head.'m
2840 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 20 20 20 20 20 acro))).............(cond.......
2860 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 20 6f 6e 6c 79 .......;;.Follow.alias,.but.only
2880 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 61 79 20 65 6e .for.macros,.otherwise.we.may.en
28a0 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 6e 67 20 61 6e d.up..............;;.skipping.an
28c0 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 65 2e 67 2e 20 .important.compiler-macro.(e.g..
28e0 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 20 20 20 20 20 cl--block-wrapper)..............
2900 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 70 20 64 65 66 .((and.(symbolp.def).(macrop.def
2920 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 20 20 20 20 20 )).(cons.def.(cdr.form))).......
2940 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 6f 72 6d 29 0a .......((not.(consp.def)).form).
2960 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 .............(t...............(i
2980 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 20 20 20 20 20 f.(eq.'macro.(car.def)).........
29a0 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 28 63 64 72 20 ..........(apply.(cdr.def).(cdr.
29c0 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 29 29 29 29 29 form)).................form)))))
29e0 29 29 29 0a 20 20 20 28 74 20 66 6f 72 6d 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 63 6f 6d )))....(t.form)))..(provide.'com
2a00 70 61 74 2d 32 35 29 0a 3b 3b 3b 20 63 6f 6d 70 61 74 2d 32 35 2e 65 6c 20 65 6e 64 73 20 68 65 pat-25).;;;.compat-25.el.ends.he
2a20 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 re..............................
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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 63 6f 6d 70 61 74 2d 32 39 2e 31 2e 34 2e 35 2f 63 6f 6d 70 61 74 2d 32 38 2e 65 6c 00 00 00 00 compat-29.1.4.5/compat-28.el....
2c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2c60 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
2c80 30 31 30 35 37 33 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 37 34 33 00 20 30 00 00 00 0105735.00000000000.013743..0...
2ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d00 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...................
2d20 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...................
2d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2e00 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
2e20 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
2e40 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
2e60 20 28 43 29 20 32 30 32 31 2d 32 30 32 34 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 .(C).2021-2024.Free.Software.Fou
2e80 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
2ea0 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
2ec0 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
2ee0 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.
2f00 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.;
2f20 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,.
2f40 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,
2f60 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
2f80 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
2fa0 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
2fc0 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
2fe0 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
3000 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
3020 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.
3040 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
3060 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
3080 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
30a0 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.
30c0 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
30e0 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
3100 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
3120 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
3140 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.
3160 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
3180 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".
31a0 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
31c0 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
31e0 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
3200 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
3220 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:
3240 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
3260 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
3280 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
32a0 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
32c0 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
32e0 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-
3300 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
3320 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..
3340 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
3360 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
3380 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
33a0 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
33c0 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
33e0 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
3400 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
3420 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
3440 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
3460 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
3480 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
34a0 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
34c0 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
34e0 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..
3500 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
3520 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
3540 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
3560 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.
3580 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
35a0 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)...................
35c0 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))).....(
35e0 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.
3600 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
3620 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
3640 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-
3660 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
3680 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
36a0 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
36c0 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
36e0 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
3700 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
3720 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
3740 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
3760 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)......
3780 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)...
37a0 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)).
37c0 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
37e0 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))))
3800 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
3820 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
3840 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
3860 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."..
3880 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.
38a0 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
38c0 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
38e0 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
3900 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
3920 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
3940 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
3960 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>
3980 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
39a0 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
39c0 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
39e0 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
3a00 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
3a20 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)..
3a40 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))
3a60 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
3a80 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)))
3aa0 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
3ac0 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
3ae0 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
3b00 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>..."
3b20 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
3b40 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..
3b60 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
3b80 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
3ba0 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
3bc0 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
3be0 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.
3c00 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.
3c20 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.((
3c40 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....
3c60 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
3c80 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
3ca0 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)).........................."\
3cc0 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
3ce0 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.........................
3d00 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.
3d20 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))...............
3d40 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
3d60 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
3d80 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...
3da0 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))).
3dc0 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
3de0 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...........................
3e00 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..............
3e20 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
3e40 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))........
3e60 20 20 20 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
3e80 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
3ea0 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
3ec0 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).
3ee0 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
3f00 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
3f20 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
3f40 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).;;.
3f60 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
3f80 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
3fa0 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
3fc0 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
3fe0 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
4000 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.
4020 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
4040 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
4060 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))))).
4080 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
40a0 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
40c0 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
40e0 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
4100 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
4120 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
4140 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
4160 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
4180 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)...
41a0 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
41c0 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.
41e0 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.(
4200 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
4220 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
4240 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
4260 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
4280 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
42a0 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
42c0 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
42e0 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)))....
4300 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
4320 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))...
4340 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
4360 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-
4380 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
43a0 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
43c0 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
43e0 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
4400 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
4420 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,.
4440 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
4460 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
4480 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
44a0 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
44c0 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
44e0 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.[
4500 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.
4520 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
4540 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
4560 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
4580 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
45a0 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.(
45c0 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
45e0 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........
4600 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
4620 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
4640 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.(
4660 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)))
4680 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
46a0 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
46c0 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)))......
46e0 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.(=.
4700 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
4720 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)))..........;;
4740 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)
4760 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
4780 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))))..........;;.....
47a0 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:[[
47c0 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
47e0 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:
4800 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:]
4820 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:]]\\{
4840 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\\}
4860 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\\}\
4880 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\\}\\)\\
48a0 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\\}\\)\\|\\(
48c0 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:[
48e0 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
4900 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\\}\\)\\)\\'"........
4920 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-.(
4940 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
4960 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)))))...........
4980 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
49a0 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
49c0 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
49e0 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
4a00 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)...............
4a20 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
4a40 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))
4a60 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........
4a80 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:"..........;;.
4aa0 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))."/"....
4ac0 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)
4ae0 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.(**
4b00 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).
4b20 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:]]
4b40 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
4b60 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\\
4b80 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).........
4ba0 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
4bc0 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)..
4be0 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.(*.(-
4c00 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.
4c20 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
4c40 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.
4c60 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)................
4c80 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)
4ca0 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)))).....
4cc0 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
4ce0 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
4d00 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.(
4d20 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
4d40 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
4d60 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
4d80 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[
4da0 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
4dc0 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.........;;........;;.
4de0 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
4e00 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.
4e20 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
4e40 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
4e60 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
4e80 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..........
4ea0 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)....
4ec0 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."-"."
4ee0 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.
4f00 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))).
4f20 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 .........;;................(:.".
4f40 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)))..........;;.......
4f60 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."-"."+")).(+.
4f80 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)))..........;;....."/".(*.
4fa0 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.(?
4fc0 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."-"."+"))..........;;......
4fe0 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).(?.".".(*
5000 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)))..........;;...........
5020 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))).........
5040 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."-"
5060 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)))..........;;..
5080 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)..........;;....
50a0 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."-"."+"))........
50c0 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)
50e0 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)))..........;;.
5100 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))
5120 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".
5140 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)))....
5160 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
5180 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:]]*\\([+-]?\\(?:[[:
51a0 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:]]*\\)
51c0 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[+-]
51e0 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:]]
5200 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:]]+\\(?:\
5220 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
5240 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:]]+\\
5260 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:]]*\\([+-]?\\(?:[
5280 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:]]*\
52a0 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[+
52c0 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:]]+\\)?\\)\\'"......
52e0 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
5300 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
5320 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)))..........
5340 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
5360 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
5380 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.(*.(
53a0 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
53c0 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
53e0 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)....
5400 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
5420 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)......................(<=
5440 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)).............
5460 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
5480 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
54a0 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
54c0 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
54e0 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
5500 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
5520 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,.
5540 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
5560 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
5580 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.
55a0 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.'
55c0 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
55e0 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
5600 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)))
5620 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
5640 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))).?-)."\
5660 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..
5680 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
56a0 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
56c0 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
56e0 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>.
5700 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
5720 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.
5740 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-
5760 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.
5780 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
57a0 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
57c0 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
57e0 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
5800 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
5820 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
5840 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.
5860 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-
5880 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
58a0 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
58c0 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
58e0 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
5900 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
5920 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
5940 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
5960 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)
5980 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))....
59a0 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
59c0 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........
59e0 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
5a00 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).................
5a20 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)
5a40 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
5a60 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)
5a80 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)))))..
5aa0 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
5ac0 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).;
5ae0 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
5b00 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.
5b20 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.
5b40 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
5b60 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
5b80 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
5ba0 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
5bc0 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
5be0 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
5c00 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
5c20 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
5c40 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
5c60 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
5c80 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
5ca0 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
5cc0 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
5ce0 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
5d00 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)).....(
5d20 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
5d40 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
5d60 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
5d80 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
5da0 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>..."
5dc0 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
5de0 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
5e00 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
5e20 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
5e40 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
5e60 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
5e80 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
5ea0 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
5ec0 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
5ee0 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.
5f00 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.
5f20 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
5f40 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
5f60 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
5f80 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
5fa0 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)))
5fc0 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-
5fe0 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
6000 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
6020 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>...
6040 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
6060 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
6080 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
60a0 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
60c0 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.
60e0 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
6100 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
6120 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
6140 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
6160 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
6180 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
61a0 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")
61c0 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
61e0 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-
6200 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.
6220 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.(
6240 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..
6260 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
6280 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
62a0 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
62c0 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
62e0 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
6300 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)..........
6320 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
6340 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
6360 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
6380 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)))........
63a0 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)).....
63c0 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
63e0 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
6400 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
6420 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-
6440 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
6460 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
6480 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
64a0 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
64c0 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.
64e0 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
6500 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
6520 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'...
6540 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
6560 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
6580 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
65a0 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.
65c0 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
65e0 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
6600 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.`\\(...\\)
6620 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
6640 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....`\\\
6660 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.`\\'....`\\?
6680 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
66a0 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
66c0 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
66e0 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
6700 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......
6720 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))......
6740 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
6760 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))
6780 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
67a0 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.
67c0 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
67e0 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)......
6800 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))..
6820 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
6840 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
6860 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)........
6880 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))).
68a0 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
68c0 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
68e0 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.
6900 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
6920 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.
6940 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
6960 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
6980 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.......
69a0 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
69c0 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
69e0 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
6a00 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.(&
6a20 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
6a40 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.
6a60 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
6a80 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
6aa0 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.
6ac0 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.
6ae0 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).
6b00 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
6b20 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
6b40 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.(
6b60 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..........
6b80 20 20 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
6ba0 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."~/")...............
6bc0 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
6be0 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...................
6c00 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
6c20 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 ")..............................
6c40 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/")).................
6c60 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.
6c80 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
6ca0 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))))..............."/"
6cc0 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
6ce0 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).;;
6d00 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
6d20 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."..
6d40 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)
6d60 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
6d80 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)..................`
6da0 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
6dc0 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)))..............
6de0 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.,@
6e00 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
6e20 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
6e40 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.
6e60 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
6e80 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'
6ea0 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
6ec0 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
6ee0 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...
6f00 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
6f20 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).;;.<
6f40 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>..
6f60 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 64 61 74 61 2e 63 0a 0a 28 63 6f 6d 70 61 74 2d ;;;;.Defined.in.data.c..(compat-
6f80 64 65 66 61 6c 69 61 73 20 73 75 62 72 2d 6e 61 74 69 76 65 2d 65 6c 69 73 70 2d 70 20 69 67 6e defalias.subr-native-elisp-p.ign
6fa0 6f 72 65 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 73 75 62 72 2d 6e 61 74 69 76 ore).;;.<compat-tests:subr-nativ
6fc0 65 2d 65 6c 69 73 70 2d 70 3e 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 73 75 62 72 e-elisp-p>..;;;;.Defined.in.subr
6fe0 2d 78 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 63 6c 65 61 -x.el..(compat-defun.string-clea
7000 6e 2d 77 68 69 74 65 73 70 61 63 65 20 28 73 74 72 69 6e 67 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 n-whitespace.(string).;;.<compat
7020 2d 74 65 73 74 73 3a 73 74 72 69 6e 67 2d 63 6c 65 61 6e 2d 77 68 69 74 65 73 70 61 63 65 3e 0a -tests:string-clean-whitespace>.
7040 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 53 54 52 49 4e 47 .."Clean.up.whitespace.in.STRING
7060 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 61 63 65 73 20 69 ..All.sequences.of.whitespaces.i
7080 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 6f 20 61 0a 73 69 n.STRING.are.collapsed.into.a.si
70a0 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 6c 65 61 64 69 6e ngle.space.character,.and.leadin
70c0 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 65 6d 6f 76 65 64 g/trailing.whitespace.is.removed
70e0 2e 22 0a 20 20 28 6c 65 74 20 28 28 62 6c 61 6e 6b 20 22 5b 5b 3a 62 6c 61 6e 6b 3a 5d 5c 72 5c ."...(let.((blank."[[:blank:]\r\
7100 6e 5d 2b 22 29 29 0a 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 n]+")).....(replace-regexp-in-st
7120 72 69 6e 67 0a 20 20 20 20 20 22 5e 5b 5b 3a 62 6c 61 6e 6b 3a 5d 5c 72 5c 6e 5d 2b 5c 5c 7c 5b ring......"^[[:blank:]\r\n]+\\|[
7140 5b 3a 62 6c 61 6e 6b 3a 5d 5c 72 5c 6e 5d 2b 24 22 0a 20 20 20 20 20 22 22 0a 20 20 20 20 20 28 [:blank:]\r\n]+$"......""......(
7160 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 20 62 replace-regexp-in-string.......b
7180 6c 61 6e 6b 20 22 20 22 20 73 74 72 69 6e 67 29 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 lank.".".string))))..(compat-def
71a0 75 6e 20 73 74 72 69 6e 67 2d 66 69 6c 6c 20 28 73 74 72 69 6e 67 20 6c 65 6e 67 74 68 29 20 3b un.string-fill.(string.length).;
71c0 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 73 74 72 69 6e 67 2d 66 69 6c 6c 3e 0a 20 20 22 ;.<compat-tests:string-fill>..."
71e0 43 6c 65 61 6e 20 75 70 20 77 68 69 74 65 73 70 61 63 65 20 69 6e 20 53 54 52 49 4e 47 2e 0a 41 Clean.up.whitespace.in.STRING..A
7200 6c 6c 20 73 65 71 75 65 6e 63 65 73 20 6f 66 20 77 68 69 74 65 73 70 61 63 65 73 20 69 6e 20 53 ll.sequences.of.whitespaces.in.S
7220 54 52 49 4e 47 20 61 72 65 20 63 6f 6c 6c 61 70 73 65 64 20 69 6e 74 6f 20 61 0a 73 69 6e 67 6c TRING.are.collapsed.into.a.singl
7240 65 20 73 70 61 63 65 20 63 68 61 72 61 63 74 65 72 2c 20 61 6e 64 20 6c 65 61 64 69 6e 67 2f 74 e.space.character,.and.leading/t
7260 72 61 69 6c 69 6e 67 20 77 68 69 74 65 73 70 61 63 65 20 69 73 0a 72 65 6d 6f 76 65 64 2e 22 0a railing.whitespace.is.removed.".
7280 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 65 72 0a 20 20 20 20 28 69 6e 73 65 72 74 20 ..(with-temp-buffer.....(insert.
72a0 73 74 72 69 6e 67 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 28 70 6f 69 6e 74 2d 6d 69 string).....(goto-char.(point-mi
72c0 6e 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 66 69 6c 6c 2d 63 6f 6c 75 6d 6e 20 6c 65 6e 67 74 n)).....(let.((fill-column.lengt
72e0 68 29 0a 20 20 20 20 20 20 20 20 20 20 28 61 64 61 70 74 69 76 65 2d 66 69 6c 6c 2d 6d 6f 64 65 h)...........(adaptive-fill-mode
7300 20 6e 69 6c 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 6e 74 .nil)).......(fill-region.(point
7320 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 72 2d -min).(point-max))).....(buffer-
7340 73 74 72 69 6e 67 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 string)))..(compat-defun.string-
7360 70 61 64 20 28 73 74 72 69 6e 67 20 6c 65 6e 67 74 68 20 26 6f 70 74 69 6f 6e 61 6c 20 70 61 64 pad.(string.length.&optional.pad
7380 64 69 6e 67 20 73 74 61 72 74 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 73 74 72 ding.start).;;.<compat-tests:str
73a0 69 6e 67 2d 70 61 64 3e 0a 20 20 22 50 61 64 20 53 54 52 49 4e 47 20 74 6f 20 4c 45 4e 47 54 48 ing-pad>..."Pad.STRING.to.LENGTH
73c0 20 75 73 69 6e 67 20 50 41 44 44 49 4e 47 2e 0a 49 66 20 50 41 44 44 49 4e 47 20 69 73 20 6e 69 .using.PADDING..If.PADDING.is.ni
73e0 6c 2c 20 74 68 65 20 73 70 61 63 65 20 63 68 61 72 61 63 74 65 72 20 69 73 20 75 73 65 64 2e 20 l,.the.space.character.is.used..
7400 20 49 66 20 6e 6f 74 20 6e 69 6c 2c 20 69 74 0a 73 68 6f 75 6c 64 20 62 65 20 61 20 63 68 61 72 .If.not.nil,.it.should.be.a.char
7420 61 63 74 65 72 2e 0a 0a 49 66 20 53 54 52 49 4e 47 20 69 73 20 6c 6f 6e 67 65 72 20 74 68 61 6e acter...If.STRING.is.longer.than
7440 20 74 68 65 20 61 62 73 6f 6c 75 74 65 20 76 61 6c 75 65 20 6f 66 20 4c 45 4e 47 54 48 2c 20 6e .the.absolute.value.of.LENGTH,.n
7460 6f 20 70 61 64 64 69 6e 67 0a 69 73 20 64 6f 6e 65 2e 0a 0a 49 66 20 53 54 41 52 54 20 69 73 20 o.padding.is.done...If.START.is.
7480 6e 69 6c 20 28 6f 72 20 6e 6f 74 20 70 72 65 73 65 6e 74 29 2c 20 74 68 65 20 70 61 64 64 69 6e nil.(or.not.present),.the.paddin
74a0 67 20 69 73 20 64 6f 6e 65 20 74 6f 20 74 68 65 20 65 6e 64 0a 6f 66 20 74 68 65 20 73 74 72 69 g.is.done.to.the.end.of.the.stri
74c0 6e 67 2c 20 61 6e 64 20 69 66 20 6e 6f 6e 2d 6e 69 6c 2c 20 70 61 64 64 69 6e 67 20 69 73 20 64 ng,.and.if.non-nil,.padding.is.d
74e0 6f 6e 65 20 74 6f 20 74 68 65 20 73 74 61 72 74 20 6f 66 0a 74 68 65 20 73 74 72 69 6e 67 2e 22 one.to.the.start.of.the.string."
7500 0a 20 20 28 75 6e 6c 65 73 73 20 28 6e 61 74 6e 75 6d 70 20 6c 65 6e 67 74 68 29 0a 20 20 20 20 ...(unless.(natnump.length).....
7520 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 6c 69 (signal.'wrong-type-argument.(li
7540 73 74 20 27 6e 61 74 6e 75 6d 70 20 6c 65 6e 67 74 68 29 29 29 0a 20 20 28 6c 65 74 20 28 28 70 st.'natnump.length)))...(let.((p
7560 61 64 2d 6c 65 6e 67 74 68 20 28 2d 20 6c 65 6e 67 74 68 20 28 6c 65 6e 67 74 68 20 73 74 72 69 ad-length.(-.length.(length.stri
7580 6e 67 29 29 29 29 0a 20 20 20 20 28 69 66 20 28 3c 20 70 61 64 2d 6c 65 6e 67 74 68 20 30 29 0a ng)))).....(if.(<.pad-length.0).
75a0 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 0a 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 28 61 6e ........string.......(concat.(an
75c0 64 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 28 6d 61 6b 65 d.start....................(make
75e0 2d 73 74 72 69 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 -string.pad-length.(or.padding.?
7600 5c 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 0a 20 20 20 20 20 \s)))...............string......
7620 20 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 6e 6f 74 20 73 74 61 72 74 29 0a 20 20 20 20 20 20 .........(and.(not.start).......
7640 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 70 61 64 2d 6c 65 .............(make-string.pad-le
7660 6e 67 74 68 20 28 6f 72 20 70 61 64 64 69 6e 67 20 3f 5c 73 29 29 29 29 29 29 29 0a 0a 28 63 6f ngth.(or.padding.?\s)))))))..(co
7680 6d 70 61 74 2d 64 65 66 75 6e 20 73 74 72 69 6e 67 2d 63 68 6f 70 2d 6e 65 77 6c 69 6e 65 20 28 mpat-defun.string-chop-newline.(
76a0 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 69 6e 67 2d string).;;.<compat-tests:string-
76c0 63 68 6f 70 2d 6e 65 77 6c 69 6e 65 3e 0a 20 20 22 52 65 6d 6f 76 65 20 74 68 65 20 66 69 6e 61 chop-newline>..."Remove.the.fina
76e0 6c 20 6e 65 77 6c 69 6e 65 20 28 69 66 20 61 6e 79 29 20 66 72 6f 6d 20 53 54 52 49 4e 47 2e 22 l.newline.(if.any).from.STRING."
7700 0a 20 20 28 69 66 20 28 61 6e 64 20 28 3e 3d 20 28 6c 65 6e 67 74 68 20 73 74 72 69 6e 67 29 20 ...(if.(and.(>=.(length.string).
7720 31 29 20 28 3d 20 28 61 72 65 66 20 73 74 72 69 6e 67 20 28 31 2d 20 28 6c 65 6e 67 74 68 20 73 1).(=.(aref.string.(1-.(length.s
7740 74 72 69 6e 67 29 29 29 20 3f 5c 6e 29 29 0a 20 20 20 20 20 20 28 73 75 62 73 74 72 69 6e 67 20 tring))).?\n)).......(substring.
7760 73 74 72 69 6e 67 20 30 20 2d 31 29 0a 20 20 20 20 73 74 72 69 6e 67 29 29 0a 0a 28 63 6f 6d 70 string.0.-1).....string))..(comp
7780 61 74 2d 64 65 66 6d 61 63 72 6f 20 6e 61 6d 65 64 2d 6c 65 74 20 28 6e 61 6d 65 20 62 69 6e 64 at-defmacro.named-let.(name.bind
77a0 69 6e 67 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 65 73 74 ings.&rest.body).;;.<compat-test
77c0 73 3a 6e 61 6d 65 64 2d 6c 65 74 3e 0a 20 20 22 4c 6f 6f 70 69 6e 67 20 63 6f 6e 73 74 72 75 63 s:named-let>..."Looping.construc
77e0 74 20 74 61 6b 65 6e 20 66 72 6f 6d 20 53 63 68 65 6d 65 2e 0a 4c 69 6b 65 20 60 6c 65 74 27 2c t.taken.from.Scheme..Like.`let',
7800 20 62 69 6e 64 20 76 61 72 69 61 62 6c 65 73 20 69 6e 20 42 49 4e 44 49 4e 47 53 20 61 6e 64 20 .bind.variables.in.BINDINGS.and.
7820 74 68 65 6e 20 65 76 61 6c 75 61 74 65 20 42 4f 44 59 2c 0a 62 75 74 20 77 69 74 68 20 74 68 65 then.evaluate.BODY,.but.with.the
7840 20 74 77 69 73 74 20 74 68 61 74 20 42 4f 44 59 20 63 61 6e 20 65 76 61 6c 75 61 74 65 20 69 74 .twist.that.BODY.can.evaluate.it
7860 73 65 6c 66 20 72 65 63 75 72 73 69 76 65 6c 79 20 62 79 0a 63 61 6c 6c 69 6e 67 20 4e 41 4d 45 self.recursively.by.calling.NAME
7880 2c 20 77 68 65 72 65 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 70 61 73 73 65 64 20 74 6f 20 ,.where.the.arguments.passed.to.
78a0 4e 41 4d 45 20 61 72 65 20 75 73 65 64 0a 61 73 20 74 68 65 20 6e 65 77 20 76 61 6c 75 65 73 20 NAME.are.used.as.the.new.values.
78c0 6f 66 20 74 68 65 20 62 6f 75 6e 64 20 76 61 72 69 61 62 6c 65 73 20 69 6e 20 74 68 65 20 72 65 of.the.bound.variables.in.the.re
78e0 63 75 72 73 69 76 65 20 69 6e 76 6f 63 61 74 69 6f 6e 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 cursive.invocation."...(declare.
7900 28 69 6e 64 65 6e 74 20 32 29 20 28 64 65 62 75 67 20 28 73 79 6d 62 6f 6c 70 20 28 26 72 65 73 (indent.2).(debug.(symbolp.(&res
7920 74 20 28 73 79 6d 62 6f 6c 70 20 66 6f 72 6d 29 29 20 62 6f 64 79 29 29 29 0a 20 20 28 6c 65 74 t.(symbolp.form)).body)))...(let
7940 20 28 28 66 61 72 67 73 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 62 29 0a 20 20 20 .((fargs.(mapcar.(lambda.(b)....
7960 20 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 76 61 72 ......................(let.((var
7980 20 28 69 66 20 28 63 6f 6e 73 70 20 62 29 20 28 63 61 72 20 62 29 20 62 29 29 29 0a 20 20 20 20 .(if.(consp.b).(car.b).b))).....
79a0 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 6b 65 2d 73 79 6d .......................(make-sym
79c0 62 6f 6c 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 76 61 72 29 29 29 29 0a 20 20 20 20 20 20 20 bol.(symbol-name.var))))........
79e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 69 6e 64 69 6e 67 73 29 29 0a 20 20 20 20 20 ................bindings))......
7a00 20 20 20 28 61 61 72 67 73 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 62 29 20 28 69 ...(aargs.(mapcar.(lambda.(b).(i
7a20 66 20 28 63 6f 6e 73 70 20 62 29 20 28 63 61 64 72 20 62 29 29 29 20 62 69 6e 64 69 6e 67 73 29 f.(consp.b).(cadr.b))).bindings)
7a40 29 0a 20 20 20 20 20 20 20 20 72 61 72 67 73 29 0a 20 20 20 20 28 64 6f 74 69 6d 65 73 20 28 69 ).........rargs).....(dotimes.(i
7a60 20 28 6c 65 6e 67 74 68 20 62 69 6e 64 69 6e 67 73 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 .(length.bindings)).......(let.(
7a80 28 62 20 28 6e 74 68 20 69 20 62 69 6e 64 69 6e 67 73 29 29 29 0a 20 20 20 20 20 20 20 20 28 70 (b.(nth.i.bindings))).........(p
7aa0 75 73 68 20 28 6c 69 73 74 20 28 69 66 20 28 63 6f 6e 73 70 20 62 29 20 28 63 61 72 20 62 29 20 ush.(list.(if.(consp.b).(car.b).
7ac0 62 29 20 28 6e 74 68 20 69 20 66 61 72 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 b).(nth.i.fargs))...............
7ae0 72 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 66 20 28 69 66 20 28 63 6f 6e 73 70 20 rargs).........(setf.(if.(consp.
7b00 62 29 20 28 63 61 72 20 62 29 20 62 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 74 68 b).(car.b).b)...............(nth
7b20 20 69 20 66 61 72 67 73 29 29 29 29 0a 20 20 20 20 28 6c 65 74 72 65 63 0a 20 20 20 20 20 20 20 .i.fargs)))).....(letrec........
7b40 20 28 28 71 75 69 74 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 71 75 69 74 22 29 29 20 28 73 .((quit.(make-symbol."quit")).(s
7b60 65 6c 66 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 73 65 6c 66 22 29 29 0a 20 20 20 20 20 20 elf.(make-symbol."self")).......
7b80 20 20 20 28 74 6f 74 61 6c 2d 74 63 6f 20 74 29 0a 20 20 20 20 20 20 20 20 20 28 6d 61 63 72 6f ...(total-tco.t)..........(macro
7ba0 20 28 6c 61 6d 62 64 61 20 28 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 20 20 .(lambda.(&rest.args)...........
7bc0 20 20 20 20 20 20 20 20 28 73 65 74 71 20 74 6f 74 61 6c 2d 74 63 6f 20 6e 69 6c 29 0a 20 20 20 ........(setq.total-tco.nil)....
7be0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 66 75 6e 63 61 6c 6c 20 2c 73 65 6c 66 20 2e ...............`(funcall.,self..
7c00 20 2c 61 72 67 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 42 61 73 65 64 20 6f 6e 20 60 .,args)))..........;;.Based.on.`
7c20 63 6c 2d 2d 73 65 6c 66 2d 74 63 6f 27 3a 0a 20 20 20 20 20 20 20 20 20 28 74 63 6f 2d 70 72 6f cl--self-tco':..........(tco-pro
7c40 67 6e 20 28 6c 61 6d 62 64 61 20 28 65 78 70 72 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 gn.(lambda.(exprs)..............
7c60 20 20 20 20 20 20 20 20 20 28 61 70 70 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........(append................
7c80 20 20 20 20 20 20 20 20 28 62 75 74 6c 61 73 74 20 65 78 70 72 73 29 0a 20 20 20 20 20 20 20 20 ........(butlast.exprs).........
7ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 28 66 75 6e 63 61 6c 6c 20 74 63 ...............(list.(funcall.tc
7cc0 6f 20 28 63 61 72 20 28 6c 61 73 74 20 65 78 70 72 73 29 29 29 29 29 29 29 0a 20 20 20 20 20 20 o.(car.(last.exprs))))))).......
7ce0 20 20 20 28 74 63 6f 20 28 6c 61 6d 62 64 61 20 28 65 78 70 72 29 0a 20 20 20 20 20 20 20 20 20 ...(tco.(lambda.(expr)..........
7d00 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 20 20 20 28 28 .......(cond..................((
7d20 65 71 20 28 63 61 72 2d 73 61 66 65 20 65 78 70 72 29 20 27 69 66 29 0a 20 20 20 20 20 20 20 20 eq.(car-safe.expr).'if).........
7d40 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 69 66 0a 20 20 20 20 ..........(append.(list.'if.....
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 20 20 20 28 63 61 64 ............................(cad
7d80 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 20 20 r.expr).........................
7da0 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 74 63 6f 20 28 6e 74 68 20 32 20 65 78 70 72 ........(funcall.tco.(nth.2.expr
7dc0 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 66 )))...........................(f
7de0 75 6e 63 61 6c 6c 20 74 63 6f 2d 70 72 6f 67 6e 20 28 6e 74 68 63 64 72 20 33 20 65 78 70 72 29 uncall.tco-progn.(nthcdr.3.expr)
7e00 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 73 )))..................((eq.(car-s
7e20 61 66 65 20 65 78 70 72 29 20 27 63 6f 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 afe.expr).'cond)................
7e40 20 20 20 28 6c 65 74 20 28 28 63 6f 6e 64 73 20 28 63 64 72 20 65 78 70 72 29 29 20 62 6f 64 79 ...(let.((conds.(cdr.expr)).body
7e60 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 63 6f 6e ).....................(while.con
7e80 64 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 ds.......................(let.((
7ea0 62 72 61 6e 63 68 20 28 70 6f 70 20 63 6f 6e 64 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 branch.(pop.conds)))............
7ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 63 6f 6e 64 0a 20 20 20 20 20 20 20 .............(push.(cond........
7ee0 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 63 64 72 20 62 72 ........................((cdr.br
7f00 61 6e 63 68 29 20 3b 68 61 73 20 74 61 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 anch).;has.tail.................
7f20 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 2d 70 72 6f ................(funcall.tco-pro
7f40 67 6e 20 62 72 61 6e 63 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 gn.branch)).....................
7f60 20 20 20 20 20 20 20 20 20 20 20 28 28 6e 75 6c 6c 20 63 6f 6e 64 73 29 20 3b 6c 61 73 74 20 65 ...........((null.conds).;last.e
7f80 6c 65 6d 65 6e 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 20 20 lement..........................
7fa0 20 20 20 20 20 20 20 28 6c 69 73 74 20 74 20 28 66 75 6e 63 61 6c 6c 20 74 63 6f 20 28 63 61 72 .......(list.t.(funcall.tco.(car
7fc0 20 62 72 61 6e 63 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 .branch)))).....................
7fe0 20 20 20 20 20 20 20 20 20 20 20 28 28 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ...........((progn..............
8000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 61 6e 63 68 29 29 29 0a 20 .....................branch)))..
8020 20 20 20 20 20 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 6f 64 .............................bod
8040 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 28 63 6f 6e 73 20 27 y))).....................(cons.'
8060 63 6f 6e 64 20 28 6e 72 65 76 65 72 73 65 20 62 6f 64 79 29 29 29 29 0a 20 20 20 20 20 20 20 20 cond.(nreverse.body)))).........
8080 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 29 20 27 6f .........((eq.(car-safe.expr).'o
80a0 72 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 64 64 72 20 65 r)...................(if.(cddr.e
80c0 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 28 6c 65 74 20 xpr).......................(let.
80e0 28 28 76 61 72 20 28 6d 61 6b 65 2d 73 79 6d 62 6f 6c 20 22 76 61 72 22 29 29 29 0a 20 20 20 20 ((var.(make-symbol."var"))).....
8100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 6c 65 74 20 28 28 2c 76 61 72 ....................`(let.((,var
8120 20 2c 28 63 61 64 72 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 .,(cadr.expr))).................
8140 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 2c 76 61 72 20 2c 28 66 75 6e 63 61 6c 6c 20 74 63 ...........(if.,var.,(funcall.tc
8160 6f 20 76 61 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 o.var)..........................
8180 20 20 20 20 2c 28 66 75 6e 63 61 6c 6c 20 74 63 6f 20 28 63 6f 6e 73 20 27 6f 72 20 28 63 64 64 ....,(funcall.tco.(cons.'or.(cdd
81a0 72 20 65 78 70 72 29 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 r.expr))))))....................
81c0 20 28 66 75 6e 63 61 6c 6c 20 74 63 6f 20 28 63 61 64 72 20 65 78 70 72 29 29 29 29 0a 20 20 20 .(funcall.tco.(cadr.expr))))....
81e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 28 63 61 72 2d 73 61 66 65 20 65 78 70 ..............((eq.(car-safe.exp
8200 72 29 20 27 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 r).'condition-case).............
8220 20 20 20 20 20 20 28 61 70 70 65 6e 64 20 28 6c 69 73 74 20 27 63 6f 6e 64 69 74 69 6f 6e 2d 63 ......(append.(list.'condition-c
8240 61 73 65 20 28 63 61 64 72 20 65 78 70 72 29 20 28 6e 74 68 20 32 20 65 78 70 72 29 29 0a 20 20 ase.(cadr.expr).(nth.2.expr))...
8260 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 70 63 61 72 0a ........................(mapcar.
8280 20 20 20 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 ...........................(lamb
82a0 64 61 20 28 68 61 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 da.(handler)....................
82c0 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 63 61 72 20 68 61 6e 64 6c 65 72 29 0a 20 20 ..........(cons.(car.handler)...
82e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
8300 20 28 66 75 6e 63 61 6c 6c 20 74 63 6f 2d 70 72 6f 67 6e 20 28 63 64 72 20 68 61 6e 64 6c 65 72 .(funcall.tco-progn.(cdr.handler
8320 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 20 20 20 ))))............................
8340 28 6e 74 68 63 64 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 (nthcdr.3.expr))))..............
8360 20 20 20 20 28 28 6d 65 6d 71 20 28 63 61 72 2d 73 61 66 65 20 65 78 70 72 29 20 27 28 61 6e 64 ....((memq.(car-safe.expr).'(and
8380 20 70 72 6f 67 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 .progn))...................(cons
83a0 20 28 63 61 72 20 65 78 70 72 29 20 28 66 75 6e 63 61 6c 6c 20 74 63 6f 2d 70 72 6f 67 6e 20 28 .(car.expr).(funcall.tco-progn.(
83c0 63 64 72 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 cdr.expr))))..................((
83e0 6d 65 6d 71 20 28 63 61 72 2d 73 61 66 65 20 65 78 70 72 29 20 27 28 6c 65 74 20 6c 65 74 2a 29 memq.(car-safe.expr).'(let.let*)
8400 29 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 )...................(append.(lis
8420 74 20 28 63 61 72 20 65 78 70 72 29 20 28 63 61 64 72 20 65 78 70 72 29 29 0a 20 20 20 20 20 20 t.(car.expr).(cadr.expr)).......
8440 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 20 74 63 6f ....................(funcall.tco
8460 2d 70 72 6f 67 6e 20 28 63 64 64 72 20 65 78 70 72 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 -progn.(cddr.expr))))...........
8480 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 6e 61 6d 65 .......((eq.(car-safe.expr).name
84a0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 73 65 74 73 20 28 )...................(let.(sets.(
84c0 61 72 67 73 20 28 63 64 72 20 65 78 70 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 args.(cdr.expr)))...............
84e0 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 66 61 72 67 20 66 61 72 67 73 29 0a 20 20 20 20 20 ......(dolist.(farg.fargs)......
8500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 6c 69 73 74 20 66 61 72 .................(push.(list.far
8520 67 20 28 70 6f 70 20 61 72 67 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 g.(pop.args))...................
8540 20 20 20 20 20 20 20 20 20 20 73 65 74 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........sets))................
8560 20 20 20 20 20 28 63 6f 6e 73 20 27 73 65 74 71 20 28 61 70 70 6c 79 20 23 27 6e 63 6f 6e 63 20 .....(cons.'setq.(apply.#'nconc.
8580 28 6e 72 65 76 65 72 73 65 20 73 65 74 73 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 (nreverse.sets))))).............
85a0 20 20 20 20 20 28 60 28 74 68 72 6f 77 20 27 2c 71 75 69 74 20 2c 65 78 70 72 29 29 29 29 29 29 .....(`(throw.',quit.,expr))))))
85c0 0a 20 20 20 20 20 20 28 77 68 65 6e 2d 6c 65 74 20 28 28 74 63 6f 2d 62 6f 64 79 20 28 66 75 6e .......(when-let.((tco-body.(fun
85e0 63 61 6c 6c 20 74 63 6f 20 28 6d 61 63 72 6f 65 78 70 61 6e 64 2d 61 6c 6c 20 28 6d 61 63 72 6f call.tco.(macroexpand-all.(macro
8600 65 78 70 2d 70 72 6f 67 6e 20 62 6f 64 79 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 exp-progn.body))))).........(set
8620 71 20 62 6f 64 79 20 60 28 28 63 61 74 63 68 20 27 2c 71 75 69 74 0a 20 20 20 20 20 20 20 20 20 q.body.`((catch.',quit..........
8640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 74 20 28 6c 65 74 20 2c 72 61 72 ..............(while.t.(let.,rar
8660 67 73 20 2c 40 28 6d 61 63 72 6f 65 78 70 2d 75 6e 70 72 6f 67 6e 20 74 63 6f 2d 62 6f 64 79 29 gs.,@(macroexp-unprogn.tco-body)
8680 29 29 29 29 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 65 78 70 61 6e 64 20 28 6d 61 63 72 )))))).......(let.((expand.(macr
86a0 6f 65 78 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 oexpand-all.(macroexp-progn.body
86c0 29 20 28 6c 69 73 74 20 28 63 6f 6e 73 20 6e 61 6d 65 20 6d 61 63 72 6f 29 29 29 29 29 0a 20 20 ).(list.(cons.name.macro)))))...
86e0 20 20 20 20 20 20 28 69 66 20 74 6f 74 61 6c 2d 74 63 6f 0a 20 20 20 20 20 20 20 20 20 20 20 20 ......(if.total-tco.............
8700 60 28 6c 65 74 20 2c 62 69 6e 64 69 6e 67 73 20 2c 65 78 70 61 6e 64 29 0a 20 20 20 20 20 20 20 `(let.,bindings.,expand)........
8720 20 20 20 60 28 66 75 6e 63 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 72 65 63 ...`(funcall.............(letrec
8740 20 28 28 2c 73 65 6c 66 20 28 6c 61 6d 62 64 61 20 2c 66 61 72 67 73 20 2c 65 78 70 61 6e 64 29 .((,self.(lambda.,fargs.,expand)
8760 29 29 20 2c 73 65 6c 66 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 2c 40 61 61 72 67 73 29 29 29 )).,self).............,@aargs)))
8780 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 6c 0a 0a 28 )))..;;;;.Defined.in.files.el..(
87a0 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 66 69 6c 65 2d 6e 61 6d 65 2d 77 69 74 68 2d 65 78 74 65 compat-defun.file-name-with-exte
87c0 6e 73 69 6f 6e 20 28 66 69 6c 65 6e 61 6d 65 20 65 78 74 65 6e 73 69 6f 6e 29 20 3b 3b 20 3c 63 nsion.(filename.extension).;;.<c
87e0 6f 6d 70 61 74 2d 74 65 73 74 73 3a 66 69 6c 65 2d 6e 61 6d 65 2d 77 69 74 68 2d 65 78 74 65 6e ompat-tests:file-name-with-exten
8800 73 69 6f 6e 3e 0a 20 20 22 53 65 74 20 74 68 65 20 45 58 54 45 4e 53 49 4f 4e 20 6f 66 20 61 20 sion>..."Set.the.EXTENSION.of.a.
8820 46 49 4c 45 4e 41 4d 45 2e 0a 54 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 28 69 6e 20 61 20 66 69 FILENAME..The.extension.(in.a.fi
8840 6c 65 20 6e 61 6d 65 29 20 69 73 20 74 68 65 20 70 61 72 74 20 74 68 61 74 20 62 65 67 69 6e 73 le.name).is.the.part.that.begins
8860 20 77 69 74 68 20 74 68 65 20 6c 61 73 74 20 5c 22 2e 5c 22 2e 0a 0a 54 72 69 6d 73 20 61 20 6c .with.the.last.\".\"...Trims.a.l
8880 65 61 64 69 6e 67 20 64 6f 74 20 66 72 6f 6d 20 74 68 65 20 45 58 54 45 4e 53 49 4f 4e 20 73 6f eading.dot.from.the.EXTENSION.so
88a0 20 74 68 61 74 20 65 69 74 68 65 72 20 5c 22 66 6f 6f 5c 22 20 6f 72 0a 5c 22 2e 66 6f 6f 5c 22 .that.either.\"foo\".or.\".foo\"
88c0 20 63 61 6e 20 62 65 20 67 69 76 65 6e 2e 0a 0a 45 72 72 6f 72 73 20 69 66 20 74 68 65 20 46 49 .can.be.given...Errors.if.the.FI
88e0 4c 45 4e 41 4d 45 20 6f 72 20 45 58 54 45 4e 53 49 4f 4e 20 61 72 65 20 65 6d 70 74 79 2c 20 6f LENAME.or.EXTENSION.are.empty,.o
8900 72 20 69 66 20 74 68 65 20 67 69 76 65 6e 0a 46 49 4c 45 4e 41 4d 45 20 68 61 73 20 74 68 65 20 r.if.the.given.FILENAME.has.the.
8920 66 6f 72 6d 61 74 20 6f 66 20 61 20 64 69 72 65 63 74 6f 72 79 2e 0a 0a 53 65 65 20 61 6c 73 6f format.of.a.directory...See.also
8940 20 60 66 69 6c 65 2d 6e 61 6d 65 2d 73 61 6e 73 2d 65 78 74 65 6e 73 69 6f 6e 27 2e 22 0a 20 20 .`file-name-sans-extension'."...
8960 28 6c 65 74 20 28 28 65 78 74 6e 20 28 73 74 72 69 6e 67 2d 72 65 6d 6f 76 65 2d 70 72 65 66 69 (let.((extn.(string-remove-prefi
8980 78 20 22 2e 22 20 65 78 74 65 6e 73 69 6f 6e 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 0a 20 20 20 x.".".extension))).....(cond....
89a0 20 20 28 28 73 74 72 69 6e 67 3d 20 66 69 6c 65 6e 61 6d 65 20 22 22 29 0a 20 20 20 20 20 20 28 ..((string=.filename."").......(
89c0 65 72 72 6f 72 20 22 45 6d 70 74 79 20 66 69 6c 65 6e 61 6d 65 22 29 29 0a 20 20 20 20 20 28 28 error."Empty.filename"))......((
89e0 73 74 72 69 6e 67 3d 20 65 78 74 6e 20 22 22 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 4d string=.extn."").......(error."M
8a00 61 6c 66 6f 72 6d 65 64 20 65 78 74 65 6e 73 69 6f 6e 3a 20 25 73 22 20 65 78 74 65 6e 73 69 6f alformed.extension:.%s".extensio
8a20 6e 29 29 0a 20 20 20 20 20 28 28 64 69 72 65 63 74 6f 72 79 2d 6e 61 6d 65 2d 70 20 66 69 6c 65 n))......((directory-name-p.file
8a40 6e 61 6d 65 29 0a 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 46 69 6c 65 6e 61 6d 65 20 69 73 20 name).......(error."Filename.is.
8a60 61 20 64 69 72 65 63 74 6f 72 79 3a 20 25 73 22 20 66 69 6c 65 6e 61 6d 65 29 29 0a 20 20 20 20 a.directory:.%s".filename)).....
8a80 20 28 74 0a 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 73 61 6e .(t.......(concat.(file-name-san
8aa0 73 2d 65 78 74 65 6e 73 69 6f 6e 20 66 69 6c 65 6e 61 6d 65 29 20 22 2e 22 20 65 78 74 6e 29 29 s-extension.filename).".".extn))
8ac0 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 65 6d 70 )))..(compat-defun.directory-emp
8ae0 74 79 2d 70 20 28 64 69 72 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 64 69 72 65 ty-p.(dir).;;.<compat-tests:dire
8b00 63 74 6f 72 79 2d 65 6d 70 74 79 2d 70 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 20 69 66 20 44 49 ctory-empty-p>..."Return.t.if.DI
8b20 52 20 6e 61 6d 65 73 20 61 6e 20 65 78 69 73 74 69 6e 67 20 64 69 72 65 63 74 6f 72 79 20 63 6f R.names.an.existing.directory.co
8b40 6e 74 61 69 6e 69 6e 67 20 6e 6f 20 6f 74 68 65 72 20 66 69 6c 65 73 2e 0a 52 65 74 75 72 6e 20 ntaining.no.other.files..Return.
8b60 6e 69 6c 20 69 66 20 44 49 52 20 64 6f 65 73 20 6e 6f 74 20 6e 61 6d 65 20 61 20 64 69 72 65 63 nil.if.DIR.does.not.name.a.direc
8b80 74 6f 72 79 2c 20 6f 72 20 69 66 20 74 68 65 72 65 20 77 61 73 0a 74 72 6f 75 62 6c 65 20 64 65 tory,.or.if.there.was.trouble.de
8ba0 74 65 72 6d 69 6e 69 6e 67 20 77 68 65 74 68 65 72 20 44 49 52 20 69 73 20 61 20 64 69 72 65 63 termining.whether.DIR.is.a.direc
8bc0 74 6f 72 79 20 6f 72 20 65 6d 70 74 79 2e 0a 0a 53 79 6d 62 6f 6c 69 63 20 6c 69 6e 6b 73 20 74 tory.or.empty...Symbolic.links.t
8be0 6f 20 64 69 72 65 63 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 o.directories.count.as.directori
8c00 65 73 2e 0a 53 65 65 20 60 66 69 6c 65 2d 73 79 6d 6c 69 6e 6b 2d 70 27 20 74 6f 20 64 69 73 74 es..See.`file-symlink-p'.to.dist
8c20 69 6e 67 75 69 73 68 20 73 79 6d 6c 69 6e 6b 73 2e 22 0a 20 20 28 61 6e 64 20 28 66 69 6c 65 2d inguish.symlinks."...(and.(file-
8c40 64 69 72 65 63 74 6f 72 79 2d 70 20 64 69 72 29 0a 20 20 20 20 20 20 20 28 6e 75 6c 6c 20 28 64 directory-p.dir)........(null.(d
8c60 69 72 65 63 74 6f 72 79 2d 66 69 6c 65 73 20 64 69 72 20 6e 69 6c 20 64 69 72 65 63 74 6f 72 79 irectory-files.dir.nil.directory
8c80 2d 66 69 6c 65 73 2d 6e 6f 2d 64 6f 74 2d 66 69 6c 65 73 2d 72 65 67 65 78 70 20 74 29 29 29 29 -files-no-dot-files-regexp.t))))
8ca0 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 66 69 6c 65 2d 6d 6f 64 65 73 2d 6e 75 6d 62 65 ..(compat-defun.file-modes-numbe
8cc0 72 2d 74 6f 2d 73 79 6d 62 6f 6c 69 63 20 28 6d 6f 64 65 20 26 6f 70 74 69 6f 6e 61 6c 20 66 69 r-to-symbolic.(mode.&optional.fi
8ce0 6c 65 74 79 70 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 6d 6f letype).;;.<compat-tests:file-mo
8d00 64 65 73 2d 6e 75 6d 62 65 72 2d 74 6f 2d 73 79 6d 62 6f 6c 69 63 3e 0a 20 20 22 52 65 74 75 72 des-number-to-symbolic>..."Retur
8d20 6e 20 61 20 73 74 72 69 6e 67 20 64 65 73 63 72 69 62 69 6e 67 20 61 20 66 69 6c 65 27 73 20 4d n.a.string.describing.a.file's.M
8d40 4f 44 45 2e 0a 46 6f 72 20 69 6e 73 74 61 6e 63 65 2c 20 69 66 20 4d 4f 44 45 20 69 73 20 23 6f ODE..For.instance,.if.MODE.is.#o
8d60 37 30 30 2c 20 74 68 65 6e 20 69 74 20 70 72 6f 64 75 63 65 73 20 60 2d 72 77 78 2d 2d 2d 2d 2d 700,.then.it.produces.`-rwx-----
8d80 2d 27 2e 0a 46 49 4c 45 54 59 50 45 20 69 66 20 70 72 6f 76 69 64 65 64 20 73 68 6f 75 6c 64 20 -'..FILETYPE.if.provided.should.
8da0 62 65 20 61 20 63 68 61 72 61 63 74 65 72 20 64 65 6e 6f 74 69 6e 67 20 74 68 65 20 74 79 70 65 be.a.character.denoting.the.type
8dc0 20 6f 66 20 66 69 6c 65 2c 0a 73 75 63 68 20 61 73 20 60 3f 64 27 20 66 6f 72 20 61 20 64 69 72 .of.file,.such.as.`?d'.for.a.dir
8de0 65 63 74 6f 72 79 2c 20 6f 72 20 60 3f 6c 27 20 66 6f 72 20 61 20 73 79 6d 62 6f 6c 69 63 20 6c ectory,.or.`?l'.for.a.symbolic.l
8e00 69 6e 6b 20 61 6e 64 20 77 69 6c 6c 20 6f 76 65 72 72 69 64 65 0a 74 68 65 20 6c 65 61 64 69 6e ink.and.will.override.the.leadin
8e20 67 20 60 2d 27 20 63 68 61 72 2e 22 0a 20 20 28 73 74 72 69 6e 67 0a 20 20 20 28 6f 72 20 66 69 g.`-'.char."...(string....(or.fi
8e40 6c 65 74 79 70 65 0a 20 20 20 20 20 20 20 28 70 63 61 73 65 20 28 61 73 68 20 6d 6f 64 65 20 2d letype........(pcase.(ash.mode.-
8e60 31 32 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 50 4f 53 49 58 20 73 70 65 63 69 66 69 65 73 20 12)..........;;.POSIX.specifies.
8e80 74 68 61 74 20 74 68 65 20 66 69 6c 65 20 74 79 70 65 20 69 73 20 69 6e 63 6c 75 64 65 64 20 69 that.the.file.type.is.included.i
8ea0 6e 20 73 74 5f 6d 6f 64 65 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 61 6e 64 20 70 72 6f 76 69 64 n.st_mode..........;;.and.provid
8ec0 65 73 20 6e 61 6d 65 73 20 66 6f 72 20 74 68 65 20 66 69 6c 65 20 74 79 70 65 73 20 62 75 74 20 es.names.for.the.file.types.but.
8ee0 76 61 6c 75 65 73 20 6f 6e 6c 79 20 66 6f 72 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 74 68 65 20 values.only.for..........;;.the.
8f00 70 65 72 6d 69 73 73 69 6f 6e 73 20 28 65 2e 67 2e 2c 20 53 5f 49 57 4f 54 48 3d 32 29 2e 0a 0a permissions.(e.g.,.S_IWOTH=2)...
8f20 20 20 20 20 20 20 20 20 20 3b 3b 20 28 23 6f 30 31 37 20 3f 3f 29 20 3b 3b 20 23 64 65 66 69 6e .........;;.(#o017.??).;;.#defin
8f40 65 20 53 5f 49 46 4d 54 20 20 30 30 31 37 30 30 30 30 0a 20 20 20 20 20 20 20 20 20 28 23 6f 30 e.S_IFMT..00170000..........(#o0
8f60 31 34 20 3f 73 29 20 20 20 20 3b 3b 20 23 64 65 66 69 6e 65 20 53 5f 49 46 53 4f 43 4b 20 30 31 14.?s)....;;.#define.S_IFSOCK.01
8f80 34 30 30 30 30 0a 20 20 20 20 20 20 20 20 20 28 23 6f 30 31 32 20 3f 6c 29 20 20 20 20 3b 3b 20 40000..........(#o012.?l)....;;.
8fa0 23 64 65 66 69 6e 65 20 53 5f 49 46 4c 4e 4b 20 20 30 31 32 30 30 30 30 0a 20 20 20 20 20 20 20 #define.S_IFLNK..0120000........
8fc0 20 20 3b 3b 20 28 38 20 20 3f 3f 29 20 20 20 20 3b 3b 20 23 64 65 66 69 6e 65 20 53 5f 49 46 52 ..;;.(8..??)....;;.#define.S_IFR
8fe0 45 47 20 20 30 31 30 30 30 30 30 0a 20 20 20 20 20 20 20 20 20 28 23 6f 30 30 36 20 20 3f 62 29 EG..0100000..........(#o006..?b)
9000 20 20 20 3b 3b 20 23 64 65 66 69 6e 65 20 53 5f 49 46 42 4c 4b 20 20 30 30 36 30 30 30 30 0a 20 ...;;.#define.S_IFBLK..0060000..
9020 20 20 20 20 20 20 20 20 28 23 6f 30 30 34 20 20 3f 64 29 20 20 20 3b 3b 20 23 64 65 66 69 6e 65 ........(#o004..?d)...;;.#define
9040 20 53 5f 49 46 44 49 52 20 20 30 30 34 30 30 30 30 0a 20 20 20 20 20 20 20 20 20 28 23 6f 30 30 .S_IFDIR..0040000..........(#o00
9060 32 20 20 3f 63 29 20 20 20 3b 3b 20 23 64 65 66 69 6e 65 20 53 5f 49 46 43 48 52 20 20 30 30 32 2..?c)...;;.#define.S_IFCHR..002
9080 30 30 30 30 0a 20 20 20 20 20 20 20 20 20 28 23 6f 30 30 31 20 20 3f 70 29 20 20 20 3b 3b 20 23 0000..........(#o001..?p)...;;.#
90a0 64 65 66 69 6e 65 20 53 5f 49 46 49 46 4f 20 20 30 30 31 30 30 30 30 0a 20 20 20 20 20 20 20 20 define.S_IFIFO..0010000.........
90c0 20 28 5f 20 3f 2d 29 29 29 0a 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 .(_.?-)))....(if.(zerop.(logand.
90e0 20 20 32 35 36 20 6d 6f 64 65 29 29 20 3f 2d 20 3f 72 29 0a 20 20 20 28 69 66 20 28 7a 65 72 6f ..256.mode)).?-.?r)....(if.(zero
9100 70 20 28 6c 6f 67 61 6e 64 20 20 20 31 32 38 20 6d 6f 64 65 29 29 20 3f 2d 20 3f 77 29 0a 20 20 p.(logand...128.mode)).?-.?w)...
9120 20 28 69 66 20 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 20 20 20 36 34 20 6d 6f 64 65 29 29 .(if.(zerop.(logand....64.mode))
9140 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 32 30 34 38 ........(if.(zerop.(logand..2048
9160 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 28 .mode)).?-.?S)......(if.(zerop.(
9180 6c 6f 67 61 6e 64 20 20 32 30 34 38 20 6d 6f 64 65 29 29 20 3f 78 20 3f 73 29 29 0a 20 20 20 28 logand..2048.mode)).?x.?s))....(
91a0 69 66 20 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 20 20 20 33 32 20 6d 6f 64 65 29 29 20 3f if.(zerop.(logand....32.mode)).?
91c0 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 31 -.?r)....(if.(zerop.(logand....1
91e0 36 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 6c 6.mode)).?-.?w)....(if.(zerop.(l
9200 6f 67 61 6e 64 20 20 20 20 20 38 20 6d 6f 64 65 29 29 0a 20 20 20 20 20 20 20 28 69 66 20 28 7a ogand.....8.mode))........(if.(z
9220 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 20 31 30 32 34 20 6d 6f 64 65 29 29 20 3f 2d 20 3f 53 29 erop.(logand..1024.mode)).?-.?S)
9240 0a 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 34 20 6d ......(if.(zerop.(logand..1024.m
9260 6f 64 65 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 ode)).?x.?s))....(if.(zerop.(log
9280 61 6e 64 20 20 20 20 20 34 20 6d 6f 64 65 29 29 20 3f 2d 20 3f 72 29 0a 20 20 20 28 69 66 20 28 and.....4.mode)).?-.?r)....(if.(
92a0 7a 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 20 20 20 20 32 20 6d 6f 64 65 29 29 20 3f 2d 20 3f 77 zerop.(logand.....2.mode)).?-.?w
92c0 29 0a 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 35 31 32 20 6d 6f 64 65 )....(if.(zerop.(logand.512.mode
92e0 29 29 0a 20 20 20 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 28 6c 6f 67 61 6e 64 20 20 20 31 ))........(if.(zerop.(logand...1
9300 20 6d 6f 64 65 29 29 20 3f 2d 20 3f 78 29 0a 20 20 20 20 20 28 69 66 20 28 7a 65 72 6f 70 20 28 .mode)).?-.?x)......(if.(zerop.(
9320 6c 6f 67 61 6e 64 20 20 20 31 20 6d 6f 64 65 29 29 20 3f 54 20 3f 74 29 29 29 29 0a 0a 28 63 6f logand...1.mode)).?T.?t))))..(co
9340 6d 70 61 74 2d 64 65 66 75 6e 20 66 69 6c 65 2d 62 61 63 6b 75 70 2d 66 69 6c 65 2d 6e 61 6d 65 mpat-defun.file-backup-file-name
9360 73 20 28 66 69 6c 65 6e 61 6d 65 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 66 69 s.(filename).;;.<compat-tests:fi
9380 6c 65 2d 62 61 63 6b 75 70 2d 66 69 6c 65 2d 6e 61 6d 65 73 3e 0a 20 20 22 52 65 74 75 72 6e 20 le-backup-file-names>..."Return.
93a0 61 20 6c 69 73 74 20 6f 66 20 62 61 63 6b 75 70 20 66 69 6c 65 73 20 66 6f 72 20 46 49 4c 45 4e a.list.of.backup.files.for.FILEN
93c0 41 4d 45 2e 0a 54 68 65 20 6c 69 73 74 20 77 69 6c 6c 20 62 65 20 73 6f 72 74 65 64 20 62 79 20 AME..The.list.will.be.sorted.by.
93e0 6d 6f 64 69 66 69 63 61 74 69 6f 6e 20 74 69 6d 65 20 73 6f 20 74 68 61 74 20 74 68 65 20 6d 6f modification.time.so.that.the.mo
9400 73 74 0a 72 65 63 65 6e 74 20 66 69 6c 65 73 20 61 72 65 20 66 69 72 73 74 2e 22 0a 20 20 3b 3b st.recent.files.are.first."...;;
9420 20 60 6d 61 6b 65 2d 62 61 63 6b 75 70 2d 66 69 6c 65 2d 6e 61 6d 65 27 20 77 69 6c 6c 20 67 65 .`make-backup-file-name'.will.ge
9440 74 20 75 73 20 74 68 65 20 72 69 67 68 74 20 64 69 72 65 63 74 6f 72 79 20 66 6f 72 0a 20 20 3b t.us.the.right.directory.for...;
9460 3b 20 6f 72 64 69 6e 61 72 79 20 6f 72 20 6e 75 6d 65 72 69 63 20 62 61 63 6b 75 70 73 2e 20 20 ;.ordinary.or.numeric.backups...
9480 49 74 20 6d 69 67 68 74 20 63 72 65 61 74 65 20 61 20 64 69 72 65 63 74 6f 72 79 20 66 6f 72 0a It.might.create.a.directory.for.
94a0 20 20 3b 3b 20 62 61 63 6b 75 70 73 20 61 73 20 61 20 73 69 64 65 2d 65 66 66 65 63 74 2c 20 61 ..;;.backups.as.a.side-effect,.a
94c0 63 63 6f 72 64 69 6e 67 20 74 6f 20 60 62 61 63 6b 75 70 2d 64 69 72 65 63 74 6f 72 79 2d 61 6c ccording.to.`backup-directory-al
94e0 69 73 74 27 2e 0a 20 20 28 6c 65 74 2a 20 28 28 66 69 6c 65 6e 61 6d 65 20 28 66 69 6c 65 2d 6e ist'....(let*.((filename.(file-n
9500 61 6d 65 2d 73 61 6e 73 2d 76 65 72 73 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ame-sans-versions...............
9520 20 20 20 20 20 20 28 6d 61 6b 65 2d 62 61 63 6b 75 70 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 65 78 ......(make-backup-file-name.(ex
9540 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 20 66 69 6c 65 6e 61 6d 65 29 29 29 29 0a 20 20 20 20 pand-file-name.filename)))).....
9560 20 20 20 20 20 28 64 69 72 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 63 74 6f 72 79 20 66 .....(dir.(file-name-directory.f
9580 69 6c 65 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 66 69 6c 65 73 29 0a 20 20 20 20 28 64 ilename))..........files).....(d
95a0 6f 6c 69 73 74 20 28 66 69 6c 65 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 61 6c 6c 2d 63 6f 6d 70 6c olist.(file.(file-name-all-compl
95c0 65 74 69 6f 6e 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d etions....................(file-
95e0 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 20 64 69 72 29 name-nondirectory.filename).dir)
9600 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 63 61 6e 64 69 64 61 74 65 20 28 63 6f 6e 63 61 74 ).......(let.((candidate.(concat
9620 20 64 69 72 20 66 69 6c 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 .dir.file))).........(when.(and.
9640 28 62 61 63 6b 75 70 2d 66 69 6c 65 2d 6e 61 6d 65 2d 70 20 63 61 6e 64 69 64 61 74 65 29 0a 20 (backup-file-name-p.candidate)..
9660 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 3d 20 28 66 69 6c 65 ..................(string=.(file
9680 2d 6e 61 6d 65 2d 73 61 6e 73 2d 76 65 72 73 69 6f 6e 73 20 63 61 6e 64 69 64 61 74 65 29 20 66 -name-sans-versions.candidate).f
96a0 69 6c 65 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 63 61 6e 64 69 64 ilename))...........(push.candid
96c0 61 74 65 20 66 69 6c 65 73 29 29 29 29 0a 20 20 20 20 28 73 6f 72 74 20 66 69 6c 65 73 20 23 27 ate.files)))).....(sort.files.#'
96e0 66 69 6c 65 2d 6e 65 77 65 72 2d 74 68 61 6e 2d 66 69 6c 65 2d 70 29 29 29 0a 0a 28 63 6f 6d 70 file-newer-than-file-p)))..(comp
9700 61 74 2d 64 65 66 75 6e 20 6d 61 6b 65 2d 6c 6f 63 6b 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 66 69 at-defun.make-lock-file-name.(fi
9720 6c 65 6e 61 6d 65 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 6d 61 6b 65 2d 6c 6f lename).;;.<compat-tests:make-lo
9740 63 6b 2d 66 69 6c 65 2d 6e 61 6d 65 3e 0a 20 20 22 4d 61 6b 65 20 61 20 6c 6f 63 6b 20 66 69 6c ck-file-name>..."Make.a.lock.fil
9760 65 20 6e 61 6d 65 20 66 6f 72 20 46 49 4c 45 4e 41 4d 45 2e 0a 54 68 69 73 20 70 72 65 70 65 6e e.name.for.FILENAME..This.prepen
9780 64 73 20 5c 22 2e 23 5c 22 20 74 6f 20 74 68 65 20 6e 6f 6e 2d 64 69 72 65 63 74 6f 72 79 20 70 ds.\".#\".to.the.non-directory.p
97a0 61 72 74 20 6f 66 20 46 49 4c 45 4e 41 4d 45 2c 20 61 6e 64 0a 64 6f 65 73 6e 27 74 20 72 65 73 art.of.FILENAME,.and.doesn't.res
97c0 70 65 63 74 20 60 6c 6f 63 6b 2d 66 69 6c 65 2d 6e 61 6d 65 2d 74 72 61 6e 73 66 6f 72 6d 73 27 pect.`lock-file-name-transforms'
97e0 2c 20 61 73 20 45 6d 61 63 73 20 32 38 2e 31 20 61 6e 64 0a 6f 6e 77 61 72 64 73 20 64 6f 65 73 ,.as.Emacs.28.1.and.onwards.does
9800 2e 22 0a 20 20 28 65 78 70 61 6e 64 2d 66 69 6c 65 2d 6e 61 6d 65 0a 20 20 20 28 63 6f 6e 63 61 ."...(expand-file-name....(conca
9820 74 0a 20 20 20 20 22 2e 23 22 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 6e 6f 6e 64 69 72 65 63 74 6f t.....".#".(file-name-nondirecto
9840 72 79 20 66 69 6c 65 6e 61 6d 65 29 29 0a 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 64 69 72 65 ry.filename))....(file-name-dire
9860 63 74 6f 72 79 20 66 69 6c 65 6e 61 6d 65 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 ctory.filename)))..;;;;.Defined.
9880 69 6e 20 6d 69 6e 69 62 75 66 66 65 72 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 in.minibuffer.el..(compat-defun.
98a0 66 6f 72 6d 61 74 2d 70 72 6f 6d 70 74 20 28 70 72 6f 6d 70 74 20 64 65 66 61 75 6c 74 20 26 72 format-prompt.(prompt.default.&r
98c0 65 73 74 20 66 6f 72 6d 61 74 2d 61 72 67 73 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 est.format-args).;;.<compat-test
98e0 73 3a 66 6f 72 6d 61 74 2d 70 72 6f 6d 70 74 3e 0a 20 20 22 46 6f 72 6d 61 74 20 50 52 4f 4d 50 s:format-prompt>..."Format.PROMP
9900 54 20 77 69 74 68 20 44 45 46 41 55 4c 54 2e 0a 49 66 20 46 4f 52 4d 41 54 2d 41 52 47 53 20 69 T.with.DEFAULT..If.FORMAT-ARGS.i
9920 73 20 6e 69 6c 2c 20 50 52 4f 4d 50 54 20 69 73 20 75 73 65 64 20 61 73 20 61 20 70 6c 61 69 6e s.nil,.PROMPT.is.used.as.a.plain
9940 20 73 74 72 69 6e 67 2e 20 20 49 66 0a 46 4f 52 4d 41 54 2d 41 52 47 53 20 69 73 20 6e 6f 6e 2d .string...If.FORMAT-ARGS.is.non-
9960 6e 69 6c 2c 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 nil,.PROMPT.is.used.as.a.format.
9980 63 6f 6e 74 72 6f 6c 0a 73 74 72 69 6e 67 2c 20 61 6e 64 20 46 4f 52 4d 41 54 2d 41 52 47 53 20 control.string,.and.FORMAT-ARGS.
99a0 61 72 65 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 62 65 20 73 75 62 73 74 69 74 75 are.the.arguments.to.be.substitu
99c0 74 65 64 20 69 6e 74 6f 0a 69 74 2e 20 20 53 65 65 20 60 66 6f 72 6d 61 74 27 20 66 6f 72 20 64 ted.into.it...See.`format'.for.d
99e0 65 74 61 69 6c 73 2e 0a 0a 49 66 20 44 45 46 41 55 4c 54 20 69 73 20 61 20 6c 69 73 74 2c 20 74 etails...If.DEFAULT.is.a.list,.t
9a00 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 69 73 20 75 73 65 64 20 61 73 20 74 68 65 20 he.first.element.is.used.as.the.
9a20 64 65 66 61 75 6c 74 2e 0a 49 66 20 6e 6f 74 2c 20 74 68 65 20 65 6c 65 6d 65 6e 74 20 69 73 20 default..If.not,.the.element.is.
9a40 75 73 65 64 20 61 73 20 69 73 2e 0a 0a 49 66 20 44 45 46 41 55 4c 54 20 69 73 20 6e 69 6c 20 6f used.as.is...If.DEFAULT.is.nil.o
9a60 72 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 2c 20 6e 6f 20 5c 22 64 65 66 61 75 6c 74 20 r.an.empty.string,.no.\"default.
9a80 76 61 6c 75 65 5c 22 20 73 74 72 69 6e 67 0a 69 73 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 value\".string.is.included.in.th
9aa0 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 2e 22 0a 20 20 28 63 6f 6e 63 61 74 0a 20 20 20 28 69 e.return.value."...(concat....(i
9ac0 66 20 28 6e 75 6c 6c 20 66 6f 72 6d 61 74 2d 61 72 67 73 29 0a 20 20 20 20 20 20 20 70 72 6f 6d f.(null.format-args)........prom
9ae0 70 74 0a 20 20 20 20 20 28 61 70 70 6c 79 20 23 27 66 6f 72 6d 61 74 20 70 72 6f 6d 70 74 20 66 pt......(apply.#'format.prompt.f
9b00 6f 72 6d 61 74 2d 61 72 67 73 29 29 0a 20 20 20 28 61 6e 64 20 64 65 66 61 75 6c 74 0a 20 20 20 ormat-args))....(and.default....
9b20 20 20 20 20 20 28 6f 72 20 28 6e 6f 74 20 28 73 74 72 69 6e 67 70 20 64 65 66 61 75 6c 74 29 29 .....(or.(not.(stringp.default))
9b40 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 3e 20 28 6c 65 6e 67 74 68 20 64 65 66 61 75 6c 74 29 .............(>.(length.default)
9b60 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 20 28 64 65 66 61 75 6c 74 20 .0)).........(format.".(default.
9b80 25 73 29 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 63 6f 6e 73 70 20 %s)".................(if.(consp.
9ba0 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 28 63 61 default).....................(ca
9bc0 72 20 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 64 65 66 r.default)...................def
9be0 61 75 6c 74 29 29 29 0a 20 20 20 22 3a 20 22 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 ault)))....":."))..;;;;.Defined.
9c00 69 6e 20 66 61 63 65 73 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 76 61 72 20 63 6f 6c 6f in.faces.el..(compat-defvar.colo
9c20 72 2d 6c 75 6d 69 6e 61 6e 63 65 2d 64 61 72 6b 2d 6c 69 6d 69 74 20 30 2e 33 32 35 20 3b 3b 20 r-luminance-dark-limit.0.325.;;.
9c40 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 63 6f 6c 6f 72 2d 64 61 72 6b 2d 70 3e 0a 20 20 22 54 <compat-tests:color-dark-p>..."T
9c60 68 65 20 72 65 6c 61 74 69 76 65 20 6c 75 6d 69 6e 61 6e 63 65 20 62 65 6c 6f 77 20 77 68 69 63 he.relative.luminance.below.whic
9c80 68 20 61 20 63 6f 6c 6f 72 20 69 73 20 63 6f 6e 73 69 64 65 72 65 64 20 5c 22 64 61 72 6b 5c 22 h.a.color.is.considered.\"dark\"
9ca0 2e 0a 41 20 5c 22 64 61 72 6b 5c 22 20 63 6f 6c 6f 72 20 69 6e 20 74 68 69 73 20 73 65 6e 73 65 ..A.\"dark\".color.in.this.sense
9cc0 20 70 72 6f 76 69 64 65 73 20 62 65 74 74 65 72 20 63 6f 6e 74 72 61 73 74 20 77 69 74 68 20 77 .provides.better.contrast.with.w
9ce0 68 69 74 65 0a 74 68 61 6e 20 77 69 74 68 20 62 6c 61 63 6b 3b 20 73 65 65 20 60 63 6f 6c 6f 72 hite.than.with.black;.see.`color
9d00 2d 64 61 72 6b 2d 70 27 2e 0a 54 68 69 73 20 76 61 6c 75 65 20 77 61 73 20 64 65 74 65 72 6d 69 -dark-p'..This.value.was.determi
9d20 6e 65 64 20 65 78 70 65 72 69 6d 65 6e 74 61 6c 6c 79 2e 22 0a 20 20 3a 63 6f 6e 73 74 61 6e 74 ned.experimentally."...:constant
9d40 20 74 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 63 6f 6c 6f 72 2d 64 61 72 6b 2d 70 20 .t)..(compat-defun.color-dark-p.
9d60 28 72 67 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 64 61 72 (rgb).;;.<compat-tests:color-dar
9d80 6b 2d 70 3e 0a 20 20 22 57 68 65 74 68 65 72 20 52 47 42 20 69 73 20 6d 6f 72 65 20 72 65 61 64 k-p>..."Whether.RGB.is.more.read
9da0 61 62 6c 65 20 61 67 61 69 6e 73 74 20 77 68 69 74 65 20 74 68 61 6e 20 62 6c 61 63 6b 2e 0a 52 able.against.white.than.black..R
9dc0 47 42 20 69 73 20 61 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 GB.is.a.3-element.list.(R.G.B),.
9de0 65 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 each.component.in.the.range.[0,1
9e00 5d 2e 0a 54 68 69 73 20 70 72 65 64 69 63 61 74 65 20 63 61 6e 20 62 65 20 75 73 65 64 20 62 6f ]..This.predicate.can.be.used.bo
9e20 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 6c 65 20 28 62 th.for.determining.a.suitable.(b
9e40 6c 61 63 6b 20 6f 72 20 77 68 69 74 65 29 0a 63 6f 6e 74 72 61 73 74 20 63 6f 6c 6f 72 20 77 69 lack.or.white).contrast.color.wi
9e60 74 68 20 52 47 42 20 61 73 20 62 61 63 6b 67 72 6f 75 6e 64 20 61 6e 64 20 61 73 20 66 6f 72 65 th.RGB.as.background.and.as.fore
9e80 67 72 6f 75 6e 64 2e 22 0a 20 20 28 75 6e 6c 65 73 73 20 28 3c 3d 20 30 20 28 61 70 70 6c 79 20 ground."...(unless.(<=.0.(apply.
9ea0 23 27 6d 69 6e 20 72 67 62 29 20 28 61 70 70 6c 79 20 23 27 6d 61 78 20 72 67 62 29 20 31 29 0a #'min.rgb).(apply.#'max.rgb).1).
9ec0 20 20 20 20 28 65 72 72 6f 72 20 22 52 47 42 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 25 53 20 6e 6f ....(error."RGB.components.%S.no
9ee0 74 20 69 6e 20 5b 30 2c 31 5d 22 20 72 67 62 29 29 0a 20 20 3b 3b 20 43 6f 6d 70 75 74 65 20 74 t.in.[0,1]".rgb))...;;.Compute.t
9f00 68 65 20 72 65 6c 61 74 69 76 65 20 6c 75 6d 69 6e 61 6e 63 65 20 61 66 74 65 72 20 67 61 6d 6d he.relative.luminance.after.gamm
9f20 61 2d 63 6f 72 72 65 63 74 69 6e 67 20 28 61 73 73 75 6d 69 6e 67 20 73 52 47 42 29 2c 0a 20 20 a-correcting.(assuming.sRGB),...
9f40 3b 3b 20 61 6e 64 20 63 6f 6d 70 61 72 65 20 74 6f 20 61 20 63 75 74 2d 6f 66 66 20 76 61 6c 75 ;;.and.compare.to.a.cut-off.valu
9f60 65 20 64 65 74 65 72 6d 69 6e 65 64 20 65 78 70 65 72 69 6d 65 6e 74 61 6c 6c 79 2e 0a 20 20 3b e.determined.experimentally....;
9f80 3b 20 53 65 65 20 68 74 74 70 73 3a 2f 2f 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67 2f 77 ;.See.https://en.wikipedia.org/w
9fa0 69 6b 69 2f 52 65 6c 61 74 69 76 65 5f 6c 75 6d 69 6e 61 6e 63 65 20 66 6f 72 20 64 65 74 61 69 iki/Relative_luminance.for.detai
9fc0 6c 73 2e 0a 20 20 28 6c 65 74 2a 20 28 28 73 72 20 28 6e 74 68 20 30 20 72 67 62 29 29 0a 20 20 ls....(let*.((sr.(nth.0.rgb))...
9fe0 20 20 20 20 20 20 20 28 73 67 20 28 6e 74 68 20 31 20 72 67 62 29 29 0a 20 20 20 20 20 20 20 20 .......(sg.(nth.1.rgb)).........
a000 20 28 73 62 20 28 6e 74 68 20 32 20 72 67 62 29 29 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 47 61 .(sb.(nth.2.rgb))..........;;.Ga
a020 6d 6d 61 2d 63 6f 72 72 65 63 74 20 74 68 65 20 52 47 42 20 63 6f 6d 70 6f 6e 65 6e 74 73 20 74 mma-correct.the.RGB.components.t
a040 6f 20 6c 69 6e 65 61 72 20 76 61 6c 75 65 73 2e 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 55 73 65 o.linear.values...........;;.Use
a060 20 74 68 65 20 70 6f 77 65 72 20 32 2e 32 20 61 73 20 61 6e 20 61 70 70 72 6f 78 69 6d 61 74 69 .the.power.2.2.as.an.approximati
a080 6f 6e 20 74 6f 20 73 52 47 42 20 67 61 6d 6d 61 3b 0a 20 20 20 20 20 20 20 20 20 3b 3b 20 69 74 on.to.sRGB.gamma;..........;;.it
a0a0 20 73 68 6f 75 6c 64 20 62 65 20 67 6f 6f 64 20 65 6e 6f 75 67 68 20 66 6f 72 20 74 68 65 20 70 .should.be.good.enough.for.the.p
a0c0 75 72 70 6f 73 65 20 6f 66 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 2e 0a 20 20 20 20 20 20 20 urpose.of.this.function.........
a0e0 20 20 28 72 20 28 65 78 70 74 20 73 72 20 32 2e 32 29 29 0a 20 20 20 20 20 20 20 20 20 28 67 20 ..(r.(expt.sr.2.2))..........(g.
a100 28 65 78 70 74 20 73 67 20 32 2e 32 29 29 0a 20 20 20 20 20 20 20 20 20 28 62 20 28 65 78 70 74 (expt.sg.2.2))..........(b.(expt
a120 20 73 62 20 32 2e 32 29 29 0a 20 20 20 20 20 20 20 20 20 28 79 20 28 2b 20 28 2a 20 72 20 30 2e .sb.2.2))..........(y.(+.(*.r.0.
a140 32 31 32 36 29 20 28 2a 20 67 20 30 2e 37 31 35 32 29 20 28 2a 20 62 20 30 2e 30 37 32 32 29 29 2126).(*.g.0.7152).(*.b.0.0722))
a160 29 29 0a 20 20 20 20 28 3c 20 79 20 63 6f 6c 6f 72 2d 6c 75 6d 69 6e 61 6e 63 65 2d 64 61 72 6b )).....(<.y.color-luminance-dark
a180 2d 6c 69 6d 69 74 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 77 69 6e 64 6f -limit)))..;;;;.Defined.in.windo
a1a0 77 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 77 69 6e 64 w.el..(compat-defmacro.with-wind
a1c0 6f 77 2d 6e 6f 6e 2d 64 65 64 69 63 61 74 65 64 20 28 77 69 6e 64 6f 77 20 26 72 65 73 74 20 62 ow-non-dedicated.(window.&rest.b
a1e0 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 2d 77 69 6e 64 6f ody).;;.<compat-tests:with-windo
a200 77 2d 6e 6f 6e 2d 64 65 64 69 63 61 74 65 64 3e 0a 20 20 22 45 76 61 6c 75 61 74 65 20 42 4f 44 w-non-dedicated>..."Evaluate.BOD
a220 59 20 77 69 74 68 20 57 49 4e 44 4f 57 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 6d 61 64 65 20 6e Y.with.WINDOW.temporarily.made.n
a240 6f 6e 2d 64 65 64 69 63 61 74 65 64 2e 0a 49 66 20 57 49 4e 44 4f 57 20 69 73 20 6e 69 6c 2c 20 on-dedicated..If.WINDOW.is.nil,.
a260 75 73 65 20 74 68 65 20 73 65 6c 65 63 74 65 64 20 77 69 6e 64 6f 77 2e 20 20 52 65 74 75 72 6e use.the.selected.window...Return
a280 20 74 68 65 20 76 61 6c 75 65 20 6f 66 0a 74 68 65 20 6c 61 73 74 20 66 6f 72 6d 20 69 6e 20 42 .the.value.of.the.last.form.in.B
a2a0 4f 44 59 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 64 65 62 ODY."...(declare.(indent.1).(deb
a2c0 75 67 20 74 29 29 0a 20 20 28 6c 65 74 20 28 28 77 69 6e 64 6f 77 2d 64 65 64 69 63 61 74 65 64 ug.t))...(let.((window-dedicated
a2e0 2d 73 79 6d 20 28 67 65 6e 73 79 6d 29 29 0a 20 20 20 20 20 20 20 20 28 77 69 6e 64 6f 77 2d 73 -sym.(gensym)).........(window-s
a300 79 6d 20 28 67 65 6e 73 79 6d 29 29 29 0a 20 20 20 20 60 28 6c 65 74 2a 20 28 28 2c 77 69 6e 64 ym.(gensym))).....`(let*.((,wind
a320 6f 77 2d 73 79 6d 20 28 77 69 6e 64 6f 77 2d 6e 6f 72 6d 61 6c 69 7a 65 2d 77 69 6e 64 6f 77 20 ow-sym.(window-normalize-window.
a340 2c 77 69 6e 64 6f 77 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 2c 77 69 6e 64 6f 77 ,window.t)).............(,window
a360 2d 64 65 64 69 63 61 74 65 64 2d 73 79 6d 20 28 77 69 6e 64 6f 77 2d 64 65 64 69 63 61 74 65 64 -dedicated-sym.(window-dedicated
a380 2d 70 20 2c 77 69 6e 64 6f 77 2d 73 79 6d 29 29 29 0a 20 20 20 20 20 20 20 28 73 65 74 2d 77 69 -p.,window-sym)))........(set-wi
a3a0 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 20 6e 69 6c ndow-dedicated-p.,window-sym.nil
a3c0 29 0a 20 20 20 20 20 20 20 28 75 6e 77 69 6e 64 2d 70 72 6f 74 65 63 74 0a 20 20 20 20 20 20 20 )........(unwind-protect........
a3e0 20 20 20 20 28 70 72 6f 67 6e 20 2c 40 62 6f 64 79 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 ....(progn.,@body)..........(set
a400 2d 77 69 6e 64 6f 77 2d 64 65 64 69 63 61 74 65 64 2d 70 20 2c 77 69 6e 64 6f 77 2d 73 79 6d 20 -window-dedicated-p.,window-sym.
a420 2c 77 69 6e 64 6f 77 2d 64 65 64 69 63 61 74 65 64 2d 73 79 6d 29 29 29 29 29 0a 0a 28 63 6f 6d ,window-dedicated-sym)))))..(com
a440 70 61 74 2d 64 65 66 75 6e 20 63 6f 75 6e 74 2d 77 69 6e 64 6f 77 73 20 28 26 6f 70 74 69 6f 6e pat-defun.count-windows.(&option
a460 61 6c 20 6d 69 6e 69 62 75 66 20 61 6c 6c 2d 66 72 61 6d 65 73 29 20 3b 3b 20 3c 63 6f 6d 70 61 al.minibuf.all-frames).;;.<compa
a480 74 2d 74 65 73 74 73 3a 63 6f 75 6e 74 2d 77 69 6e 64 6f 77 73 3e 0a 20 20 22 48 61 6e 64 6c 65 t-tests:count-windows>..."Handle
a4a0 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 41 4c 4c 2d 46 52 41 4d 45 53 2e 22 0a .optional.argument.ALL-FRAMES.".
a4c0 20 20 3a 65 78 74 65 6e 64 65 64 20 74 0a 20 20 28 69 66 20 61 6c 6c 2d 66 72 61 6d 65 73 0a 20 ..:extended.t...(if.all-frames..
a4e0 20 20 20 20 20 28 6c 65 74 20 28 28 73 75 6d 20 30 29 29 0a 20 20 20 20 20 20 20 20 28 64 6f 6c .....(let.((sum.0)).........(dol
a500 69 73 74 20 28 66 72 61 6d 65 20 28 66 72 61 6d 65 2d 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 ist.(frame.(frame-list))........
a520 20 20 20 28 77 69 74 68 2d 73 65 6c 65 63 74 65 64 2d 66 72 61 6d 65 20 66 72 61 6d 65 0a 20 20 ...(with-selected-frame.frame...
a540 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 75 6d 20 28 2b 20 28 63 6f 75 6e 74 2d 77 69 ..........(setq.sum.(+.(count-wi
a560 6e 64 6f 77 73 20 6d 69 6e 69 62 75 66 29 20 73 75 6d 29 29 29 29 0a 20 20 20 20 20 20 20 20 73 ndows.minibuf).sum)))).........s
a580 75 6d 29 0a 20 20 20 20 28 63 6f 75 6e 74 2d 77 69 6e 64 6f 77 73 20 6d 69 6e 69 62 75 66 29 29 um).....(count-windows.minibuf))
a5a0 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 74 68 69 6e 67 61 74 70 74 2e 65 6c 0a )..;;;;.Defined.in.thingatpt.el.
a5c0 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 74 68 69 6e 67 2d 61 74 2d 6d 6f 75 73 65 20 28 65 .(compat-defun.thing-at-mouse.(e
a5e0 76 65 6e 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 vent.thing.&optional.no-properti
a600 65 73 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 es).;;.<compat-tests:thing-at-mo
a620 75 73 65 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 54 48 49 4e 47 20 61 74 20 6d 6f 75 73 use>..."Return.the.THING.at.mous
a640 65 20 63 6c 69 63 6b 2e 0a 4c 69 6b 65 20 60 74 68 69 6e 67 2d 61 74 2d 70 6f 69 6e 74 27 2c 20 e.click..Like.`thing-at-point',.
a660 62 75 74 20 74 72 69 65 73 20 74 6f 20 75 73 65 20 74 68 65 20 65 76 65 6e 74 0a 77 68 65 72 65 but.tries.to.use.the.event.where
a680 20 74 68 65 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 69 73 20 63 6c 69 63 6b 65 64 20 74 6f 20 .the.mouse.button.is.clicked.to.
a6a0 66 69 6e 64 20 61 20 74 68 69 6e 67 20 6e 65 61 72 62 79 2e 22 0a 20 20 3b 3b 20 4e 6f 20 3a 66 find.a.thing.nearby."...;;.No.:f
a6c0 65 61 74 75 72 65 20 73 70 65 63 69 66 69 65 64 2c 20 73 69 6e 63 65 20 74 68 65 20 66 75 6e 63 eature.specified,.since.the.func
a6e0 74 69 6f 6e 20 69 73 20 61 75 74 6f 6c 6f 61 64 65 64 2e 0a 20 20 28 73 61 76 65 2d 65 78 63 75 tion.is.autoloaded....(save-excu
a700 72 73 69 6f 6e 0a 20 20 20 20 28 6d 6f 75 73 65 2d 73 65 74 2d 70 6f 69 6e 74 20 65 76 65 6e 74 rsion.....(mouse-set-point.event
a720 29 0a 20 20 20 20 28 74 68 69 6e 67 2d 61 74 2d 70 6f 69 6e 74 20 74 68 69 6e 67 20 6e 6f 2d 70 ).....(thing-at-point.thing.no-p
a740 72 6f 70 65 72 74 69 65 73 29 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 62 6f 75 6e roperties)))..(compat-defun.boun
a760 64 73 2d 6f 66 2d 74 68 69 6e 67 2d 61 74 2d 6d 6f 75 73 65 20 28 65 76 65 6e 74 20 74 68 69 6e ds-of-thing-at-mouse.(event.thin
a780 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 75 g).;;.<compat-tests:thing-at-mou
a7a0 73 65 3e 0a 20 20 22 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 se>..."Determine.start.and.end.l
a7c0 6f 63 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 ocations.for.THING.at.mouse.clic
a7e0 6b 20 67 69 76 65 6e 20 62 79 20 45 56 45 4e 54 2e 0a 4c 69 6b 65 20 60 62 6f 75 6e 64 73 2d 6f k.given.by.EVENT..Like.`bounds-o
a800 66 2d 74 68 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 f-thing-at-point',.but.tries.to.
a820 75 73 65 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 69 6e 20 45 56 45 4e 54 0a 77 68 65 72 65 20 use.the.position.in.EVENT.where.
a840 74 68 65 20 6d 6f 75 73 65 20 62 75 74 74 6f 6e 20 69 73 20 63 6c 69 63 6b 65 64 20 74 6f 20 66 the.mouse.button.is.clicked.to.f
a860 69 6e 64 20 74 68 65 20 74 68 69 6e 67 20 6e 65 61 72 62 79 2e 22 0a 20 20 3b 3b 20 4e 6f 20 3a ind.the.thing.nearby."...;;.No.:
a880 66 65 61 74 75 72 65 20 73 70 65 63 69 66 69 65 64 2c 20 73 69 6e 63 65 20 74 68 65 20 66 75 6e feature.specified,.since.the.fun
a8a0 63 74 69 6f 6e 20 69 73 20 61 75 74 6f 6c 6f 61 64 65 64 2e 0a 20 20 28 73 61 76 65 2d 65 78 63 ction.is.autoloaded....(save-exc
a8c0 75 72 73 69 6f 6e 0a 20 20 20 20 28 6d 6f 75 73 65 2d 73 65 74 2d 70 6f 69 6e 74 20 65 76 65 6e ursion.....(mouse-set-point.even
a8e0 74 29 0a 20 20 20 20 28 62 6f 75 6e 64 73 2d 6f 66 2d 74 68 69 6e 67 2d 61 74 2d 70 6f 69 6e 74 t).....(bounds-of-thing-at-point
a900 20 74 68 69 6e 67 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 6d 6f 75 73 65 .thing)))..;;;;.Defined.in.mouse
a920 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 6d 61 72 6b 2d 74 68 69 6e 67 2d 61 74 .el..(compat-defun.mark-thing-at
a940 2d 6d 6f 75 73 65 20 28 63 6c 69 63 6b 20 74 68 69 6e 67 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d -mouse.(click.thing).;;.<compat-
a960 74 65 73 74 73 3a 74 68 69 6e 67 2d 61 74 2d 6d 6f 75 73 65 3e 0a 20 20 22 41 63 74 69 76 61 74 tests:thing-at-mouse>..."Activat
a980 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 6e 64 20 e.the.region.around.THING.found.
a9a0 6e 65 61 72 20 74 68 65 20 6d 6f 75 73 65 20 43 4c 49 43 4b 2e 22 0a 20 20 28 77 68 65 6e 2d 6c near.the.mouse.CLICK."...(when-l
a9c0 65 74 20 28 28 62 6f 75 6e 64 73 20 28 62 6f 75 6e 64 73 2d 6f 66 2d 74 68 69 6e 67 2d 61 74 2d et.((bounds.(bounds-of-thing-at-
a9e0 6d 6f 75 73 65 20 63 6c 69 63 6b 20 74 68 69 6e 67 29 29 29 0a 20 20 20 20 28 67 6f 74 6f 2d 63 mouse.click.thing))).....(goto-c
aa00 68 61 72 20 28 69 66 20 6d 6f 75 73 65 2d 73 65 6c 65 63 74 2d 72 65 67 69 6f 6e 2d 6d 6f 76 65 har.(if.mouse-select-region-move
aa20 2d 74 6f 2d 62 65 67 69 6e 6e 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -to-beginning...................
aa40 20 28 63 61 72 20 62 6f 75 6e 64 73 29 20 28 63 64 72 20 62 6f 75 6e 64 73 29 29 29 0a 20 20 20 .(car.bounds).(cdr.bounds)))....
aa60 20 28 70 75 73 68 2d 6d 61 72 6b 20 28 69 66 20 6d 6f 75 73 65 2d 73 65 6c 65 63 74 2d 72 65 67 .(push-mark.(if.mouse-select-reg
aa80 69 6f 6e 2d 6d 6f 76 65 2d 74 6f 2d 62 65 67 69 6e 6e 69 6e 67 0a 20 20 20 20 20 20 20 20 20 20 ion-move-to-beginning...........
aaa0 20 20 20 20 20 20 20 20 20 28 63 64 72 20 62 6f 75 6e 64 73 29 20 28 63 61 72 20 62 6f 75 6e 64 .........(cdr.bounds).(car.bound
aac0 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 20 27 61 63 74 69 76 61 74 65 29 29 s))................t.'activate))
aae0 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 6d 61 63 72 6f 65 78 70 2e 65 6c 0a 0a )..;;;;.Defined.in.macroexp.el..
ab00 28 63 6f 6d 70 61 74 2d 64 65 66 75 6e 20 6d 61 63 72 6f 65 78 70 2d 77 61 72 6e 2d 61 6e 64 2d (compat-defun.macroexp-warn-and-
ab20 72 65 74 75 72 6e 20 28 6d 73 67 20 66 6f 72 6d 20 26 6f 70 74 69 6f 6e 61 6c 20 5f 63 61 74 65 return.(msg.form.&optional._cate
ab40 67 6f 72 79 20 5f 63 6f 6d 70 69 6c 65 2d 6f 6e 6c 79 20 5f 61 72 67 29 20 3b 3b 20 3c 63 6f 6d gory._compile-only._arg).;;.<com
ab60 70 61 74 2d 74 65 73 74 73 3a 6d 61 63 72 6f 65 78 70 2d 77 61 72 6e 2d 61 6e 64 2d 72 65 74 75 pat-tests:macroexp-warn-and-retu
ab80 72 6e 3e 0a 20 20 22 52 65 74 75 72 6e 20 63 6f 64 65 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f rn>..."Return.code.equivalent.to
aba0 20 46 4f 52 4d 20 6c 61 62 65 6c 65 64 20 77 69 74 68 20 77 61 72 6e 69 6e 67 20 4d 53 47 2e 0a .FORM.labeled.with.warning.MSG..
abc0 43 41 54 45 47 4f 52 59 20 69 73 20 74 68 65 20 63 61 74 65 67 6f 72 79 20 6f 66 20 74 68 65 20 CATEGORY.is.the.category.of.the.
abe0 77 61 72 6e 69 6e 67 2c 20 6c 69 6b 65 20 74 68 65 20 63 61 74 65 67 6f 72 69 65 73 20 74 68 61 warning,.like.the.categories.tha
ac00 74 0a 63 61 6e 20 61 70 70 65 61 72 20 69 6e 20 60 62 79 74 65 2d 63 6f 6d 70 69 6c 65 2d 77 61 t.can.appear.in.`byte-compile-wa
ac20 72 6e 69 6e 67 73 27 2e 0a 43 4f 4d 50 49 4c 45 2d 4f 4e 4c 59 20 6e 6f 6e 2d 6e 69 6c 20 6d 65 rnings'..COMPILE-ONLY.non-nil.me
ac40 61 6e 73 20 6e 6f 20 77 61 72 6e 69 6e 67 20 73 68 6f 75 6c 64 20 62 65 20 65 6d 69 74 74 65 64 ans.no.warning.should.be.emitted
ac60 20 69 66 20 74 68 65 20 63 6f 64 65 0a 69 73 20 65 78 65 63 75 74 65 64 20 77 69 74 68 6f 75 74 .if.the.code.is.executed.without
ac80 20 62 65 69 6e 67 20 63 6f 6d 70 69 6c 65 64 20 66 69 72 73 74 2e 0a 41 52 47 20 69 73 20 61 20 .being.compiled.first..ARG.is.a.
aca0 73 79 6d 62 6f 6c 20 28 6f 72 20 61 20 66 6f 72 6d 29 20 67 69 76 69 6e 67 20 74 68 65 20 73 6f symbol.(or.a.form).giving.the.so
acc0 75 72 63 65 20 63 6f 64 65 20 70 6f 73 69 74 69 6f 6e 20 66 6f 72 20 74 68 65 20 6d 65 73 73 61 urce.code.position.for.the.messa
ace0 67 65 2e 0a 49 74 20 73 68 6f 75 6c 64 20 6e 6f 72 6d 61 6c 6c 79 20 62 65 20 61 20 73 79 6d 62 ge..It.should.normally.be.a.symb
ad00 6f 6c 20 77 69 74 68 20 70 6f 73 69 74 69 6f 6e 20 61 6e 64 20 69 74 20 64 65 66 61 75 6c 74 73 ol.with.position.and.it.defaults
ad20 20 74 6f 20 46 4f 52 4d 2e 22 0a 20 20 28 6d 61 63 72 6f 65 78 70 2d 2d 77 61 72 6e 2d 61 6e 64 .to.FORM."...(macroexp--warn-and
ad40 2d 72 65 74 75 72 6e 20 6d 73 67 20 66 6f 72 6d 29 29 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 66 75 -return.msg.form))..(compat-defu
ad60 6e 20 6d 61 63 72 6f 65 78 70 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 29 20 3b 3b 20 3c 63 6f 6d 70 n.macroexp-file-name.().;;.<comp
ad80 61 74 2d 74 65 73 74 73 3a 6d 61 63 72 6f 65 78 70 2d 66 69 6c 65 2d 6e 61 6d 65 3e 0a 20 20 22 at-tests:macroexp-file-name>..."
ada0 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 66 72 6f 6d Return.the.name.of.the.file.from
adc0 20 77 68 69 63 68 20 74 68 65 20 63 6f 64 65 20 63 6f 6d 65 73 2e 0a 52 65 74 75 72 6e 73 20 6e .which.the.code.comes..Returns.n
ade0 69 6c 20 77 68 65 6e 20 77 65 20 64 6f 20 6e 6f 74 20 6b 6e 6f 77 2e 0a 41 20 6e 6f 6e 2d 6e 69 il.when.we.do.not.know..A.non-ni
ae00 6c 20 72 65 73 75 6c 74 20 69 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 72 65 6c 69 61 l.result.is.expected.to.be.relia
ae20 62 6c 65 20 77 68 65 6e 20 63 61 6c 6c 65 64 20 66 72 6f 6d 20 61 20 6d 61 63 72 6f 20 69 6e 20 ble.when.called.from.a.macro.in.
ae40 6f 72 64 65 72 0a 74 6f 20 66 69 6e 64 20 74 68 65 20 66 69 6c 65 20 69 6e 20 77 68 69 63 68 20 order.to.find.the.file.in.which.
ae60 74 68 65 20 6d 61 63 72 6f 27 73 20 63 61 6c 6c 20 77 61 73 20 66 6f 75 6e 64 2c 20 61 6e 64 20 the.macro's.call.was.found,.and.
ae80 69 74 20 73 68 6f 75 6c 64 20 62 65 0a 72 65 6c 69 61 62 6c 65 20 61 73 20 77 65 6c 6c 20 77 68 it.should.be.reliable.as.well.wh
aea0 65 6e 20 75 73 65 64 20 61 74 20 74 68 65 20 74 6f 70 2d 6c 65 76 65 6c 20 6f 66 20 61 20 66 69 en.used.at.the.top-level.of.a.fi
aec0 6c 65 2e 0a 4f 74 68 65 72 20 75 73 65 73 20 72 69 73 6b 20 72 65 74 75 72 6e 69 6e 67 20 6e 6f le..Other.uses.risk.returning.no
aee0 6e 2d 6e 69 6c 20 76 61 6c 75 65 20 74 68 61 74 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 77 72 n-nil.value.that.point.to.the.wr
af00 6f 6e 67 20 66 69 6c 65 2e 22 0a 20 20 28 6c 65 74 20 28 28 66 69 6c 65 20 28 63 61 72 20 28 6c ong.file."...(let.((file.(car.(l
af20 61 73 74 20 63 75 72 72 65 6e 74 2d 6c 6f 61 64 2d 6c 69 73 74 29 29 29 29 0a 20 20 20 20 28 6f ast.current-load-list)))).....(o
af40 72 20 28 69 66 20 28 73 74 72 69 6e 67 70 20 66 69 6c 65 29 20 66 69 6c 65 29 0a 20 20 20 20 20 r.(if.(stringp.file).file)......
af60 20 20 20 28 62 6f 75 6e 64 2d 61 6e 64 2d 74 72 75 65 2d 70 20 62 79 74 65 2d 63 6f 6d 70 69 6c ...(bound-and-true-p.byte-compil
af80 65 2d 63 75 72 72 65 6e 74 2d 66 69 6c 65 29 29 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 e-current-file))))..;;;;.Defined
afa0 20 69 6e 20 65 6e 76 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 .in.env.el..(compat-defmacro.wit
afc0 68 2d 65 6e 76 69 72 6f 6e 6d 65 6e 74 2d 76 61 72 69 61 62 6c 65 73 20 28 76 61 72 69 61 62 6c h-environment-variables.(variabl
afe0 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 65 73 74 73 3a es.&rest.body).;;.<compat-tests:
b000 77 69 74 68 2d 65 6e 76 69 72 6f 6e 6d 65 6e 74 2d 76 61 72 69 61 62 6c 65 73 3e 0a 20 20 22 53 with-environment-variables>..."S
b020 65 74 20 56 41 52 49 41 42 4c 45 53 20 69 6e 20 74 68 65 20 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 et.VARIABLES.in.the.environment.
b040 61 6e 64 20 65 78 65 63 75 74 65 20 42 4f 44 59 2e 0a 56 41 52 49 41 42 4c 45 53 20 69 73 20 61 and.execute.BODY..VARIABLES.is.a
b060 20 6c 69 73 74 20 6f 66 20 76 61 72 69 61 62 6c 65 20 73 65 74 74 69 6e 67 73 20 6f 66 20 74 68 .list.of.variable.settings.of.th
b080 65 20 66 6f 72 6d 20 28 56 41 52 20 56 41 4c 55 45 29 2c 0a 77 68 65 72 65 20 56 41 52 20 69 73 e.form.(VAR.VALUE),.where.VAR.is
b0a0 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 28 61 20 73 74 72 .the.name.of.the.variable.(a.str
b0c0 69 6e 67 29 20 61 6e 64 20 56 41 4c 55 45 0a 69 73 20 69 74 73 20 76 61 6c 75 65 20 28 61 6c 73 ing).and.VALUE.is.its.value.(als
b0e0 6f 20 61 20 73 74 72 69 6e 67 29 2e 0a 0a 54 68 65 20 70 72 65 76 69 6f 75 73 20 76 61 6c 75 65 o.a.string)...The.previous.value
b100 73 20 77 69 6c 6c 20 62 65 20 62 65 20 72 65 73 74 6f 72 65 64 20 75 70 6f 6e 20 65 78 69 74 2e s.will.be.be.restored.upon.exit.
b120 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 64 65 62 75 67 20 28 "...(declare.(indent.1).(debug.(
b140 73 65 78 70 20 62 6f 64 79 29 29 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 63 6f 6e 73 70 20 76 61 sexp.body)))...(unless.(consp.va
b160 72 69 61 62 6c 65 73 29 0a 20 20 20 20 28 65 72 72 6f 72 20 22 49 6e 76 61 6c 69 64 20 56 41 52 riables).....(error."Invalid.VAR
b180 49 41 42 4c 45 53 3a 20 25 73 22 20 76 61 72 69 61 62 6c 65 73 29 29 0a 20 20 60 28 6c 65 74 20 IABLES:.%s".variables))...`(let.
b1a0 28 28 70 72 6f 63 65 73 73 2d 65 6e 76 69 72 6f 6e 6d 65 6e 74 20 28 63 6f 70 79 2d 73 65 71 75 ((process-environment.(copy-sequ
b1c0 65 6e 63 65 20 70 72 6f 63 65 73 73 2d 65 6e 76 69 72 6f 6e 6d 65 6e 74 29 29 29 0a 20 20 20 20 ence.process-environment))).....
b1e0 20 2c 40 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 65 6c 65 6d 29 0a 20 20 20 20 20 20 .,@(mapcar.(lambda.(elem).......
b200 20 20 20 20 20 20 20 20 20 20 20 60 28 73 65 74 65 6e 76 20 2c 28 63 61 72 20 65 6c 65 6d 29 20 ...........`(setenv.,(car.elem).
b220 2c 28 63 61 64 72 20 65 6c 65 6d 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 ,(cadr.elem)))................va
b240 72 69 61 62 6c 65 73 29 0a 20 20 20 20 20 2c 40 62 6f 64 79 29 29 0a 0a 3b 3b 3b 3b 20 44 65 66 riables)......,@body))..;;;;.Def
b260 69 6e 65 64 20 69 6e 20 74 69 6d 65 2d 64 61 74 61 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 64 65 ined.in.time-data.el..(compat-de
b280 66 75 6e 20 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 70 65 72 69 6f 64 20 28 74 69 6d 65 29 20 3b fun.decoded-time-period.(time).;
b2a0 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 70 65 72 ;.<compat-tests:decoded-time-per
b2c0 69 6f 64 3e 0a 20 20 22 49 6e 74 65 72 70 72 65 74 20 44 45 43 4f 44 45 44 20 61 73 20 61 20 70 iod>..."Interpret.DECODED.as.a.p
b2e0 65 72 69 6f 64 20 61 6e 64 20 72 65 74 75 72 6e 20 69 74 73 20 6c 65 6e 67 74 68 20 69 6e 20 73 eriod.and.return.its.length.in.s
b300 65 63 6f 6e 64 73 2e 0a 46 6f 72 20 63 6f 6d 70 75 74 61 74 69 6f 6e 61 6c 20 70 75 72 70 6f 73 econds..For.computational.purpos
b320 65 73 2c 20 79 65 61 72 73 20 61 72 65 20 33 36 35 20 64 61 79 73 20 6c 6f 6e 67 20 61 6e 64 20 es,.years.are.365.days.long.and.
b340 6d 6f 6e 74 68 73 0a 61 72 65 20 33 30 20 64 61 79 73 20 6c 6f 6e 67 2e 22 0a 20 20 3a 66 65 61 months.are.30.days.long."...:fea
b360 74 75 72 65 20 74 69 6d 65 2d 64 61 74 65 0a 20 20 28 2b 20 28 69 66 20 28 63 6f 6e 73 70 20 28 ture.time-date...(+.(if.(consp.(
b380 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 0a 20 20 20 20 20 decoded-time-second.time))......
b3a0 20 20 20 20 28 2f 20 28 66 6c 6f 61 74 20 28 63 61 72 20 28 64 65 63 6f 64 65 64 2d 74 69 6d 65 ....(/.(float.(car.(decoded-time
b3c0 2d 73 65 63 6f 6e 64 20 74 69 6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 64 72 -second.time))).............(cdr
b3e0 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 20 .(decoded-time-second.time)))...
b400 20 20 20 20 20 28 6f 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 .....(or.(decoded-time-second.ti
b420 6d 65 29 20 30 29 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 me).0))......(*.(or.(decoded-tim
b440 65 2d 6d 69 6e 75 74 65 20 74 69 6d 65 29 20 30 29 20 36 30 29 0a 20 20 20 20 20 28 2a 20 28 6f e-minute.time).0).60)......(*.(o
b460 72 20 28 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 68 6f 75 72 20 74 69 6d 65 29 20 30 29 20 36 30 r.(decoded-time-hour.time).0).60
b480 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 64 .60)......(*.(or.(decoded-time-d
b4a0 61 79 20 74 69 6d 65 29 20 30 29 20 36 30 20 36 30 20 32 34 29 0a 20 20 20 20 20 28 2a 20 28 6f ay.time).0).60.60.24)......(*.(o
b4c0 72 20 28 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 6d 6f 6e 74 68 20 74 69 6d 65 29 20 30 29 20 36 r.(decoded-time-month.time).0).6
b4e0 30 20 36 30 20 32 34 20 33 30 29 0a 20 20 20 20 20 28 2a 20 28 6f 72 20 28 64 65 63 6f 64 65 64 0.60.24.30)......(*.(or.(decoded
b500 2d 74 69 6d 65 2d 79 65 61 72 20 74 69 6d 65 29 20 30 29 20 36 30 20 36 30 20 32 34 20 33 36 35 -time-year.time).0).60.60.24.365
b520 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 63 6f 6d )))..;;;;.Defined.in.doc.c..(com
b540 70 61 74 2d 64 65 66 75 6e 20 74 65 78 74 2d 71 75 6f 74 69 6e 67 2d 73 74 79 6c 65 20 28 29 20 pat-defun.text-quoting-style.().
b560 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 6e 67 2d 73 74 ;;.<compat-tests:text-quoting-st
b580 79 6c 65 3e 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 65 66 66 65 63 yle>..."Return.the.current.effec
b5a0 74 69 76 65 20 74 65 78 74 20 71 75 6f 74 69 6e 67 20 73 74 79 6c 65 2e 0a 49 66 20 74 68 65 20 tive.text.quoting.style..If.the.
b5c0 76 61 72 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 20 69 73 variable.`text-quoting-style'.is
b5e0 20 60 67 72 61 76 65 27 2c 20 60 73 74 72 61 69 67 68 74 27 20 6f 72 0a 60 63 75 72 76 65 27 2c .`grave',.`straight'.or.`curve',
b600 20 6a 75 73 74 20 72 65 74 75 72 6e 20 74 68 61 74 20 76 61 6c 75 65 2e 20 20 49 66 20 69 74 20 .just.return.that.value...If.it.
b620 69 73 20 6e 69 6c 20 28 74 68 65 20 64 65 66 61 75 6c 74 29 2c 20 72 65 74 75 72 6e 0a 60 67 72 is.nil.(the.default),.return.`gr
b640 61 76 65 27 20 69 66 20 63 75 72 76 65 64 20 71 75 6f 74 65 73 20 63 61 6e 6e 6f 74 20 62 65 20 ave'.if.curved.quotes.cannot.be.
b660 64 69 73 70 6c 61 79 65 64 20 28 66 6f 72 20 69 6e 73 74 61 6e 63 65 2c 20 6f 6e 20 61 0a 74 65 displayed.(for.instance,.on.a.te
b680 72 6d 69 6e 61 6c 20 77 69 74 68 20 6e 6f 20 73 75 70 70 6f 72 74 20 66 6f 72 20 74 68 65 73 65 rminal.with.no.support.for.these
b6a0 20 63 68 61 72 61 63 74 65 72 73 29 2c 20 6f 74 68 65 72 77 69 73 65 20 72 65 74 75 72 6e 0a 60 .characters),.otherwise.return.`
b6c0 71 75 6f 74 65 27 2e 20 20 41 6e 79 20 6f 74 68 65 72 20 76 61 6c 75 65 20 69 73 20 74 72 65 61 quote'...Any.other.value.is.trea
b6e0 74 65 64 20 61 73 20 60 67 72 61 76 65 27 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 20 69 6e 20 63 6f ted.as.`grave'...Note.that.in.co
b700 6e 74 72 61 73 74 20 74 6f 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 60 74 65 78 74 2d 71 75 6f ntrast.to.the.variable.`text-quo
b720 74 69 6e 67 2d 73 74 79 6c 65 27 2c 20 74 68 69 73 0a 66 75 6e 63 74 69 6f 6e 20 77 69 6c 6c 20 ting-style',.this.function.will.
b740 6e 65 76 65 72 20 72 65 74 75 72 6e 20 6e 69 6c 2e 22 0a 20 20 28 63 6f 6e 64 0a 20 20 20 28 28 never.return.nil."...(cond....((
b760 6d 65 6d 71 20 74 65 78 74 2d 71 75 6f 74 69 6e 67 2d 73 74 79 6c 65 20 27 28 67 72 61 76 65 20 memq.text-quoting-style.'(grave.
b780 73 74 72 61 69 67 68 74 20 63 75 72 76 65 29 29 0a 20 20 20 20 74 65 78 74 2d 71 75 6f 74 69 6e straight.curve)).....text-quotin
b7a0 67 2d 73 74 79 6c 65 29 0a 20 20 20 28 28 6e 6f 74 20 74 65 78 74 2d 71 75 6f 74 69 6e 67 2d 73 g-style)....((not.text-quoting-s
b7c0 74 79 6c 65 29 20 27 67 72 61 76 65 29 0a 20 20 20 28 74 20 27 63 75 72 76 65 29 29 29 0a 0a 3b tyle).'grave)....(t.'curve)))..;
b7e0 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 6e 20 62 75 74 74 6f 6e 2e 65 6c 0a 0a 3b 3b 20 4f 62 73 ;;;.Defined.in.button.el..;;.Obs
b800 6f 6c 65 74 65 20 41 6c 69 61 73 20 73 69 6e 63 65 20 32 39 0a 28 63 6f 6d 70 61 74 2d 64 65 66 olete.Alias.since.29.(compat-def
b820 61 6c 69 61 73 20 62 75 74 74 6f 6e 2d 62 75 74 74 6f 6e 69 7a 65 20 62 75 74 74 6f 6e 69 7a 65 alias.button-buttonize.buttonize
b840 20 3a 6f 62 73 6f 6c 65 74 65 20 74 29 20 3b 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 62 .:obsolete.t).;;.<compat-tests:b
b860 75 74 74 6f 6e 2d 62 75 74 74 6f 6e 69 7a 65 3e 0a 0a 3b 3b 3b 3b 20 44 65 66 69 6e 65 64 20 69 utton-buttonize>..;;;;.Defined.i
b880 6e 20 77 69 64 2d 65 64 69 74 2e 65 6c 0a 0a 28 63 6f 6d 70 61 74 2d 67 75 61 72 64 20 74 20 3b n.wid-edit.el..(compat-guard.t.;
b8a0 3b 20 3c 63 6f 6d 70 61 74 2d 74 65 73 74 73 3a 77 69 64 67 65 74 2d 6e 61 74 6e 75 6d 3e 0a 20 ;.<compat-tests:widget-natnum>..
b8c0 20 3a 66 65 61 74 75 72 65 20 77 69 64 2d 65 64 69 74 0a 20 20 28 64 65 66 69 6e 65 2d 77 69 64 .:feature.wid-edit...(define-wid
b8e0 67 65 74 20 27 6e 61 74 6e 75 6d 20 27 72 65 73 74 72 69 63 74 65 64 2d 73 65 78 70 0a 20 20 20 get.'natnum.'restricted-sexp....
b900 20 22 41 20 6e 6f 6e 6e 65 67 61 74 69 76 65 20 69 6e 74 65 67 65 72 2e 22 0a 20 20 20 20 3a 74 ."A.nonnegative.integer.".....:t
b920 61 67 20 22 49 6e 74 65 67 65 72 20 28 70 6f 73 69 74 69 76 65 29 22 0a 20 20 20 20 3a 76 61 6c ag."Integer.(positive)".....:val
b940 75 65 20 30 0a 20 20 20 20 3a 74 79 70 65 2d 65 72 72 6f 72 20 22 54 68 69 73 20 66 69 65 6c 64 ue.0.....:type-error."This.field
b960 20 73 68 6f 75 6c 64 20 63 6f 6e 74 61 69 6e 20 61 20 6e 6f 6e 6e 65 67 61 74 69 76 65 20 69 6e .should.contain.a.nonnegative.in
b980 74 65 67 65 72 22 0a 20 20 20 20 3a 6d 61 74 63 68 2d 61 6c 74 65 72 6e 61 74 69 76 65 73 20 27 teger".....:match-alternatives.'
b9a0 28 6e 61 74 6e 75 6d 70 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 63 6f 6d 70 61 74 2d 32 38 (natnump)))..(provide.'compat-28
b9c0 29 0a 3b 3b 3b 20 63 6f 6d 70 61 74 2d 32 38 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 ).;;;.compat-28.el.ends.here....
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 32 39 2e 31 2e 34 2e 35 2f 63 6f 6d 70 61 74 2d 6d 61 63 73 2e 65 6c 00 00 compat-29.1.4.5/compat-macs.el..
ba20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ba40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ba60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
ba80 30 30 32 37 30 30 33 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 34 32 34 00 20 30 00 00 00 0027003.00000000000.014424..0...
baa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bb00 00 75 73 74 61 72 20 20 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .ustar...root...................
bb20 00 00 00 00 00 00 00 00 00 72 6f 6f 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 .........root...................
bb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bbc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bbe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
bc00 3b 3b 3b 20 63 6f 6d 70 61 74 2d 6d 61 63 73 2e 65 6c 20 2d 2d 2d 20 43 6f 6d 70 61 74 69 62 69 ;;;.compat-macs.el.---.Compatibi
bc20 6c 69 74 79 20 4d 61 63 72 6f 73 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 6e 64 69 6e 67 3a lity.Macros.-*-.lexical-binding:
bc40 20 74 3b 20 6e 6f 2d 62 79 74 65 2d 63 6f 6d 70 69 6c 65 3a 20 74 3b 20 2d 2a 2d 0a 0a 3b 3b 20 .t;.no-byte-compile:.t;.-*-..;;.
bc60 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 32 31 2d 32 30 32 34 20 46 72 65 65 20 53 6f 66 Copyright.(C).2021-2024.Free.Sof
bc80 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 54 68 69 73 20 tware.Foundation,.Inc...;;.This.
bca0 70 72 6f 67 72 61 6d 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3b 20 79 6f 75 20 63 61 program.is.free.software;.you.ca
bcc0 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a n.redistribute.it.and/or.modify.
bce0 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 ;;.it.under.the.terms.of.the.GNU
bd00 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 .General.Public.License.as.publi
bd20 73 68 65 64 20 62 79 0a 3b 3b 20 74 68 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 shed.by.;;.the.Free.Software.Fou
bd40 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 ndation,.either.version.3.of.the
bd60 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 .License,.or.;;.(at.your.option)
bd80 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 54 68 69 73 20 70 72 6f .any.later.version...;;.This.pro
bda0 67 72 61 6d 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 gram.is.distributed.in.the.hope.
bdc0 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 that.it.will.be.useful,.;;.but.W
bde0 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 ITHOUT.ANY.WARRANTY;.without.eve
be00 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 n.the.implied.warranty.of.;;.MER
be20 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 CHANTABILITY.or.FITNESS.FOR.A.PA
be40 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e RTICULAR.PURPOSE...See.the.;;.GN
be60 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 U.General.Public.License.for.mor
be80 65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 e.details...;;.You.should.have.r
bea0 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 eceived.a.copy.of.the.GNU.Genera
bec0 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 74 l.Public.License.;;.along.with.t
bee0 68 69 73 20 70 72 6f 67 72 61 6d 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 73 his.program...If.not,.see.<https
bf00 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 ://www.gnu.org/licenses/>...;;;.
bf20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 0a 3b 3b 20 57 41 52 4e 49 4e 47 3a 20 54 68 69 73 20 66 69 Commentary:..;;.WARNING:.This.fi
bf40 6c 65 20 70 72 6f 76 69 64 65 73 20 2a 69 6e 74 65 72 6e 61 6c 2a 20 6d 61 63 72 6f 73 2e 20 20 le.provides.*internal*.macros...
bf60 54 68 65 20 6d 61 63 72 6f 73 20 61 72 65 20 75 73 65 64 0a 3b 3b 20 62 79 20 43 6f 6d 70 61 74 The.macros.are.used.;;.by.Compat
bf80 20 74 6f 20 66 61 63 69 6c 69 74 61 74 65 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 6f 66 .to.facilitate.the.definition.of
bfa0 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 73 2c 0a 3b 3b 20 63 6f 6d .compatibility.functions,.;;.com
bfc0 70 61 74 69 62 69 6c 69 74 79 20 6d 61 63 72 6f 73 20 61 6e 64 20 63 6f 6d 70 61 74 69 62 69 6c patibility.macros.and.compatibil
bfe0 69 74 79 20 76 61 72 69 61 62 6c 65 73 2e 20 20 54 68 65 0a 3b 3b 20 60 63 6f 6d 70 61 74 2d 6d ity.variables...The.;;.`compat-m
c000 61 63 73 27 20 66 65 61 74 75 72 65 20 73 68 6f 75 6c 64 20 6e 65 76 65 72 20 62 65 20 6c 6f 61 acs'.feature.should.never.be.loa
c020 64 65 64 20 61 74 20 72 75 6e 74 69 6d 65 20 69 6e 20 79 6f 75 72 0a 3b 3b 20 45 6d 61 63 73 20 ded.at.runtime.in.your.;;.Emacs.
c040 61 6e 64 20 77 69 6c 6c 20 6f 6e 6c 79 20 62 65 20 75 73 65 64 20 64 75 72 69 6e 67 20 62 79 74 and.will.only.be.used.during.byt
c060 65 20 63 6f 6d 70 69 6c 61 74 69 6f 6e 2e 20 20 45 76 65 72 79 0a 3b 3b 20 64 65 66 69 6e 69 74 e.compilation...Every.;;.definit
c080 69 6f 6e 20 70 72 6f 76 69 64 65 64 20 68 65 72 65 20 69 73 20 69 6e 74 65 72 6e 61 6c 2c 20 6d ion.provided.here.is.internal,.m
c0a0 61 79 20 63 68 61 6e 67 65 20 61 6e 79 20 74 69 6d 65 20 62 65 74 77 65 65 6e 0a 3b 3b 20 43 6f ay.change.any.time.between.;;.Co
c0c0 6d 70 61 74 20 72 65 6c 65 61 73 65 73 20 61 6e 64 20 6d 75 73 74 20 6e 6f 74 20 62 65 20 75 73 mpat.releases.and.must.not.be.us
c0e0 65 64 20 62 79 20 6f 74 68 65 72 20 70 61 63 6b 61 67 65 73 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a ed.by.other.packages...;;;.Code:
c100 0a 0a 3b 3b 20 57 65 20 61 6c 77 61 79 73 20 72 65 71 75 69 72 65 20 73 75 62 72 2d 78 20 61 74 ..;;.We.always.require.subr-x.at
c120 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 20 66 6f 72 20 74 68 65 20 66 62 6f 75 6e 64 70 20 63 68 .compile.time.for.the.fboundp.ch
c140 65 63 6b 0a 3b 3b 20 73 69 6e 63 65 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 68 61 76 65 20 62 65 eck.;;.since.definitions.have.be
c160 65 6e 20 6d 6f 76 65 64 20 61 72 6f 75 6e 64 2e 20 54 68 65 20 63 6c 2d 6c 69 62 20 6d 61 63 72 en.moved.around..The.cl-lib.macr
c180 6f 73 20 61 72 65 0a 3b 3b 20 6e 65 65 64 65 64 20 62 79 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 os.are.;;.needed.by.compatibilit
c1a0 79 20 64 65 66 69 6e 69 74 69 6f 6e 73 2e 0a 28 72 65 71 75 69 72 65 20 27 73 75 62 72 2d 78 29 y.definitions..(require.'subr-x)
c1c0 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6c 69 62 29 0a 0a 28 64 65 66 76 61 72 20 63 6f 6d 70 .(require.'cl-lib)..(defvar.comp
c1e0 61 74 2d 6d 61 63 73 2d 2d 76 65 72 73 69 6f 6e 20 6e 69 6c 0a 20 20 22 56 65 72 73 69 6f 6e 20 at-macs--version.nil..."Version.
c200 6f 66 20 74 68 65 20 63 75 72 72 65 6e 74 6c 79 20 64 65 66 69 6e 65 64 20 63 6f 6d 70 61 74 69 of.the.currently.defined.compati
c220 62 69 6c 69 74 79 20 64 65 66 69 6e 69 74 69 6f 6e 73 2e 22 29 0a 0a 28 64 65 66 75 6e 20 63 6f bility.definitions.")..(defun.co
c240 6d 70 61 74 2d 6d 61 63 73 2d 2d 73 74 72 69 63 74 20 28 63 6f 6e 64 20 26 72 65 73 74 20 65 72 mpat-macs--strict.(cond.&rest.er
c260 72 6f 72 29 0a 20 20 22 41 73 73 65 72 74 20 73 74 72 69 63 74 20 43 4f 4e 44 2c 20 6f 74 68 65 ror)..."Assert.strict.COND,.othe
c280 72 77 69 73 65 20 66 61 69 6c 20 77 69 74 68 20 45 52 52 4f 52 2e 22 0a 20 20 28 77 68 65 6e 20 rwise.fail.with.ERROR."...(when.
c2a0 28 62 6f 75 6e 64 2d 61 6e 64 2d 74 72 75 65 2d 70 20 63 6f 6d 70 61 74 2d 73 74 72 69 63 74 29 (bound-and-true-p.compat-strict)
c2c0 0a 20 20 20 20 28 61 70 70 6c 79 20 23 27 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d 61 73 73 65 72 .....(apply.#'compat-macs--asser
c2e0 74 20 63 6f 6e 64 20 65 72 72 6f 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 6f 6d 70 61 74 2d 6d t.cond.error)))..(defun.compat-m
c300 61 63 73 2d 2d 61 73 73 65 72 74 20 28 63 6f 6e 64 20 26 72 65 73 74 20 65 72 72 6f 72 29 0a 20 acs--assert.(cond.&rest.error)..
c320 20 22 41 73 73 65 72 74 20 43 4f 4e 44 2c 20 6f 74 68 65 72 77 69 73 65 20 66 61 69 6c 20 77 69 ."Assert.COND,.otherwise.fail.wi
c340 74 68 20 45 52 52 4f 52 2e 22 0a 20 20 28 75 6e 6c 65 73 73 20 63 6f 6e 64 20 28 61 70 70 6c 79 th.ERROR."...(unless.cond.(apply
c360 20 23 27 65 72 72 6f 72 20 65 72 72 6f 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 6f 6d 70 61 74 .#'error.error)))..(defun.compat
c380 2d 6d 61 63 73 2d 2d 64 6f 63 73 74 72 69 6e 67 20 28 74 79 70 65 20 6e 61 6d 65 20 64 6f 63 73 -macs--docstring.(type.name.docs
c3a0 74 72 69 6e 67 29 0a 20 20 22 46 6f 72 6d 61 74 20 44 4f 43 53 54 52 49 4e 47 20 66 6f 72 20 4e tring)..."Format.DOCSTRING.for.N
c3c0 41 4d 45 20 6f 66 20 54 59 50 45 2e 0a 50 72 65 70 65 6e 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 AME.of.TYPE..Prepend.compatibili
c3e0 74 79 20 6e 6f 74 69 63 65 20 74 6f 20 74 68 65 20 61 63 74 75 61 6c 20 64 6f 63 75 6d 65 6e 74 ty.notice.to.the.actual.document
c400 61 74 69 6f 6e 20 73 74 72 69 6e 67 2e 22 0a 20 20 28 77 69 74 68 2d 74 65 6d 70 2d 62 75 66 66 ation.string."...(with-temp-buff
c420 65 72 0a 20 20 20 20 28 69 6e 73 65 72 74 0a 20 20 20 20 20 28 66 6f 72 6d 61 74 0a 20 20 20 20 er.....(insert......(format.....
c440 20 20 22 5b 43 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 25 73 20 66 6f 72 20 60 25 73 27 2c 20 64 .."[Compatibility.%s.for.`%s',.d
c460 65 66 69 6e 65 64 20 69 6e 20 45 6d 61 63 73 20 25 73 2e 20 5c 0a 53 65 65 20 28 63 6f 6d 70 61 efined.in.Emacs.%s..\.See.(compa
c480 74 29 20 45 6d 61 63 73 20 25 73 27 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 5d 5c t).Emacs.%s'.for.more.details.]\
c4a0 6e 5c 6e 25 73 22 0a 20 20 20 20 20 20 74 79 70 65 20 6e 61 6d 65 20 63 6f 6d 70 61 74 2d 6d 61 n\n%s".......type.name.compat-ma
c4c0 63 73 2d 2d 76 65 72 73 69 6f 6e 20 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d 76 65 72 73 69 6f 6e cs--version.compat-macs--version
c4e0 20 64 6f 63 73 74 72 69 6e 67 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 66 69 6c 6c 2d 63 6f 6c .docstring)).....(let.((fill-col
c500 75 6d 6e 20 38 30 29 29 0a 20 20 20 20 20 20 28 66 69 6c 6c 2d 72 65 67 69 6f 6e 20 28 70 6f 69 umn.80)).......(fill-region.(poi
c520 6e 74 2d 6d 69 6e 29 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 29 0a 20 20 20 20 28 62 75 66 66 65 nt-min).(point-max))).....(buffe
c540 72 2d 73 74 72 69 6e 67 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 6f 6d 70 61 74 2d 6d 61 63 73 2d r-string)))..(defun.compat-macs-
c560 2d 63 68 65 63 6b 2d 61 74 74 72 69 62 75 74 65 73 20 28 61 74 74 72 73 20 70 72 65 64 73 29 0a -check-attributes.(attrs.preds).
c580 20 20 22 43 68 65 63 6b 20 41 54 54 52 53 20 67 69 76 65 6e 20 50 52 45 44 53 20 70 72 65 64 69 .."Check.ATTRS.given.PREDS.predi
c5a0 63 61 74 65 20 70 6c 69 73 74 20 61 6e 64 20 72 65 74 75 72 6e 20 72 65 73 74 2e 22 0a 20 20 28 cate.plist.and.return.rest."...(
c5c0 77 68 69 6c 65 20 28 6b 65 79 77 6f 72 64 70 20 28 63 61 72 20 61 74 74 72 73 29 29 0a 20 20 20 while.(keywordp.(car.attrs))....
c5e0 20 28 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d 61 73 73 65 72 74 20 28 63 64 72 20 61 74 74 72 73 .(compat-macs--assert.(cdr.attrs
c600 29 20 22 41 74 74 72 69 62 75 74 65 20 6c 69 73 74 20 6c 65 6e 67 74 68 20 69 73 20 6f 64 64 22 )."Attribute.list.length.is.odd"
c620 29 0a 20 20 20 20 28 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d 61 73 73 65 72 74 20 28 6c 65 74 20 ).....(compat-macs--assert.(let.
c640 28 28 70 20 28 70 6c 69 73 74 2d 67 65 74 20 70 72 65 64 73 20 28 63 61 72 20 61 74 74 72 73 29 ((p.(plist-get.preds.(car.attrs)
c660 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 )))............................(
c680 61 6e 64 20 70 20 28 6f 72 20 28 65 71 20 70 20 74 29 20 28 66 75 6e 63 61 6c 6c 20 70 20 28 63 and.p.(or.(eq.p.t).(funcall.p.(c
c6a0 61 64 72 20 61 74 74 72 73 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 adr.attrs)))))..................
c6c0 20 20 20 20 20 20 20 20 22 49 6e 76 61 6c 69 64 20 61 74 74 72 69 62 75 74 65 20 25 73 22 20 28 ........"Invalid.attribute.%s".(
c6e0 63 61 72 20 61 74 74 72 73 29 29 0a 20 20 20 20 28 73 65 74 71 20 61 74 74 72 73 20 28 63 64 64 car.attrs)).....(setq.attrs.(cdd
c700 72 20 61 74 74 72 73 29 29 29 0a 20 20 61 74 74 72 73 29 0a 0a 28 64 65 66 75 6e 20 63 6f 6d 70 r.attrs)))...attrs)..(defun.comp
c720 61 74 2d 6d 61 63 73 2d 2d 67 75 61 72 64 20 28 61 74 74 72 73 20 70 72 65 64 73 20 66 75 6e 29 at-macs--guard.(attrs.preds.fun)
c740 0a 20 20 22 47 75 61 72 64 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 64 65 66 69 6e 69 74 69 ..."Guard.compatibility.definiti
c760 6f 6e 20 67 65 6e 65 72 61 74 69 6f 6e 2e 0a 54 68 65 20 76 65 72 73 69 6f 6e 20 63 6f 6e 73 74 on.generation..The.version.const
c780 72 61 69 6e 74 73 20 73 70 65 63 69 66 69 65 64 20 62 79 20 41 54 54 52 53 20 61 72 65 20 63 68 raints.specified.by.ATTRS.are.ch
c7a0 65 63 6b 65 64 2e 20 20 50 52 45 44 53 20 69 73 0a 61 20 70 6c 69 73 74 20 6f 66 20 70 72 65 64 ecked...PREDS.is.a.plist.of.pred
c7c0 69 63 61 74 65 73 20 66 6f 72 20 61 72 67 75 6d 65 6e 74 73 20 77 68 69 63 68 20 61 72 65 20 70 icates.for.arguments.which.are.p
c7e0 61 73 73 65 64 20 74 6f 20 46 55 4e 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e assed.to.FUN."...(declare.(inden
c800 74 20 32 29 29 0a 20 20 28 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d 61 73 73 65 72 74 20 63 6f 6d t.2))...(compat-macs--assert.com
c820 70 61 74 2d 6d 61 63 73 2d 2d 76 65 72 73 69 6f 6e 20 22 4e 6f 20 60 63 6f 6d 70 61 74 2d 76 65 pat-macs--version."No.`compat-ve
c840 72 73 69 6f 6e 27 20 77 61 73 20 64 65 63 6c 61 72 65 64 22 29 0a 20 20 28 6c 65 74 2a 20 28 28 rsion'.was.declared")...(let*.((
c860 62 6f 64 79 20 28 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d 63 68 65 63 6b 2d 61 74 74 72 69 62 75 body.(compat-macs--check-attribu
c880 74 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 61 74 74 72 73 20 60 28 2c 40 70 72 tes.................attrs.`(,@pr
c8a0 65 64 73 20 3a 66 65 61 74 75 72 65 20 73 79 6d 62 6f 6c 70 29 29 29 0a 20 20 20 20 20 20 20 20 eds.:feature.symbolp))).........
c8c0 20 28 66 65 61 74 75 72 65 20 28 70 6c 69 73 74 2d 67 65 74 20 61 74 74 72 73 20 3a 66 65 61 74 .(feature.(plist-get.attrs.:feat
c8e0 75 72 65 29 29 0a 20 20 20 20 20 20 20 20 20 28 61 74 74 72 73 20 60 28 3a 62 6f 64 79 20 2c 62 ure))..........(attrs.`(:body.,b
c900 6f 64 79 20 2c 40 61 74 74 72 73 29 29 0a 20 20 20 20 20 20 20 20 20 61 72 67 73 29 0a 20 20 20 ody.,@attrs))..........args)....
c920 20 3b 3b 20 52 65 71 75 69 72 65 20 66 65 61 74 75 72 65 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 .;;.Require.feature.at.compile.t
c940 69 6d 65 0a 20 20 20 20 28 77 68 65 6e 20 66 65 61 74 75 72 65 0a 20 20 20 20 20 20 28 63 6f 6d ime.....(when.feature.......(com
c960 70 61 74 2d 6d 61 63 73 2d 2d 61 73 73 65 72 74 20 28 6e 6f 74 20 28 65 71 20 66 65 61 74 75 72 pat-macs--assert.(not.(eq.featur
c980 65 20 27 73 75 62 72 2d 78 29 29 20 22 49 6e 76 61 6c 69 64 20 66 65 61 74 75 72 65 20 73 75 62 e.'subr-x))."Invalid.feature.sub
c9a0 72 2d 78 22 29 0a 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 66 65 61 74 75 72 65 29 29 0a 20 r-x").......(require.feature))..
c9c0 20 20 20 3b 3b 20 54 68 65 20 63 75 72 72 65 6e 74 20 45 6d 61 63 73 20 6d 75 73 74 20 62 65 20 ...;;.The.current.Emacs.must.be.
c9e0 6f 6c 64 65 72 20 74 68 61 6e 20 74 68 65 20 63 75 72 72 65 6e 74 6c 79 20 64 65 63 6c 61 72 65 older.than.the.currently.declare
ca00 64 20 76 65 72 73 69 6f 6e 2e 0a 20 20 20 20 28 77 68 65 6e 20 28 76 65 72 73 69 6f 6e 3c 20 65 d.version......(when.(version<.e
ca20 6d 61 63 73 2d 76 65 72 73 69 6f 6e 20 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d 76 65 72 73 69 6f macs-version.compat-macs--versio
ca40 6e 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 70 72 65 64 73 0a 20 20 20 20 20 20 20 20 28 70 n).......(while.preds.........(p
ca60 75 73 68 20 28 70 6c 69 73 74 2d 67 65 74 20 61 74 74 72 73 20 28 63 61 72 20 70 72 65 64 73 29 ush.(plist-get.attrs.(car.preds)
ca80 29 20 61 72 67 73 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 70 72 65 64 73 20 28 63 64 64 ).args).........(setq.preds.(cdd
caa0 72 20 70 72 65 64 73 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 62 6f 64 79 20 28 61 70 70 r.preds))).......(setq.body.(app
cac0 6c 79 20 66 75 6e 20 28 6e 72 65 76 65 72 73 65 20 61 72 67 73 29 29 29 0a 20 20 20 20 20 20 28 ly.fun.(nreverse.args))).......(
cae0 69 66 20 28 61 6e 64 20 66 65 61 74 75 72 65 20 62 6f 64 79 29 0a 20 20 20 20 20 20 20 20 20 20 if.(and.feature.body)...........
cb00 60 28 77 69 74 68 2d 65 76 61 6c 2d 61 66 74 65 72 2d 6c 6f 61 64 20 27 2c 66 65 61 74 75 72 65 `(with-eval-after-load.',feature
cb20 20 2c 40 62 6f 64 79 29 0a 20 20 20 20 20 20 20 20 28 6d 61 63 72 6f 65 78 70 2d 70 72 6f 67 6e .,@body).........(macroexp-progn
cb40 20 62 6f 64 79 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d .body)))))..(defun.compat-macs--
cb60 64 65 66 75 6e 20 28 74 79 70 65 20 6e 61 6d 65 20 61 72 67 6c 69 73 74 20 64 6f 63 73 74 72 69 defun.(type.name.arglist.docstri
cb80 6e 67 20 72 65 73 74 29 0a 20 20 22 44 65 66 69 6e 65 20 66 75 6e 63 74 69 6f 6e 20 4e 41 4d 45 ng.rest)..."Define.function.NAME
cba0 20 6f 66 20 54 59 50 45 20 77 69 74 68 20 41 52 47 4c 49 53 54 20 61 6e 64 20 44 4f 43 53 54 52 .of.TYPE.with.ARGLIST.and.DOCSTR
cbc0 49 4e 47 2e 0a 52 45 53 54 20 61 72 65 20 61 74 74 72 69 62 75 74 65 73 20 61 6e 64 20 74 68 65 ING..REST.are.attributes.and.the
cbe0 20 66 75 6e 63 74 69 6f 6e 20 42 4f 44 59 2e 22 0a 20 20 28 63 6f 6d 70 61 74 2d 6d 61 63 73 2d .function.BODY."...(compat-macs-
cc00 2d 67 75 61 72 64 0a 20 20 20 20 20 72 65 73 74 20 28 6c 69 73 74 20 3a 65 78 74 65 6e 64 65 64 -guard......rest.(list.:extended
cc20 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 6f 72 20 28 62 6f 6f 6c 65 61 6e 70 20 78 29 20 28 76 .(lambda.(x).(or.(booleanp.x).(v
cc40 65 72 73 69 6f 6e 2d 74 6f 2d 6c 69 73 74 20 78 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ersion-to-list.x))).............
cc60 20 20 20 20 3a 6f 62 73 6f 6c 65 74 65 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 6f 72 20 28 62 ....:obsolete.(lambda.(x).(or.(b
cc80 6f 6f 6c 65 61 6e 70 20 78 29 20 28 73 74 72 69 6e 67 70 20 78 29 29 29 0a 20 20 20 20 20 20 20 ooleanp.x).(stringp.x)))........
cca0 20 20 20 20 20 20 20 20 20 3a 62 6f 64 79 20 74 29 0a 20 20 20 20 28 6c 61 6d 62 64 61 20 28 65 .........:body.t).....(lambda.(e
ccc0 78 74 65 6e 64 65 64 20 6f 62 73 6f 6c 65 74 65 20 62 6f 64 79 29 0a 20 20 20 20 20 20 28 77 68 xtended.obsolete.body).......(wh
cce0 65 6e 20 28 73 74 72 69 6e 67 70 20 65 78 74 65 6e 64 65 64 29 0a 20 20 20 20 20 20 20 20 28 63 en.(stringp.extended).........(c
cd00 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d 61 73 73 65 72 74 0a 20 20 20 20 20 20 20 20 20 28 61 6e 64 ompat-macs--assert..........(and
cd20 20 28 76 65 72 73 69 6f 6e 3c 20 65 78 74 65 6e 64 65 64 20 63 6f 6d 70 61 74 2d 6d 61 63 73 2d .(version<.extended.compat-macs-
cd40 2d 76 65 72 73 69 6f 6e 29 20 28 76 65 72 73 69 6f 6e 3c 20 22 32 34 2e 34 22 20 65 78 74 65 6e -version).(version<."24.4".exten
cd60 64 65 64 29 29 0a 20 20 20 20 20 20 20 20 20 22 49 6e 76 61 6c 69 64 20 3a 65 78 74 65 6e 64 65 ded)).........."Invalid.:extende
cd80 64 20 76 65 72 73 69 6f 6e 20 25 73 20 66 6f 72 20 25 73 20 25 73 22 20 65 78 74 65 6e 64 65 64 d.version.%s.for.%s.%s".extended
cda0 20 74 79 70 65 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 65 78 74 65 6e 64 .type.name).........(setq.extend
cdc0 65 64 20 28 76 65 72 73 69 6f 6e 3c 3d 20 65 78 74 65 6e 64 65 64 20 65 6d 61 63 73 2d 76 65 72 ed.(version<=.extended.emacs-ver
cde0 73 69 6f 6e 29 29 29 0a 20 20 20 20 20 20 28 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d 73 74 72 69 sion))).......(compat-macs--stri
ce00 63 74 20 28 65 71 20 65 78 74 65 6e 64 65 64 20 28 66 62 6f 75 6e 64 70 20 6e 61 6d 65 29 29 0a ct.(eq.extended.(fboundp.name)).
ce20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 57 72 6f 6e ..........................."Wron
ce40 67 20 3a 65 78 74 65 6e 64 65 64 20 66 6c 61 67 20 66 6f 72 20 25 73 20 25 73 22 20 74 79 70 65 g.:extended.flag.for.%s.%s".type
ce60 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 3b 3b 20 52 65 6d 6f 76 65 20 75 6e 73 75 70 70 6f 72 74 .name).......;;.Remove.unsupport
ce80 65 64 20 64 65 63 6c 61 72 65 73 2e 20 20 49 74 20 6d 69 67 68 74 20 62 65 20 70 6f 73 73 69 62 ed.declares...It.might.be.possib
cea0 6c 65 20 74 6f 20 73 65 74 20 74 68 65 73 65 0a 20 20 20 20 20 20 3b 3b 20 70 72 6f 70 65 72 74 le.to.set.these.......;;.propert
cec0 69 65 73 20 6f 74 68 65 72 77 69 73 65 2e 20 20 54 68 61 74 20 73 68 6f 75 6c 64 20 62 65 20 6c ies.otherwise...That.should.be.l
cee0 6f 6f 6b 65 64 20 69 6e 74 6f 20 61 6e 64 20 69 6d 70 6c 65 6d 65 6e 74 65 64 0a 20 20 20 20 20 ooked.into.and.implemented......
cf00 20 3b 3b 20 69 66 20 69 74 20 69 73 20 74 68 65 20 63 61 73 65 2e 0a 20 20 20 20 20 20 28 77 68 .;;.if.it.is.the.case........(wh
cf20 65 6e 20 28 61 6e 64 20 28 6c 69 73 74 70 20 28 63 61 72 2d 73 61 66 65 20 62 6f 64 79 29 29 20 en.(and.(listp.(car-safe.body)).
cf40 28 65 71 20 28 63 61 61 72 20 62 6f 64 79 29 20 27 64 65 63 6c 61 72 65 29 20 28 3c 3d 20 65 6d (eq.(caar.body).'declare).(<=.em
cf60 61 63 73 2d 6d 61 6a 6f 72 2d 76 65 72 73 69 6f 6e 20 32 35 29 29 0a 20 20 20 20 20 20 20 20 28 acs-major-version.25)).........(
cf80 73 65 74 63 61 72 20 62 6f 64 79 20 28 61 73 73 71 2d 64 65 6c 65 74 65 2d 61 6c 6c 20 27 70 75 setcar.body.(assq-delete-all.'pu
cfa0 72 65 20 28 61 73 73 71 2d 64 65 6c 65 74 65 2d 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 re.(assq-delete-all.............
cfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
cfe0 20 27 73 69 64 65 2d 65 66 66 65 63 74 2d 66 72 65 65 20 28 63 61 72 20 62 6f 64 79 29 29 29 29 .'side-effect-free.(car.body))))
d000 29 0a 20 20 20 20 20 20 3b 3b 20 55 73 65 20 60 3a 65 78 74 65 6e 64 65 64 27 20 6e 61 6d 65 20 ).......;;.Use.`:extended'.name.
d020 69 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 61 6c 72 65 61 64 79 20 64 65 66 69 6e if.the.function.is.already.defin
d040 65 64 2e 0a 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 64 65 66 6e 61 6d 65 20 28 69 66 20 28 61 ed........(let*.((defname.(if.(a
d060 6e 64 20 65 78 74 65 6e 64 65 64 20 28 66 62 6f 75 6e 64 70 20 6e 61 6d 65 29 29 0a 20 20 20 20 nd.extended.(fboundp.name)).....
d080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 74 65 72 6e 20 28 66 ......................(intern.(f
d0a0 6f 72 6d 61 74 20 22 63 6f 6d 70 61 74 2d 2d 25 73 22 20 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 ormat."compat--%s".name)).......
d0c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 ..................name))........
d0e0 20 20 20 20 20 20 28 64 65 66 20 60 28 2c 28 69 66 20 28 6d 65 6d 71 20 27 26 6b 65 79 20 61 72 ......(def.`(,(if.(memq.'&key.ar
d100 67 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 glist)..........................
d120 28 69 66 20 28 65 71 20 74 79 70 65 20 27 6d 61 63 72 6f 29 20 27 63 6c 2d 64 65 66 6d 61 63 72 (if.(eq.type.'macro).'cl-defmacr
d140 6f 20 27 63 6c 2d 64 65 66 75 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 o.'cl-defun)....................
d160 20 20 20 20 28 69 66 20 28 65 71 20 74 79 70 65 20 27 6d 61 63 72 6f 29 20 27 64 65 66 6d 61 63 ....(if.(eq.type.'macro).'defmac
d180 72 6f 20 27 64 65 66 75 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ro.'defun)).....................
d1a0 2c 64 65 66 6e 61 6d 65 20 2c 61 72 67 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ,defname.,arglist...............
d1c0 20 20 20 20 20 20 2c 28 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d 64 6f 63 73 74 72 69 6e 67 20 74 ......,(compat-macs--docstring.t
d1e0 79 70 65 20 6e 61 6d 65 20 64 6f 63 73 74 72 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ype.name.docstring).............
d200 20 20 20 20 20 20 20 20 2c 40 62 6f 64 79 29 29 29 0a 20 20 20 20 20 20 20 20 60 28 2c 40 28 69 ........,@body))).........`(,@(i
d220 66 20 28 65 71 20 64 65 66 6e 61 6d 65 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 f.(eq.defname.name).............
d240 20 20 20 20 3b 3b 20 41 6e 20 61 64 64 69 74 69 6f 6e 61 6c 20 66 62 6f 75 6e 64 70 20 63 68 65 ....;;.An.additional.fboundp.che
d260 63 6b 20 69 73 20 70 65 72 66 6f 72 6d 65 64 20 61 74 20 72 75 6e 74 69 6d 65 20 74 6f 20 6d 61 ck.is.performed.at.runtime.to.ma
d280 6b 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 75 72 65 20 74 68 61 74 20 ke.................;;.sure.that.
d2a0 77 65 20 6e 65 76 65 72 20 72 65 64 65 66 69 6e 65 20 61 6e 20 65 78 69 73 74 69 6e 67 20 64 65 we.never.redefine.an.existing.de
d2c0 66 69 6e 69 74 69 6f 6e 20 69 66 20 43 6f 6d 70 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 finition.if.Compat..............
d2e0 20 20 20 3b 3b 20 69 73 20 6c 6f 61 64 65 64 20 6f 6e 20 61 20 6e 65 77 65 72 20 45 6d 61 63 73 ...;;.is.loaded.on.a.newer.Emacs
d300 20 76 65 72 73 69 6f 6e 2e 20 20 44 65 63 6c 61 72 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 2c .version...Declare.the.function,
d320 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 73 75 63 68 20 74 68 61 74 20 74 68 .................;;.such.that.th
d340 65 20 62 79 74 65 20 63 6f 6d 70 69 6c 65 72 20 64 6f 65 73 20 6e 6f 74 20 63 6f 6d 70 6c 61 69 e.byte.compiler.does.not.complai
d360 6e 20 61 62 6f 75 74 20 70 6f 73 73 69 62 6c 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n.about.possibly................
d380 20 3b 3b 20 6d 69 73 73 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 20 61 74 20 72 75 6e 74 69 6d 65 .;;.missing.functions.at.runtime
d3a0 2e 20 54 68 65 20 77 61 72 6e 69 6e 67 73 20 61 72 65 20 67 65 6e 65 72 61 74 65 64 20 64 75 65 ..The.warnings.are.generated.due
d3c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 74 6f 20 74 68 65 20 66 62 6f 75 6e .................;;.to.the.fboun
d3e0 64 70 20 63 68 65 63 6b 2e 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 28 64 65 63 dp.check..................`((dec
d400 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 2c 6e 61 6d 65 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 lare-function.,name.nil)........
d420 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 66 62 6f 75 6e 64 70 20 27 2c 6e 61 ...........(unless.(fboundp.',na
d440 6d 65 29 20 2c 64 65 66 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 64 me).,def))...............(list.d
d460 65 66 29 29 0a 20 20 20 20 20 20 20 20 20 20 2c 40 28 77 68 65 6e 20 6f 62 73 6f 6c 65 74 65 0a ef))...........,@(when.obsolete.
d480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 28 6d 61 6b 65 2d 6f 62 73 6f 6c 65 74 65 0a 20 ..............`((make-obsolete..
d4a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 2c 64 65 66 6e 61 6d 65 20 2c 28 69 66 20 28 ................',defname.,(if.(
d4c0 73 74 72 69 6e 67 70 20 6f 62 73 6f 6c 65 74 65 29 20 6f 62 73 6f 6c 65 74 65 20 22 4e 6f 20 73 stringp.obsolete).obsolete."No.s
d4e0 75 62 73 74 69 74 75 74 65 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 63 6f ubstitute")..................,co
d500 6d 70 61 74 2d 6d 61 63 73 2d 2d 76 65 72 73 69 6f 6e 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 mpat-macs--version))))))))..(def
d520 6d 61 63 72 6f 20 63 6f 6d 70 61 74 2d 67 75 61 72 64 20 28 63 6f 6e 64 20 26 72 65 73 74 20 72 macro.compat-guard.(cond.&rest.r
d540 65 73 74 29 0a 20 20 22 47 75 61 72 64 20 64 65 66 69 6e 69 74 69 6f 6e 20 77 69 74 68 20 61 20 est)..."Guard.definition.with.a.
d560 72 75 6e 74 69 6d 65 20 43 4f 4e 44 20 61 6e 64 20 61 20 76 65 72 73 69 6f 6e 20 63 68 65 63 6b runtime.COND.and.a.version.check
d580 2e 0a 54 68 65 20 72 75 6e 74 69 6d 65 20 63 6f 6e 64 69 74 69 6f 6e 20 6d 75 73 74 20 6d 61 6b ..The.runtime.condition.must.mak
d5a0 65 20 73 75 72 65 20 74 68 61 74 20 6e 6f 20 64 65 66 69 6e 69 74 69 6f 6e 20 69 73 0a 6f 76 65 e.sure.that.no.definition.is.ove
d5c0 72 72 69 64 64 65 6e 2e 20 20 52 45 53 54 20 69 73 20 61 6e 20 61 74 74 72 69 62 75 74 65 20 70 rridden...REST.is.an.attribute.p
d5e0 6c 69 73 74 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 0a list.followed.by.the.definition.
d600 62 6f 64 79 2e 20 20 54 68 65 20 61 74 74 72 69 62 75 74 65 73 20 73 70 65 63 69 66 79 20 74 68 body...The.attributes.specify.th
d620 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 75 6e 64 65 72 20 77 68 69 63 68 20 74 68 65 0a 64 65 66 e.conditions.under.which.the.def
d640 69 6e 69 74 69 6f 6e 20 69 73 20 67 65 6e 65 72 61 74 65 64 2e 0a 0a 2d 20 3a 66 65 61 74 75 72 inition.is.generated...-.:featur
d660 65 20 3a 3a 20 57 72 61 70 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 77 69 74 68 20 60 77 e.::.Wrap.the.definition.with.`w
d680 69 74 68 2d 65 76 61 6c 2d 61 66 74 65 72 2d 6c 6f 61 64 27 20 66 6f 72 0a 20 20 74 68 65 20 67 ith-eval-after-load'.for...the.g
d6a0 69 76 65 6e 20 66 65 61 74 75 72 65 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 iven.feature."...(declare.(debug
d6c0 20 28 5b 26 72 65 73 74 20 6b 65 79 77 6f 72 64 70 20 73 65 78 70 5d 20 64 65 66 2d 62 6f 64 79 .([&rest.keywordp.sexp].def-body
d6e0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 64 65 6e 74 20 31 29 29 0a 20 20 28 63 6f 6d ))............(indent.1))...(com
d700 70 61 74 2d 6d 61 63 73 2d 2d 67 75 61 72 64 20 72 65 73 74 20 27 28 3a 62 6f 64 79 20 74 29 0a pat-macs--guard.rest.'(:body.t).
d720 20 20 20 20 28 6c 61 6d 62 64 61 20 28 62 6f 64 79 29 0a 20 20 20 20 20 20 28 63 6f 6d 70 61 74 ....(lambda.(body).......(compat
d740 2d 6d 61 63 73 2d 2d 61 73 73 65 72 74 20 62 6f 64 79 20 22 54 68 65 20 67 75 61 72 64 65 64 20 -macs--assert.body."The.guarded.
d760 62 6f 64 79 20 69 73 20 65 6d 70 74 79 22 29 0a 20 20 20 20 20 20 28 69 66 20 28 65 71 20 63 6f body.is.empty").......(if.(eq.co
d780 6e 64 20 74 29 0a 20 20 20 20 20 20 20 20 20 20 62 6f 64 79 0a 20 20 20 20 20 20 20 20 28 63 6f nd.t)...........body.........(co
d7a0 6d 70 61 74 2d 6d 61 63 73 2d 2d 73 74 72 69 63 74 20 28 65 76 61 6c 20 63 6f 6e 64 20 74 29 20 mpat-macs--strict.(eval.cond.t).
d7c0 22 47 75 61 72 64 20 25 53 20 66 61 69 6c 65 64 22 20 63 6f 6e 64 29 0a 20 20 20 20 20 20 20 20 "Guard.%S.failed".cond).........
d7e0 60 28 28 77 68 65 6e 20 2c 63 6f 6e 64 20 2c 40 62 6f 64 79 29 29 29 29 29 29 0a 0a 28 64 65 66 `((when.,cond.,@body))))))..(def
d800 6d 61 63 72 6f 20 63 6f 6d 70 61 74 2d 64 65 66 61 6c 69 61 73 20 28 6e 61 6d 65 20 64 65 66 20 macro.compat-defalias.(name.def.
d820 26 72 65 73 74 20 61 74 74 72 73 29 0a 20 20 22 44 65 66 69 6e 65 20 63 6f 6d 70 61 74 69 62 69 &rest.attrs)..."Define.compatibi
d840 6c 69 74 79 20 61 6c 69 61 73 20 4e 41 4d 45 20 61 73 20 44 45 46 2e 0a 41 54 54 52 53 20 69 73 lity.alias.NAME.as.DEF..ATTRS.is
d860 20 61 20 70 6c 69 73 74 20 6f 66 20 61 74 74 72 69 62 75 74 65 73 2c 20 77 68 69 63 68 20 73 70 .a.plist.of.attributes,.which.sp
d880 65 63 69 66 79 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 0a 75 6e 64 65 72 20 77 68 69 63 68 ecify.the.conditions.under.which
d8a0 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 69 73 20 67 65 6e 65 72 61 74 65 64 2e 0a 0a 2d .the.definition.is.generated...-
d8c0 20 3a 6f 62 73 6f 6c 65 74 65 20 3a 3a 20 4d 61 72 6b 20 74 68 65 20 61 6c 69 61 73 20 61 73 20 .:obsolete.::.Mark.the.alias.as.
d8e0 6f 62 73 6f 6c 65 74 65 20 69 66 20 74 2e 0a 0a 2d 20 3a 66 65 61 74 75 72 65 20 3a 3a 20 53 65 obsolete.if.t...-.:feature.::.Se
d900 65 20 60 63 6f 6d 70 61 74 2d 67 75 61 72 64 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 e.`compat-guard'."...(declare.(d
d920 65 62 75 67 20 28 6e 61 6d 65 20 73 79 6d 62 6f 6c 70 20 5b 26 72 65 73 74 20 6b 65 79 77 6f 72 ebug.(name.symbolp.[&rest.keywor
d940 64 70 20 73 65 78 70 5d 29 29 29 0a 20 20 28 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d 67 75 61 72 dp.sexp])))...(compat-macs--guar
d960 64 20 61 74 74 72 73 20 27 28 3a 6f 62 73 6f 6c 65 74 65 20 62 6f 6f 6c 65 61 6e 70 29 0a 20 20 d.attrs.'(:obsolete.booleanp)...
d980 20 20 28 6c 61 6d 62 64 61 20 28 6f 62 73 6f 6c 65 74 65 29 0a 20 20 20 20 20 20 28 63 6f 6d 70 ..(lambda.(obsolete).......(comp
d9a0 61 74 2d 6d 61 63 73 2d 2d 73 74 72 69 63 74 20 28 6e 6f 74 20 28 66 62 6f 75 6e 64 70 20 6e 61 at-macs--strict.(not.(fboundp.na
d9c0 6d 65 29 29 20 22 25 73 20 61 6c 72 65 61 64 79 20 64 65 66 69 6e 65 64 22 20 6e 61 6d 65 29 0a me))."%s.already.defined".name).
d9e0 20 20 20 20 20 20 3b 3b 20 54 68 65 20 66 62 6f 75 6e 64 70 20 63 68 65 63 6b 20 69 73 20 70 65 ......;;.The.fboundp.check.is.pe
da00 72 66 6f 72 6d 65 64 20 61 74 20 72 75 6e 74 69 6d 65 20 74 6f 20 6d 61 6b 65 20 73 75 72 65 20 rformed.at.runtime.to.make.sure.
da20 74 68 61 74 20 77 65 20 6e 65 76 65 72 0a 20 20 20 20 20 20 3b 3b 20 72 65 64 65 66 69 6e 65 20 that.we.never.......;;.redefine.
da40 61 6e 20 65 78 69 73 74 69 6e 67 20 64 65 66 69 6e 69 74 69 6f 6e 20 69 66 20 43 6f 6d 70 61 74 an.existing.definition.if.Compat
da60 20 69 73 20 6c 6f 61 64 65 64 20 6f 6e 20 61 20 6e 65 77 65 72 20 45 6d 61 63 73 0a 20 20 20 20 .is.loaded.on.a.newer.Emacs.....
da80 20 20 3b 3b 20 76 65 72 73 69 6f 6e 2e 0a 20 20 20 20 20 20 60 28 28 75 6e 6c 65 73 73 20 28 66 ..;;.version........`((unless.(f
daa0 62 6f 75 6e 64 70 20 27 2c 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 64 65 66 61 6c 69 boundp.',name)...........(defali
dac0 61 73 20 27 2c 6e 61 6d 65 20 27 2c 64 65 66 0a 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 63 6f as.',name.',def.............,(co
dae0 6d 70 61 74 2d 6d 61 63 73 2d 2d 64 6f 63 73 74 72 69 6e 67 20 27 66 75 6e 63 74 69 6f 6e 20 6e mpat-macs--docstring.'function.n
db00 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ame.............................
db20 20 20 20 20 28 67 65 74 20 6e 61 6d 65 20 27 66 75 6e 63 74 69 6f 6e 2d 64 6f 63 75 6d 65 6e 74 ....(get.name.'function-document
db40 61 74 69 6f 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 2c 40 28 77 68 65 6e 20 6f 62 73 6f 6c ation)))...........,@(when.obsol
db60 65 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 28 6d 61 6b 65 2d 6f 62 73 6f 6c 65 ete...............`((make-obsole
db80 74 65 20 27 2c 6e 61 6d 65 20 27 2c 64 65 66 20 2c 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d 76 65 te.',name.',def.,compat-macs--ve
dba0 72 73 69 6f 6e 29 29 29 29 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 63 6f 6d 70 61 74 2d rsion))))))))..(defmacro.compat-
dbc0 64 65 66 75 6e 20 28 6e 61 6d 65 20 61 72 67 6c 69 73 74 20 64 6f 63 73 74 72 69 6e 67 20 26 72 defun.(name.arglist.docstring.&r
dbe0 65 73 74 20 72 65 73 74 29 0a 20 20 22 44 65 66 69 6e 65 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 est.rest)..."Define.compatibilit
dc00 79 20 66 75 6e 63 74 69 6f 6e 20 4e 41 4d 45 20 77 69 74 68 20 61 72 67 75 6d 65 6e 74 73 20 41 y.function.NAME.with.arguments.A
dc20 52 47 4c 49 53 54 2e 0a 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 6d 75 73 74 20 62 65 20 64 6f 63 RGLIST..The.function.must.be.doc
dc40 75 6d 65 6e 74 65 64 20 69 6e 20 44 4f 43 53 54 52 49 4e 47 2e 20 20 52 45 53 54 20 69 73 20 61 umented.in.DOCSTRING...REST.is.a
dc60 6e 0a 61 74 74 72 69 62 75 74 65 20 70 6c 69 73 74 20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 74 68 n.attribute.plist.followed.by.th
dc80 65 20 66 75 6e 63 74 69 6f 6e 20 62 6f 64 79 2e 20 20 54 68 65 20 61 74 74 72 69 62 75 74 65 73 e.function.body...The.attributes
dca0 0a 73 70 65 63 69 66 79 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 75 6e 64 65 72 20 77 68 .specify.the.conditions.under.wh
dcc0 69 63 68 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 20 69 73 20 67 65 6e 65 72 61 74 65 64 2e ich.the.definition.is.generated.
dce0 0a 0a 2d 20 3a 65 78 74 65 6e 64 65 64 20 3a 3a 20 4d 61 72 6b 20 74 68 65 20 66 75 6e 63 74 69 ..-.:extended.::.Mark.the.functi
dd00 6f 6e 20 61 73 20 65 78 74 65 6e 64 65 64 20 69 66 20 74 2e 20 20 54 68 65 20 66 75 6e 63 74 69 on.as.extended.if.t...The.functi
dd20 6f 6e 0a 20 20 6d 75 73 74 20 62 65 20 63 61 6c 6c 65 64 20 65 78 70 6c 69 63 69 74 6c 79 20 76 on...must.be.called.explicitly.v
dd40 69 61 20 60 63 6f 6d 70 61 74 2d 63 61 6c 6c 27 2e 20 20 54 68 69 73 20 61 74 74 72 69 62 75 74 ia.`compat-call'...This.attribut
dd60 65 0a 20 20 73 68 6f 75 6c 64 20 62 65 20 75 73 65 64 20 66 6f 72 20 66 75 6e 63 74 69 6f 6e 73 e...should.be.used.for.functions
dd80 20 77 68 69 63 68 20 65 78 74 65 6e 64 20 61 6c 72 65 61 64 79 20 65 78 69 73 74 69 6e 67 0a 20 .which.extend.already.existing..
dda0 20 66 75 6e 63 74 69 6f 6e 73 2c 20 65 2e 67 2e 2c 20 66 75 6e 63 74 69 6f 6e 73 20 77 68 69 63 .functions,.e.g.,.functions.whic
ddc0 68 20 63 68 61 6e 67 65 64 20 74 68 65 69 72 20 63 61 6c 6c 69 6e 67 0a 20 20 63 6f 6e 76 65 6e h.changed.their.calling...conven
dde0 74 69 6f 6e 20 6f 72 20 74 68 65 69 72 20 62 65 68 61 76 69 6f 72 2e 20 20 54 68 65 20 76 61 6c tion.or.their.behavior...The.val
de00 75 65 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 61 20 76 65 72 73 69 6f 6e 0a 20 20 73 74 72 69 6e ue.can.also.be.a.version...strin
de20 67 2c 20 77 68 69 63 68 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20 45 6d 61 63 73 20 76 65 72 g,.which.specifies.the.Emacs.ver
de40 73 69 6f 6e 20 77 68 65 6e 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 0a 20 20 76 65 72 73 69 6f 6e sion.when.the.original...version
de60 20 6f 66 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 77 61 73 20 69 6e 74 72 6f 64 75 63 65 64 2e .of.the.function.was.introduced.
de80 0a 0a 2d 20 3a 6f 62 73 6f 6c 65 74 65 20 3a 3a 20 4d 61 72 6b 20 74 68 65 20 66 75 6e 63 74 69 ..-.:obsolete.::.Mark.the.functi
dea0 6f 6e 20 61 73 20 6f 62 73 6f 6c 65 74 65 20 69 66 20 74 2c 20 63 61 6e 20 62 65 20 61 0a 20 20 on.as.obsolete.if.t,.can.be.a...
dec0 73 74 72 69 6e 67 20 64 65 73 63 72 69 62 69 6e 67 20 74 68 65 20 6f 62 73 6f 6c 65 74 69 6f 6e string.describing.the.obsoletion
dee0 2e 0a 0a 2d 20 3a 66 65 61 74 75 72 65 20 3a 3a 20 53 65 65 20 60 63 6f 6d 70 61 74 2d 67 75 61 ...-.:feature.::.See.`compat-gua
df00 72 64 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 65 62 75 67 20 28 26 64 65 66 69 6e 65 rd'."...(declare.(debug.(&define
df20 20 6e 61 6d 65 20 28 26 72 65 73 74 20 73 79 6d 62 6f 6c 70 29 0a 20 20 20 20 20 20 20 20 20 20 .name.(&rest.symbolp)...........
df40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 74 72 69 6e 67 70 0a 20 20 20 20 20 20 20 .................stringp........
df60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 26 72 65 73 74 20 6b 65 79 77 6f ....................[&rest.keywo
df80 72 64 70 20 73 65 78 70 5d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rdp.sexp].......................
dfa0 20 20 20 20 20 64 65 66 2d 62 6f 64 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 64 6f 63 2d .....def-body))............(doc-
dfc0 73 74 72 69 6e 67 20 33 29 20 28 69 6e 64 65 6e 74 20 32 29 29 0a 20 20 28 63 6f 6d 70 61 74 2d string.3).(indent.2))...(compat-
dfe0 6d 61 63 73 2d 2d 64 65 66 75 6e 20 27 66 75 6e 63 74 69 6f 6e 20 6e 61 6d 65 20 61 72 67 6c 69 macs--defun.'function.name.argli
e000 73 74 20 64 6f 63 73 74 72 69 6e 67 20 72 65 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 63 st.docstring.rest))..(defmacro.c
e020 6f 6d 70 61 74 2d 64 65 66 6d 61 63 72 6f 20 28 6e 61 6d 65 20 61 72 67 6c 69 73 74 20 64 6f 63 ompat-defmacro.(name.arglist.doc
e040 73 74 72 69 6e 67 20 26 72 65 73 74 20 72 65 73 74 29 0a 20 20 22 44 65 66 69 6e 65 20 63 6f 6d string.&rest.rest)..."Define.com
e060 70 61 74 69 62 69 6c 69 74 79 20 6d 61 63 72 6f 20 4e 41 4d 45 20 77 69 74 68 20 61 72 67 75 6d patibility.macro.NAME.with.argum
e080 65 6e 74 73 20 41 52 47 4c 49 53 54 2e 0a 54 68 65 20 6d 61 63 72 6f 20 6d 75 73 74 20 62 65 20 ents.ARGLIST..The.macro.must.be.
e0a0 64 6f 63 75 6d 65 6e 74 65 64 20 69 6e 20 44 4f 43 53 54 52 49 4e 47 2e 20 20 52 45 53 54 20 69 documented.in.DOCSTRING...REST.i
e0c0 73 20 61 6e 20 61 74 74 72 69 62 75 74 65 0a 70 6c 69 73 74 20 66 6f 6c 6c 6f 77 65 64 20 62 79 s.an.attribute.plist.followed.by
e0e0 20 74 68 65 20 6d 61 63 72 6f 20 62 6f 64 79 2e 20 20 53 65 65 20 60 63 6f 6d 70 61 74 2d 64 65 .the.macro.body...See.`compat-de
e100 66 75 6e 27 20 66 6f 72 0a 64 65 74 61 69 6c 73 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 64 fun'.for.details."...(declare.(d
e120 65 62 75 67 20 63 6f 6d 70 61 74 2d 64 65 66 75 6e 29 20 28 64 6f 63 2d 73 74 72 69 6e 67 20 33 ebug.compat-defun).(doc-string.3
e140 29 20 28 69 6e 64 65 6e 74 20 32 29 29 0a 20 20 28 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d 64 65 ).(indent.2))...(compat-macs--de
e160 66 75 6e 20 27 6d 61 63 72 6f 20 6e 61 6d 65 20 61 72 67 6c 69 73 74 20 64 6f 63 73 74 72 69 6e fun.'macro.name.arglist.docstrin
e180 67 20 72 65 73 74 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 63 6f 6d 70 61 74 2d 64 65 66 76 61 g.rest))..(defmacro.compat-defva
e1a0 72 20 28 6e 61 6d 65 20 69 6e 69 74 76 61 6c 20 64 6f 63 73 74 72 69 6e 67 20 26 72 65 73 74 20 r.(name.initval.docstring.&rest.
e1c0 61 74 74 72 73 29 0a 20 20 22 44 65 66 69 6e 65 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 76 attrs)..."Define.compatibility.v
e1e0 61 72 69 61 62 6c 65 20 4e 41 4d 45 20 77 69 74 68 20 69 6e 69 74 69 61 6c 20 76 61 6c 75 65 20 ariable.NAME.with.initial.value.
e200 49 4e 49 54 56 41 4c 2e 0a 54 68 65 20 76 61 72 69 61 62 6c 65 20 6d 75 73 74 20 62 65 20 64 6f INITVAL..The.variable.must.be.do
e220 63 75 6d 65 6e 74 65 64 20 69 6e 20 44 4f 43 53 54 52 49 4e 47 2e 20 20 41 54 54 52 53 20 69 73 cumented.in.DOCSTRING...ATTRS.is
e240 20 61 20 70 6c 69 73 74 0a 6f 66 20 61 74 74 72 69 62 75 74 65 73 2c 20 77 68 69 63 68 20 73 70 .a.plist.of.attributes,.which.sp
e260 65 63 69 66 79 20 74 68 65 20 63 6f 6e 64 69 74 69 6f 6e 73 20 75 6e 64 65 72 20 77 68 69 63 68 ecify.the.conditions.under.which
e280 20 74 68 65 0a 64 65 66 69 6e 69 74 69 6f 6e 20 69 73 20 67 65 6e 65 72 61 74 65 64 2e 0a 0a 2d .the.definition.is.generated...-
e2a0 20 3a 63 6f 6e 73 74 61 6e 74 20 3a 3a 20 4d 61 72 6b 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 .:constant.::.Mark.the.variable.
e2c0 61 73 20 63 6f 6e 73 74 61 6e 74 20 69 66 20 74 2e 0a 0a 2d 20 3a 6c 6f 63 61 6c 20 3a 3a 20 4d as.constant.if.t...-.:local.::.M
e2e0 61 6b 65 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 69 66 ake.the.variable.buffer-local.if
e300 20 74 2e 20 20 49 66 20 74 68 65 20 76 61 6c 75 65 20 69 73 0a 20 20 60 70 65 72 6d 61 6e 65 6e .t...If.the.value.is...`permanen
e320 74 27 20 6d 61 6b 65 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 61 64 64 69 74 69 6f 6e 61 6c 6c t'.make.the.variable.additionall
e340 79 20 70 65 72 6d 61 6e 65 6e 74 6c 79 20 6c 6f 63 61 6c 2e 0a 0a 2d 20 3a 6f 62 73 6f 6c 65 74 y.permanently.local...-.:obsolet
e360 65 20 3a 3a 20 4d 61 72 6b 20 74 68 65 20 76 61 72 69 61 62 6c 65 20 61 73 20 6f 62 73 6f 6c 65 e.::.Mark.the.variable.as.obsole
e380 74 65 20 69 66 20 74 2c 20 63 61 6e 20 62 65 20 61 0a 20 20 73 74 72 69 6e 67 20 64 65 73 63 72 te.if.t,.can.be.a...string.descr
e3a0 69 62 69 6e 67 20 74 68 65 20 6f 62 73 6f 6c 65 74 69 6f 6e 2e 0a 0a 2d 20 3a 66 65 61 74 75 72 ibing.the.obsoletion...-.:featur
e3c0 65 20 3a 3a 20 53 65 65 20 60 63 6f 6d 70 61 74 2d 67 75 61 72 64 27 2e 22 0a 20 20 28 64 65 63 e.::.See.`compat-guard'."...(dec
e3e0 6c 61 72 65 20 28 64 65 62 75 67 20 28 6e 61 6d 65 20 66 6f 72 6d 20 73 74 72 69 6e 67 70 20 5b lare.(debug.(name.form.stringp.[
e400 26 72 65 73 74 20 6b 65 79 77 6f 72 64 70 20 73 65 78 70 5d 29 29 0a 20 20 20 20 20 20 20 20 20 &rest.keywordp.sexp]))..........
e420 20 20 28 64 6f 63 2d 73 74 72 69 6e 67 20 33 29 20 28 69 6e 64 65 6e 74 20 32 29 29 0a 20 20 28 ..(doc-string.3).(indent.2))...(
e440 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d 67 75 61 72 64 0a 20 20 20 20 20 20 61 74 74 72 73 20 28 compat-macs--guard.......attrs.(
e460 6c 69 73 74 20 3a 63 6f 6e 73 74 61 6e 74 20 23 27 62 6f 6f 6c 65 61 6e 70 0a 20 20 20 20 20 20 list.:constant.#'booleanp.......
e480 20 20 20 20 20 20 20 20 20 20 20 20 3a 6c 6f 63 61 6c 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 ............:local.(lambda.(x).(
e4a0 6d 65 6d 71 20 78 20 27 28 6e 69 6c 20 74 20 70 65 72 6d 61 6e 65 6e 74 29 29 29 0a 20 20 20 20 memq.x.'(nil.t.permanent))).....
e4c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6f 62 73 6f 6c 65 74 65 20 28 6c 61 6d 62 64 61 20 ..............:obsolete.(lambda.
e4e0 28 78 29 20 28 6f 72 20 28 62 6f 6f 6c 65 61 6e 70 20 78 29 20 28 73 74 72 69 6e 67 70 20 78 29 (x).(or.(booleanp.x).(stringp.x)
e500 29 29 29 0a 20 20 20 20 28 6c 61 6d 62 64 61 20 28 63 6f 6e 73 74 61 6e 74 20 6c 6f 63 61 6c 20 ))).....(lambda.(constant.local.
e520 6f 62 73 6f 6c 65 74 65 29 0a 20 20 20 20 20 20 28 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d 73 74 obsolete).......(compat-macs--st
e540 72 69 63 74 20 28 6e 6f 74 20 28 62 6f 75 6e 64 70 20 6e 61 6d 65 29 29 20 22 25 73 20 61 6c 72 rict.(not.(boundp.name))."%s.alr
e560 65 61 64 79 20 64 65 66 69 6e 65 64 22 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 28 63 6f 6d 70 61 eady.defined".name).......(compa
e580 74 2d 6d 61 63 73 2d 2d 61 73 73 65 72 74 20 28 6e 6f 74 20 28 61 6e 64 20 63 6f 6e 73 74 61 6e t-macs--assert.(not.(and.constan
e5a0 74 20 6c 6f 63 61 6c 29 29 20 22 42 6f 74 68 20 3a 63 6f 6e 73 74 61 6e 74 20 61 6e 64 20 3a 6c t.local))."Both.:constant.and.:l
e5c0 6f 63 61 6c 22 29 0a 20 20 20 20 20 20 3b 3b 20 54 68 65 20 62 6f 75 6e 64 70 20 63 68 65 63 6b ocal").......;;.The.boundp.check
e5e0 20 69 73 20 70 65 72 66 6f 72 6d 65 64 20 61 74 20 72 75 6e 74 69 6d 65 20 74 6f 20 6d 61 6b 65 .is.performed.at.runtime.to.make
e600 20 73 75 72 65 20 74 68 61 74 20 77 65 20 6e 65 76 65 72 0a 20 20 20 20 20 20 3b 3b 20 72 65 64 .sure.that.we.never.......;;.red
e620 65 66 69 6e 65 20 61 6e 20 65 78 69 73 74 69 6e 67 20 64 65 66 69 6e 69 74 69 6f 6e 20 69 66 20 efine.an.existing.definition.if.
e640 43 6f 6d 70 61 74 20 69 73 20 6c 6f 61 64 65 64 20 6f 6e 20 61 20 6e 65 77 65 72 20 45 6d 61 63 Compat.is.loaded.on.a.newer.Emac
e660 73 0a 20 20 20 20 20 20 3b 3b 20 76 65 72 73 69 6f 6e 2e 0a 20 20 20 20 20 20 60 28 28 64 65 66 s.......;;.version........`((def
e680 76 61 72 20 2c 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 62 6f 75 6e var.,name).........(unless.(boun
e6a0 64 70 20 27 2c 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 2c 28 69 66 20 63 6f 6e 73 74 dp.',name)...........(,(if.const
e6c0 61 6e 74 20 27 64 65 66 63 6f 6e 73 74 20 27 64 65 66 76 61 72 29 0a 20 20 20 20 20 20 20 20 20 ant.'defconst.'defvar)..........
e6e0 20 20 2c 6e 61 6d 65 20 2c 69 6e 69 74 76 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 2c 28 63 6f ..,name.,initval............,(co
e700 6d 70 61 74 2d 6d 61 63 73 2d 2d 64 6f 63 73 74 72 69 6e 67 20 27 76 61 72 69 61 62 6c 65 20 6e mpat-macs--docstring.'variable.n
e720 61 6d 65 20 64 6f 63 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 2c 40 28 77 68 65 ame.docstring))...........,@(whe
e740 6e 20 6f 62 73 6f 6c 65 74 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 28 6d 61 6b 65 n.obsolete...............`((make
e760 2d 6f 62 73 6f 6c 65 74 65 2d 76 61 72 69 61 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 -obsolete-variable..............
e780 20 20 20 20 27 2c 6e 61 6d 65 20 2c 28 69 66 20 28 73 74 72 69 6e 67 70 20 6f 62 73 6f 6c 65 74 ....',name.,(if.(stringp.obsolet
e7a0 65 29 20 6f 62 73 6f 6c 65 74 65 20 22 4e 6f 20 73 75 62 73 74 69 74 75 74 65 22 29 0a 20 20 20 e).obsolete."No.substitute")....
e7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d 76 65 72 73 ..............,compat-macs--vers
e7e0 69 6f 6e 29 29 29 29 0a 20 20 20 20 20 20 20 20 2c 40 28 61 6e 64 20 6c 6f 63 61 6c 20 60 28 28 ion)))).........,@(and.local.`((
e800 6d 61 6b 65 2d 76 61 72 69 61 62 6c 65 2d 62 75 66 66 65 72 2d 6c 6f 63 61 6c 20 27 2c 6e 61 6d make-variable-buffer-local.',nam
e820 65 29 29 29 0a 20 20 20 20 20 20 20 20 2c 40 28 61 6e 64 20 28 65 71 20 6c 6f 63 61 6c 20 27 70 e))).........,@(and.(eq.local.'p
e840 65 72 6d 61 6e 65 6e 74 29 20 60 28 28 70 75 74 20 27 2c 6e 61 6d 65 20 27 70 65 72 6d 61 6e 65 ermanent).`((put.',name.'permane
e860 6e 74 2d 6c 6f 63 61 6c 20 74 29 29 29 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 63 6f 6d nt-local.t)))))))..(defmacro.com
e880 70 61 74 2d 76 65 72 73 69 6f 6e 20 28 76 65 72 73 69 6f 6e 29 0a 20 20 22 53 65 74 20 74 68 65 pat-version.(version)..."Set.the
e8a0 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 20 74 68 61 74 20 69 73 20 63 75 72 72 65 6e 74 6c 79 .Emacs.version.that.is.currently
e8c0 20 62 65 69 6e 67 20 68 61 6e 64 6c 65 64 20 74 6f 20 56 45 52 53 49 4f 4e 2e 22 0a 20 20 28 73 .being.handled.to.VERSION."...(s
e8e0 65 74 71 20 63 6f 6d 70 61 74 2d 6d 61 63 73 2d 2d 76 65 72 73 69 6f 6e 20 76 65 72 73 69 6f 6e etq.compat-macs--version.version
e900 29 0a 20 20 6e 69 6c 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 63 6f 6d 70 61 74 2d 72 65 71 75 69 )...nil)..(defmacro.compat-requi
e920 72 65 20 28 66 65 61 74 75 72 65 20 76 65 72 73 69 6f 6e 29 0a 20 20 22 52 65 71 75 69 72 65 20 re.(feature.version)..."Require.
e940 46 45 41 54 55 52 45 20 69 66 20 74 68 65 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 20 69 73 20 FEATURE.if.the.Emacs.version.is.
e960 6c 65 73 73 20 74 68 61 6e 20 56 45 52 53 49 4f 4e 2e 22 0a 20 20 28 77 68 65 6e 20 28 76 65 72 less.than.VERSION."...(when.(ver
e980 73 69 6f 6e 3c 20 65 6d 61 63 73 2d 76 65 72 73 69 6f 6e 20 76 65 72 73 69 6f 6e 29 0a 20 20 20 sion<.emacs-version.version)....
e9a0 20 28 72 65 71 75 69 72 65 20 66 65 61 74 75 72 65 29 0a 20 20 20 20 60 28 72 65 71 75 69 72 65 .(require.feature).....`(require
e9c0 20 27 2c 66 65 61 74 75 72 65 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 63 6f 6d 70 61 74 2d .',feature)))..(provide.'compat-
e9e0 6d 61 63 73 29 0a 3b 3b 3b 20 63 6f 6d 70 61 74 2d 6d 61 63 73 2e 65 6c 20 65 6e 64 73 20 68 65 macs).;;;.compat-macs.el.ends.he
ea00 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 re..............................
ea20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ea40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ea60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ea80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eaa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eb80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
eba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ebc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ebe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ec00 63 6f 6d 70 61 74 2d 32 39 2e 31 2e 34 2e 35 2f 4e 45 57 53 2e 6f 72 67 00 00 00 00 00 00 00 00 compat-29.1.4.5/NEWS.org........
ec20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ec40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ec60 00 00 00 00 30 30 30 30 36 34 34 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000644.0000000.0000000.0000
ec80 30 30 33 32 35 34 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 31 36 37 00 20 30 00 00 00 0032542.00000000000.013167..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 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
ee20 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:.
ee40 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
ee60 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/.#+
ee80 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:
eea0 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
eec0 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 74 69 6f on.29.1.4.5..-.Minor.optimizatio
eee0 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 75 74 7e n.of.~plist-get~.and.~plist-put~
ef00 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 74 6d 65 ..-.Minor.compatibility.adjustme
ef20 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 65 6e 74 nts.for.the.Emacs.30.development
ef40 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 20 6f 66 .version..-.A.minimal.version.of
ef60 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 45 6d 61 .=compat.el=.will.be.part.of.Ema
ef80 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 20 63 61 cs.30..Emacs.:core.packages...ca
efa0 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 7e 20 77 n.directly.~(require.'compat)~.w
efc0 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 72 74 68 ithout.the.~NOERROR~.flag..Furth
efe0 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 6e 73 74 ermore.Compat...will.not.be.inst
f000 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 6b 61 67 alled.unnecessarily..If.a.packag
f020 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 0a 20 20 e.depending.on.Emacs.25.1.and...
f040 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 6d 61 63 Compat.29.1.is.installed.on.Emac
f060 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 62 65 20 s.30.1,.Compat.29.1.will.not.be.
f080 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 45 6d 61 installed.from...ELPA,.since.Ema
f0a0 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 72 65 71 cs.30.1.already.provides.the.req
f0c0 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 65 20 3c uired.functionality...(Release.<
f0e0 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 66 20 22 2024-03-16.Sat>)..*.Release.of."
f100 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 69 78 20 Compat".Version.29.1.4.4..-.Fix.
f120 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 63 6f 6d ~Package-Requires~.header.in.com
f140 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 64 65 72 pat.el.-.Fix.~Maintainer~.header
f160 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 2d 31 31 .in.compat.el..(Release.<2023-11
f180 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 61 74 22 -13.Mon>)..*.Release.of."Compat"
f1a0 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 39 3a 20 .Version.29.1.4.3..-.compat-29:.
f1c0 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 70 3d 2e Add.function.=char-uppercase-p=.
f1e0 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 69 6e 64 .-.compat-29:.Add.function.=wind
f200 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 52 65 6c ow-configuration-equal-p=...(Rel
f220 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 65 61 73 ease.<2023-11-04.Sat>)..*.Releas
f240 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 32 0a 0a e.of."Compat".Version.29.1.4.2..
f260 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 70 61 72 -.compat-28:.Improve.=make-separ
f280 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 20 64 69 ator-line=.visuals.on.graphic.di
f2a0 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 69 76 65 splays..-.compat-28:.Add.=native
f2c0 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 61 79 73 -comp-available-p=,.which.always
f2e0 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 64 20 76 .returns.nil..-.compat-29:.Add.v
f300 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 65 6c 65 ariable.=lisp-directory=...(Rele
f320 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 61 73 65 ase.<2023-07-30.Sun>)..*.Release
f340 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 0a 0a 2d .of."Compat".Version.29.1.4.1..-
f360 20 63 6f 6d 70 61 74 2d 32 39 3a 20 41 64 64 20 7e 64 69 72 65 63 74 6f 72 79 2d 61 62 62 72 65 .compat-29:.Add.~directory-abbre
f380 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 69 72 65 v-apply~..-.compat-29:.Add.~dire
f3a0 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 52 65 6c ctory-abbrev-make-regexp~...(Rel
f3c0 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 65 61 73 ease.<2023-03-26.Sun>)..*.Releas
f3e0 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 30 0a 0a e.of."Compat".Version.29.1.4.0..
f400 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 6f 6d 70 -.compat-27:.Drop.obsolete.~comp
f420 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 73 7e 2e at-call.dired-get-marked-files~.
f440 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 20 7e 64 .-.compat-28:.Add.support.for.~d
f460 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 6d 70 61 efcustom~.type.~natnum~..-.compa
f480 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 61 6e 64 t-29:.Add.~with-restriction~.and
f4a0 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 70 61 74 .~without-restriction~..-.compat
f4c0 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 6f 6d 70 -29:.Add.~cl-constantly~..-.comp
f4e0 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 77 68 69 at-29:.Drop.~with-narrowing~.whi
f500 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 69 63 74 ch.was.renamed.to.~with-restrict
f520 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 74 20 66 ion~..-.compat-28:.Add.support.f
f540 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 52 65 6c or.~defcustom~.type.~key~...(Rel
f560 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 65 61 73 ease.<2023-03-05.Sun>)..*.Releas
f580 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 34 0a 0a e.of."Compat".Version.29.1.3.4..
f5a0 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 65 64 20 -.Ensure.that.~seq~.is.required.
f5c0 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 20 61 6e properly.both.at.compile.time.an
f5e0 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 61 74 69 d.runtime,.such...that.compilati
f600 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 6b 73 20 on.of.downstream.packages.works.
f620 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 20 20 63 even.if.Compat.itself.is.not...c
f640 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 20 63 6f ompiled..Magit.uses.a.complex.co
f660 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 77 68 65 ntinuous.integration.system,.whe
f680 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 73 74 65 re.Magit.is...compiled.and.teste
f6a0 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 79 20 69 d,.while.the.Compat.dependency.i
f6c0 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 41 64 64 s.not.compiled..-.compat-28:.Add
f6e0 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 75 73 7e .~process-lines-handling-status~
f700 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 61 74 75 .and.~process-lines-ignore-statu
f720 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 3e 29 0a s~...(Release.<2023-02-11.Sat>).
f740 0a 2a 20 52 65 6c 65 61 73 65 20 6f 66 20 22 43 6f 6d 70 61 74 22 20 56 65 72 73 69 6f 6e 20 32 .*.Release.of."Compat".Version.2
f760 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 74 68 2d 9.1.3.3..-.compat-27:.Add.~with-
f780 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 74 2d 32 suppressed-warnings~..-.compat-2
f7a0 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 7e 63 6c 9:.Add.~cl-with-gensyms~.and.~cl
f7c0 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 64 20 7e -once-only~..-.compat-29:.Load.~
f7e0 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 6d 61 63 seq~,.which.is.preloaded.on.Emac
f800 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 65 64 3e s.29...(Release.<2023-02-08.Wed>
f820 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
f840 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 6d 61 6b .29.1.3.2..-.compat-26:.Add.~mak
f860 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 67 75 6d e-temp-file~.with.optional.argum
f880 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 63 6f 6d ent.TEXT..-.compat-27:.Mark.~com
f8a0 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 73 7e pat-call.dired-get-marked-files~
f8c0 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 6f 6e 20 .as.obsolete..See.the...section.
f8e0 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 75 61 6c limitations.in.the.Compat.manual
f900 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 69 74 68 ..-.compat-29:.Add.~funcall-with
f920 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 65 6c 61 -delayed-message~.and.~with-dela
f940 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 64 20 7e yed-message~..-.compat-29:.Add.~
f960 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 77 69 74 ert-with-temp-file~.and.~ert-wit
f980 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 39 3a 20 h-temp-directory~..-.compat-29:.
f9a0 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 6f 70 74 Add.~set-transient-map~.with.opt
f9c0 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
f9e0 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 64 3e 29 OUT...(Release.<2023-02-01.Wed>)
fa00 0a 0a 2a 20 52 65 6c 65 61 73 65 20 6f 66 20 22 43 6f 6d 70 61 74 22 20 56 65 72 73 69 6f 6e 20 ..*.Release.of."Compat".Version.
fa20 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 68 69 63 29.1.3.1..-.Fix.regression,.whic
fa40 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 20 69 6e h.prevented.loading.Compat.in.in
fa60 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 68 61 74 terpreted.mode..We.ensure...that
fa80 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 20 62 79 .Compat.works.interpreted.and.by
faa0 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 74 69 72 te.compiled.by.running.the.entir
fac0 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 49 2e 20 e.test...suite.twice.in.the.CI..
fae0 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 6d 61 67 See.https://github.com/magit/mag
fb00 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 65 73 70 it/issues/4858.for.the...corresp
fb20 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 32 37 3a onding.Magit.issue..-.compat-27:
fb40 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 6f 6d 70 .Add.~file-name-unquote~..-.comp
fb60 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 73 65 7e at-28:.Add.~mark-thing-at-mouse~
fb80 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 67 2d 6c ..-.compat-29:.Replace.~string-l
fba0 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 20 32 39 ines~.with.version.from.Emacs.29
fbc0 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 4c 49 4e ,.support.optional...KEEP-NEWLIN
fbe0 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 30 31 2d ES.argument...(Release.<2023-01-
fc00 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 74 22 20 25.Wed>)..*.Release.of."Compat".
fc20 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 3a 20 41 Version.29.1.3.0..-.compat-25:.A
fc40 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 6d 70 61 dd.~hash-table-empty-p~..-.compa
fc60 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 79 7e 20 t-25:.Add.~macroexp-parse-body~.
fc80 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 74 2d 32 and.~macroexp-quote~..-.compat-2
fca0 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 70 7e 2e 5:.Add.~region-noncontiguous-p~.
fcc0 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 61 6e 64 .-.compat-25:.Add.~save-mark-and
fce0 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 20 7e 72 -excursion~..-.compat-26:.Add.~r
fd00 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 20 7e 72 ead-answer~..-.compat-26:.Add.~r
fd20 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 64 64 20 egion-bounds~..-.compat-27:.Add.
fd40 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 70 61 74 ~date-ordinal-to-time~..-.compat
fd60 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 64 61 62 -27:.Add.~file-size-human-readab
fd80 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 6a 6f 72 le-iec~..-.compat-27:.Add.~major
fda0 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 65 2d 72 -mode-suspend~.and.~major-mode-r
fdc0 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 6b 65 2d estore~..-.compat-27:.Add.~make-
fde0 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 64 64 20 decoded-time~..-.compat-27:.Add.
fe00 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 20 63 6f ~minibuffer-history-value~..-.co
fe20 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 6d 69 6e mpat-27:.Add.~read-char-from-min
fe40 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 69 6e 67 ibuffer~..-.compat-27:.Add.~ring
fe60 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 6f 6c 6f -resize~..-.compat-28:.Add.~colo
fe80 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 64 69 72 r-dark-p~..-.compat-28:.Add.~dir
fea0 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 77 69 74 ectory-files-and-attributes~.wit
fec0 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 3a 20 41 h.COUNT.argument..-.compat-28:.A
fee0 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 6d 70 61 dd.~text-quoting-style~..-.compa
ff00 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 64 69 63 t-28:.Add.~with-window-non-dedic
ff20 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 65 72 2d ated~..-.compat-29:.Add.~buffer-
ff40 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 6c 6f 63 local-set-state~.and.~buffer-loc
ff60 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 39 3a 20 al-restore-state~..-.compat-29:.
ff80 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 63 6f 6d Add.~compiled-function-p~..-.com
ffa0 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 2e 0a 2d pat-29:.Add.~count-sentences~..-
ffc0 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 2e 0a 2d .compat-29:.Add.~delete-line~..-
ffe0 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 62 75 66 .compat-29:.Add.~get-scratch-buf
10000 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 20 7e 6c fer-create~..-.compat-29:.Add.~l
10020 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 39 3a 20 ist-of-strings-p~..-.compat-29:.
10040 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 61 72 69 Add.~plist-get~.generalized.vari
10060 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 70 7e 2e able..-.compat-29:.Add.~plistp~.
10080 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 70 6c 65 .-.compat-29:.Add.~read-multiple
100a0 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 65 6e 74 -choice~.with.LONG-FORM.argument
100c0 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 7e 2e 0a ..-.compat-29:.Add.~readablep~..
100e0 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 71 75 6f -.compat-29:.Add.~substitute-quo
10100 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 65 67 69 tes~..-.compat-29:.Add.~use-regi
10120 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 64 7e 20 on-beginning~,.~use-region-end~.
10140 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 2d 70 7e and.~use-region-noncontiguous-p~
10160 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 6f 77 69 ..-.compat-29:.Add.~with-narrowi
10180 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 6e 3e 29 ng~...(Release.<2023-01-22.Sun>)
101a0 0a 0a 2a 20 52 65 6c 65 61 73 65 20 6f 66 20 22 43 6f 6d 70 61 74 22 20 56 65 72 73 69 6f 6e 20 ..*.Release.of."Compat".Version.
101c0 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 20 66 75 29.1.2.0..-.All.compatibility.fu
101e0 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 0a 2d 20 nctions.are.covered.by.tests!.-.
10200 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 64 65 66 Add.links.from.compatibility.def
10220 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 3a 20 44 initions.to.tests..-.BREAKING:.D
10240 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 6a 61 6e rop.JSON.parsing.support.(libjan
10260 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 0a 2d 20 sson.API,.unused.downstream)..-.
10280 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 28 75 6e BREAKING:.Drop.~null-device~.(un
102a0 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 20 44 72 used.downstream)..-.BREAKING:.Dr
102c0 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 77 6e 73 op.~unlock-buffer~.(unused.downs
102e0 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 66 65 72 tream)..-.compat-26:.Add.~buffer
10300 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 6e 75 6d -hash~..-.compat-27:.Add.~fixnum
10320 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 3a 20 41 p~.and.~bignump~..-.compat-27:.A
10340 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 77 69 6e dd.~with-minibuffer-selected-win
10360 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 6c 69 7a dow~..-.compat-27:.Add.generaliz
10380 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 65 2d 2a ed.variables.for.~decoded-time-*
103a0 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 2d 77 61 ~..-.compat-28:.Add.~macroexp-wa
103c0 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 41 64 64 rn-and-return~..-.compat-28:.Add
103e0 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 70 61 74 .~subr-native-elisp-p~..-.compat
10400 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 6d 6f 75 -28:.Add.~bounds-of-thing-at-mou
10420 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 75 66 66 se~..-.compat-29:.Add.~with-buff
10440 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 2d 20 63 er-unmodified-if-unchanged~..-.c
10460 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 65 2d 6b ompat-29:.Fix.and.test.~define-k
10480 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 65 6c 65 ey~.with.REMOVE.argument...(Rele
104a0 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 61 73 65 ase.<2023-01-16.Mon>)..*.Release
104c0 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 0a 0a 2d .of."Compat".Version.29.1.1.1..-
104e0 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 66 69 6e .Add.tests,.167.out.of.203.defin
10500 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 2d 32 35 itions.tested.(82%)..-.compat-25
10520 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 69 74 79 :.Improve.algorithmic.complexity
10540 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 7e 6d 61 .of.~sort~..-.compat-28:.Add.~ma
10560 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 32 39 3a ke-separator-line~..-.compat-29:
10580 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 6e 63 74 .Minor.fixes.to.~keymap-*~.funct
105a0 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 6d 65 6d ions..-.compat-29:.Add.~with-mem
105c0 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 62 75 74 oization~..-.compat-29:.Add.~but
105e0 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 7e 2e 0a tonize~.and.~buttonize-region~..
10600 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 2a 20 52 .(Release.<2023-01-14.Sat>)..*.R
10620 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 2e 31 2e elease.of."Compat".Version.29.1.
10640 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 6d 61 63 1.0..-.The.macros.in.~compat-mac
10660 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 20 73 69 s.el~.have.been.rewritten.and.si
10680 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 6c 6c 6f mplified..The...refactoring.allo
106a0 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 65 72 69 ws.to.further.refine.the.criteri
106c0 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 20 61 6c a.under.which.compatibility...al
106e0 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 76 61 72 iases,.functions,.macros.and.var
10700 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 65 20 64 iables.are.installed..-.Remove.d
10720 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 6c 69 74 eprecated,.prefixed.compatibilit
10740 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 74 65 64 y.functions..-.Remove.deprecated
10760 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 70 61 74 .features.~compat-help~,.~compat
10780 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 2d 20 43 -font-lock~.and.~compat-24~..-.C
107a0 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 6f 75 6e ompat.uses.runtime.checks.(~boun
107c0 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 74 20 65 dp~,.~fboundp~).to.ensure.that.e
107e0 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 65 72 20 xisting...definitions.are.never.
10800 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 61 64 65 overridden,.when.Compat.is.loade
10820 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 77 61 73 d.on.a.newer.Emacs.than...it.was
10840 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 65 73 20 .compiled.on..-.Compat.compiles.
10860 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 69 6e 67 without.byte.compilation.warning
10880 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 72 73 69 s.on.all.supported.Emacs...versi
108a0 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 65 72 72 ons..Warnings.are.treated.as.err
108c0 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 61 74 20 ors.in.the.test.suite..-.Compat.
108e0 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 6e 65 65 takes.great.care.to.remove.unnee
10900 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 6d 65 2e ded.definitions.at.compile.time.
10920 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 65 20 63 .On...recent.Emacs.29.the.byte.c
10940 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 6f 74 20 ompiled.files.are.empty.and.not.
10960 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 65 73 20 loaded,.such.that...Compat.does.
10980 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 63 65 73 not.any.cost.to.the.Emacs.proces
109a0 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 7e 69 6d s..-.compat-26:.Fix.and.test.~im
109c0 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 74 2d 32 age-property~.setter..-.compat-2
109e0 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 65 2d 63 6:.Fix.and.test.~read-multiple-c
10a00 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 74 65 73 hoice~..-.compat-28:.Fix.and.tes
10a20 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 2d 20 63 t.~with-existing-directory~..-.c
10a40 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 69 6f 6e ompat-28:.Drop.obsolete.function
10a60 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 2d 20 63 .~make-directory-autoloads~..-.c
10a80 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 6e 73 20 ompat-29:.Drop.broken.functions.
10aa0 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 75 66 66 ~string-pixel-width~.and...~buff
10ac0 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 6e 63 74 er-text-pixel-size~..These.funct
10ae0 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 63 68 20 ions.had.poor.performance.which.
10b00 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 69 6e 20 lead.to.a...downstream.issue.in.
10b20 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 20 61 20 the.doom-modeline.package..If.a.
10b40 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 70 6f 73 more.efficient.solution.is...pos
10b60 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 64 64 65 sible,.the.function.will.be.adde
10b80 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 6f 72 20 d.back..See.[[compat-gh:8]].for.
10ba0 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 44 72 6f the.bug.report..-.compat-29:.Dro
10bc0 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 69 74 7e p.broken.function.~string-limit~
10be0 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 63 72 6f ..-.compat-29:.Drop.broken.macro
10c00 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 6e 63 68 .~with-buffer-unmodified-if-unch
10c20 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 66 66 65 anged~,.which.relied...on.~buffe
10c40 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 6f 6e 20 r-hash~.which.does.not.exist.on.
10c60 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 0a 2d 20 all.supported.Emacs.versions..-.
10c80 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 7e 70 6f compat-29:.Add.~pos-bol~.and.~po
10ca0 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 20 53 61 s-eol~...(Release.<2023-01-07.Sa
10cc0 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 72 73 69 t>)..*.Release.of."Compat".Versi
10ce0 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 65 77 20 on.29.1.0.1..-.Add.multiple.new.
10d00 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 78 20 62 tests.for.existing.APIs..-.Fix.b
10d20 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 73 3a 20 ugs.in.compatibility.functions:.
10d40 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 20 70 72 ~setq-local~,.~proper-list-p,.pr
10d60 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 63 61 74 op-match-p~,...~file-name-concat
10d80 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 2c 20 7e ~,.~replace-regexp-in-region~,.~
10da0 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 41 64 64 replace-string-in-region~..-.Add
10dc0 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 68 65 6d .new.Emacs.29.APIs..Some.of.them
10de0 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 68 61 6e .are.still.untested.and.may.chan
10e00 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 20 45 6d ge..If.you...intend.to.use.an.Em
10e20 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 61 6e 64 acs.29.API.please.be.careful.and
10e40 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 74 20 63 .if.possible.contribute...test.c
10e60 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 61 72 65 ases..All.untested.functions.are
10e80 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 76 65 72 .marked.in.the.Compat.code..Over
10ea0 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 6e 73 20 .time...tests.for.all.functions.
10ec0 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 64 20 74 will.be.added.gradually..-.Add.t
10ee0 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 63 6f 6d he.macros.~compat-call~.and.~com
10f00 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 62 69 6c pat-function~.to.call.compatibil
10f20 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 20 61 76 ity...functions..Since.Compat.av
10f40 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 74 69 6e oids.overwriting.already.existin
10f60 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 20 73 65 g.functions,.we.must...define.se
10f80 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 20 64 65 parate.compatibility.function.de
10fa0 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 20 63 68 finitions.for.functions.which.ch
10fc0 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 69 6f 6e anged...their.calling.convention
10fe0 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 6c 69 74 .or.behavior..These.compatibilit
11000 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 20 75 70 y.definitions.can.be...looked.up
11020 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 63 61 6c .using.~compat-function~.and.cal
11040 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 78 61 6d led.with.~compat-call~..For.exam
11060 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 69 74 68 ple.~assoc~...can.be.called.with
11080 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 6e 20 45 .a.~TESTFN~.since.Emacs.26..In.E
110a0 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 0a 20 20 macs.25.and.older.the.calling...
110c0 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 49 53 54 convention.was.~(assoc.KEY.ALIST
110e0 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 61 6c 6c )~..In.order.to.use.the.new.call
11100 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 7e 28 63 ing.convention...you.can.use.~(c
11120 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 53 54 46 ompat-call.assoc.KEY.ALIST.TESTF
11140 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 2a 7e 20 N)~..-.Deprecate.all.~compat-*~.
11160 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 73 65 20 prefixed.functions..Instead.use.
11180 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 63 61 6c the.aforementioned...~compat-cal
111a0 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 73 2e 0a l~.or.~compat-function~.macros..
111c0 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 61 6e 64 -.Deprecate.~compat-help.el~.and
111e0 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 65 6c 6f .~compat-font-lock.el.~.-.Develo
11200 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 4b 49 4e pment.moved.to.GitHub..-.BREAKIN
11220 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 2d 61 72 G:.Drop.broken.function.~func-ar
11240 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 65 6e 65 ity~..Using.~func-arity~.is.gene
11260 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 75 6e 63 rally...discouraged.and.the.func
11280 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 70 65 72 tion.is.hard.to.implement.proper
112a0 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 75 6e 63 ly.due.to.all.the...various.func
112c0 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 65 6c 79 tion.types..There.it.is.unlikely
112e0 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 20 72 65 .that.the.function.will.get...re
11300 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 49 4e 47 introduced.in.Compat..-.BREAKING
11320 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 74 6f 72 :.Drop.broken.function.~director
11340 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 20 79 6f y-files-recursively~..In.case.yo
11360 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 63 68 20 u.need...this.function,.a.patch.
11380 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 20 42 52 including.tests.is.welcome..-.BR
113a0 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 73 20 32 EAKING:.Drop.support.for.Emacs.2
113c0 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 6f 77 2e 4.3..Emacs.24.4.is.required.now.
113e0 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 63 73 20 .In.case.you...still.need.Emacs.
11400 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 20 43 6f 24.3.support,.you.can.rely.on.Co
11420 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 33 2d 30 mpat.28.1.2.2...(Release.<2023-0
11440 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 70 61 74 1-05.Thu>)..*.Release.of."Compat
11460 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 20 6d 69 ".Version.28.1.2.2..This.is.a.mi
11480 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 72 65 73 nor.release.that.hopes.to.addres
114a0 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 65 20 3c s.[[compat-srht:7]]...(Release.<
114c0 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 66 20 22 2022-08-25.Thu>)..*.Release.of."
114e0 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 73 20 69 Compat".Version.28.1.2.1..This.i
11500 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 66 6f 6c s.a.minor.release.adding.the.fol
11520 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 65 64 2d lowing.changes:..-.Add.=derived-
11540 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 20 41 64 mode-p=.defined.in.Emacs.27.-.Ad
11560 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 65 66 69 d.=provided-mode-derived-p=.defi
11580 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 75 6c 74 ned.in.Emacs.27.-.Add.=read-mult
115a0 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 20 32 36 iple-choice=.defined.in.Emacs.26
115c0 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 20 64 65 .-.Add.=file-name-absolute-p=.de
115e0 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 74 68 65 fined.in.Emacs.28..The.only.othe
11600 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 6d 61 6e r.notable.change.is.that.the.man
11620 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 6c 75 64 ual.has.been.rewritten.to.includ
11640 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 74 20 68 e.much.more.documentation.that.h
11660 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 0a 28 52 ad.been.the.case.previously...(R
11680 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 65 6c 65 elease.<2022-08-24.Wed>)..*.Rele
116a0 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 32 2e 30 ase.of."Compat".Version.28.1.2.0
116c0 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 65 61 73 ..The.main.change.of.this.releas
116e0 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 63 61 74 e.has.been.the.major.simplificat
11700 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 6e 20 73 ion.of.Compat's.initialisation.s
11720 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 6e 20 61 ystem,.improving.the.situation.a
11740 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 72 65 70 round.issues.people.had.been.rep
11760 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 63 65 20 orting.([[compat-srht:4]],.once.
11780 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 20 75 6e again).with.unconventional.or.un
117a0 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 6e 20 61 popular.packaging.systems...In.a
117c0 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 67 20 66 ddition.to.this,.the.following.f
117e0 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 61 64 65 unctional.changes.have.been.made
11800 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 6e 20 65 :..-.Fix.=format-prompt=.of.an.e
11820 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 6d 65 6e mpty.string.as."default".argumen
11840 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 20 64 65 t.-.Add.=decoded-time-period=.de
11860 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 2d 70 72 fined.in.Emacs.28.-.Add.=subr-pr
11880 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 38 0a 0a imitive-p=.defined.in.Emacs.28..
118a0 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 61 72 65 Minor.improvements.to.manual.are
118c0 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 28 52 65 .also.part.of.this.release...(Re
118e0 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 6c 65 61 lease.<2022-07-18.Mon>)..*.Relea
11900 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 2e 33 0a se.of."Compat".Version.28.1.1.3.
11920 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 20 68 6f .This.release.just.contains.a.ho
11940 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 20 69 6e t-fix.for.an.issue.introduced.in
11960 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 61 74 2e .the.last.version,.where.compat.
11980 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 65 20 63 el.raises.an.error.during.byte.c
119a0 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 3a 34 5d ompilation..See.[[compat-srht:4]
119c0 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 29 0a 0a ]...(Release.<2022-06-19.Sun>)..
119e0 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 38 *.Release.of."Compat".Version.28
11a00 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 20 6e 65 .1.1.2..Two.main.changes.have.ne
11a20 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 65 3a 0a cessitated.a.new.patch.release:.
11a40 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 20 6c 6f .1..Fix.issues.related.to.the.lo
11a60 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 65 64 2e ading.of.compat.when.uncompiled.
11a80 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 74 2f 7e ..See....[[https://lists.sr.ht/~
11aa0 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 31 39 31 pkal/compat-devel/%3C20220530191
11ac0 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 2e 6c 69 000.2183047-1-jonas%40bernoul.li
11ae0 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 65 74 61 %3E][this.thread]].for.more.deta
11b00 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 73 75 65 ils.on.the.problem..2..Fix.issue
11b20 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 6f 6d 70 s.related.to.the.loading.of.comp
11b40 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 69 6e 6b at.on.old.pre-releases....(think
11b60 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 69 73 74 .of.28.0.50)..See.[[https://list
11b80 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 43 66 38 s.sr.ht/~pkal/compat-devel/%3Cf8
11ba0 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 33 32 34 635d7d-e233-448f-b325-9e85036324
11bc0 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 73 20 74 1c%40www.fastmail.com%3E][this.t
11be0 68 72 65 61 64 5d 5d 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 20 6f 6e 20 74 68 65 0a hread]].for.more.details.on.the.
11c00 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 30 36 2d ...problem...(Released.<2022-06-
11c20 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 74 22 20 22.Wed>)..*.Release.of."Compat".
11c40 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 69 6e 6f Version.28.1.1.1..This.is.a.mino
11c60 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 6f 6e 2d r.release.fixing.a.bug.in.=json-
11c80 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 75 6e 69 serialize=,.that.could.cause.uni
11ca0 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 61 74 65 ntended.side-effects,.not.relate
11cc0 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 72 65 63 d.to.packages.using.Compat.direc
11ce0 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 0a 28 52 tly.(see.[[compat-srht:2]])...(R
11d00 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 52 65 6c eleased.<2022-05-05.Thu>)..*.Rel
11d20 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 2e ease.of."Compat".Version.28.1.1.
11d40 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 61 20 6e 0..This.release.mostly.fixes.a.n
11d60 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 72 65 20 umber.of.smaller.bugs.that.were.
11d80 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 2e 20 20 not.identified.as.of.28.1.0.0...
11da0 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 76 65 72 Nevertheless.these.warrant.a.ver
11dc0 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 68 61 6e sion.bump,.as.some.of.these.chan
11de0 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 75 64 65 ges.a.functional...These.include
11e00 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 65 2d 61 :..-.The.addition.of.the.=file-a
11e20 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 73 2e 0a ttribute-*=.accessor.functions..
11e40 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 62 75 74 -.The.addition.of.=file-attribut
11e60 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 20 74 68 e-collect=..-.Improvements.to.th
11e80 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 65 72 6e e.Texinfo.manual.(via.Jonas.Bern
11ea0 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 74 65 78 oulli's.recent...work.on.=ox-tex
11ec0 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 74 68 65 info=)...For.the.time.being,.the
11ee0 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 20 69 6e .Texinfo.file.is...maintained.in
11f00 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 74 6f 20 .the.repository.itself,.next.to.
11f20 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 68 74 20 the.=MANUAL=.file....This.might.
11f40 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 67 20 61 change.in.the.future..-.Adding.a
11f60 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 72 69 6e .prefix.to.=string-trim=,.=strin
11f80 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 69 6d 2d g-trim-left=.and...=string-trim-
11fa0 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 6e 67 2d right=.(i.e..now.=compat-string-
11fc0 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 6c 65 66 trim=,...=compat-string-trim-lef
11fe0 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 67 68 74 t=.and.=compat-string-trim-right
12000 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 66 65 72 =).-.Improving.the.version.infer
12020 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 61 63 72 ence.used.in.the.=compat-*=.macr
12040 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 6c 65 2d os....This.improves.the.compile-
12060 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 20 61 77 time.optimisation.that.strips.aw
12080 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 20 74 6f ay...functions.that.are.known.to
120a0 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 72 73 69 .be.defined.for.a.specific.versi
120c0 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 69 73 65 on..-.The.addition.of.generalise
120e0 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 6f 72 0a d.variable.(=setf=).support.for.
12100 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 64 64 69 ..=compat-alist-get=..-.The.addi
12120 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 67 65 6e tion.of.=image-property=.and.gen
12140 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 6f 72 20 eralised.variable.support...for.
12160 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 69 6f 6e =image-property=..-.The.addition
12180 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 75 74 61 .of.the.function.=compat-executa
121a0 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 74 68 65 ble-find=..-.The.addition.of.the
121c0 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 61 72 6b .function.=compat-dired-get-mark
121e0 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 74 68 65 ed-files=..-.The.addition.of.the
12200 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 61 64 64 .function.=exec-path=..-.The.add
12220 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 6f 63 6b ition.of.the.function.=make-lock
12240 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 66 20 74 -file-name=..-.The.addition.of.t
12260 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 54 68 65 he.function.=null-device=..-.The
12280 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 6d 65 2d .addition.of.the.function.=time-
122a0 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 68 65 20 equal-p=..-.The.addition.of.the.
122c0 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 2e 0a 2d function.=date-days-in-month=..-
122e0 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 74 65 20 .Handling.out-of-directory.byte.
12300 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 74 68 65 compilation.better..-.Fixing.the
12320 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 2d 6c 65 .usage.and.edge-cases.of.=and-le
12340 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 72 69 3e t*=...(Released.<2022-04-22.Fri>
12360 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 00 00 00 )...............................
12380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
123a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
123c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
123e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12400 63 6f 6d 70 61 74 2d 32 39 2e 31 2e 34 2e 35 2f 63 6f 6d 70 61 74 2d 32 39 2e 65 6c 00 00 00 00 compat-29.1.4.5/compat-29.el....
12420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12460 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
12480 30 32 30 33 33 31 33 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 37 33 33 00 20 30 00 00 00 0203313.00000000000.013733..0...
124a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
124c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
124e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12500 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...................
12520 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...................
12540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
125a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
125c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
125e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12600 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
12620 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
12640 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
12660 20 28 43 29 20 32 30 32 31 2d 32 30 32 34 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 .(C).2021-2024.Free.Software.Fou
12680 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
126a0 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
126c0 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
126e0 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.
12700 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.;
12720 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,.
12740 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,
12760 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
12780 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
127a0 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
127c0 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
127e0 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
12800 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
12820 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.
12840 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
12860 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
12880 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
128a0 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.
128c0 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
128e0 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
12900 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
12920 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
12940 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.
12960 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
12980 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".
129a0 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
129c0 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
129e0 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
12a00 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
12a20 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.
12a40 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
12a60 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
12a80 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
12aa0 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......
12ac0 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
12ae0 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
12b00 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.
12b20 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."
12b40 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
12b60 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
12b80 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
12ba0 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
12bc0 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
12be0 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
12c00 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.
12c20 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
12c40 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
12c60 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
12c80 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
12ca0 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.
12cc0 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
12ce0 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
12d00 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
12d20 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.
12d40 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.
12d60 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
12d80 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.......(
12da0 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).......
12dc0 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.(
12de0 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
12e00 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
12e20 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)))...
12e40 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)..
12e60 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.
12e80 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)).........
12ea0 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)))
12ec0 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
12ee0 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.(
12f00 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
12f20 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
12f40 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
12f60 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
12f80 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
12fa0 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.
12fc0 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))........
12fe0 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))...
13000 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
13020 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
13040 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
13060 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.
13080 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
130a0 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
130c0 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
130e0 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
13100 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
13120 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).
13140 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)
13160 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.(
13180 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))...............
131a0 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.(
131c0 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>..
131e0 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
13200 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,
13220 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.
13240 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
13260 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
13280 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))
132a0 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.(
132c0 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
132e0 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)))
13300 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-
13320 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.(
13340 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
13360 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
13380 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
133a0 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
133c0 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
133e0 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.
13400 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."...
13420 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
13440 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
13460 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))
13480 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
134a0 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).;;.<
134c0 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
134e0 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.".
13500 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
13520 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
13540 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
13560 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
13580 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.
135a0 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
135c0 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))....
135e0 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
13600 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
13620 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.
13640 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
13660 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:
13680 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
136a0 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
136c0 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
136e0 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
13700 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
13720 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
13740 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))
13760 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).
13780 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
137a0 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))..........
137c0 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)...
137e0 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
13800 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
13820 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.
13840 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
13860 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
13880 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
138a0 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
138c0 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
138e0 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.
13900 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
13920 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.......
13940 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).........
13960 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
13980 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
139a0 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
139c0 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)))))))..;;;;
139e0 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
13a00 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
13a20 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--
13a40 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.
13a60 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).......
13a80 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
13aa0 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
13ac0 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..........
13ae0 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
13b00 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.,
13b20 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
13b40 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.,
13b60 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.
13b80 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
13ba0 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............................
13bc0 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)...............
13be0 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....
13c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
13c20 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)
13c40 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
13c60 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
13c80 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
13ca0 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))))..;;
13cc0 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
13ce0 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).;;.
13d00 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
13d20 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
13d40 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
13d60 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
13d80 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.
13da0 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
13dc0 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
13de0 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
13e00 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
13e20 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
13e40 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
13e60 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
13e80 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
13ea0 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
13ec0 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
13ee0 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'
13f00 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.
13f20 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-
13f40 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
13f60 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-
13f80 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
13fa0 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
13fc0 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.
13fe0 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
14000 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
14020 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.
14040 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.
14060 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
14080 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.
140a0 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
140c0 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
140e0 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.
14100 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
14120 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
14140 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
14160 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
14180 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-
141a0 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
141c0 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
141e0 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)
14200 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
14220 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
14240 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
14260 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
14280 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
142a0 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
142c0 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.
142e0 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
14300 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
14320 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,
14340 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.
14360 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.
14380 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
143a0 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.
143c0 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
143e0 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
14400 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..
14420 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
14440 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
14460 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
14480 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
144a0 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).;;.<
144c0 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
144e0 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
14500 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
14520 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
14540 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
14560 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
14580 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.
145a0 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,
145c0 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
145e0 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
14600 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
14620 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
14640 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
14660 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.
14680 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.
146a0 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
146c0 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
146e0 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
14700 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
14720 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-
14740 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
14760 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
14780 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
147a0 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."..
147c0 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
147e0 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..
14800 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."")).
14820 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)...........
14840 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
14860 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.(
14880 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
148a0 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
148c0 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.........
148e0 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
14900 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
14920 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)))...........
14940 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
14960 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.....................
14980 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
149a0 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..........................
149c0 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)
149e0 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 ................................
14a00 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)))).........
14a20 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
14a40 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............
14a60 20 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.
14a80 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")))....................
14aa0 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)))).........
14ac0 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)
14ae0 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)
14b00 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
14b20 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
14b40 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)).......
14b60 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
14b80 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)))).
14ba0 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
14bc0 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>...
14be0 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
14c00 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
14c20 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
14c40 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
14c60 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.
14c80 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
14ca0 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
14cc0 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.
14ce0 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
14d00 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
14d20 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
14d40 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
14d60 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)
14d80 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
14da0 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
14dc0 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
14de0 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
14e00 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
14e20 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
14e40 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).......
14e60 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)
14e80 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
14ea0 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
14ec0 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).
14ee0 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
14f00 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
14f20 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))....
14f40 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.
14f60 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
14f80 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)).........
14fa0 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
14fc0 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)))..................
14fe0 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))......
15000 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.
15020 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
15040 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
15060 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
15080 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
150a0 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
150c0 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
150e0 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
15100 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
15120 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.
15140 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
15160 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
15180 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
151a0 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
151c0 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]...)"..
151e0 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
15200 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))
15220 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.
15240 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
15260 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
15280 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).
152a0 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
152c0 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
152e0 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
15300 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
15320 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
15340 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
15360 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."...(
15380 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
153a0 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
153c0 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))).....
153e0 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
15400 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
15420 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
15440 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
15460 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.
15480 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)))..
154a0 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)))))
154c0 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.().;
154e0 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>..."
15500 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
15520 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)
15540 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
15560 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).;;.
15580 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>.
155a0 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
155c0 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
155e0 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
15600 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
15620 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
15640 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
15660 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
15680 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
156a0 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
156c0 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
156e0 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
15700 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
15720 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
15740 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
15760 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
15780 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.
157a0 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.
157c0 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
157e0 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)))..(
15800 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
15820 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
15840 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
15860 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
15880 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,.
158a0 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.
158c0 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
158e0 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.
15900 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
15920 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
15940 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)"..
15960 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)).
15980 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
159a0 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....
159c0 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).(
159e0 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
15a00 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
15a20 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
15a40 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.
15a60 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
15a80 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
15aa0 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
15ac0 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
15ae0 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
15b00 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
15b20 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........
15b40 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
15b60 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
15b80 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
15ba0 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))))
15bc0 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
15be0 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:
15c00 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
15c20 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
15c40 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>.
15c60 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
15c80 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
15ca0 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
15cc0 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.
15ce0 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
15d00 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
15d20 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
15d40 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
15d60 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
15d80 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
15da0 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
15dc0 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
15de0 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
15e00 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
15e20 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
15e40 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
15e60 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
15e80 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.((
15ea0 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
15ec0 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.'
15ee0 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
15f00 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.
15f20 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))....
15f40 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)).
15f60 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
15f80 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
15fa0 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
15fc0 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.
15fe0 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
16000 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
16020 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
16040 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
16060 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
16080 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)
160a0 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
160c0 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
160e0 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
16100 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
16120 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,
16140 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
16160 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.
16180 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
161a0 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.
161c0 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-
161e0 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
16200 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
16220 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
16240 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
16260 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
16280 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.
162a0 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
162c0 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..
162e0 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
16300 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.
16320 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
16340 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'..
16360 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...
16380 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
163a0 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..
163c0 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.
163e0 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
16400 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
16420 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
16440 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
16460 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......
16480 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-
164a0 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
164c0 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
164e0 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
16500 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)............
16520 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..................
16540 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))..........
16560 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)
16580 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
165a0 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
165c0 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
165e0 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).............
16600 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...
16620 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
16640 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)..............
16660 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
16680 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..........................(
166a0 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))))
166c0 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-
166e0 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)....
16700 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..........
16720 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
16740 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)...........
16760 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)))..
16780 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
167a0 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)....
167c0 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
167e0 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.....................
16800 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
16820 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)......................
16840 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))).............
16860 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
16880 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).......................(
168a0 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
168c0 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.
168e0 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).......
16900 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.(
16920 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)))................
16940 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).
16960 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
16980 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........................
169a0 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))....
169c0 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.(
169e0 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)).........
16a00 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
16a20 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))).........................
16a40 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
16a60 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.(
16a80 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
16aa0 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
16ac0 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
16ae0 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
16b00 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
16b20 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
16b40 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
16b60 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
16b80 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
16ba0 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
16bc0 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.
16be0 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
16c00 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.
16c20 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
16c40 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)))....
16c60 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
16c80 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)........
16ca0 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))..(
16cc0 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-
16ce0 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
16d00 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
16d20 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
16d40 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
16d60 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
16d80 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
16da0 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
16dc0 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
16de0 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
16e00 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
16e20 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
16e40 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>..
16e60 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
16e80 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
16ea0 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
16ec0 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
16ee0 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
16f00 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-
16f20 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
16f40 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
16f60 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
16f80 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
16fa0 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
16fc0 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
16fe0 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....
17000 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............
17020 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-
17040 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
17060 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)........
17080 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
170a0 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.%
170c0 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")............................`
170e0 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..............
17100 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.
17120 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)...........................
17140 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
17160 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...........................
17180 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'"..
171a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
171c0 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.
171e0 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)))))................
17200 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.",.")
17220 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-
17240 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"))..
17260 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
17280 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-
172a0 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-
172c0 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
172e0 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).
17300 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
17320 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
17340 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.
17360 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)).......
17380 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-
173a0 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....
173c0 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
173e0 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
17400 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
17420 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........................((
17440 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)............
17460 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.(
17480 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
174a0 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)))...........................
174c0 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
174e0 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))).............
17500 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)..................
17520 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).........
17540 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
17560 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
17580 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)))).........................
175a0 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))...
175c0 20 20 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.
175e0 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
17600 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
17620 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))))...
17640 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
17660 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)))...................
17680 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
176a0 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
176c0 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
176e0 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
17700 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-
17720 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
17740 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-
17760 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
17780 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
177a0 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-
177c0 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))
177e0 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
17800 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))..;;;;.
17820 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
17840 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).;;.<
17860 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>..
17880 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
178a0 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
178c0 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
178e0 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
17900 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
17920 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
17940 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
17960 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-
17980 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
179a0 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)
179c0 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
179e0 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.().;
17a00 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
17a20 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.
17a40 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
17a60 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).
17a80 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
17aa0 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.(
17ac0 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>..
17ae0 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
17b00 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
17b20 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))).
17b40 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.()
17b60 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>...
17b80 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
17ba0 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
17bc0 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-
17be0 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.
17c00 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-
17c20 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
17c40 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
17c60 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.
17c80 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
17ca0 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*"
17cc0 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
17ce0 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
17d00 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
17d20 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-
17d40 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
17d60 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..........
17d80 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
17da0 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))...
17dc0 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
17de0 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
17e00 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))
17e20 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
17e40 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
17e60 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).
17e80 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
17ea0 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
17ec0 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
17ee0 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
17f00 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
17f20 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
17f40 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.
17f60 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
17f80 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
17fa0 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
17fc0 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
17fe0 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
18000 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
18020 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
18040 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
18060 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
18080 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
180a0 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
180c0 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
180e0 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
18100 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
18120 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
18140 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
18160 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.
18180 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-
181a0 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
181c0 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.
181e0 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.
18200 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
18220 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
18240 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.
18260 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
18280 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
182a0 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))...........
182c0 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)))....
182e0 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
18300 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
18320 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)........
18340 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
18360 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.
18380 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
183a0 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
183c0 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
183e0 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.,
18400 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))...
18420 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
18440 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
18460 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)...............
18480 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
184a0 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
184c0 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
184e0 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
18500 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.;;.<
18520 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
18540 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>.........................
18560 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
18580 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
185a0 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
185c0 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
185e0 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
18600 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
18620 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
18640 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
18660 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
18680 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
186a0 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
186c0 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
186e0 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.(
18700 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-
18720 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...........
18740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
18760 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).....
18780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
187a0 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
187c0 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)......................
187e0 20 20 20 20 20 20 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
18800 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
18820 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
18840 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)))
18860 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.
18880 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
188a0 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
188c0 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)........
188e0 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)...
18900 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.
18920 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))....
18940 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.
18960 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...........
18980 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
189a0 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)...................(
189c0 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)..................
189e0 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)).............
18a00 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)))..
18a20 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))...
18a40 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...............
18a60 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.
18a80 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
18aa0 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)))
18ac0 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.
18ae0 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
18b00 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)).
18b20 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..........
18b40 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)))..
18b60 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
18b80 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
18ba0 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
18bc0 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
18be0 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
18c00 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).;;.
18c20 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
18c40 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
18c60 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
18c80 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
18ca0 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.
18cc0 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
18ce0 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
18d00 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
18d20 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).
18d40 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
18d60 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
18d80 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-
18da0 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..
18dc0 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)...........
18de0 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
18e00 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
18e20 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.(
18e40 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
18e60 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
18e80 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.
18ea0 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'."..
18ec0 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
18ee0 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
18f00 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.
18f20 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
18f40 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
18f60 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
18f80 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)."\\(/\\|\\'\\
18fa0 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
18fc0 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..
18fe0 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
19000 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
19020 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
19040 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
19060 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.........................
19080 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
190a0 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)............................
190c0 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.....................
190e0 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))
19100 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
19120 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-
19140 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>...
19160 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
19180 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
191a0 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
191c0 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'
191e0 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
19200 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
19220 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
19240 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-
19260 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)
19280 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
192a0 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)...............
192c0 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
192e0 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
19300 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
19320 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
19340 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
19360 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
19380 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:...
193a0 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-
193c0 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)
193e0 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)).....
19400 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
19420 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
19440 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.
19460 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).....
19480 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
194a0 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
194c0 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
194e0 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
19500 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.(
19520 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)
19540 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
19560 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)))..
19580 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.(
195a0 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)))......
195c0 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
195e0 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
19600 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.........
19620 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
19640 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
19660 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."").""...................;;
19680 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
196a0 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...............
196c0 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.................
196e0 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))........
19700 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)...........(
19720 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
19740 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
19760 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
19780 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
197a0 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
197c0 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
197e0 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
19800 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
19820 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
19840 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
19860 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
19880 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
198a0 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
198c0 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
198e0 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
19900 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
19920 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.
19940 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.
19960 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.
19980 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
199a0 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.
199c0 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
199e0 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
19a00 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."...(
19a20 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
19a40 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))..........(
19a60 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
19a80 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
19aa0 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
19ac0 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.
19ae0 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)..
19b00 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
19b20 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
19b40 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
19b60 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....
19b80 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
19ba0 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
19bc0 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
19be0 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
19c00 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
19c20 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.
19c40 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
19c60 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.
19c80 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
19ca0 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
19cc0 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.
19ce0 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
19d00 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
19d20 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).
19d40 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
19d60 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
19d80 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
19da0 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.
19dc0 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
19de0 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
19e00 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
19e20 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
19e40 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
19e60 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
19e80 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,
19ea0 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.
19ec0 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.
19ee0 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;
19f00 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
19f20 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."...(
19f40 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
19f60 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)))......
19f80 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
19fa0 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-
19fc0 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))......
19fe0 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.........
1a000 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
1a020 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)................
1a040 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
1a060 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)))).......
1a080 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
1a0a0 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
1a0c0 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-
1a0e0 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
1a100 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
1a120 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-
1a140 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
1a160 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
1a180 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
1a1a0 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
1a1c0 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
1a1e0 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
1a200 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
1a220 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
1a240 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
1a260 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.
1a280 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
1a2a0 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
1a2c0 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
1a2e0 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
1a300 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
1a320 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
1a340 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.
1a360 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'
1a380 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
1a3a0 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
1a3c0 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
1a3e0 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
1a400 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.........
1a420 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')..
1a440 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.
1a460 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
1a480 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
1a4a0 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)...
1a4c0 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
1a4e0 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
1a500 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
1a520 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
1a540 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,
1a560 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
1a580 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
1a5a0 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
1a5c0 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
1a5e0 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))
1a600 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))
1a620 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)...
1a640 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."\\`[^.]+\\(.
1a660 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
1a680 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...
1a6a0 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..........
1a6c0 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-\
1a6e0 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-\\)?")
1a700 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
1a720 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."."))..............
1a740 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
1a760 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.....
1a780 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.......
1a7a0 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
1a7c0 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)........
1a7e0 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
1a800 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))))..............(
1a820 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).
1a840 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)..............................
1a860 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
1a880 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.....................
1a8a0 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).
1a8c0 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))...........................
1a8e0 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
1a900 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...................
1a920 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
1a940 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).......................
1a960 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
1a980 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))))...................
1a9a0 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."\\`
1a9c0 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).......
1a9e0 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
1aa00 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>...............
1aa20 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......
1aa40 20 20 20 20 20 20 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
1aa60 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.....................
1aa80 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
1aaa0 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)...................
1aac0 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)).
1aae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1ab00 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
1ab20 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...................
1ab40 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\\
1ab60 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\\)\\'"...
1ab80 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))...
1aba0 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.........
1abc0 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))).....
1abe0 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
1ac00 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
1ac20 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
1ac40 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
1ac60 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
1ac80 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
1aca0 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
1acc0 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
1ace0 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
1ad00 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
1ad20 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
1ad40 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
1ad60 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
1ad80 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
1ada0 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.
1adc0 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
1ade0 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
1ae00 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)
1ae20 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
1ae40 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)....
1ae60 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
1ae80 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)..................
1aea0 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
1aec0 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
1aee0 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))...........
1af00 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))...
1af20 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
1af40 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))...............
1af60 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)..
1af80 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.
1afa0 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>"...........
1afc0 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\
1afe0 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).........
1b000 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
1b020 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.(
1b040 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)))......
1b060 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
1b080 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)............
1b0a0 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))...........
1b0c0 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]+\\
1b0e0 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
1b100 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
1b120 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)))).......
1b140 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
1b160 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)))))..........
1b180 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."^<<.+>>$"
1b1a0 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
1b1c0 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.
1b1e0 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])........................
1b200 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
1b220 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).................
1b240 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].
1b260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1b280 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
1b2a0 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...............................
1b2c0 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
1b2e0 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))...................
1b300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5b 3f 5c 4d 2d 78 5d 29 ........................[?\M-x])
1b320 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 )...............................
1b340 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"
1b360 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
1b380 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]-\\)*\\)
1b3a0 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)..............
1b3c0 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.................
1b3e0 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
1b400 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)................
1b420 20 20 20 20 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
1b440 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))).............
1b460 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..
1b480 20 20 20 20 20 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 ............................."\\
1b4a0 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\
1b4c0 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\\)$"......................
1b4e0 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))))...............
1b500 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)
1b520 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.
1b540 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."^;;".
1b560 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
1b580 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))).
1b5a0 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..............
1b5c0 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
1b5e0 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)).................
1b600 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
1b620 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).....................
1b640 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.............
1b660 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.....
1b680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1b6a0 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).............
1b6c0 20 20 20 20 20 20 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 ..............................'(
1b6e0 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).....
1b700 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1b720 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-
1b740 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).............................
1b760 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).(?
1b780 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))))))................
1b7a0 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))
1b7c0 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
1b7e0 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)))...........
1b800 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."^\
1b820 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).....................
1b840 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))....
1b860 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.(
1b880 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)).....................
1b8a0 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)))
1b8c0 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
1b8e0 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").("
1b900 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")....................
1b920 20 20 20 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
1b940 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")........
1b960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1b980 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"..."
1b9a0 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 .").............................
1b9c0 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
1b9e0 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
1ba00 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)))
1ba20 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
1ba40 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)...
1ba60 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)).
1ba80 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.(
1baa0 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))).
1bac0 20 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
1bae0 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)))...........
1bb00 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.
1bb20 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.(
1bb40 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)......................
1bb60 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))...........
1bb80 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
1bba0 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).............
1bbc0 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
1bbe0 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))............
1bc00 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
1bc20 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))........
1bc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1bc60 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)))).......
1bc80 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.
1bca0 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)........................
1bcc0 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
1bce0 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"...........
1bd00 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
1bd20 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))....
1bd40 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.(/=.
1bd60 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
1bd80 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)..........................
1bda0 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
1bdc0 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,........................
1bde0 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
1be00 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 ,...............................
1be20 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.
1be40 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)....................
1be60 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."[@-_
1be80 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))....................
1bea0 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.(
1bec0 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).......................
1bee0 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.(
1bf00 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)))))............
1bf20 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................
1bf40 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
1bf60 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)))))))))........
1bf80 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
1bfa0 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))..
1bfc0 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.
1bfe0 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
1c000 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
1c020 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
1c040 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
1c060 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
1c080 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'...
1c0a0 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.
1c0c0 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
1c0e0 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
1c100 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
1c120 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
1c140 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
1c160 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
1c180 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
1c1a0 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
1c1c0 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
1c1e0 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
1c200 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,....
1c220 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
1c240 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.
1c260 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
1c280 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
1c2a0 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
1c2c0 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
1c2e0 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
1c300 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...
1c320 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
1c340 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'),.
1c360 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
1c380 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
1c3a0 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
1c3c0 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
1c3e0 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'.)"...(
1c400 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
1c420 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
1c440 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
1c460 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)))...(
1c480 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
1c4a0 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
1c4c0 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
1c4e0 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
1c500 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
1c520 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.
1c540 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
1c560 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
1c580 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
1c5a0 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
1c5c0 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
1c5e0 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.
1c600 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
1c620 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
1c640 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.
1c660 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
1c680 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
1c6a0 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
1c6c0 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
1c6e0 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
1c700 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>...
1c720 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
1c740 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
1c760 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
1c780 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-
1c7a0 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
1c7c0 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'
1c7e0 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.
1c800 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
1c820 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.
1c840 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
1c860 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...
1c880 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.
1c8a0 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
1c8c0 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
1c8e0 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-
1c900 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
1c920 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
1c940 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
1c960 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
1c980 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
1c9a0 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
1c9c0 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
1c9e0 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
1ca00 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'
1ca20 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
1ca40 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
1ca60 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:
1ca80 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
1caa0 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
1cac0 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
1cae0 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.
1cb00 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
1cb20 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
1cb40 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
1cb60 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-
1cb80 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
1cba0 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
1cbc0 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
1cbe0 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
1cc00 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
1cc20 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
1cc40 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
1cc60 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
1cc80 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.".
1cca0 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-
1ccc0 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
1cce0 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
1cd00 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
1cd20 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.
1cd40 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.
1cd60 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
1cd80 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
1cda0 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
1cdc0 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...
1cde0 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..
1ce00 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
1ce20 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
1ce40 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
1ce60 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
1ce80 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
1cea0 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
1cec0 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
1cee0 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
1cf00 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
1cf20 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
1cf40 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
1cf60 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
1cf80 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
1cfa0 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
1cfc0 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
1cfe0 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
1d000 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
1d020 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
1d040 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
1d060 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
1d080 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
1d0a0 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
1d0c0 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
1d0e0 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
1d100 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
1d120 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
1d140 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
1d160 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
1d180 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
1d1a0 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
1d1c0 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
1d1e0 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
1d200 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
1d220 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....(
1d240 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."
1d260 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
1d280 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
1d2a0 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
1d2c0 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.........
1d2e0 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
1d300 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,
1d320 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
1d340 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
1d360 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..
1d380 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
1d3a0 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
1d3c0 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
1d3e0 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
1d400 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))...
1d420 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
1d440 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
1d460 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
1d480 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
1d4a0 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
1d4c0 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
1d4e0 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
1d500 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.
1d520 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
1d540 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
1d560 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
1d580 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
1d5a0 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
1d5c0 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
1d5e0 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.
1d600 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.
1d620 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
1d640 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
1d660 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
1d680 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
1d6a0 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.
1d6c0 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.
1d6e0 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.
1d700 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."...
1d720 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.
1d740 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
1d760 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
1d780 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-
1d7a0 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
1d7c0 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.
1d7e0 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,
1d800 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,
1d820 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
1d840 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
1d860 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
1d880 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
1d8a0 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
1d8c0 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
1d8e0 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:
1d900 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.&
1d920 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
1d940 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
1d960 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
1d980 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'..
1d9a0 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
1d9c0 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,.
1d9e0 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.
1da00 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
1da20 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...
1da40 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
1da60 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
1da80 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.
1daa0 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
1dac0 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
1dae0 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
1db00 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
1db20 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
1db40 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
1db60 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,
1db80 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.
1dba0 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
1dbc0 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
1dbe0 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
1dc00 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
1dc20 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
1dc40 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
1dc60 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
1dc80 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.
1dca0 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
1dcc0 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
1dce0 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
1dd00 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
1dd20 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.
1dd40 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
1dd60 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
1dd80 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
1dda0 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
1ddc0 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
1dde0 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
1de00 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
1de20 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
1de40 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
1de60 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
1de80 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
1dea0 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
1dec0 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
1dee0 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
1df00 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.
1df20 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
1df40 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
1df60 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
1df80 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
1dfa0 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)................
1dfc0 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))............
1dfe0 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
1e000 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
1e020 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-
1e040 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
1e060 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.
1e080 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).
1e0a0 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
1e0c0 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.
1e0e0 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
1e100 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.
1e120 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
1e140 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.
1e160 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
1e180 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
1e1a0 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
1e1c0 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
1e1e0 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
1e200 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
1e220 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
1e240 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)))..
1e260 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
1e280 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
1e2a0 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
1e2c0 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
1e2e0 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
1e300 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.
1e320 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
1e340 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.
1e360 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
1e380 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
1e3a0 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
1e3c0 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
1e3e0 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
1e400 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
1e420 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
1e440 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
1e460 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
1e480 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."..
1e4a0 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-
1e4c0 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
1e4e0 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
1e500 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
1e520 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
1e540 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
1e560 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
1e580 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.
1e5a0 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
1e5c0 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
1e5e0 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
1e600 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
1e620 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
1e640 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
1e660 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..........
1e680 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
1e6a0 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
1e6c0 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-
1e6e0 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
1e700 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
1e720 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
1e740 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
1e760 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
1e780 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
1e7a0 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.
1e7c0 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....
1e7e0 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.
1e800 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
1e820 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
1e840 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........
1e860 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
1e880 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
1e8a0 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.
1e8c0 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
1e8e0 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.(
1e900 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
1e920 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,.............
1e940 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
1e960 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
1e980 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.
1e9a0 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
1e9c0 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
1e9e0 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.
1ea00 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
1ea20 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
1ea40 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.
1ea60 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
1ea80 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
1eaa0 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.
1eac0 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..
1eae0 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.....
1eb00 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
1eb20 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
1eb40 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)))....
1eb60 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
1eb80 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
1eba0 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
1ebc0 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)).....
1ebe0 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
1ec00 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...
1ec20 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
1ec40 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
1ec60 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
1ec80 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)).........
1eca0 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
1ecc0 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
1ece0 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
1ed00 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))...........
1ed20 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
1ed40 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.
1ed60 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
1ed80 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
1eda0 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
1edc0 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
1ede0 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
1ee00 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
1ee20 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.
1ee40 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
1ee60 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
1ee80 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
1eea0 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
1eec0 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))...................
1eee0 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))......
1ef00 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
1ef20 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
1ef40 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.........
1ef60 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
1ef80 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
1efa0 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.
1efc0 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
1efe0 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
1f000 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
1f020 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
1f040 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
1f060 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
1f080 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.
1f0a0 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.(
1f0c0 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
1f0e0 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
1f100 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
1f120 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
1f140 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
1f160 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)..........
1f180 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))....
1f1a0 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
1f1c0 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
1f1e0 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
1f200 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
1f220 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.
1f240 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
1f260 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
1f280 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.
1f2a0 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.
1f2c0 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
1f2e0 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.
1f300 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
1f320 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.
1f340 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
1f360 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
1f380 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.
1f3a0 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
1f3c0 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.
1f3e0 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
1f400 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
1f420 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
1f440 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
1f460 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.
1f480 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
1f4a0 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
1f4c0 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
1f4e0 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.
1f500 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
1f520 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
1f540 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
1f560 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.
1f580 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
1f5a0 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
1f5c0 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
1f5e0 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.
1f600 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
1f620 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
1f640 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
1f660 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
1f680 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
1f6a0 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'..
1f6c0 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
1f6e0 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
1f700 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
1f720 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
1f740 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
1f760 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.
1f780 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.
1f7a0 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
1f7c0 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).
1f7e0 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
1f800 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.................(
1f820 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))............
1f840 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))
1f860 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
1f880 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........
1f8a0 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
1f8c0 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..........(
1f8e0 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
1f900 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.:
1f920 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))
1f940 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
1f960 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
1f980 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.(%.(
1f9a0 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
1f9c0 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
1f9e0 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
1fa00 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)
1fa20 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
1fa40 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
1fa60 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
1fa80 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
1faa0 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
1fac0 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'.
1fae0 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'".................
1fb00 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).........
1fb20 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)))))....
1fb40 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
1fb60 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).........
1fb80 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.:
1fba0 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.',
1fbc0 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)
1fbe0 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....
1fc00 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
1fc20 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
1fc40 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
1fc60 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))......................(
1fc80 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.
1fca0 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
1fcc0 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
1fce0 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.
1fd00 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
1fd20 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...............(
1fd40 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).
1fd60 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
1fd80 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.
1fda0 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..............,
1fdc0 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
1fde0 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
1fe00 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..
1fe20 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
1fe40 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
1fe60 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
1fe80 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."...:
1fea0 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)...
1fec0 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).
1fee0 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
1ff00 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
1ff20 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.
1ff40 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
1ff60 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
1ff80 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)........................
1ffa0 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
1ffc0 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))................
1ffe0 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
20000 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)).......................
20020 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)))..................
20040 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.
20060 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
20080 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
200a0 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
200c0 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.((
200e0 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
20100 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
20120 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)...........
20140 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
20160 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
20180 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
201a0 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
201c0 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
201e0 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
20200 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
20220 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
20240 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
20260 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
20280 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
202a0 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.\\='
202c0 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
202e0 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
20300 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
20320 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
20340 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
20360 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."`"."..."..............
20380 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."'".
203a0 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
203c0 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)....
203e0 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
20400 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)))..;;;
20420 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-
20440 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
20460 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
20480 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
204a0 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
204c0 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
204e0 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.
20500 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
20520 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....
20540 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.........'
20560 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
20580 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
205a0 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
205c0 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
205e0 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
20600 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
20620 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
20640 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
20660 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
20680 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
206a0 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
206c0 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
206e0 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.
20700 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'.".
20720 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.
20740 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.............
20760 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
20780 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
207a0 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
207c0 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
207e0 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).'
20800 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))..(
20820 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
20840 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
20860 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
20880 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
208a0 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
208c0 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
208e0 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
20900 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
20920 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
20940 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.
20960 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
20980 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
209a0 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
209c0 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
209e0 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
20a00 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
20a20 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
20a40 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..(
20a60 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
20a80 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
20aa0 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
20ac0 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
20ae0 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
20b00 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
20b20 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
20b40 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
20b60 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
20b80 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
20ba0 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
20bc0 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.
20be0 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)."/")...................
20c00 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
20c20 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
20c40 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
20c60 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
20c80 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.
20ca0 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
20cc0 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
20ce0 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
20d00 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
20d20 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
20d40 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
20d60 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
20d80 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
20da0 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...
20dc0 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
20de0 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
20e00 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
20e20 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))...........(
20e40 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))).
20e60 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
20e80 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
20ea0 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)))...
20ec0 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
20ee0 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
20f00 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
20f20 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.
20f40 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
20f60 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."
20f80 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
20fa0 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.
20fc0 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-
20fe0 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).
21000 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
21020 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
21040 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
21060 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
21080 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
210a0 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
210c0 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
210e0 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.
21100 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)))).
21120 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.
21140 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).
21160 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>..
21180 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
211a0 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
211c0 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
211e0 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
21200 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
21220 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
21240 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
21260 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.
21280 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
212a0 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.
212c0 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,
212e0 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
21300 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-
21320 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
21340 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)).
21360 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
21380 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)))....
213a0 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
213c0 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
213e0 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
21400 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'.
21420 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
21440 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.(
21460 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.
21480 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
214a0 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
214c0 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
214e0 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
21500 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.(
21520 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...
21540 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
21560 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
21580 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
215a0 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
215c0 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)).........................
215e0 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)
21600 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
21620 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
21640 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........................
21660 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
21680 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)))))..;;;
216a0 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
216c0 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
216e0 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
21700 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
21720 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
21740 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
21760 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
21780 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.
217a0 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
217c0 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
217e0 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
21800 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
21820 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
21840 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
21860 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
21880 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
218a0 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.
218c0 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
218e0 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.............
21900 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,
21920 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...............
21940 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
21960 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
21980 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
219a0 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
219c0 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
219e0 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
21a00 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
21a20 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
21a40 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
21a60 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
21a80 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
21aa0 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'................
21ac0 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..
21ae0 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................
21b00 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
21b20 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
21b40 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-
21b60 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................
21b80 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
21ba0 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.......
21bc0 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
21be0 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
21c00 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
21c20 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
21c40 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'.".
21c60 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
21c80 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)))..
21ca0 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)...(
21cc0 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
21ce0 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
21d00 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.
21d20 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
21d40 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
21d60 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.(
21d80 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
21da0 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))).........;
21dc0 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.
21de0 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'....
21e00 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
21e20 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
21e40 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))).......
21e60 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)))
21e80 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.(
21ea0 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
21ec0 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))).........(
21ee0 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
21f00 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
21f20 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
21f40 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
21f60 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.
21f80 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
21fa0 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
21fc0 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
21fe0 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................
22000 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.............
22020 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.
22040 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
22060 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)).........................
22080 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
220a0 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......................
220c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
220e0 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)).......
22100 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
22120 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
22140 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 ?").............................
22160 20 20 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
22180 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)...........................
221a0 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")..
221c0 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."
221e0 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
22200 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
22220 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))............
22240 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.'
22260 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
22280 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 )............................(,(
222a0 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
222c0 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)............................
222e0 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
22300 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)..................
22320 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
22340 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
22360 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..............
22380 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
223a0 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)...............
223c0 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))...........
223e0 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..............
22400 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-
22420 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))))).......
22440 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..............
22460 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
22480 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
224a0 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
224c0 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.......
224e0 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-
22500 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))................
22520 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)))
22540 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.....
22560 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.........
22580 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
225a0 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).............
225c0 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))))
225e0 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-
22600 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)
22620 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-
22640 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
22660 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
22680 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
226a0 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
226c0 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
226e0 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
22700 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..
22720 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
22740 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
22760 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
22780 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
227a0 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-
227c0 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
227e0 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
22800 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
22820 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
22840 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
22860 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
22880 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
228a0 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
228c0 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"))))).
228e0 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....
22900 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))..;;
22920 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
22940 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
22960 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
22980 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..
229a0 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
229c0 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
229e0 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'.
22a00 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
22a20 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."..
22a40 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
22a60 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
22a80 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%}:.
22aa0 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
22ac0 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
22ae0 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:.
22b00 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:
22b20 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")...
22b40 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
22b60 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
22b80 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.
22ba0 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
22bc0 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)).......
22be0 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-
22c00 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
22c20 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
22c40 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".......................
22c60 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.
22c80 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
22ca0 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
22cc0 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......................
22ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22e00 63 6f 6d 70 61 74 2d 32 39 2e 31 2e 34 2e 35 2f 63 6f 6d 70 61 74 2d 32 36 2e 65 6c 00 00 00 00 compat-29.1.4.5/compat-26.el....
22e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22e60 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
22e80 30 30 35 33 31 31 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 37 33 30 00 20 30 00 00 00 0053112.00000000000.013730..0...
22ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22f00 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...................
22f20 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...................
22f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
22fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
23000 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
23020 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
23040 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
23060 20 28 43 29 20 32 30 32 31 2d 32 30 32 34 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 .(C).2021-2024.Free.Software.Fou
23080 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
230a0 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
230c0 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
230e0 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.
23100 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.;
23120 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,.
23140 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,
23160 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
23180 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
231a0 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
231c0 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
231e0 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
23200 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
23220 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.
23240 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
23260 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
23280 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
232a0 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.
232c0 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
232e0 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
23300 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
23320 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
23340 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.
23360 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
23380 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".
233a0 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
233c0 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
233e0 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
23400 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
23420 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
23440 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
23460 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
23480 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
234a0 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
234c0 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
234e0 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.
23500 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
23520 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
23540 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
23560 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
23580 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
235a0 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
235c0 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
235e0 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.
23600 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
23620 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
23640 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
23660 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."....(
23680 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
236a0 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
236c0 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)..
236e0 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
23700 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
23720 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).;
23740 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
23760 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
23780 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
237a0 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
237c0 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
237e0 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."..
23800 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
23820 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
23840 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
23860 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
23880 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
238a0 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
238c0 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
238e0 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).......
23900 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))
23920 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
23940 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.
23960 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.().
23980 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>.
239a0 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.
239c0 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
239e0 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
23a00 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
23a20 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
23a40 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
23a60 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
23a80 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
23aa0 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
23ac0 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
23ae0 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
23b00 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.......;
23b20 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.(
23b40 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-
23b60 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
23b80 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
23ba0 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
23bc0 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
23be0 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
23c00 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
23c20 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
23c40 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
23c60 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
23c80 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.
23ca0 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
23cc0 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
23ce0 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
23d00 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
23d20 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))).....(
23d40 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))
23d60 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
23d80 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
23da0 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
23dc0 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
23de0 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
23e00 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))).........
23e20 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
23e40 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
23e60 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
23e80 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)
23ea0 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
23ec0 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
23ee0 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
23f00 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
23f20 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
23f40 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....
23f60 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
23f80 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))....
23fa0 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
23fc0 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
23fe0 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
24000 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
24020 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
24040 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
24060 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
24080 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
240a0 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
240c0 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)
240e0 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)....
24100 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)....
24120 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
24140 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).
24160 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.;;.<
24180 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
241a0 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
241c0 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
241e0 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)...
24200 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
24220 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
24240 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.........
24260 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-
24280 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)......
242a0 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
242c0 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).................
242e0 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
24300 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
24320 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
24340 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............
24360 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....
24380 20 20 20 20 20 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
243a0 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).............
243c0 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
243e0 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.........................
24400 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
24420 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))..............
24440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
24460 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))))).............
24480 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..........
244a0 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.....
244c0 20 20 20 20 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
244e0 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).............
24500 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.
24520 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)........................
24540 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
24560 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).....................
24580 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
245a0 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)............
245c0 20 20 20 20 20 20 20 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 ...............................(
245e0 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))))..
24600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
24620 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.
24640 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))))..................
24660 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...............
24680 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.......
246a0 20 20 20 20 20 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
246c0 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).
246e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
24700 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.........
24720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
24740 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))))))
24760 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 ...............................,
24780 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
247a0 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
247c0 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
247e0 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)))
24800 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
24820 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).;;.<
24840 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>..
24860 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
24880 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-
248a0 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
248c0 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)
248e0 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-
24900 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
24920 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
24940 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
24960 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
24980 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
249a0 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-
249c0 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
249e0 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]+")."\\)\\'")
24a00 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
24a20 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))
24a40 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
24a60 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
24a80 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
24aa0 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.
24ac0 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
24ae0 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-
24b00 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
24b20 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)...
24b40 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
24b60 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>...
24b80 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
24ba0 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
24bc0 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))))..
24be0 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
24c00 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
24c20 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
24c40 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
24c60 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.
24c80 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
24ca0 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
24cc0 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
24ce0 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))
24d00 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).;;.<
24d20 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
24d40 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
24d60 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))...
24d80 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
24da0 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
24dc0 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
24de0 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
24e00 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
24e20 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).
24e40 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
24e60 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.
24e80 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)
24ea0 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
24ec0 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
24ee0 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
24f00 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."..
24f20 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.
24f40 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.
24f60 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
24f80 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.
24fa0 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
24fc0 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
24fe0 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
25000 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
25020 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
25040 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
25060 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))
25080 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).;;
250a0 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
250c0 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.`
250e0 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
25100 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.(
25120 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
25140 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>...
25160 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
25180 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.".
251a0 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
251c0 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
251e0 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
25200 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.
25220 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'.
25240 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
25260 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
25280 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
252a0 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'.
252c0 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
252e0 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
25300 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))))).
25320 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
25340 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
25360 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'
25380 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.
253a0 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.
253c0 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)
253e0 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
25400 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
25420 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
25440 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
25460 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
25480 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>
254a0 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
254c0 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
254e0 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.(
25500 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
25520 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:
25540 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
25560 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
25580 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))..
255a0 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
255c0 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
255e0 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
25600 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.
25620 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
25640 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)))
25660 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).;;.
25680 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.
256a0 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
256c0 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
256e0 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
25700 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.
25720 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>..."
25740 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
25760 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."..
25780 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.
257a0 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.
257c0 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
257e0 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.`
25800 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
25820 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
25840 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
25860 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
25880 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
258a0 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.
258c0 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)
258e0 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)))))..
25900 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
25920 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.
25940 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'.
25960 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.(
25980 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
259a0 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).
259c0 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
259e0 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
25a00 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
25a20 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
25a40 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
25a60 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
25a80 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
25aa0 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
25ac0 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
25ae0 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).;
25b00 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
25b20 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
25b40 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
25b60 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
25b80 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\"."
25ba0 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
25bc0 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-
25be0 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+
25c00 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
25c20 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.
25c40 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
25c60 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)
25c80 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
25ca0 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
25cc0 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
25ce0 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
25d00 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
25d20 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
25d40 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
25d60 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
25d80 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)])................
25da0 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
25dc0 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
25de0 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)..
25e00 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
25e20 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.
25e40 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).
25e60 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)..
25e80 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.
25ea0 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.(
25ec0 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
25ee0 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
25f00 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
25f20 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
25f40 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*>.
25f60 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
25f80 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
25fa0 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'.
25fc0 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.
25fe0 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
26000 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).(
26020 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*
26040 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)))
26060 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
26080 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
260a0 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
260c0 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
260e0 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
26100 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
26120 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,.
26140 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."...(
26160 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
26180 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
261a0 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)])...............
261c0 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
261e0 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).
26200 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).
26220 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
26240 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
26260 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)
26280 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).
262a0 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
262c0 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.
262e0 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
26300 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
26320 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
26340 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
26360 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
26380 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-
263a0 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
263c0 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
263e0 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))..........
26400 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....
26420 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/".
26440 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
26460 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
26480 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
264a0 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).;;.<
264c0 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>...
264e0 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
26500 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.
26520 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
26540 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
26560 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
26580 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.
265a0 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
265c0 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
265e0 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
26600 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
26620 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-
26640 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))
26660 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
26680 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
266a0 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
266c0 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
266e0 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
26700 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
26720 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
26740 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.
26760 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
26780 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.
267a0 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
267c0 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
267e0 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.
26800 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
26820 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
26840 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
26860 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:.
26880 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
268a0 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
268c0 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
268e0 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
26900 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......
26920 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.'
26940 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))).....
26960 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.
26980 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
269a0 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.((
269c0 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
269e0 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
26a00 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./
26a20 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
26a40 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
26a60 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)..........
26a80 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..........
26aa0 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)))))
26ac0 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.(
26ae0 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
26b00 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
26b20 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
26b40 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.
26b60 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
26b80 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.
26ba0 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.........
26bc0 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
26be0 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
26c00 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
26c20 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
26c40 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
26c60 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>..
26c80 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
26ca0 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
26cc0 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
26ce0 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
26d00 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
26d20 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
26d40 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
26d60 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
26d80 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'
26da0 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
26dc0 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
26de0 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.
26e00 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'."
26e20 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
26e40 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...;;.`
26e60 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
26e80 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
26ea0 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
26ec0 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)).
26ee0 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
26f00 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...................
26f20 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
26f40 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
26f60 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
26f80 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...
26fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
26fc0 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
26fe0 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
27000 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
27020 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
27040 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))))).
27060 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
27080 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
270a0 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.
270c0 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
270e0 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
27100 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
27120 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
27140 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
27160 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
27180 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).;;
271a0 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
271c0 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
271e0 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.`
27200 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
27220 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
27240 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).;;.<
27260 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
27280 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
272a0 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
272c0 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.
272e0 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
27300 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,
27320 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
27340 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
27360 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
27380 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
273a0 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>.
273c0 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
273e0 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
27400 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
27420 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.
27440 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
27460 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
27480 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))..(
274a0 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
274c0 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-
274e0 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>...
27500 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
27520 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
27540 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.
27560 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
27580 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
275a0 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.
275c0 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
275e0 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
27600 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
27620 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
27640 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.
27660 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
27680 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.
276a0 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
276c0 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
276e0 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
27700 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
27720 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
27740 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
27760 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.
27780 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
277a0 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
277c0 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
277e0 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
27800 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.
27820 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
27840 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).;;.
27860 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
27880 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
278a0 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.`
278c0 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
278e0 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
27900 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
27920 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
27940 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
27960 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'
27980 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
279a0 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
279c0 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
279e0 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
27a00 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
27a20 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
27a40 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.`
27a60 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
27a80 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
27aa0 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
27ac0 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).
27ae0 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-
27b00 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
27b20 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
27b40 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.
27b60 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))
27b80 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
27ba0 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
27bc0 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
27be0 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
27c00 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
27c20 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
27c40 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
27c60 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.
27c80 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,
27ca0 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
27cc0 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
27ce0 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
27d00 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
27d20 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
27d40 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.
27d60 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...
27d80 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..
27da0 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
27dc0 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
27de0 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)..............
27e00 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
27e20 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
27e40 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
27e60 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)
27e80 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
27ea0 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))).....
27ec0 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).........
27ee0 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
27f00 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
27f20 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
27f40 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
27f60 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
27f80 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
27fa0 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-
27fc0 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.
27fe0 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
28000 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
28020 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
28040 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.
28060 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.
28080 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
280a0 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
280c0 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
280e0 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
28100 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
28120 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
28140 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
28160 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
28180 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
281a0 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
281c0 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
281e0 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)).
28200 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
28220 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
28240 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
28260 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.
28280 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,
282a0 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
282c0 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
282e0 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
28300 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
28320 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
28340 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.
28360 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
28380 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
283a0 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
283c0 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
283e0 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
28400 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-
28420 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
28440 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
28460 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
28480 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..........(
284a0 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
284c0 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...........
284e0 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
28500 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)))..
28520 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)))........
28540 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)
28560 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
28580 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
285a0 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
285c0 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
285e0 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").......(
28600 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
28620 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.
28640 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.......................
28660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
286a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
286c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
286e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
287a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
287c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
287e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28800 63 6f 6d 70 61 74 2d 32 39 2e 31 2e 34 2e 35 2f 63 6f 6d 70 61 74 2e 69 6e 66 6f 00 00 00 00 00 compat-29.1.4.5/compat.info.....
28820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
28860 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
28880 30 34 31 30 35 37 31 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 30 34 34 00 20 30 00 00 00 0410571.00000000000.014044..0...
288a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
288c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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...................
28920 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...................
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 54 68 69 73 20 69 73 20 64 6f 63 71 31 61 68 5a 52 2e 69 6e 66 6f 2c 20 70 72 6f 64 75 63 65 64 This.is.docq1ahZR.info,.produced
28a20 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
28a40 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
28a60 32 34 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 49 6e 63 24.Free.Software.Foundation,.Inc
28a80 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
28aa0 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.
28ac0 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
28ae0 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
28b00 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
28b20 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
28b40 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;.
28b60 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
28b80 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
28ba0 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
28bc0 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)...
28be0 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
28c00 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
28c20 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
28c40 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
28c60 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
28c80 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...
28ca0 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
28cc0 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
28ce0 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)...
28d00 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
28d20 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
28d40 69 6c 65 3a 20 64 6f 63 71 31 61 68 5a 52 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 54 6f 70 2c ile:.docq1ahZR.info,..Node:.Top,
28d60 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)
28d80 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.**************
28da0 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
28dc0 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
28de0 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
28e00 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
28e20 6f 6e 64 69 6e 67 20 74 6f 20 76 65 72 73 69 6f 6e 0a 32 39 2e 31 2e 34 2e 35 2e 0a 0a 20 20 20 onding.to.version.29.1.4.5......
28e40 43 6f 70 79 72 69 67 68 74 20 c2 a9 20 32 30 32 32 2d 32 30 32 34 20 46 72 65 65 20 53 6f 66 74 Copyright....2022-2024.Free.Soft
28e60 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
28e80 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
28ea0 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
28ec0 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
28ee0 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,...
28f00 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
28f20 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
28f40 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
28f60 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
28f80 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
28fa0 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
28fc0 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
28fe0 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
29000 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........
29020 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.
29040 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
29060 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
29080 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
290a0 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
290c0 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
290e0 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
29100 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
29120 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.
29140 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
29160 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::
29180 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
291a0 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.
291c0 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
291e0 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.*.
29200 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
29220 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
29240 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::..............
29260 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
29280 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::........
292a0 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
292c0 20 66 6f 72 20 45 6d 61 63 73 20 32 39 2e 31 0a 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 71 31 61 .for.Emacs.29.1.....File:.docq1a
292e0 68 5a 52 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 2c 20 20 hZR.info,..Node:.Introduction,..
29300 4e 65 78 74 3a 20 53 75 70 70 6f 72 74 2c 20 20 50 72 65 76 3a 20 54 6f 70 2c 20 20 55 70 3a 20 Next:.Support,..Prev:.Top,..Up:.
29320 54 6f 70 0a 0a 31 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a Top..1.Introduction.************
29340 2a 2a 0a 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 4f 76 65 72 76 69 65 77 3a 3a 0a 2a 20 55 73 61 67 **..*.Menu:..*.Overview::.*.Usag
29360 65 3a 3a 0a 2a 20 4c 69 6d 69 74 61 74 69 6f 6e 73 3a 3a 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 e::.*.Limitations::....File:.doc
29380 71 31 61 68 5a 52 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 4f 76 65 72 76 69 65 77 2c 20 20 4e q1ahZR.info,..Node:.Overview,..N
293a0 65 78 74 3a 20 55 73 61 67 65 2c 20 20 55 70 3a 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 0a 0a 31 ext:.Usage,..Up:.Introduction..1
293c0 2e 31 20 4f 76 65 72 76 69 65 77 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 54 68 65 20 6f 62 .1.Overview.============..The.ob
293e0 6a 65 63 74 69 76 65 20 6f 66 20 43 6f 6d 70 61 74 20 69 73 20 74 6f 20 70 72 6f 76 69 64 65 20 jective.of.Compat.is.to.provide.
29400 22 66 6f 72 77 61 72 64 73 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 22 20 6c 69 62 72 61 72 79 "forwards.compatibility".library
29420 0a 66 6f 72 20 45 6d 61 63 73 20 4c 69 73 70 2e 20 20 42 79 20 75 73 69 6e 67 20 43 6f 6d 70 61 .for.Emacs.Lisp...By.using.Compa
29440 74 2c 20 61 6e 20 45 6c 69 73 70 20 70 61 63 6b 61 67 65 20 64 6f 65 73 20 6e 6f 74 20 68 61 76 t,.an.Elisp.package.does.not.hav
29460 65 20 74 6f 20 6d 61 6b 65 0a 74 68 65 20 64 65 63 69 73 69 6f 6e 20 74 6f 20 65 69 74 68 65 72 e.to.make.the.decision.to.either
29480 20 75 73 65 20 6e 65 77 20 61 6e 64 20 75 73 65 66 75 6c 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 .use.new.and.useful.functionalit
294a0 79 20 6f 72 20 73 75 70 70 6f 72 74 20 6f 6c 64 0a 76 65 72 73 69 6f 6e 73 20 6f 66 20 45 6d 61 y.or.support.old.versions.of.Ema
294c0 63 73 2e 0a 0a 20 20 20 54 68 65 20 6c 69 62 72 61 72 79 20 70 72 6f 76 69 64 65 73 20 73 75 70 cs......The.library.provides.sup
294e0 70 6f 72 74 20 62 61 63 6b 20 75 6e 74 69 6c 20 45 6d 61 63 73 20 32 34 2e 34 2e 20 20 54 68 65 port.back.until.Emacs.24.4...The
29500 20 69 6e 74 65 6e 64 65 64 0a 61 75 64 69 65 6e 63 65 20 61 72 65 20 70 61 63 6b 61 67 65 20 64 .intended.audience.are.package.d
29520 65 76 65 6c 6f 70 65 72 73 20 74 68 61 74 20 61 72 65 20 69 6e 74 65 72 65 73 74 65 64 20 69 6e evelopers.that.are.interested.in
29540 20 75 73 69 6e 67 20 6e 65 77 65 72 0a 64 65 76 65 6c 6f 70 6d 65 6e 74 73 2c 20 77 69 74 68 6f .using.newer.developments,.witho
29560 75 74 20 68 61 76 69 6e 67 20 74 6f 20 62 72 65 61 6b 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 ut.having.to.break.compatibility
29580 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 71 31 61 68 5a 52 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 .....File:.docq1ahZR.info,..Node
295a0 3a 20 55 73 61 67 65 2c 20 20 4e 65 78 74 3a 20 4c 69 6d 69 74 61 74 69 6f 6e 73 2c 20 20 50 72 :.Usage,..Next:.Limitations,..Pr
295c0 65 76 3a 20 4f 76 65 72 76 69 65 77 2c 20 20 55 70 3a 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 0a ev:.Overview,..Up:.Introduction.
295e0 0a 31 2e 32 20 55 73 61 67 65 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 54 68 65 20 69 6e 74 65 6e 64 .1.2.Usage.=========..The.intend
29600 65 64 20 75 73 65 2d 63 61 73 65 20 66 6f 72 20 74 68 69 73 20 6c 69 62 72 61 72 79 20 69 73 20 ed.use-case.for.this.library.is.
29620 66 6f 72 20 70 61 63 6b 61 67 65 20 64 65 76 65 6c 6f 70 65 72 73 20 74 6f 20 61 64 64 0a 61 73 for.package.developers.to.add.as
29640 20 61 20 64 65 70 65 6e 64 65 6e 63 79 20 69 6e 20 74 68 65 20 68 65 61 64 65 72 2e 20 20 54 68 .a.dependency.in.the.header...Th
29660 65 20 76 65 72 73 69 6f 6e 20 6f 66 20 74 68 65 20 43 6f 6d 70 61 74 20 6c 69 62 72 61 72 79 0a e.version.of.the.Compat.library.
29680 6d 69 72 72 6f 72 73 20 74 68 65 20 76 65 72 73 69 6f 6e 20 6f 66 20 45 6d 61 63 73 20 72 65 6c mirrors.the.version.of.Emacs.rel
296a0 65 61 73 65 73 2e 20 20 54 68 65 20 63 75 72 72 65 6e 74 20 76 65 72 73 69 6f 6e 20 6f 66 20 43 eases...The.current.version.of.C
296c0 6f 6d 70 61 74 0a 63 6f 72 72 65 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 63 75 72 72 65 6e 74 ompat.corresponds.to.the.current
296e0 20 45 6d 61 63 73 20 72 65 6c 65 61 73 65 2e 0a 0a 20 20 20 20 20 3b 3b 20 50 61 63 6b 61 67 65 .Emacs.release........;;.Package
29700 2d 52 65 71 75 69 72 65 73 3a 20 28 28 65 6d 61 63 73 20 22 32 34 2e 34 22 29 20 28 63 6f 6d 70 -Requires:.((emacs."24.4").(comp
29720 61 74 20 22 32 39 2e 31 2e 34 2e 35 22 29 29 0a 0a 20 20 20 54 68 65 72 65 20 69 73 20 6e 6f 20 at."29.1.4.5")).....There.is.no.
29740 6e 65 65 64 20 74 6f 20 64 65 70 65 6e 64 20 6f 6e 20 e2 80 98 65 6d 61 63 73 20 32 34 2e 34 e2 need.to.depend.on....emacs.24.4.
29760 80 99 20 73 70 65 63 69 66 69 63 61 6c 6c 79 2e 20 20 4f 6e 65 20 63 61 6e 0a 63 68 6f 6f 73 65 ...specifically...One.can.choose
29780 20 61 6e 79 20 6e 65 77 65 72 20 76 65 72 73 69 6f 6e 2c 20 69 66 20 66 65 61 74 75 72 65 73 20 .any.newer.version,.if.features.
297a0 6e 6f 74 20 70 72 6f 76 69 64 65 64 20 62 79 20 43 6f 6d 70 61 74 20 6e 65 63 65 73 73 69 74 61 not.provided.by.Compat.necessita
297c0 74 65 0a 69 74 2c 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 62 75 67 20 66 69 78 65 73 20 6f 72 20 te.it,.for.example.bug.fixes.or.
297e0 55 49 20 69 6d 70 72 6f 76 65 6d 65 6e 74 73 2e 0a 0a 20 20 20 49 6e 20 61 6e 79 20 66 69 6c 65 UI.improvements......In.any.file
29800 20 77 68 65 72 65 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 66 6f 72 6d 73 20 61 72 65 20 75 .where.compatibility.forms.are.u
29820 73 65 64 2c 20 61 0a 0a 20 20 20 20 20 28 72 65 71 75 69 72 65 20 27 63 6f 6d 70 61 74 29 0a 0a sed,.a.......(require.'compat)..
29840 20 20 20 73 68 6f 75 6c 64 20 62 65 20 61 64 64 65 64 20 65 61 72 6c 79 20 6f 6e 2e 20 20 54 68 ...should.be.added.early.on...Th
29860 69 73 20 77 69 6c 6c 20 6c 6f 61 64 20 61 6c 6c 20 6e 65 63 65 73 73 61 72 79 20 43 6f 6d 70 61 is.will.load.all.necessary.Compa
29880 74 0a 64 65 66 69 6e 69 74 69 6f 6e 73 2e 20 20 43 6f 6d 70 61 74 20 6c 6f 61 64 73 20 74 68 65 t.definitions...Compat.loads.the
298a0 20 e2 80 98 73 65 71 e2 80 99 20 6c 69 62 72 61 72 79 20 77 68 69 63 68 20 69 73 20 70 72 65 6c ....seq....library.which.is.prel
298c0 6f 61 64 65 64 20 62 79 0a 64 65 66 61 75 6c 74 20 6f 6e 20 45 6d 61 63 73 20 32 39 2e 20 20 4e oaded.by.default.on.Emacs.29...N
298e0 6f 74 65 20 74 68 61 74 20 69 66 20 43 6f 6d 70 61 74 20 69 73 20 69 6e 73 74 61 6c 6c 65 64 20 ote.that.if.Compat.is.installed.
29900 6f 6e 20 61 20 72 65 63 65 6e 74 0a 76 65 72 73 69 6f 6e 20 6f 66 20 45 6d 61 63 73 2c 20 61 6c on.a.recent.version.of.Emacs,.al
29920 6c 20 6f 66 20 74 68 65 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 61 72 65 20 64 69 73 61 62 6c 65 l.of.the.definitions.are.disable
29940 64 20 61 74 20 63 6f 6d 70 69 6c 65 20 74 69 6d 65 2c 0a 73 75 63 68 20 74 68 61 74 20 6e 6f 20 d.at.compile.time,.such.that.no.
29960 6e 65 67 61 74 69 76 65 20 70 65 72 66 6f 72 6d 61 6e 63 65 20 69 6d 70 61 63 74 20 69 73 20 69 negative.performance.impact.is.i
29980 6e 63 75 72 72 65 64 2e 0a 0a 20 20 20 41 20 6d 69 6e 69 6d 61 6c 20 76 65 72 73 69 6f 6e 20 6f ncurred......A.minimal.version.o
299a0 66 20 43 6f 6d 70 61 74 20 77 69 6c 6c 20 62 65 20 70 72 65 73 65 6e 74 20 69 6e 20 45 6d 61 63 f.Compat.will.be.present.in.Emac
299c0 73 20 76 65 72 73 69 6f 6e 20 33 30 20 61 6e 64 0a 6e 65 77 65 72 2e 20 20 50 61 63 6b 61 67 65 s.version.30.and.newer...Package
299e0 73 20 77 68 69 63 68 20 61 72 65 20 70 61 72 74 20 6f 66 20 45 6d 61 63 73 20 69 74 73 65 6c 66 s.which.are.part.of.Emacs.itself
29a00 20 61 6e 64 20 77 61 6e 74 20 74 6f 20 74 61 6b 65 0a 61 64 76 61 6e 74 61 67 65 20 6f 66 20 43 .and.want.to.take.advantage.of.C
29a20 6f 6d 70 61 74 2c 20 63 61 6e 20 61 6c 73 6f 20 75 73 65 20 e2 80 98 28 72 65 71 75 69 72 65 20 ompat,.can.also.use....(require.
29a40 27 63 6f 6d 70 61 74 29 e2 80 99 2e 20 20 54 68 65 20 61 64 76 61 6e 74 61 67 65 20 6f 66 0a 74 'compat)......The.advantage.of.t
29a60 68 65 20 69 6e 63 6c 75 73 69 6f 6e 20 6f 66 20 61 20 6d 69 6e 69 6d 61 6c 20 43 6f 6d 70 61 74 he.inclusion.of.a.minimal.Compat
29a80 20 69 6e 20 45 6d 61 63 73 20 69 73 20 74 68 61 74 20 43 6f 6d 70 61 74 20 77 69 6c 6c 20 6e 6f .in.Emacs.is.that.Compat.will.no
29aa0 74 20 62 65 0a 69 6e 73 74 61 6c 6c 65 64 20 69 66 20 79 6f 75 20 72 65 71 75 69 72 65 20 61 20 t.be.installed.if.you.require.a.
29ac0 76 65 72 73 69 6f 6e 20 6e 65 77 65 72 20 6f 72 20 65 71 75 61 6c 20 74 68 61 6e 20 74 68 65 20 version.newer.or.equal.than.the.
29ae0 63 75 72 72 65 6e 74 20 45 6d 61 63 73 0a 76 65 72 73 69 6f 6e 2e 20 20 46 6f 72 20 65 78 61 6d current.Emacs.version...For.exam
29b00 70 6c 65 2c 20 69 66 20 61 20 70 61 63 6b 61 67 65 20 64 65 70 65 6e 64 69 6e 67 20 6f 6e 20 45 ple,.if.a.package.depending.on.E
29b20 6d 61 63 73 20 32 35 2e 31 20 61 6e 64 20 43 6f 6d 70 61 74 0a 32 39 2e 31 20 69 73 20 69 6e 73 macs.25.1.and.Compat.29.1.is.ins
29b40 74 61 6c 6c 65 64 20 6f 6e 20 45 6d 61 63 73 20 33 30 2e 31 2c 20 43 6f 6d 70 61 74 20 77 69 6c talled.on.Emacs.30.1,.Compat.wil
29b60 6c 20 6e 6f 74 20 62 65 20 70 75 6c 6c 65 64 20 69 6e 20 61 73 0a 64 65 70 65 6e 64 65 6e 63 79 l.not.be.pulled.in.as.dependency
29b80 2c 20 73 69 6e 63 65 20 45 6d 61 63 73 20 33 30 2e 31 20 61 6c 72 65 61 64 79 20 70 72 6f 76 69 ,.since.Emacs.30.1.already.provi
29ba0 64 65 73 20 74 68 65 20 72 65 71 75 69 72 65 64 0a 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 2e 0a des.the.required.functionality..
29bc0 0a 20 20 20 43 6f 6d 70 61 74 20 70 72 6f 76 69 64 65 73 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 ....Compat.provides.replacement.
29be0 66 75 6e 63 74 69 6f 6e 73 20 77 69 74 68 20 65 78 74 65 6e 64 65 64 20 66 75 6e 63 74 69 6f 6e functions.with.extended.function
29c00 61 6c 69 74 79 20 66 6f 72 0a 66 75 6e 63 74 69 6f 6e 73 20 74 68 61 74 20 61 72 65 20 61 6c 72 ality.for.functions.that.are.alr
29c20 65 61 64 79 20 64 65 66 69 6e 65 64 2c 20 65 2e 67 2e 2c 20 e2 80 98 73 6f 72 74 e2 80 99 20 6f eady.defined,.e.g.,....sort....o
29c40 72 20 e2 80 98 61 73 73 6f 63 e2 80 99 2e 20 20 54 68 65 73 65 0a 66 75 6e 63 74 69 6f 6e 73 20 r....assoc......These.functions.
29c60 6d 61 79 20 68 61 76 65 20 63 68 61 6e 67 65 64 20 74 68 65 69 72 20 63 61 6c 6c 69 6e 67 20 63 may.have.changed.their.calling.c
29c80 6f 6e 76 65 6e 74 69 6f 6e 20 28 61 64 64 69 74 69 6f 6e 61 6c 20 6f 70 74 69 6f 6e 61 6c 0a 61 onvention.(additional.optional.a
29ca0 72 67 75 6d 65 6e 74 73 29 20 6f 72 20 6d 61 79 20 68 61 76 65 20 63 68 61 6e 67 65 64 20 74 68 rguments).or.may.have.changed.th
29cc0 65 69 72 20 62 65 68 61 76 69 6f 72 2e 20 20 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 6d eir.behavior...These.functions.m
29ce0 75 73 74 20 62 65 0a 6c 6f 6f 6b 65 64 20 75 70 20 65 78 70 6c 69 63 69 74 6c 79 20 77 69 74 68 ust.be.looked.up.explicitly.with
29d00 20 e2 80 98 63 6f 6d 70 61 74 2d 66 75 6e 63 74 69 6f 6e e2 80 99 20 6f 72 20 63 61 6c 6c 65 64 ....compat-function....or.called
29d20 20 65 78 70 6c 69 63 69 74 6c 79 20 77 69 74 68 0a e2 80 98 63 6f 6d 70 61 74 2d 63 61 6c 6c e2 .explicitly.with....compat-call.
29d40 80 99 2e 20 20 57 65 20 63 61 6c 6c 20 74 68 65 6d 20 e2 80 9c 45 78 74 65 6e 64 65 64 20 44 65 .....We.call.them....Extended.De
29d60 66 69 6e 69 74 69 6f 6e 73 e2 80 9d 2e 20 20 49 6e 20 63 6f 6e 74 72 61 73 74 2c 20 6e 65 77 6c finitions......In.contrast,.newl
29d80 79 0a e2 80 9c 41 64 64 65 64 20 44 65 66 69 6e 69 74 69 6f 6e 73 e2 80 9d 20 63 61 6e 20 62 65 y....Added.Definitions....can.be
29da0 20 63 61 6c 6c 65 64 20 61 73 20 75 73 75 61 6c 2e 20 20 54 68 65 20 43 6f 6d 70 61 74 20 6d 61 .called.as.usual...The.Compat.ma
29dc0 6e 75 61 6c 0a 65 78 70 6c 69 63 69 74 6c 79 20 64 6f 63 75 6d 65 6e 74 73 20 74 68 65 20 63 61 nual.explicitly.documents.the.ca
29de0 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 6f 66 20 65 61 63 68 20 63 6f 6d 70 61 74 69 lling.convention.of.each.compati
29e00 62 69 6c 69 74 79 0a 66 75 6e 63 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 28 63 6f 6d 70 61 74 2d 63 bility.function........(compat-c
29e20 61 6c 6c 20 61 73 73 6f 63 20 6b 65 79 20 61 6c 69 73 74 20 74 65 73 74 66 6e 29 20 3b 3b 20 43 all.assoc.key.alist.testfn).;;.C
29e40 61 6c 6c 20 65 78 74 65 6e 64 65 64 20 60 61 73 73 6f 63 27 0a 20 20 20 20 20 28 6d 61 70 63 61 all.extended.`assoc'......(mapca
29e60 6e 20 66 75 6e 20 73 65 71 29 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3b n.fun.seq).....................;
29e80 3b 20 43 61 6c 6c 20 6e 65 77 6c 79 20 61 64 64 65 64 20 60 6d 61 70 63 61 6e 27 0a 0a 20 2d 2d ;.Call.newly.added.`mapcan'...--
29ea0 20 4d 61 63 72 6f 3a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 66 75 6e 20 26 72 65 73 74 20 61 72 .Macro:.compat-call.fun.&rest.ar
29ec0 67 73 0a 20 20 20 20 20 54 68 69 73 20 6d 61 63 72 6f 20 63 61 6c 6c 73 20 74 68 65 20 63 6f 6d gs......This.macro.calls.the.com
29ee0 70 61 74 69 62 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 20 46 55 4e 20 77 69 74 68 20 41 52 47 patibility.function.FUN.with.ARG
29f00 53 2e 20 20 4d 61 6e 79 0a 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 73 20 70 72 6f 76 69 64 65 64 S...Many......functions.provided
29f20 20 62 79 20 43 6f 6d 70 61 74 20 63 61 6e 20 62 65 20 63 61 6c 6c 65 64 20 64 69 72 65 63 74 6c .by.Compat.can.be.called.directl
29f40 79 20 77 69 74 68 6f 75 74 20 74 68 69 73 0a 20 20 20 20 20 6d 61 63 72 6f 2e 20 20 48 6f 77 65 y.without.this......macro...Howe
29f60 76 65 72 20 69 6e 20 74 68 65 20 63 61 73 65 20 77 68 65 72 65 20 43 6f 6d 70 61 74 20 70 72 6f ver.in.the.case.where.Compat.pro
29f80 76 69 64 65 73 20 61 6e 20 61 6c 74 65 72 6e 61 74 69 76 65 0a 20 20 20 20 20 76 65 72 73 69 6f vides.an.alternative......versio
29fa0 6e 20 6f 66 20 61 6e 20 65 78 69 73 74 69 6e 67 20 66 75 6e 63 74 69 6f 6e 2c 20 74 68 65 20 66 n.of.an.existing.function,.the.f
29fc0 75 6e 63 74 69 6f 6e 20 63 61 6c 6c 20 68 61 73 20 74 6f 20 67 6f 0a 20 20 20 20 20 74 68 72 6f unction.call.has.to.go......thro
29fe0 75 67 68 20 e2 80 98 63 6f 6d 70 61 74 2d 63 61 6c 6c e2 80 99 2e 20 20 54 68 69 73 20 68 61 70 ugh....compat-call......This.hap
2a000 70 65 6e 73 20 66 6f 72 20 65 78 61 6d 70 6c 65 20 77 68 65 6e 20 74 68 65 20 63 61 6c 6c 69 6e pens.for.example.when.the.callin
2a020 67 0a 20 20 20 20 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 6f 66 20 61 20 66 75 6e 63 74 69 6f 6e 20 g......convention.of.a.function.
2a040 68 61 73 20 63 68 61 6e 67 65 64 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 63 6f 6d 70 61 74 2d has.changed....--.Macro:.compat-
2a060 66 75 6e 63 74 69 6f 6e 20 66 75 6e 0a 20 20 20 20 20 54 68 69 73 20 6d 61 63 72 6f 20 72 65 74 function.fun......This.macro.ret
2a080 75 72 6e 73 20 74 68 65 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 20 urns.the.compatibility.function.
2a0a0 73 79 6d 62 6f 6c 20 66 6f 72 20 46 55 4e 2e 20 20 53 65 65 0a 20 20 20 20 20 e2 80 98 63 6f 6d symbol.for.FUN...See.........com
2a0c0 70 61 74 2d 63 61 6c 6c e2 80 99 20 66 6f 72 20 61 20 6d 6f 72 65 20 63 6f 6e 76 65 6e 69 65 6e pat-call....for.a.more.convenien
2a0e0 74 20 6d 61 63 72 6f 20 74 6f 20 64 69 72 65 63 74 6c 79 20 63 61 6c 6c 0a 20 20 20 20 20 63 6f t.macro.to.directly.call......co
2a100 6d 70 61 74 69 62 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 0a 20 20 20 49 66 20 43 6f mpatibility.functions......If.Co
2a120 6d 70 61 74 20 69 73 20 75 73 65 64 20 69 6e 20 45 6d 61 63 73 20 63 6f 72 65 20 70 61 63 6b 61 mpat.is.used.in.Emacs.core.packa
2a140 67 65 73 2c 20 74 68 65 20 6d 61 63 72 6f 73 20 e2 80 98 63 6f 6d 70 61 74 2d 63 61 6c 6c e2 80 ges,.the.macros....compat-call..
2a160 99 0a 61 6e 64 20 e2 80 98 63 6f 6d 70 61 74 2d 66 75 6e 63 74 69 6f 6e e2 80 99 20 77 69 6c 6c ..and....compat-function....will
2a180 20 62 65 20 61 76 61 69 6c 61 62 6c 65 20 69 6e 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 20 33 .be.available.in.Emacs.version.3
2a1a0 30 20 61 6e 64 20 6e 65 77 65 72 2e 0a 0a 20 20 20 54 68 65 20 6d 61 63 72 6f 73 20 e2 80 98 63 0.and.newer......The.macros....c
2a1c0 6f 6d 70 61 74 2d 63 61 6c 6c e2 80 99 20 61 6e 64 20 e2 80 98 63 6f 6d 70 61 74 2d 66 75 6e 63 ompat-call....and....compat-func
2a1e0 74 69 6f 6e e2 80 99 20 61 72 65 20 69 6e 74 72 6f 64 75 63 65 64 20 62 79 0a 43 6f 6d 70 61 74 tion....are.introduced.by.Compat
2a200 2c 20 73 69 6e 63 65 20 43 6f 6d 70 61 74 20 64 6f 65 73 20 6e 6f 74 20 61 64 76 69 73 65 20 6f ,.since.Compat.does.not.advise.o
2a220 72 20 6f 76 65 72 72 69 64 65 20 65 78 69 73 74 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 2e 0a 47 r.override.existing.functions..G
2a240 65 6e 65 72 61 6c 6c 79 20 43 6f 6d 70 61 74 20 69 73 20 77 72 69 74 74 65 6e 20 69 6e 20 64 65 enerally.Compat.is.written.in.de
2a260 66 65 6e 73 69 76 65 20 73 74 79 6c 65 20 77 68 69 63 68 20 69 73 20 73 75 70 70 6f 73 65 64 20 fensive.style.which.is.supposed.
2a280 74 6f 0a 72 65 64 75 63 65 20 70 6f 74 65 6e 74 69 61 6c 20 62 72 65 61 6b 61 67 65 2c 20 61 6e to.reduce.potential.breakage,.an
2a2a0 64 20 74 6f 20 69 6e 63 72 65 61 73 65 20 74 68 65 20 63 68 61 6e 63 65 73 20 6f 66 20 73 74 61 d.to.increase.the.chances.of.sta
2a2c0 79 69 6e 67 20 62 69 6e 61 72 79 0a 63 6f 6d 70 61 74 69 62 6c 65 20 61 63 72 6f 73 73 20 72 65 ying.binary.compatible.across.re
2a2e0 6c 65 61 73 65 73 2e 20 20 54 68 65 20 65 78 74 65 6e 73 69 76 65 20 74 65 73 74 20 63 6f 76 65 leases...The.extensive.test.cove
2a300 72 61 67 65 20 65 6e 73 75 72 65 73 20 74 68 61 74 20 77 65 0a 63 61 6e 20 6d 61 69 6e 74 61 69 rage.ensures.that.we.can.maintai
2a320 6e 20 68 69 67 68 20 71 75 61 6c 69 74 79 2c 20 77 68 69 63 68 20 69 73 20 63 72 75 63 69 61 6c n.high.quality,.which.is.crucial
2a340 20 66 6f 72 20 43 6f 6d 70 61 74 20 77 68 69 63 68 20 69 73 20 6e 6f 74 0a 72 65 73 74 72 69 63 .for.Compat.which.is.not.restric
2a360 74 65 64 20 74 6f 20 61 20 6e 61 6d 65 73 70 61 63 65 20 6c 69 6b 65 20 75 73 75 61 6c 20 6c 69 ted.to.a.namespace.like.usual.li
2a380 62 72 61 72 69 65 73 2e 0a 0a 20 20 20 49 66 20 79 6f 75 20 69 6e 74 65 6e 64 20 74 6f 20 75 73 braries......If.you.intend.to.us
2a3a0 65 20 61 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 20 69 6e 20 79 6f e.a.compatibility.function.in.yo
2a3c0 75 72 20 63 6f 64 65 20 69 74 20 69 73 0a 72 65 63 6f 6d 6d 65 6e 64 65 64 20 74 68 61 74 20 79 ur.code.it.is.recommended.that.y
2a3e0 6f 75 20 74 61 6b 65 20 61 20 6c 6f 6f 6b 20 61 74 20 74 68 65 20 74 65 73 74 20 73 75 69 74 65 ou.take.a.look.at.the.test.suite
2a400 20 e2 80 98 63 6f 6d 70 61 74 2d 74 65 73 74 73 2e 65 6c e2 80 99 2e 0a 54 68 65 72 65 20 79 6f ....compat-tests.el.....There.yo
2a420 75 20 63 61 6e 20 73 65 65 20 74 68 65 20 73 75 70 70 6f 72 74 65 64 20 63 61 6c 6c 69 6e 67 20 u.can.see.the.supported.calling.
2a440 63 6f 6e 76 65 6e 74 69 6f 6e 73 2c 20 77 68 69 63 68 20 61 72 65 0a 67 75 61 72 61 6e 74 65 65 conventions,.which.are.guarantee
2a460 64 20 74 6f 20 77 6f 72 6b 20 6f 6e 20 74 68 65 20 73 75 70 70 6f 72 74 65 64 20 45 6d 61 63 73 d.to.work.on.the.supported.Emacs
2a480 20 76 65 72 73 69 6f 6e 73 2e 20 20 57 65 20 65 6e 73 75 72 65 20 74 68 69 73 0a 75 73 69 6e 67 .versions...We.ensure.this.using
2a4a0 20 63 6f 6e 74 69 6e 75 6f 75 73 20 69 6e 74 65 67 72 61 74 69 6f 6e 2e 20 20 41 6c 6c 20 66 75 .continuous.integration...All.fu
2a4c0 6e 63 74 69 6f 6e 73 20 70 72 6f 76 69 64 65 64 20 62 79 20 43 6f 6d 70 61 74 20 61 72 65 0a 63 nctions.provided.by.Compat.are.c
2a4e0 6f 76 65 72 65 64 20 62 79 20 74 68 65 20 74 65 73 74 20 73 75 69 74 65 2e 20 20 54 68 65 72 65 overed.by.the.test.suite...There
2a500 20 69 73 20 61 20 6c 69 6e 6b 20 74 6f 20 74 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 20 .is.a.link.to.the.corresponding.
2a520 74 65 73 74 20 6f 6e 0a 74 68 65 20 66 69 72 73 74 20 6c 69 6e 65 20 6f 66 20 65 61 63 68 20 64 test.on.the.first.line.of.each.d
2a540 65 66 69 6e 69 74 69 6f 6e 2e 0a 0a 20 20 20 59 6f 75 20 6d 61 79 20 77 61 6e 74 20 74 6f 20 73 efinition......You.may.want.to.s
2a560 75 62 73 63 72 69 62 65 20 74 6f 20 74 68 65 20 63 6f 6d 70 61 74 2d 61 6e 6e 6f 75 6e 63 65 0a ubscribe.to.the.compat-announce.
2a580 28 68 74 74 70 73 3a 2f 2f 6c 69 73 74 73 2e 73 72 2e 68 74 2f 7e 70 6b 61 6c 2f 63 6f 6d 70 61 (https://lists.sr.ht/~pkal/compa
2a5a0 74 2d 61 6e 6e 6f 75 6e 63 65 29 20 6d 61 69 6c 69 6e 67 20 6c 69 73 74 20 74 6f 20 62 65 20 6e t-announce).mailing.list.to.be.n
2a5c0 6f 74 69 66 69 65 64 0a 77 68 65 6e 20 6e 65 77 20 76 65 72 73 69 6f 6e 73 20 61 72 65 20 72 65 otified.when.new.versions.are.re
2a5e0 6c 65 61 73 65 64 20 6f 72 20 72 65 6c 65 76 61 6e 74 20 63 68 61 6e 67 65 73 20 61 72 65 20 6d leased.or.relevant.changes.are.m
2a600 61 64 65 2e 20 20 57 65 20 61 6c 73 6f 0a 70 72 6f 76 69 64 65 20 61 20 64 65 76 65 6c 6f 70 6d ade...We.also.provide.a.developm
2a620 65 6e 74 20 6d 61 69 6c 69 6e 67 20 6c 69 73 74 0a 28 68 74 74 70 73 3a 2f 2f 6c 69 73 74 73 2e ent.mailing.list.(https://lists.
2a640 73 72 2e 68 74 2f 7e 70 6b 61 6c 2f 63 6f 6d 70 61 74 2d 64 65 76 65 6c 29 20 28 7e 70 6b 61 6c sr.ht/~pkal/compat-devel).(~pkal
2a660 2f 63 6f 6d 70 61 74 2d 64 65 76 65 6c 40 6c 69 73 74 73 2e 73 72 2e 68 74 0a 3c 7e 70 6b 61 6c /compat-devel@lists.sr.ht.<~pkal
2a680 2f 63 6f 6d 70 61 74 2d 64 65 76 65 6c 40 6c 69 73 74 73 2e 73 72 2e 68 74 3e 29 2e 0a 0a 1f 0a /compat-devel@lists.sr.ht>).....
2a6a0 46 69 6c 65 3a 20 64 6f 63 71 31 61 68 5a 52 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 4c 69 6d File:.docq1ahZR.info,..Node:.Lim
2a6c0 69 74 61 74 69 6f 6e 73 2c 20 20 50 72 65 76 3a 20 55 73 61 67 65 2c 20 20 55 70 3a 20 49 6e 74 itations,..Prev:.Usage,..Up:.Int
2a6e0 72 6f 64 75 63 74 69 6f 6e 0a 0a 31 2e 33 20 4c 69 6d 69 74 61 74 69 6f 6e 73 0a 3d 3d 3d 3d 3d roduction..1.3.Limitations.=====
2a700 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 54 68 65 20 43 6f 6d 70 61 74 20 6c 69 62 72 61 72 79 20 68 ==========..The.Compat.library.h
2a720 61 73 20 61 20 6e 75 6d 62 65 72 20 6f 66 20 6c 69 6d 69 74 61 74 69 6f 6e 73 2e 20 20 43 6f 6d as.a.number.of.limitations...Com
2a740 70 6c 65 74 65 20 62 61 63 6b 77 61 72 64 73 0a 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 63 61 plete.backwards.compatibility.ca
2a760 6e 6e 6f 74 20 62 65 20 70 72 6f 76 69 64 65 64 20 64 75 65 20 74 6f 20 74 68 65 20 73 63 6f 70 nnot.be.provided.due.to.the.scop
2a780 65 20 6f 66 20 43 6f 6d 70 61 74 20 61 6e 64 20 66 6f 72 0a 74 65 63 68 6e 69 63 61 6c 20 72 65 e.of.Compat.and.for.technical.re
2a7a0 61 73 6f 6e 73 2e 20 20 54 68 65 20 73 63 6f 70 65 20 69 73 20 69 6e 74 65 6e 74 69 6f 6e 61 6c asons...The.scope.is.intentional
2a7c0 6c 79 20 72 65 73 74 72 69 63 74 65 64 20 69 6e 20 6f 72 64 65 72 20 74 6f 0a 6c 69 6d 69 74 20 ly.restricted.in.order.to.limit.
2a7e0 74 68 65 20 73 69 7a 65 20 6f 66 20 43 6f 6d 70 61 74 20 61 6e 64 20 74 6f 20 65 6e 73 75 72 65 the.size.of.Compat.and.to.ensure
2a800 20 74 68 61 74 20 74 68 65 20 6c 69 62 72 61 72 79 20 73 74 61 79 73 0a 6d 61 69 6e 74 61 69 6e .that.the.library.stays.maintain
2a820 61 62 6c 65 2e 0a 0a 20 20 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 20 32 34 2e 34 20 69 73 20 able......Emacs.version.24.4.is.
2a840 63 68 6f 73 65 6e 20 61 73 20 74 68 65 20 6f 6c 64 65 73 74 20 76 65 72 73 69 6f 6e 20 73 75 70 chosen.as.the.oldest.version.sup
2a860 70 6f 72 74 65 64 20 62 79 0a 43 6f 6d 70 61 74 2c 20 73 69 6e 63 65 20 45 6c 69 73 70 20 68 61 ported.by.Compat,.since.Elisp.ha
2a880 73 20 73 65 65 6e 20 73 69 67 6e 69 66 69 63 61 6e 74 20 63 68 61 6e 67 65 73 20 61 74 20 74 68 s.seen.significant.changes.at.th
2a8a0 61 74 20 76 65 72 73 69 6f 6e 2e 20 20 53 69 6e 63 65 0a 32 34 2e 34 20 45 6d 61 63 73 20 6d 61 at.version...Since.24.4.Emacs.ma
2a8c0 6a 6f 72 20 76 65 72 73 69 6f 6e 73 20 63 6f 6e 73 69 73 74 65 6e 74 6c 79 20 62 75 6d 70 20 74 jor.versions.consistently.bump.t
2a8e0 68 65 20 6d 61 6a 6f 72 20 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 2e 0a 4f 6e 20 74 68 65 20 he.major.version.number..On.the.
2a900 6c 69 62 72 61 72 79 20 6c 65 76 65 6c 2c 20 73 75 62 72 2d 78 20 77 61 73 20 69 6e 74 72 6f 64 library.level,.subr-x.was.introd
2a920 75 63 65 64 20 69 6e 20 32 34 2e 34 2e 20 20 4d 6f 73 74 20 70 6f 70 75 6c 61 72 20 45 6d 61 63 uced.in.24.4...Most.popular.Emac
2a940 73 0a 70 61 63 6b 61 67 65 73 20 61 6c 72 65 61 64 79 20 72 65 71 75 69 72 65 20 32 34 2e 34 20 s.packages.already.require.24.4.
2a960 6f 72 20 65 76 65 6e 20 6e 65 77 65 72 20 76 65 72 73 69 6f 6e 73 20 6f 66 20 45 6d 61 63 73 2e or.even.newer.versions.of.Emacs.
2a980 0a 53 75 70 70 6f 72 74 69 6e 67 20 66 6f 72 20 6d 6f 72 65 20 68 69 73 74 6f 72 69 63 61 6c 20 .Supporting.for.more.historical.
2a9a0 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 73 20 77 6f 75 6c 64 20 63 6f 6d 70 6c 69 63 61 74 65 0a Emacs.versions.would.complicate.
2a9c0 6d 61 69 6e 74 65 6e 61 6e 63 65 20 77 68 69 6c 65 20 6f 6e 6c 79 20 66 65 77 20 70 61 63 6b 61 maintenance.while.only.few.packa
2a9e0 67 65 73 20 61 6e 64 20 75 73 65 72 73 20 77 6f 75 6c 64 20 62 65 6e 65 66 69 74 2e 0a 0a 20 20 ges.and.users.would.benefit.....
2aa00 20 42 65 6c 6f 77 20 77 65 20 6c 69 73 74 20 61 20 6e 75 6d 62 65 72 20 6f 66 20 72 65 61 73 6f .Below.we.list.a.number.of.reaso
2aa20 6e 73 20 77 68 79 20 63 65 72 74 61 69 6e 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 20 63 61 6e ns.why.certain.functionality.can
2aa40 6e 6f 74 20 62 65 0a 70 72 6f 76 69 64 65 64 2e 20 20 4e 6f 74 65 20 74 68 61 74 20 69 6e 20 73 not.be.provided...Note.that.in.s
2aa60 6f 6d 65 20 73 70 65 63 69 61 6c 20 63 61 73 65 73 20 65 78 63 65 70 74 69 6f 6e 73 20 63 61 6e ome.special.cases.exceptions.can
2aa80 20 62 65 20 6d 61 64 65 20 61 6e 64 0a 66 75 6e 63 74 69 6f 6e 73 20 63 61 6e 20 73 74 69 6c 6c .be.made.and.functions.can.still
2aaa0 20 62 65 20 61 64 64 65 64 20 74 6f 20 43 6f 6d 70 61 74 20 65 76 65 6e 20 69 66 20 74 68 65 79 .be.added.to.Compat.even.if.they
2aac0 20 73 61 74 69 73 66 79 20 74 68 65 20 63 72 69 74 65 72 69 61 0a 66 72 6f 6d 20 74 68 65 20 6c .satisfy.the.criteria.from.the.l
2aae0 69 73 74 2e 20 20 49 6e 20 63 61 73 65 20 79 6f 75 20 6d 69 73 73 20 66 75 6e 63 74 69 6f 6e 61 ist...In.case.you.miss.functiona
2ab00 6c 69 74 79 20 77 68 69 63 68 20 79 6f 75 20 74 68 69 6e 6b 20 73 68 6f 75 6c 64 0a 62 65 6c 6f lity.which.you.think.should.belo
2ab20 6e 67 20 68 65 72 65 2c 20 61 20 2a 6e 6f 74 65 20 72 65 70 6f 72 74 3a 20 44 65 76 65 6c 6f 70 ng.here,.a.*note.report:.Develop
2ab40 6d 65 6e 74 2e 20 77 6f 75 6c 64 20 62 65 20 6d 75 63 68 20 61 70 70 72 65 63 69 61 74 65 64 2e ment..would.be.much.appreciated.
2ab60 0a 0a 20 20 20 e2 80 a2 20 54 68 65 20 61 64 64 69 74 69 6f 6e 61 6c 20 66 75 6e 63 74 69 6f 6e .........The.additional.function
2ab80 61 6c 69 74 79 20 69 73 20 61 20 63 6f 6d 6d 61 6e 64 20 6f 72 20 61 20 75 73 65 72 2d 66 61 63 ality.is.a.command.or.a.user-fac
2aba0 69 6e 67 20 6d 69 6e 6f 72 20 6f 72 0a 20 20 20 20 20 6d 61 6a 6f 72 20 6d 6f 64 65 2e 20 20 43 ing.minor.or......major.mode...C
2abc0 6f 6d 70 61 74 20 69 73 20 6c 69 6d 69 74 65 64 20 74 6f 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 ompat.is.limited.to.functionalit
2abe0 79 20 6f 6e 20 74 68 65 20 e2 80 9c 6c 69 62 72 61 72 79 0a 20 20 20 20 20 6c 65 76 65 6c e2 80 y.on.the....library......level..
2ac00 9d 2e 20 20 47 65 6e 65 72 61 6c 6c 79 20 66 75 6e 63 74 69 6f 6e 73 20 70 72 6f 76 69 64 65 64 ....Generally.functions.provided
2ac20 20 62 79 20 43 6f 6d 70 61 74 20 61 72 65 0a 20 20 20 20 20 6e 6f 6e 2d 69 6e 74 65 72 61 63 74 .by.Compat.are......non-interact
2ac40 69 76 65 2c 20 73 75 63 68 20 74 68 61 74 20 74 68 65 20 75 73 65 72 20 69 6e 74 65 72 66 61 63 ive,.such.that.the.user.interfac
2ac60 65 20 28 4d 2d 78 29 20 69 73 20 75 6e 61 66 66 65 63 74 65 64 0a 20 20 20 20 20 62 79 20 74 68 e.(M-x).is.unaffected......by.th
2ac80 65 20 70 72 65 73 65 6e 63 65 20 6f 66 20 43 6f 6d 70 61 74 2e 0a 0a 20 20 20 e2 80 a2 20 54 68 e.presence.of.Compat..........Th
2aca0 65 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 6e 6f 74 20 75 73 65 66 75 6c 20 66 6f 72 20 70 61 63 e.function.is.not.useful.for.pac
2acc0 6b 61 67 65 20 61 75 74 68 6f 72 73 20 6f 72 20 6e 6f 74 20 69 6e 74 65 6e 64 65 64 20 74 6f 0a kage.authors.or.not.intended.to.
2ace0 20 20 20 20 20 62 65 20 75 73 65 64 20 62 79 20 70 61 63 6b 61 67 65 73 2c 20 62 75 74 20 69 73 .....be.used.by.packages,.but.is
2ad00 20 6f 6e 6c 79 20 75 73 65 66 75 6c 20 6f 6e 20 74 68 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f .only.useful.on.the.configuratio
2ad20 6e 20 6c 65 76 65 6c 2e 0a 20 20 20 20 20 54 68 65 20 6d 61 63 72 6f 20 e2 80 98 73 65 74 6f 70 n.level.......The.macro....setop
2ad40 74 e2 80 99 20 69 73 20 73 75 63 68 20 61 6e 20 65 78 61 6d 70 6c 65 2e 0a 0a 20 20 20 e2 80 a2 t....is.such.an.example.........
2ad60 20 50 72 69 76 61 74 65 20 28 64 6f 75 62 6c 65 20 64 61 73 68 65 64 29 20 66 75 6e 63 74 69 6f .Private.(double.dashed).functio
2ad80 6e 73 20 61 72 65 20 6e 6f 74 20 70 6f 72 74 65 64 20 62 61 63 6b 2e 20 20 49 66 20 43 6f 6d 70 ns.are.not.ported.back...If.Comp
2ada0 61 74 0a 20 20 20 20 20 69 6e 63 6c 75 64 65 73 20 73 6f 6d 65 20 70 72 69 76 61 74 65 20 66 75 at......includes.some.private.fu
2adc0 6e 63 74 69 6f 6e 73 2c 20 74 68 65 79 20 61 72 65 20 6d 65 61 6e 74 20 70 75 72 65 6c 79 20 66 nctions,.they.are.meant.purely.f
2ade0 6f 72 20 69 6e 74 65 72 6e 61 6c 0a 20 20 20 20 20 75 73 61 67 65 2e 0a 0a 20 20 20 e2 80 a2 20 or.internal......usage..........
2ae00 54 68 65 20 61 64 64 65 64 20 6f 72 20 65 78 74 65 6e 64 65 64 20 66 75 6e 63 74 69 6f 6e 20 62 The.added.or.extended.function.b
2ae20 65 6c 6f 6e 67 73 20 74 6f 20 74 68 65 20 e2 80 9c 61 70 70 6c 69 63 61 74 69 6f 6e 20 6c 65 76 elongs.to.the....application.lev
2ae40 65 6c e2 80 9d 0a 20 20 20 20 20 61 6e 64 20 6e 6f 74 20 74 68 65 20 e2 80 9c 6c 69 62 72 61 72 el.........and.not.the....librar
2ae60 79 20 6c 65 76 65 6c e2 80 9d 2e 20 20 46 65 61 74 75 72 65 73 20 77 68 69 63 68 20 61 72 65 20 y.level......Features.which.are.
2ae80 6e 6f 74 20 70 72 65 6c 6f 61 64 65 64 0a 20 20 20 20 20 6f 66 74 65 6e 20 62 65 6c 6f 6e 67 20 not.preloaded......often.belong.
2aea0 74 6f 20 74 68 65 20 e2 80 9c 61 70 70 6c 69 63 61 74 69 6f 6e 20 6c 65 76 65 6c e2 80 9d 2e 20 to.the....application.level.....
2aec0 20 41 70 70 6c 69 63 61 74 69 6f 6e 20 65 78 61 6d 70 6c 65 73 20 61 72 65 0a 20 20 20 20 20 70 .Application.examples.are......p
2aee0 72 6f 67 72 61 6d 6d 69 6e 67 20 6d 6f 64 65 73 20 6f 72 20 6d 6f 64 65 73 20 6c 69 6b 65 20 44 rogramming.modes.or.modes.like.D
2af00 69 72 65 64 2c 20 49 52 43 20 61 6e 64 20 47 6e 75 73 2e 20 20 49 66 20 74 68 65 73 65 0a 20 20 ired,.IRC.and.Gnus...If.these...
2af20 20 20 20 6d 6f 64 65 73 20 61 72 65 20 65 78 74 65 6e 64 65 64 20 77 69 74 68 20 6e 65 77 20 66 ...modes.are.extended.with.new.f
2af40 75 6e 63 74 69 6f 6e 73 2c 20 74 68 65 73 65 20 61 72 65 20 6e 6f 74 20 70 6f 72 74 65 64 20 62 unctions,.these.are.not.ported.b
2af60 61 63 6b 2e 0a 0a 20 20 20 e2 80 a2 20 41 6e 20 65 78 69 73 74 69 6e 67 20 66 75 6e 63 74 69 6f ack..........An.existing.functio
2af80 6e 20 6f 72 20 6d 61 63 72 6f 20 77 61 73 20 65 78 74 65 6e 64 65 64 20 62 79 20 73 6f 6d 65 20 n.or.macro.was.extended.by.some.
2afa0 6e 65 77 0a 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 61 6c 69 74 79 2e 20 20 54 6f 20 73 75 70 70 new......functionality...To.supp
2afc0 6f 72 74 20 74 68 65 73 65 20 63 61 73 65 73 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 6f 72 ort.these.cases,.the.function.or
2afe0 20 6d 61 63 72 6f 20 77 6f 75 6c 64 0a 20 20 20 20 20 68 61 76 65 20 74 6f 20 62 65 20 61 64 76 .macro.would......have.to.be.adv
2b000 69 73 65 64 2e 20 20 53 69 6e 63 65 20 74 68 69 73 20 69 73 20 69 6e 76 61 73 69 76 65 20 61 6e ised...Since.this.is.invasive.an
2b020 64 20 61 64 64 73 20 73 69 67 6e 69 66 69 63 61 6e 74 0a 20 20 20 20 20 6f 76 65 72 68 65 61 64 d.adds.significant......overhead
2b040 2c 20 65 76 65 6e 20 77 68 65 6e 20 74 68 65 20 6e 65 77 20 66 65 61 74 75 72 65 20 69 73 20 6e ,.even.when.the.new.feature.is.n
2b060 6f 74 20 75 73 65 64 2c 20 43 6f 6d 70 61 74 20 64 6f 65 73 20 6e 6f 74 0a 20 20 20 20 20 75 73 ot.used,.Compat.does.not......us
2b080 65 20 61 64 76 69 63 65 73 2e 20 20 41 73 20 61 20 63 6f 6d 70 72 6f 6d 69 73 65 2c 20 63 6f 6d e.advices...As.a.compromise,.com
2b0a0 70 61 74 69 62 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 6d 61 63 72 6f 73 0a patibility.functions.and.macros.
2b0c0 20 20 20 20 20 77 69 74 68 20 61 20 63 68 61 6e 67 65 64 20 63 61 6c 6c 69 6e 67 20 63 6f 6e 76 .....with.a.changed.calling.conv
2b0e0 65 6e 74 69 6f 6e 20 6f 72 20 62 65 68 61 76 69 6f 72 20 63 61 6e 20 62 65 20 61 63 63 65 73 73 ention.or.behavior.can.be.access
2b100 65 64 20 76 69 61 0a 20 20 20 20 20 74 68 65 20 e2 80 98 63 6f 6d 70 61 74 2d 66 75 6e 63 74 69 ed.via......the....compat-functi
2b120 6f 6e e2 80 99 20 61 6e 64 20 e2 80 98 63 6f 6d 70 61 74 2d 63 61 6c 6c e2 80 99 20 6d 61 63 72 on....and....compat-call....macr
2b140 6f 73 2e 20 20 49 6e 20 74 68 69 73 20 6d 61 6e 75 61 6c 20 77 65 0a 20 20 20 20 20 63 61 6c 6c os...In.this.manual.we......call
2b160 20 73 75 63 68 20 64 65 66 69 6e 69 74 69 6f 6e 73 20 e2 80 9c 45 78 74 65 6e 64 65 64 20 44 65 .such.definitions....Extended.De
2b180 66 69 6e 69 74 69 6f 6e 73 e2 80 9d 2e 20 20 41 6e 20 65 78 61 6d 70 6c 65 20 69 73 20 74 68 65 finitions......An.example.is.the
2b1a0 0a 20 20 20 20 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 70 6c 69 73 74 2d 67 65 74 e2 80 99 2e 20 ......function....plist-get.....
2b1c0 20 4e 6f 74 65 20 74 68 61 74 20 65 78 74 65 6e 64 65 64 20 66 75 6e 63 74 69 6f 6e 73 20 61 72 .Note.that.extended.functions.ar
2b1e0 65 20 73 75 62 6a 65 63 74 20 74 6f 0a 20 20 20 20 20 63 6c 6f 73 65 72 20 73 63 72 75 74 69 6e e.subject.to......closer.scrutin
2b200 79 2c 20 73 69 6e 63 65 20 74 68 65 69 72 20 75 73 61 67 65 20 76 69 61 20 e2 80 98 63 6f 6d 70 y,.since.their.usage.via....comp
2b220 61 74 2d 63 61 6c 6c e2 80 99 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 63 6f 6d 70 6c 65 74 65 6c at-call....is.not......completel
2b240 79 20 70 61 69 6e 6c 65 73 73 2e 20 20 49 66 20 61 20 70 61 72 74 69 63 75 6c 61 72 20 65 78 74 y.painless...If.a.particular.ext
2b260 65 6e 64 65 64 20 66 75 6e 63 74 69 6f 6e 20 64 6f 65 73 20 6e 6f 74 0a 20 20 20 20 20 73 65 65 ended.function.does.not......see
2b280 20 6d 75 63 68 20 75 73 61 67 65 20 6f 72 20 74 68 65 20 65 78 74 65 6e 73 69 6f 6e 20 79 69 65 .much.usage.or.the.extension.yie
2b2a0 6c 64 73 20 6f 6e 6c 79 20 6d 61 72 67 69 6e 61 6c 20 62 65 6e 65 66 69 74 73 2c 20 77 65 0a 20 lds.only.marginal.benefits,.we..
2b2c0 20 20 20 20 6d 61 79 20 6e 6f 74 20 70 72 6f 76 69 64 65 20 69 74 20 61 73 20 70 61 72 74 20 6f ....may.not.provide.it.as.part.o
2b2e0 66 20 43 6f 6d 70 61 74 2e 0a 0a 20 20 20 e2 80 a2 20 42 75 67 20 66 69 78 65 73 20 61 72 65 20 f.Compat..........Bug.fixes.are.
2b300 75 73 75 61 6c 6c 79 20 6e 6f 74 20 70 6f 72 74 65 64 20 62 61 63 6b 20 61 73 20 70 61 72 74 20 usually.not.ported.back.as.part.
2b320 6f 66 20 43 6f 6d 70 61 74 2e 20 20 53 6f 6d 65 74 69 6d 65 73 0a 20 20 20 20 20 6c 69 62 72 61 of.Compat...Sometimes......libra
2b340 72 79 20 66 75 6e 63 74 69 6f 6e 73 20 73 68 6f 77 20 77 72 6f 6e 67 20 62 65 68 61 76 69 6f 72 ry.functions.show.wrong.behavior
2b360 20 66 6f 72 20 65 64 67 65 20 63 61 73 65 73 2e 20 20 49 6e 20 74 68 6f 73 65 0a 20 20 20 20 20 .for.edge.cases...In.those......
2b380 63 61 73 65 73 20 43 6f 6d 70 61 74 20 63 6f 75 6c 64 20 69 6e 20 70 72 69 6e 63 69 70 6c 65 20 cases.Compat.could.in.principle.
2b3a0 70 72 6f 76 69 64 65 20 61 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 66 75 6e 63 74 69 6f 6e provide.a.compatibility.function
2b3c0 0a 20 20 20 20 20 77 68 69 63 68 20 69 73 20 69 6e 76 6f 6b 65 64 20 76 69 61 20 e2 80 98 63 6f ......which.is.invoked.via....co
2b3e0 6d 70 61 74 2d 63 61 6c 6c e2 80 99 2e 20 20 53 75 63 68 20 65 78 74 65 6e 64 65 64 20 64 65 66 mpat-call......Such.extended.def
2b400 69 6e 69 74 69 6f 6e 73 0a 20 20 20 20 20 77 6f 75 6c 64 20 69 6e 63 72 65 61 73 65 20 74 68 65 initions......would.increase.the
2b420 20 6d 61 69 6e 74 65 6e 61 6e 63 65 20 62 75 72 64 65 6e 20 6f 66 20 43 6f 6d 70 61 74 2e 20 20 .maintenance.burden.of.Compat...
2b440 41 74 20 74 68 65 20 73 61 6d 65 20 74 69 6d 65 0a 20 20 20 20 20 74 68 65 20 62 65 6e 65 66 69 At.the.same.time......the.benefi
2b460 74 73 20 77 6f 75 6c 64 20 62 65 20 73 6d 61 6c 6c 20 67 69 76 65 6e 20 74 68 61 74 20 43 6f 6d ts.would.be.small.given.that.Com
2b480 70 61 74 20 64 6f 65 73 20 6e 6f 74 20 6f 76 65 72 72 69 64 65 0a 20 20 20 20 20 65 78 69 73 74 pat.does.not.override......exist
2b4a0 69 6e 67 20 64 65 66 69 6e 69 74 69 6f 6e 73 2e 0a 0a 20 20 20 e2 80 a2 20 54 68 65 20 64 65 66 ing.definitions..........The.def
2b4c0 69 6e 69 74 69 6f 6e 20 62 65 6c 6f 6e 67 73 20 74 6f 20 61 6e 20 45 6d 61 63 73 20 63 6f 72 65 inition.belongs.to.an.Emacs.core
2b4e0 20 70 61 63 6b 61 67 65 2c 20 77 68 69 63 68 20 69 73 20 61 6c 73 6f 0a 20 20 20 20 20 64 69 73 .package,.which.is.also......dis
2b500 74 72 69 62 75 74 65 64 20 76 69 61 20 45 4c 50 41 2e 20 43 6f 6d 70 61 74 20 64 6f 65 73 20 6e tributed.via.ELPA..Compat.does.n
2b520 6f 74 20 68 61 76 65 20 74 6f 20 70 72 6f 76 69 64 65 20 62 61 63 6b 77 61 72 64 0a 20 20 20 20 ot.have.to.provide.backward.....
2b540 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 66 6f 72 20 63 6f 72 65 20 70 61 63 6b 61 67 65 73 .compatibility.for.core.packages
2b560 20 73 69 6e 63 65 20 74 68 65 20 75 70 64 61 74 65 64 20 70 61 63 6b 61 67 65 20 63 61 6e 20 62 .since.the.updated.package.can.b
2b580 65 0a 20 20 20 20 20 69 6e 73 74 61 6c 6c 65 64 20 64 69 72 65 63 74 6c 79 20 66 72 6f 6d 20 45 e......installed.directly.from.E
2b5a0 4c 50 41 2e 20 45 78 61 6d 70 6c 65 73 20 69 6e 63 6c 75 64 65 20 74 68 65 20 6c 69 62 72 61 72 LPA..Examples.include.the.librar
2b5c0 69 65 73 20 78 72 65 66 2c 0a 20 20 20 20 20 70 72 6f 6a 65 63 74 2c 20 73 65 71 2c 20 6d 61 70 ies.xref,......project,.seq,.map
2b5e0 20 61 6e 64 20 74 72 61 6e 73 69 65 6e 74 2e 0a 0a 20 20 20 e2 80 a2 20 4e 65 77 20 66 75 6e 63 .and.transient..........New.func
2b600 74 69 6f 6e 61 6c 69 74 79 20 64 65 70 65 6e 64 73 20 6f 6e 20 61 6e 20 65 6e 74 69 72 65 20 6e tionality.depends.on.an.entire.n
2b620 65 77 2c 20 6e 6f 6e 2d 74 72 69 76 69 61 6c 20 63 6f 72 65 0a 20 20 20 20 20 6c 69 62 72 61 72 ew,.non-trivial.core......librar
2b640 79 2c 20 77 68 69 63 68 20 69 73 20 69 6e 66 65 61 73 69 62 6c 65 20 74 6f 20 64 75 70 6c 69 63 y,.which.is.infeasible.to.duplic
2b660 61 74 65 20 77 69 74 68 69 6e 20 43 6f 6d 70 61 74 2e 20 20 49 66 20 61 0a 20 20 20 20 20 62 61 ate.within.Compat...If.a......ba
2b680 63 6b 70 6f 72 74 20 6f 66 20 73 75 63 68 20 61 20 6c 69 62 72 61 72 79 20 69 73 20 72 65 71 75 ckport.of.such.a.library.is.requ
2b6a0 69 72 65 64 2c 20 74 68 65 20 70 72 65 66 65 72 72 65 64 20 61 70 70 72 6f 61 63 68 20 69 73 0a ired,.the.preferred.approach.is.
2b6c0 20 20 20 20 20 74 6f 20 65 69 74 68 65 72 20 72 65 6c 65 61 73 65 20 74 68 65 20 6c 69 62 72 61 .....to.either.release.the.libra
2b6e0 72 79 20 73 65 70 61 72 61 74 65 6c 79 20 6f 6e 20 47 4e 55 20 45 4c 50 41 20 61 73 20 61 20 63 ry.separately.on.GNU.ELPA.as.a.c
2b700 6f 72 65 0a 20 20 20 20 20 70 61 63 6b 61 67 65 20 6f 72 20 61 73 20 61 20 73 65 70 61 72 61 74 ore......package.or.as.a.separat
2b720 65 6c 79 20 6d 61 69 6e 74 61 69 6e 65 64 20 47 4e 55 20 45 4c 50 41 20 70 61 63 6b 61 67 65 2e ely.maintained.GNU.ELPA.package.
2b740 20 20 41 6e 20 65 78 61 6d 70 6c 65 0a 20 20 20 20 20 69 73 20 74 68 65 20 69 73 6f 38 36 30 31 ..An.example......is.the.iso8601
2b760 20 6c 69 62 72 61 72 79 2e 0a 0a 20 20 20 e2 80 a2 20 4e 65 77 20 66 75 6e 63 74 69 6f 6e 61 6c .library..........New.functional
2b780 69 74 79 20 77 61 73 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 69 6e 20 74 68 65 20 43 20 63 6f 72 ity.was.implemented.in.the.C.cor
2b7a0 65 2c 20 6f 72 20 64 65 70 65 6e 64 73 20 6f 6e 0a 20 20 20 20 20 65 78 74 65 72 6e 61 6c 20 6c e,.or.depends.on......external.l
2b7c0 69 62 72 61 72 69 65 73 20 74 68 61 74 20 63 61 6e 6e 6f 74 20 62 65 20 72 65 61 73 6f 6e 61 62 ibraries.that.cannot.be.reasonab
2b7e0 6c 79 20 64 75 70 6c 69 63 61 74 65 64 20 69 6e 20 74 68 65 0a 20 20 20 20 20 73 63 6f 70 65 20 ly.duplicated.in.the......scope.
2b800 6f 66 20 61 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 6c 69 62 72 61 72 79 2e 20 20 53 6f 6d of.a.compatibility.library...Som
2b820 65 74 69 6d 65 73 20 6e 65 77 20 66 75 6e 63 74 69 6f 6e 73 20 6f 6e 20 74 68 65 20 43 0a 20 20 etimes.new.functions.on.the.C...
2b840 20 20 20 6c 65 76 65 6c 20 72 65 6c 79 20 6f 6e 20 69 6e 74 65 72 6e 61 6c 20 64 61 74 61 20 73 ...level.rely.on.internal.data.s
2b860 74 72 75 63 74 75 72 65 73 2c 20 77 68 69 63 68 20 77 65 20 63 61 6e 6e 6f 74 20 61 63 63 65 73 tructures,.which.we.cannot.acces
2b880 73 2c 0a 20 20 20 20 20 72 65 6e 64 65 72 69 6e 67 20 61 20 62 61 63 6b 70 6f 72 74 20 69 6d 70 s,......rendering.a.backport.imp
2b8a0 6f 73 73 69 62 6c 65 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 20 61 20 6d 69 73 73 69 6e 67 20 ossible...For.example.a.missing.
2b8c0 6c 69 62 78 6d 6c 20 6f 72 0a 20 20 20 20 20 6c 69 62 74 72 65 65 73 69 74 74 65 72 20 63 61 6e libxml.or......libtreesitter.can
2b8e0 6e 6f 74 20 62 65 20 65 6d 75 6c 61 74 65 64 2e 0a 0a 20 20 20 e2 80 a2 20 54 68 65 20 73 65 6d not.be.emulated..........The.sem
2b900 61 6e 74 69 63 73 20 6f 66 20 45 6c 69 73 70 20 63 68 61 6e 67 65 64 20 6f 6e 20 61 20 64 65 65 antics.of.Elisp.changed.on.a.dee
2b920 70 20 6c 65 76 65 6c 2e 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 20 74 68 65 0a 20 20 20 20 20 61 p.level...For.example.the......a
2b940 64 64 69 74 69 6f 6e 20 6f 66 20 62 69 67 20 69 6e 74 65 67 65 72 20 73 75 70 70 6f 72 74 20 69 ddition.of.big.integer.support.i
2b960 6e 20 45 6d 61 63 73 20 32 37 2e 31 20 63 61 6e 6e 6f 74 20 62 65 20 72 65 70 6c 69 63 61 74 65 n.Emacs.27.1.cannot.be.replicate
2b980 64 0a 20 20 20 20 20 6f 6e 20 74 68 65 20 6c 65 76 65 6c 20 6f 66 20 43 6f 6d 70 61 74 2e 0a 0a d......on.the.level.of.Compat...
2b9a0 1f 0a 46 69 6c 65 3a 20 64 6f 63 71 31 61 68 5a 52 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 53 ..File:.docq1ahZR.info,..Node:.S
2b9c0 75 70 70 6f 72 74 2c 20 20 4e 65 78 74 3a 20 44 65 76 65 6c 6f 70 6d 65 6e 74 2c 20 20 50 72 65 upport,..Next:.Development,..Pre
2b9e0 76 3a 20 49 6e 74 72 6f 64 75 63 74 69 6f 6e 2c 20 20 55 70 3a 20 54 6f 70 0a 0a 32 20 53 75 70 v:.Introduction,..Up:.Top..2.Sup
2ba00 70 6f 72 74 0a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 54 68 69 73 20 73 65 63 74 69 6f 6e 20 67 6f 65 port.*********..This.section.goe
2ba20 73 20 69 6e 74 6f 20 74 68 65 20 66 65 61 74 75 72 65 73 20 74 68 61 74 20 43 6f 6d 70 61 74 20 s.into.the.features.that.Compat.
2ba40 6d 61 6e 61 67 65 73 20 61 6e 64 20 64 6f 65 73 6e e2 80 99 74 0a 6d 61 6e 61 67 65 20 74 6f 20 manages.and.doesn...t.manage.to.
2ba60 70 72 6f 76 69 64 65 20 66 6f 72 20 65 61 63 68 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e 2e 0a provide.for.each.Emacs.version..
2ba80 0a 2a 20 4d 65 6e 75 3a 0a 0a 2a 20 45 6d 61 63 73 20 32 35 2e 31 3a 3a 20 20 20 20 20 20 20 20 .*.Menu:..*.Emacs.25.1::........
2baa0 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
2bac0 20 66 6f 72 20 45 6d 61 63 73 20 32 35 2e 31 0a 2a 20 45 6d 61 63 73 20 32 36 2e 31 3a 3a 20 20 .for.Emacs.25.1.*.Emacs.26.1::..
2bae0 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
2bb00 75 70 70 6f 72 74 20 66 6f 72 20 45 6d 61 63 73 20 32 36 2e 31 0a 2a 20 45 6d 61 63 73 20 32 37 upport.for.Emacs.26.1.*.Emacs.27
2bb20 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
2bb40 6c 69 74 79 20 73 75 70 70 6f 72 74 20 66 6f 72 20 45 6d 61 63 73 20 32 37 2e 31 0a 2a 20 45 6d lity.support.for.Emacs.27.1.*.Em
2bb60 61 63 73 20 32 38 2e 31 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 43 6f 6d acs.28.1::...................Com
2bb80 70 61 74 69 62 69 6c 69 74 79 20 73 75 70 70 6f 72 74 20 66 6f 72 20 45 6d 61 63 73 20 32 38 2e patibility.support.for.Emacs.28.
2bba0 31 0a 2a 20 45 6d 61 63 73 20 32 39 2e 31 3a 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 1.*.Emacs.29.1::................
2bbc0 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
2bbe0 63 73 20 32 39 2e 31 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 71 31 61 68 5a 52 2e 69 6e 66 6f 2c cs.29.1....File:.docq1ahZR.info,
2bc00 20 20 4e 6f 64 65 3a 20 45 6d 61 63 73 20 32 35 2e 31 2c 20 20 4e 65 78 74 3a 20 45 6d 61 63 73 ..Node:.Emacs.25.1,..Next:.Emacs
2bc20 20 32 36 2e 31 2c 20 20 55 70 3a 20 53 75 70 70 6f 72 74 0a 0a 32 2e 31 20 45 6d 61 63 73 20 32 .26.1,..Up:.Support..2.1.Emacs.2
2bc40 35 2e 31 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 32 2e 31 2e 31 20 41 64 64 65 64 20 5.1.==============..2.1.1.Added.
2bc60 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.--------------------
2bc80 2d 2d 2d 0a 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 ---..The.following.functions.and
2bca0 20 6d 61 63 72 6f 73 20 61 72 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 69 6e 20 45 6d 61 63 73 .macros.are.implemented.in.Emacs
2bcc0 20 32 35 2e 31 2e 20 20 54 68 65 73 65 0a 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 6d 61 64 65 .25.1...These.functions.are.made
2bce0 20 61 76 61 69 6c 61 62 6c 65 20 62 79 20 43 6f 6d 70 61 74 20 6f 6e 20 45 6d 61 63 73 20 76 65 .available.by.Compat.on.Emacs.ve
2bd00 72 73 69 6f 6e 73 20 6f 6c 64 65 72 20 74 68 61 6e 0a 32 35 2e 31 2e 0a 0a 20 2d 2d 20 55 73 65 rsions.older.than.25.1....--.Use
2bd20 72 20 4f 70 74 69 6f 6e 3a 20 74 65 78 74 2d 71 75 6f 74 69 6e 67 2d 73 74 79 6c 65 0a 20 20 20 r.Option:.text-quoting-style....
2bd40 20 20 54 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 69 73 20 75 73 65 72 20 6f 70 74 69 6f 6e 20 ..The.value.of.this.user.option.
2bd60 69 73 20 61 20 73 79 6d 62 6f 6c 20 74 68 61 74 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20 73 is.a.symbol.that.specifies.the.s
2bd80 74 79 6c 65 0a 20 20 20 20 20 45 6d 61 63 73 20 73 68 6f 75 6c 64 20 75 73 65 20 66 6f 72 20 73 tyle......Emacs.should.use.for.s
2bda0 69 6e 67 6c 65 20 71 75 6f 74 65 73 20 69 6e 20 74 68 65 20 77 6f 72 64 69 6e 67 20 6f 66 20 68 ingle.quotes.in.the.wording.of.h
2bdc0 65 6c 70 20 61 6e 64 0a 20 20 20 20 20 6d 65 73 73 61 67 65 73 2e 20 20 49 66 20 74 68 65 20 6f elp.and......messages...If.the.o
2bde0 70 74 69 6f 6e e2 80 99 73 20 76 61 6c 75 65 20 69 73 20 e2 80 98 63 75 72 76 65 e2 80 99 2c 20 ption...s.value.is....curve...,.
2be00 74 68 65 20 73 74 79 6c 65 20 69 73 20 e2 80 98 6c 69 6b 65 0a 20 20 20 20 20 74 68 69 73 e2 80 the.style.is....like......this..
2be20 99 20 77 69 74 68 20 63 75 72 76 65 64 20 73 69 6e 67 6c 65 20 71 75 6f 74 65 73 2e 20 20 49 66 ..with.curved.single.quotes...If
2be40 20 74 68 65 20 76 61 6c 75 65 20 69 73 20 e2 80 98 73 74 72 61 69 67 68 74 e2 80 99 2c 20 74 68 .the.value.is....straight...,.th
2be60 65 0a 20 20 20 20 20 73 74 79 6c 65 20 69 73 20 27 6c 69 6b 65 20 74 68 69 73 27 20 77 69 74 68 e......style.is.'like.this'.with
2be80 20 73 74 72 61 69 67 68 74 20 61 70 6f 73 74 72 6f 70 68 65 73 2e 20 20 49 66 20 74 68 65 20 76 .straight.apostrophes...If.the.v
2bea0 61 6c 75 65 20 69 73 0a 20 20 20 20 20 e2 80 98 67 72 61 76 65 e2 80 99 2c 20 71 75 6f 74 65 73 alue.is.........grave...,.quotes
2bec0 20 61 72 65 20 6e 6f 74 20 74 72 61 6e 73 6c 61 74 65 64 20 61 6e 64 20 74 68 65 20 73 74 79 6c .are.not.translated.and.the.styl
2bee0 65 20 69 73 20 60 6c 69 6b 65 20 74 68 69 73 27 0a 20 20 20 20 20 77 69 74 68 20 67 72 61 76 65 e.is.`like.this'......with.grave
2bf00 20 61 63 63 65 6e 74 20 61 6e 64 20 61 70 6f 73 74 72 6f 70 68 65 2c 20 74 68 65 20 73 74 61 6e .accent.and.apostrophe,.the.stan
2bf20 64 61 72 64 20 73 74 79 6c 65 20 62 65 66 6f 72 65 20 45 6d 61 63 73 0a 20 20 20 20 20 76 65 72 dard.style.before.Emacs......ver
2bf40 73 69 6f 6e 20 32 35 2e 20 20 54 68 65 20 64 65 66 61 75 6c 74 20 76 61 6c 75 65 20 e2 80 98 6e sion.25...The.default.value....n
2bf60 69 6c e2 80 99 20 61 63 74 73 20 6c 69 6b 65 20 e2 80 98 63 75 72 76 65 e2 80 99 20 69 66 20 63 il....acts.like....curve....if.c
2bf80 75 72 76 65 64 0a 20 20 20 20 20 73 69 6e 67 6c 65 20 71 75 6f 74 65 73 20 73 65 65 6d 20 74 6f urved......single.quotes.seem.to
2bfa0 20 62 65 20 64 69 73 70 6c 61 79 61 62 6c 65 2c 20 61 6e 64 20 6c 69 6b 65 20 e2 80 98 67 72 61 .be.displayable,.and.like....gra
2bfc0 76 65 e2 80 99 20 6f 74 68 65 72 77 69 73 65 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 6f 70 74 69 ve....otherwise........This.opti
2bfe0 6f 6e 20 69 73 20 75 73 65 66 75 6c 20 6f 6e 20 70 6c 61 74 66 6f 72 6d 73 20 74 68 61 74 20 68 on.is.useful.on.platforms.that.h
2c000 61 76 65 20 70 72 6f 62 6c 65 6d 73 20 77 69 74 68 20 63 75 72 76 65 64 0a 20 20 20 20 20 71 75 ave.problems.with.curved......qu
2c020 6f 74 65 73 2e 20 20 59 6f 75 20 63 61 6e 20 63 75 73 74 6f 6d 69 7a 65 20 69 74 20 66 72 65 65 otes...You.can.customize.it.free
2c040 6c 79 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 79 6f 75 72 20 70 65 72 73 6f 6e 61 6c 0a 20 20 ly.according.to.your.personal...
2c060 20 20 20 70 72 65 66 65 72 65 6e 63 65 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 72 65 ...preference....--.Function:.re
2c080 67 69 6f 6e 2d 62 6f 75 6e 64 73 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 62 6f 75 6e gion-bounds......Return.the.boun
2c0a0 64 61 72 69 65 73 20 6f 66 20 74 68 65 20 72 65 67 69 6f 6e 2e 20 20 56 61 6c 75 65 20 69 73 20 daries.of.the.region...Value.is.
2c0c0 61 20 6c 69 73 74 20 6f 66 20 6f 6e 65 20 6f 72 0a 20 20 20 20 20 6d 6f 72 65 20 63 6f 6e 73 20 a.list.of.one.or......more.cons.
2c0e0 63 65 6c 6c 73 20 6f 66 20 74 68 65 20 66 6f 72 6d 20 e2 80 98 28 73 74 61 72 74 20 2e 20 65 6e cells.of.the.form....(start...en
2c100 64 29 e2 80 99 2e 20 20 49 74 20 77 69 6c 6c 20 68 61 76 65 20 6d 6f 72 65 0a 20 20 20 20 20 74 d)......It.will.have.more......t
2c120 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
2c140 6e 20 69 73 20 6e 6f 6e 2d 63 6f 6e 74 69 67 75 6f 75 73 2c 20 73 65 65 0a 20 20 20 20 20 e2 80 n.is.non-contiguous,.see........
2c160 98 72 65 67 69 6f 6e 2d 6e 6f 6e 63 6f 6e 74 69 67 75 6f 75 73 2d 70 e2 80 99 20 61 6e 64 20 e2 .region-noncontiguous-p....and..
2c180 80 98 65 78 74 72 61 63 74 2d 72 65 63 74 61 6e 67 6c 65 2d 62 6f 75 6e 64 73 e2 80 99 2e 0a 0a ..extract-rectangle-bounds......
2c1a0 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 72 65 67 69 6f 6e 2d 6e 6f 6e 63 6f 6e 74 69 67 75 6f .--.Function:.region-noncontiguo
2c1c0 75 73 2d 70 0a 20 20 20 20 20 52 65 74 75 72 6e 20 6e 6f 6e 2d 6e 69 6c 20 69 66 20 74 68 65 20 us-p......Return.non-nil.if.the.
2c1e0 72 65 67 69 6f 6e 20 63 6f 6e 74 61 69 6e 73 20 73 65 76 65 72 61 6c 20 70 69 65 63 65 73 2e 20 region.contains.several.pieces..
2c200 20 41 6e 20 65 78 61 6d 70 6c 65 0a 20 20 20 20 20 69 73 20 61 20 72 65 63 74 61 6e 67 75 6c 61 .An.example......is.a.rectangula
2c220 72 20 72 65 67 69 6f 6e 20 68 61 6e 64 6c 65 64 20 61 73 20 61 20 6c 69 73 74 20 6f 66 20 73 65 r.region.handled.as.a.list.of.se
2c240 70 61 72 61 74 65 20 63 6f 6e 74 69 67 75 6f 75 73 0a 20 20 20 20 20 72 65 67 69 6f 6e 73 20 66 parate.contiguous......regions.f
2c260 6f 72 20 65 61 63 68 20 6c 69 6e 65 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 73 61 76 65 2d 6d or.each.line....--.Macro:.save-m
2c280 61 72 6b 2d 61 6e 64 2d 65 78 63 75 72 73 69 6f 6e 20 62 6f 64 79 2e 2e 2e 0a 20 20 20 20 20 54 ark-and-excursion.body.........T
2c2a0 68 69 73 20 6d 61 63 72 6f 20 69 73 20 6c 69 6b 65 20 e2 80 98 73 61 76 65 2d 65 78 63 75 72 73 his.macro.is.like....save-excurs
2c2c0 69 6f 6e e2 80 99 2c 20 62 75 74 20 61 6c 73 6f 20 73 61 76 65 73 20 61 6e 64 20 72 65 73 74 6f ion...,.but.also.saves.and.resto
2c2e0 72 65 73 0a 20 20 20 20 20 74 68 65 20 6d 61 72 6b 20 6c 6f 63 61 74 69 6f 6e 20 61 6e 64 20 e2 res......the.mark.location.and..
2c300 80 98 6d 61 72 6b 2d 61 63 74 69 76 65 e2 80 99 2e 20 20 54 68 69 73 20 6d 61 63 72 6f 20 64 6f ..mark-active......This.macro.do
2c320 65 73 20 77 68 61 74 0a 20 20 20 20 20 e2 80 98 73 61 76 65 2d 65 78 63 75 72 73 69 6f 6e e2 80 es.what.........save-excursion..
2c340 99 20 64 69 64 20 62 65 66 6f 72 65 20 45 6d 61 63 73 20 32 35 2e 31 2e 0a 0a 20 2d 2d 20 46 75 ..did.before.Emacs.25.1....--.Fu
2c360 6e 63 74 69 6f 6e 3a 20 66 6f 72 6d 61 74 2d 6d 65 73 73 61 67 65 20 73 74 72 69 6e 67 20 26 72 nction:.format-message.string.&r
2c380 65 73 74 20 6f 62 6a 65 63 74 73 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 61 est.objects......This.function.a
2c3a0 63 74 73 20 6c 69 6b 65 20 e2 80 98 66 6f 72 6d 61 74 e2 80 99 2c 20 65 78 63 65 70 74 20 69 74 cts.like....format...,.except.it
2c3c0 20 61 6c 73 6f 20 63 6f 6e 76 65 72 74 73 20 61 6e 79 20 67 72 61 76 65 0a 20 20 20 20 20 61 63 .also.converts.any.grave......ac
2c3e0 63 65 6e 74 73 20 28 60 29 20 61 6e 64 20 61 70 6f 73 74 72 6f 70 68 65 73 20 28 27 29 20 69 6e cents.(`).and.apostrophes.(').in
2c400 20 53 54 52 49 4e 47 20 61 73 20 70 65 72 20 74 68 65 20 76 61 6c 75 65 20 6f 66 0a 20 20 20 20 .STRING.as.per.the.value.of.....
2c420 20 e2 80 98 74 65 78 74 2d 71 75 6f 74 69 6e 67 2d 73 74 79 6c 65 e2 80 99 2e 0a 0a 20 20 20 20 ....text-quoting-style..........
2c440 20 54 79 70 69 63 61 6c 6c 79 20 67 72 61 76 65 20 61 63 63 65 6e 74 20 61 6e 64 20 61 70 6f 73 .Typically.grave.accent.and.apos
2c460 74 72 6f 70 68 65 20 69 6e 20 74 68 65 20 66 6f 72 6d 61 74 20 74 72 61 6e 73 6c 61 74 65 20 74 trophe.in.the.format.translate.t
2c480 6f 0a 20 20 20 20 20 6d 61 74 63 68 69 6e 67 20 63 75 72 76 65 64 20 71 75 6f 74 65 73 2c 20 65 o......matching.curved.quotes,.e
2c4a0 2e 67 2e 2c 20 22 4d 69 73 73 69 6e 67 20 60 25 73 27 22 20 6d 69 67 68 74 20 72 65 73 75 6c 74 .g.,."Missing.`%s'".might.result
2c4c0 20 69 6e 0a 20 20 20 20 20 22 4d 69 73 73 69 6e 67 20 e2 80 98 66 6f 6f e2 80 99 22 2e 20 20 2a .in......"Missing....foo..."...*
2c4e0 4e 6f 74 65 20 28 65 6c 69 73 70 29 54 65 78 74 20 51 75 6f 74 69 6e 67 20 53 74 79 6c 65 3a 3a Note.(elisp)Text.Quoting.Style::
2c500 2c 20 66 6f 72 20 68 6f 77 20 74 6f 0a 20 20 20 20 20 69 6e 66 6c 75 65 6e 63 65 20 6f 72 20 69 ,.for.how.to......influence.or.i
2c520 6e 68 69 62 69 74 20 74 68 69 73 20 74 72 61 6e 73 6c 61 74 69 6f 6e 2e 0a 0a 20 20 20 20 20 2a nhibit.this.translation........*
2c540 6e 6f 74 65 20 28 65 6c 69 73 70 29 46 6f 72 6d 61 74 74 69 6e 67 20 53 74 72 69 6e 67 73 3a 3a note.(elisp)Formatting.Strings::
2c560 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 64 69 72 65 63 74 6f 72 79 2d 6e 61 6d 65 2d ....--.Function:.directory-name-
2c580 70 20 66 69 6c 65 6e 61 6d 65 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 p.filename......This.function.re
2c5a0 74 75 72 6e 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 69 66 20 46 49 4c 45 4e 41 4d 45 20 turns.non-...nil....if.FILENAME.
2c5c0 65 6e 64 73 20 77 69 74 68 20 61 20 64 69 72 65 63 74 6f 72 79 0a 20 20 20 20 20 73 65 70 61 72 ends.with.a.directory......separ
2c5e0 61 74 6f 72 20 63 68 61 72 61 63 74 65 72 2e 20 20 54 68 69 73 20 69 73 20 74 68 65 20 66 6f 72 ator.character...This.is.the.for
2c600 77 61 72 64 20 73 6c 61 73 68 20 e2 80 98 2f e2 80 99 20 6f 6e 20 47 4e 55 20 61 6e 64 0a 20 20 ward.slash..../....on.GNU.and...
2c620 20 20 20 6f 74 68 65 72 20 50 4f 53 49 58 2d 6c 69 6b 65 20 73 79 73 74 65 6d 73 3b 20 4d 53 2d ...other.POSIX-like.systems;.MS-
2c640 57 69 6e 64 6f 77 73 20 61 6e 64 20 4d 53 2d 44 4f 53 20 72 65 63 6f 67 6e 69 7a 65 20 62 6f 74 Windows.and.MS-DOS.recognize.bot
2c660 68 20 74 68 65 0a 20 20 20 20 20 66 6f 72 77 61 72 64 20 73 6c 61 73 68 20 61 6e 64 20 74 68 65 h.the......forward.slash.and.the
2c680 20 62 61 63 6b 73 6c 61 73 68 20 e2 80 98 5c e2 80 99 20 61 73 20 64 69 72 65 63 74 6f 72 79 20 .backslash....\....as.directory.
2c6a0 73 65 70 61 72 61 74 6f 72 73 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 44 separators........*Note.(elisp)D
2c6c0 69 72 65 63 74 6f 72 79 20 4e 61 6d 65 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a irectory.Names::....--.Function:
2c6e0 20 73 74 72 69 6e 67 2d 67 72 65 61 74 65 72 70 20 73 74 72 69 6e 67 31 20 73 74 72 69 6e 67 32 .string-greaterp.string1.string2
2c700 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.
2c720 72 65 73 75 6c 74 20 6f 66 20 63 6f 6d 70 61 72 69 6e 67 20 53 54 52 49 4e 47 31 20 61 6e 64 20 result.of.comparing.STRING1.and.
2c740 53 54 52 49 4e 47 32 0a 20 20 20 20 20 69 6e 20 74 68 65 20 6f 70 70 6f 73 69 74 65 20 6f 72 64 STRING2......in.the.opposite.ord
2c760 65 72 2c 20 69 2e 65 2e 2c 20 69 74 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 63 61 er,.i.e.,.it.is.equivalent.to.ca
2c780 6c 6c 69 6e 67 0a 20 20 20 20 20 e2 80 98 28 73 74 72 69 6e 67 2d 6c 65 73 73 70 20 53 54 52 49 lling.........(string-lessp.STRI
2c7a0 4e 47 32 20 53 54 52 49 4e 47 31 29 e2 80 99 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c NG2.STRING1)...........*Note.(el
2c7c0 69 73 70 29 54 65 78 74 20 43 6f 6d 70 61 72 69 73 6f 6e 3a 3a 2e 0a 0a 20 2d 2d 20 4d 61 63 72 isp)Text.Comparison::....--.Macr
2c7e0 6f 3a 20 77 69 74 68 2d 66 69 6c 65 2d 6d 6f 64 65 73 20 6d 6f 64 65 20 62 6f 64 79 2e 2e 2e 0a o:.with-file-modes.mode.body....
2c800 20 20 20 20 20 54 68 69 73 20 6d 61 63 72 6f 20 65 76 61 6c 75 61 74 65 73 20 74 68 65 20 42 4f .....This.macro.evaluates.the.BO
2c820 44 59 20 66 6f 72 6d 73 20 77 69 74 68 20 74 68 65 20 64 65 66 61 75 6c 74 20 70 65 72 6d 69 73 DY.forms.with.the.default.permis
2c840 73 69 6f 6e 73 0a 20 20 20 20 20 66 6f 72 20 6e 65 77 20 66 69 6c 65 73 20 74 65 6d 70 6f 72 61 sions......for.new.files.tempora
2c860 72 69 6c 79 20 73 65 74 20 74 6f 20 4d 4f 44 45 53 20 28 77 68 6f 73 65 20 76 61 6c 75 65 20 69 rily.set.to.MODES.(whose.value.i
2c880 73 20 61 73 20 66 6f 72 0a 20 20 20 20 20 e2 80 98 73 65 74 2d 66 69 6c 65 2d 6d 6f 64 65 73 e2 s.as.for.........set-file-modes.
2c8a0 80 99 20 61 62 6f 76 65 29 2e 20 20 57 68 65 6e 20 66 69 6e 69 73 68 65 64 2c 20 69 74 20 72 65 ...above)...When.finished,.it.re
2c8c0 73 74 6f 72 65 73 20 74 68 65 20 6f 72 69 67 69 6e 61 6c 0a 20 20 20 20 20 64 65 66 61 75 6c 74 stores.the.original......default
2c8e0 20 66 69 6c 65 20 70 65 72 6d 69 73 73 69 6f 6e 73 2c 20 61 6e 64 20 72 65 74 75 72 6e 73 20 74 .file.permissions,.and.returns.t
2c900 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 6c 61 73 74 20 66 6f 72 6d 20 69 6e 0a 20 20 20 he.value.of.the.last.form.in....
2c920 20 20 42 4f 44 59 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 69 73 20 75 73 65 66 75 6c 20 66 6f 72 ..BODY........This.is.useful.for
2c940 20 63 72 65 61 74 69 6e 67 20 70 72 69 76 61 74 65 20 66 69 6c 65 73 2c 20 66 6f 72 20 65 78 61 .creating.private.files,.for.exa
2c960 6d 70 6c 65 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 43 68 61 6e 67 69 6e mple........*Note.(elisp)Changin
2c980 67 20 46 69 6c 65 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 61 6c 69 73 74 2d g.Files::....--.Function:.alist-
2c9a0 67 65 74 20 6b 65 79 20 61 6c 69 73 74 20 26 6f 70 74 69 6f 6e 61 6c 20 64 65 66 61 75 6c 74 20 get.key.alist.&optional.default.
2c9c0 72 65 6d 6f 76 65 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 69 73 20 73 69 6d remove......This.function.is.sim
2c9e0 69 6c 61 72 20 74 6f 20 e2 80 98 61 73 73 71 e2 80 99 2e 20 20 49 74 20 66 69 6e 64 73 20 74 68 ilar.to....assq......It.finds.th
2ca00 65 20 66 69 72 73 74 20 61 73 73 6f 63 69 61 74 69 6f 6e 0a 20 20 20 20 20 e2 80 98 28 4b 45 59 e.first.association.........(KEY
2ca20 20 2e 20 56 41 4c 55 45 29 e2 80 99 20 62 79 20 63 6f 6d 70 61 72 69 6e 67 20 4b 45 59 20 77 69 ...VALUE)....by.comparing.KEY.wi
2ca40 74 68 20 41 4c 49 53 54 20 65 6c 65 6d 65 6e 74 73 2c 20 61 6e 64 2c 20 69 66 0a 20 20 20 20 20 th.ALIST.elements,.and,.if......
2ca60 66 6f 75 6e 64 2c 20 72 65 74 75 72 6e 73 20 74 68 65 20 56 41 4c 55 45 20 6f 66 20 74 68 61 74 found,.returns.the.VALUE.of.that
2ca80 20 61 73 73 6f 63 69 61 74 69 6f 6e 2e 20 20 49 66 20 6e 6f 20 61 73 73 6f 63 69 61 74 69 6f 6e .association...If.no.association
2caa0 20 69 73 0a 20 20 20 20 20 66 6f 75 6e 64 2c 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 .is......found,.the.function.ret
2cac0 75 72 6e 73 20 44 45 46 41 55 4c 54 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 69 73 20 61 20 67 65 urns.DEFAULT........This.is.a.ge
2cae0 6e 65 72 61 6c 69 7a 65 64 20 76 61 72 69 61 62 6c 65 20 28 2a 6e 6f 74 65 20 28 65 6c 69 73 70 neralized.variable.(*note.(elisp
2cb00 29 47 65 6e 65 72 61 6c 69 7a 65 64 0a 20 20 20 20 20 56 61 72 69 61 62 6c 65 73 3a 3a 29 20 74 )Generalized......Variables::).t
2cb20 68 61 74 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 63 68 61 6e 67 65 20 61 20 76 61 6c 75 hat.can.be.used.to.change.a.valu
2cb40 65 20 77 69 74 68 20 e2 80 98 73 65 74 66 e2 80 99 2e 20 20 57 68 65 6e 0a 20 20 20 20 20 75 73 e.with....setf......When......us
2cb60 69 6e 67 20 69 74 20 74 6f 20 73 65 74 20 61 20 76 61 6c 75 65 2c 20 6f 70 74 69 6f 6e 61 6c 20 ing.it.to.set.a.value,.optional.
2cb80 61 72 67 75 6d 65 6e 74 20 52 45 4d 4f 56 45 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 6d 65 argument.REMOVE.non-...nil....me
2cba0 61 6e 73 0a 20 20 20 20 20 74 6f 20 72 65 6d 6f 76 65 20 4b 45 59 e2 80 99 73 20 61 73 73 6f 63 ans......to.remove.KEY...s.assoc
2cbc0 69 61 74 69 6f 6e 20 66 72 6f 6d 20 41 4c 49 53 54 20 69 66 20 74 68 65 20 6e 65 77 20 76 61 6c iation.from.ALIST.if.the.new.val
2cbe0 75 65 20 69 73 20 e2 80 98 65 71 6c e2 80 99 20 74 6f 0a 20 20 20 20 20 44 45 46 41 55 4c 54 2e ue.is....eql....to......DEFAULT.
2cc00 0a 0a 20 20 20 20 20 2a 6e 6f 74 65 20 28 65 6c 69 73 70 29 41 73 73 6f 63 69 61 74 69 6f 6e 20 .......*note.(elisp)Association.
2cc20 4c 69 73 74 73 3a 3a 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 69 66 2d 6c 65 74 20 28 62 69 6e Lists::....--.Macro:.if-let.(bin
2cc40 64 69 6e 67 73 2e 2e 2e 29 20 74 68 65 6e 20 26 72 65 73 74 20 65 6c 73 65 2e 2e 2e 0a 20 20 20 dings...).then.&rest.else.......
2cc60 20 20 41 73 20 77 69 74 68 20 e2 80 98 6c 65 74 2a e2 80 99 2c 20 42 49 4e 44 49 4e 47 53 20 77 ..As.with....let*...,.BINDINGS.w
2cc80 69 6c 6c 20 63 6f 6e 73 69 73 74 20 6f 66 20 e2 80 98 28 53 59 4d 42 4f 4c 20 56 41 4c 55 45 2d ill.consist.of....(SYMBOL.VALUE-
2cca0 46 4f 52 4d 29 e2 80 99 0a 20 20 20 20 20 65 6e 74 72 69 65 73 20 74 68 61 74 20 61 72 65 20 65 FORM).........entries.that.are.e
2ccc0 76 61 6c 75 61 74 65 64 20 61 6e 64 20 62 6f 75 6e 64 20 73 65 71 75 65 6e 74 69 61 6c 6c 79 2e valuated.and.bound.sequentially.
2cce0 20 20 49 66 20 61 6c 6c 0a 20 20 20 20 20 56 41 4c 55 45 2d 46 4f 52 4d 20 65 76 61 6c 75 61 74 ..If.all......VALUE-FORM.evaluat
2cd00 65 20 74 6f 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 76 61 6c 75 65 73 2c 20 74 68 65 6e 20 e.to.non-...nil....values,.then.
2cd20 54 48 45 4e 20 69 73 20 65 76 61 6c 75 61 74 65 64 20 61 73 0a 20 20 20 20 20 77 65 72 65 20 74 THEN.is.evaluated.as......were.t
2cd40 68 65 20 63 61 73 65 20 77 69 74 68 20 61 20 72 65 67 75 6c 61 72 20 e2 80 98 6c 65 74 2a e2 80 he.case.with.a.regular....let*..
2cd60 99 20 65 78 70 72 65 73 73 69 6f 6e 2c 20 77 69 74 68 20 61 6c 6c 20 74 68 65 0a 20 20 20 20 20 ..expression,.with.all.the......
2cd80 76 61 72 69 61 62 6c 65 73 20 62 6f 75 6e 64 2e 20 20 49 66 20 61 6e 79 20 56 41 4c 55 45 2d 46 variables.bound...If.any.VALUE-F
2cda0 4f 52 4d 20 65 76 61 6c 75 61 74 65 73 20 74 6f 20 e2 80 98 6e 69 6c e2 80 99 2c 20 45 4c 53 45 ORM.evaluates.to....nil...,.ELSE
2cdc0 20 69 73 0a 20 20 20 20 20 65 76 61 6c 75 61 74 65 64 2c 20 77 69 74 68 6f 75 74 20 61 6e 79 20 .is......evaluated,.without.any.
2cde0 62 6f 75 6e 64 20 76 61 72 69 61 62 6c 65 73 2e 0a 0a 20 20 20 20 20 41 20 62 69 6e 64 69 6e 67 bound.variables........A.binding
2ce00 20 6d 61 79 20 61 6c 73 6f 20 6f 70 74 69 6f 6e 61 6c 6c 79 20 64 72 6f 70 20 74 68 65 20 53 59 .may.also.optionally.drop.the.SY
2ce20 4d 42 4f 4c 2c 20 61 6e 64 20 73 69 6d 70 6c 69 66 79 20 74 6f 0a 20 20 20 20 20 e2 80 98 28 56 MBOL,.and.simplify.to.........(V
2ce40 41 4c 55 45 2d 46 4f 52 4d 29 e2 80 99 20 69 66 20 6f 6e 6c 79 20 74 68 65 20 74 65 73 74 20 69 ALUE-FORM)....if.only.the.test.i
2ce60 73 20 6f 66 20 69 6e 74 65 72 65 73 74 2e 0a 0a 20 20 20 20 20 46 6f 72 20 74 68 65 20 73 61 6b s.of.interest........For.the.sak
2ce80 65 20 6f 66 20 62 61 63 6b 77 61 72 64 73 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 2c 20 69 74 e.of.backwards.compatibility,.it
2cea0 20 69 73 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 77 72 69 74 65 20 61 0a 20 20 20 20 20 73 69 6e .is.possible.to.write.a......sin
2cec0 67 6c 65 20 62 69 6e 64 69 6e 67 20 77 69 74 68 6f 75 74 20 61 20 62 69 6e 64 69 6e 67 20 6c 69 gle.binding.without.a.binding.li
2cee0 73 74 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 28 69 66 2d 6c 65 74 2a 20 28 53 59 4d 42 4f 4c 20 st:............(if-let*.(SYMBOL.
2cf00 28 74 65 73 74 29 29 20 66 6f 6f 20 62 61 72 29 0a 20 20 20 20 20 20 20 20 20 20 e2 89 a1 0a 20 (test)).foo.bar)................
2cf20 20 20 20 20 20 20 20 20 20 28 69 66 2d 6c 65 74 2a 20 28 28 53 59 4d 42 4f 4c 20 28 74 65 73 74 .........(if-let*.((SYMBOL.(test
2cf40 29 29 29 20 66 6f 6f 20 62 61 72 29 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 77 68 65 6e 2d 6c 65 ))).foo.bar)...--.Macro:.when-le
2cf60 74 20 28 62 69 6e 64 69 6e 67 73 2e 2e 2e 29 20 26 72 65 73 74 20 62 6f 64 79 0a 20 20 20 20 20 t.(bindings...).&rest.body......
2cf80 41 73 20 77 69 74 68 20 e2 80 98 77 68 65 6e e2 80 99 2c 20 69 66 20 6f 6e 65 20 69 73 20 6f 6e As.with....when...,.if.one.is.on
2cfa0 6c 79 20 69 6e 74 65 72 65 73 74 65 64 20 69 6e 20 74 68 65 20 63 61 73 65 20 77 68 65 72 65 20 ly.interested.in.the.case.where.
2cfc0 61 6c 6c 0a 20 20 20 20 20 42 49 4e 44 49 4e 47 53 20 61 72 65 20 6e 6f 6e 2d 6e 69 6c 2e 20 20 all......BINDINGS.are.non-nil...
2cfe0 4f 74 68 65 72 77 69 73 65 20 42 49 4e 44 49 4e 47 53 20 61 72 65 20 69 6e 74 65 72 70 72 65 74 Otherwise.BINDINGS.are.interpret
2d000 65 64 20 6a 75 73 74 20 61 73 0a 20 20 20 20 20 74 68 65 79 20 61 72 65 20 62 79 20 e2 80 98 69 ed.just.as......they.are.by....i
2d020 66 2d 6c 65 74 2a e2 80 99 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 68 61 73 68 2d 74 f-let*.......--.Function:.hash-t
2d040 61 62 6c 65 2d 65 6d 70 74 79 20 68 61 73 68 2d 74 61 62 6c 65 0a 20 20 20 20 20 43 68 65 63 6b able-empty.hash-table......Check
2d060 20 77 68 65 74 68 65 72 20 48 41 53 48 2d 54 41 42 4c 45 20 69 73 20 65 6d 70 74 79 20 28 68 61 .whether.HASH-TABLE.is.empty.(ha
2d080 73 20 30 20 65 6c 65 6d 65 6e 74 73 29 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 74 68 72 65 61 s.0.elements)....--.Macro:.threa
2d0a0 64 2d 66 69 72 73 74 20 26 72 65 73 74 20 66 6f 72 6d 73 0a 20 20 20 20 20 43 6f 6d 62 69 6e 65 d-first.&rest.forms......Combine
2d0c0 20 46 4f 52 4d 53 20 69 6e 74 6f 20 61 20 73 69 6e 67 6c 65 20 65 78 70 72 65 73 73 69 6f 6e 20 .FORMS.into.a.single.expression.
2d0e0 62 79 20 e2 80 9c 74 68 72 65 61 64 69 6e 67 e2 80 9d 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 0a by....threading....each.element.
2d100 20 20 20 20 20 61 73 20 74 68 65 20 5f 66 69 72 73 74 5f 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 .....as.the._first_.argument.of.
2d120 74 68 65 69 72 20 73 75 63 63 65 73 73 6f 72 2e 20 20 45 6c 65 6d 65 6e 74 73 20 6f 66 20 46 4f their.successor...Elements.of.FO
2d140 52 4d 53 20 63 61 6e 0a 20 20 20 20 20 65 69 74 68 65 72 20 62 65 20 61 6e 20 6c 69 73 74 20 6f RMS.can......either.be.an.list.o
2d160 66 20 61 6e 20 61 74 6f 6d 2e 0a 0a 20 20 20 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 63 6f f.an.atom........For.example,.co
2d180 6e 73 69 64 65 72 20 74 68 65 20 74 68 72 65 61 64 69 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 20 nsider.the.threading.expression.
2d1a0 61 6e 64 20 69 74 e2 80 99 73 20 65 71 75 69 76 61 6c 65 6e 74 0a 20 20 20 20 20 6d 61 63 72 6f and.it...s.equivalent......macro
2d1c0 20 65 78 70 61 6e 73 69 6f 6e 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 28 74 68 72 65 61 64 2d 66 .expansion:............(thread-f
2d1e0 69 72 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 35 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 irst.............5.............(
2d200 2b 20 32 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 2f 20 32 35 29 0a 20 20 20 20 20 20 20 +.20).............(/.25)........
2d220 20 20 20 20 20 2d 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 34 30 29 29 0a 20 20 20 20 20 .....-.............(+.40))......
2d240 20 20 20 20 20 e2 89 a1 0a 20 20 20 20 20 20 20 20 20 20 28 2b 20 28 2d 20 28 2f 20 28 2b 20 35 ...................(+.(-.(/.(+.5
2d260 20 32 30 29 20 32 35 29 29 20 34 30 29 0a 0a 20 20 20 20 20 4e 6f 74 65 20 68 6f 77 20 74 68 65 .20).25)).40).......Note.how.the
2d280 20 73 69 6e 67 6c 65 20 e2 80 98 2d e2 80 99 20 67 6f 74 20 63 6f 6e 76 65 72 74 65 64 20 69 6e .single....-....got.converted.in
2d2a0 74 6f 20 61 20 6c 69 73 74 20 62 65 66 6f 72 65 20 74 68 72 65 61 64 69 6e 67 2e 0a 20 20 20 20 to.a.list.before.threading......
2d2c0 20 54 68 69 73 20 65 78 61 6d 70 6c 65 20 75 73 65 73 20 61 72 69 74 68 6d 65 74 69 63 20 66 75 .This.example.uses.arithmetic.fu
2d2e0 6e 63 74 69 6f 6e 73 2c 20 62 75 74 20 e2 80 98 74 68 72 65 61 64 2d 66 69 72 73 74 e2 80 99 20 nctions,.but....thread-first....
2d300 69 73 20 6e 6f 74 0a 20 20 20 20 20 72 65 73 74 72 69 63 74 65 64 20 74 6f 20 61 72 69 74 68 6d is.not......restricted.to.arithm
2d320 65 74 69 63 20 6f 72 20 73 69 64 65 2d 65 66 66 65 63 74 20 66 72 65 65 20 63 6f 64 65 2e 0a 0a etic.or.side-effect.free.code...
2d340 20 2d 2d 20 4d 61 63 72 6f 3a 20 74 68 72 65 61 64 2d 6c 61 73 74 20 26 72 65 73 74 20 66 6f 72 .--.Macro:.thread-last.&rest.for
2d360 6d 73 0a 20 20 20 20 20 43 6f 6d 62 69 6e 65 20 46 4f 52 4d 53 20 69 6e 74 6f 20 61 20 73 69 6e ms......Combine.FORMS.into.a.sin
2d380 67 6c 65 20 65 78 70 72 65 73 73 69 6f 6e 20 62 79 20 e2 80 9c 74 68 72 65 61 64 69 6e 67 e2 80 gle.expression.by....threading..
2d3a0 9d 20 65 61 63 68 20 65 6c 65 6d 65 6e 74 0a 20 20 20 20 20 61 73 20 74 68 65 20 5f 6c 61 73 74 ..each.element......as.the._last
2d3c0 5f 20 61 72 67 75 6d 65 6e 74 20 6f 66 20 74 68 65 69 72 20 73 75 63 63 65 73 73 6f 72 2e 20 20 _.argument.of.their.successor...
2d3e0 45 6c 65 6d 65 6e 74 73 20 6f 66 20 46 4f 52 4d 53 20 63 61 6e 0a 20 20 20 20 20 65 69 74 68 65 Elements.of.FORMS.can......eithe
2d400 72 20 62 65 20 61 6e 20 6c 69 73 74 20 6f 66 20 61 6e 20 61 74 6f 6d 2e 0a 0a 20 20 20 20 20 46 r.be.an.list.of.an.atom........F
2d420 6f 72 20 65 78 61 6d 70 6c 65 2c 20 63 6f 6e 73 69 64 65 72 20 74 68 65 20 74 68 72 65 61 64 69 or.example,.consider.the.threadi
2d440 6e 67 20 65 78 70 72 65 73 73 69 6f 6e 20 61 6e 64 20 69 74 e2 80 99 73 20 65 71 75 69 76 61 6c ng.expression.and.it...s.equival
2d460 65 6e 74 0a 20 20 20 20 20 6d 61 63 72 6f 20 65 78 70 61 6e 73 69 6f 6e 3a 0a 0a 20 20 20 20 20 ent......macro.expansion:.......
2d480 20 20 20 20 20 28 74 68 72 65 61 64 2d 66 69 72 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 35 .....(thread-first.............5
2d4a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 32 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .............(+.20).............
2d4c0 28 2f 20 32 35 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 2d 0a 20 20 20 20 20 20 20 20 20 20 20 (/.25).............-............
2d4e0 20 28 2b 20 34 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 e2 89 a1 0a 20 20 20 20 20 20 20 20 20 .(+.40))........................
2d500 20 28 2b 20 34 30 20 28 2d 20 28 2f 20 32 35 20 28 2b 20 32 30 20 35 29 29 29 29 0a 0a 20 20 20 .(+.40.(-.(/.25.(+.20.5)))).....
2d520 20 20 4e 6f 74 65 20 68 6f 77 20 74 68 65 20 73 69 6e 67 6c 65 20 e2 80 98 2d e2 80 99 20 67 6f ..Note.how.the.single....-....go
2d540 74 20 63 6f 6e 76 65 72 74 65 64 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 62 65 66 6f 72 65 20 74 t.converted.into.a.list.before.t
2d560 68 72 65 61 64 69 6e 67 2e 0a 20 20 20 20 20 54 68 69 73 20 65 78 61 6d 70 6c 65 20 75 73 65 73 hreading.......This.example.uses
2d580 20 61 72 69 74 68 6d 65 74 69 63 20 66 75 6e 63 74 69 6f 6e 73 2c 20 62 75 74 20 e2 80 98 74 68 .arithmetic.functions,.but....th
2d5a0 72 65 61 64 2d 6c 61 73 74 e2 80 99 20 69 73 20 6e 6f 74 0a 20 20 20 20 20 72 65 73 74 72 69 63 read-last....is.not......restric
2d5c0 74 65 64 20 74 6f 20 61 72 69 74 68 6d 65 74 69 63 20 6f 72 20 73 69 64 65 2d 65 66 66 65 63 74 ted.to.arithmetic.or.side-effect
2d5e0 20 66 72 65 65 20 63 6f 64 65 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6d 61 63 72 6f .free.code....--.Function:.macro
2d600 65 78 70 61 6e 64 2d 31 20 66 6f 72 6d 20 26 6f 70 74 69 6f 6e 61 6c 20 65 6e 76 69 72 6f 6e 6d expand-1.form.&optional.environm
2d620 65 6e 74 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 65 78 70 61 6e 64 73 20 6d ent......This.function.expands.m
2d640 61 63 72 6f 73 20 6c 69 6b 65 20 e2 80 98 6d 61 63 72 6f 65 78 70 61 6e 64 e2 80 99 2c 20 62 75 acros.like....macroexpand...,.bu
2d660 74 20 69 74 20 6f 6e 6c 79 0a 20 20 20 20 20 70 65 72 66 6f 72 6d 73 20 6f 6e 65 20 73 74 65 70 t.it.only......performs.one.step
2d680 20 6f 66 20 74 68 65 20 65 78 70 61 6e 73 69 6f 6e 3a 20 69 66 20 74 68 65 20 72 65 73 75 6c 74 .of.the.expansion:.if.the.result
2d6a0 20 69 73 20 61 6e 6f 74 68 65 72 20 6d 61 63 72 6f 0a 20 20 20 20 20 63 61 6c 6c 2c 20 e2 80 98 .is.another.macro......call,....
2d6c0 6d 61 63 72 6f 65 78 70 61 6e 64 2d 31 e2 80 99 20 77 69 6c 6c 20 6e 6f 74 20 65 78 70 61 6e 64 macroexpand-1....will.not.expand
2d6e0 20 69 74 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 45 78 70 61 6e 73 69 6f 6e 3a 20 28 65 6c 69 .it........*Note.Expansion:.(eli
2d700 73 70 29 45 78 70 61 6e 73 69 6f 6e 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6d 61 63 sp)Expansion....--.Function:.mac
2d720 72 6f 65 78 70 2d 71 75 6f 74 65 20 65 0a 20 20 20 20 20 52 65 74 75 72 6e 20 61 6e 20 65 78 70 roexp-quote.e......Return.an.exp
2d740 72 65 73 73 69 6f 6e 20 45 20 73 75 63 68 20 74 68 61 74 20 e2 80 98 28 65 76 61 6c 20 65 29 e2 ression.E.such.that....(eval.e).
2d760 80 99 20 69 73 20 56 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6d 61 63 72 6f 65 78 70 ...is.V....--.Function:.macroexp
2d780 2d 70 61 72 73 65 20 62 6f 64 79 0a 20 20 20 20 20 50 61 72 73 65 20 61 20 66 75 6e 63 74 69 6f -parse.body......Parse.a.functio
2d7a0 6e 20 42 4f 44 59 20 69 6e 74 6f 20 e2 80 98 28 64 65 63 6c 61 72 61 74 69 6f 6e 73 20 2e 20 65 n.BODY.into....(declarations...e
2d7c0 78 70 73 29 e2 80 99 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 62 6f 6f 6c 2d 76 65 63 xps).......--.Function:.bool-vec
2d7e0 74 6f 72 20 26 72 65 73 74 20 6f 62 6a 65 63 74 73 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 tor.&rest.objects......This.func
2d800 74 69 6f 6e 20 63 72 65 61 74 65 73 20 61 6e 64 20 72 65 74 75 72 6e 73 20 61 20 62 6f 6f 6c 2d tion.creates.and.returns.a.bool-
2d820 76 65 63 74 6f 72 20 77 68 6f 73 65 20 65 6c 65 6d 65 6e 74 73 20 61 72 65 0a 20 20 20 20 20 74 vector.whose.elements.are......t
2d840 68 65 20 61 72 67 75 6d 65 6e 74 73 2c 20 4f 42 4a 45 43 54 53 2e 0a 0a 20 20 20 20 20 2a 4e 6f he.arguments,.OBJECTS........*No
2d860 74 65 20 28 65 6c 69 73 70 29 42 6f 6f 6c 2d 56 65 63 74 6f 72 73 3a 3a 2e 0a 0a 32 2e 31 2e 32 te.(elisp)Bool-Vectors::...2.1.2
2d880 20 45 78 74 65 6e 64 65 64 20 44 65 66 69 6e 69 74 69 6f 6e 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d .Extended.Definitions.----------
2d8a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e ----------------..These.function
2d8c0 73 20 6d 75 73 74 20 62 65 20 63 61 6c 6c 65 64 20 65 78 70 6c 69 63 69 74 6c 79 20 76 69 61 20 s.must.be.called.explicitly.via.
2d8e0 e2 80 98 63 6f 6d 70 61 74 2d 63 61 6c 6c e2 80 99 2c 20 73 69 6e 63 65 20 74 68 65 69 72 0a 63 ...compat-call...,.since.their.c
2d900 61 6c 6c 69 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 6f 72 20 62 65 68 61 76 69 6f 72 20 77 61 alling.convention.or.behavior.wa
2d920 73 20 65 78 74 65 6e 64 65 64 20 69 6e 20 45 6d 61 63 73 20 32 35 2e 31 3a 0a 0a 20 2d 2d 20 46 s.extended.in.Emacs.25.1:...--.F
2d940 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 65 71 75 65 6e unction:.compat-call.sort.sequen
2d960 63 65 20 70 72 65 64 69 63 61 74 65 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 ce.predicate......This.function.
2d980 73 6f 72 74 73 20 53 45 51 55 45 4e 43 45 20 73 74 61 62 6c 79 2e 20 20 4e 6f 74 65 20 74 68 61 sorts.SEQUENCE.stably...Note.tha
2d9a0 74 20 74 68 69 73 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 64 6f 65 73 6e e2 80 99 74 20 77 t.this.function......doesn...t.w
2d9c0 6f 72 6b 20 66 6f 72 20 61 6c 6c 20 73 65 71 75 65 6e 63 65 73 3b 20 69 74 20 6d 61 79 20 62 65 ork.for.all.sequences;.it.may.be
2d9e0 20 75 73 65 64 20 6f 6e 6c 79 20 66 6f 72 20 6c 69 73 74 73 20 61 6e 64 0a 20 20 20 20 20 76 65 .used.only.for.lists.and......ve
2da00 63 74 6f 72 73 2e 20 20 49 66 20 53 45 51 55 45 4e 43 45 20 69 73 20 61 20 6c 69 73 74 2c 20 69 ctors...If.SEQUENCE.is.a.list,.i
2da20 74 20 69 73 20 6d 6f 64 69 66 69 65 64 20 64 65 73 74 72 75 63 74 69 76 65 6c 79 2e 0a 20 20 20 t.is.modified.destructively.....
2da40 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 73 20 72 65 74 75 72 6e 73 20 74 68 65 20 73 6f 72 ..This.functions.returns.the.sor
2da60 74 65 64 20 53 45 51 55 45 4e 43 45 20 61 6e 64 20 63 6f 6d 70 61 72 65 73 20 65 6c 65 6d 65 6e ted.SEQUENCE.and.compares.elemen
2da80 74 73 0a 20 20 20 20 20 75 73 69 6e 67 20 50 52 45 44 49 43 41 54 45 2e 20 20 41 20 73 74 61 62 ts......using.PREDICATE...A.stab
2daa0 6c 65 20 73 6f 72 74 20 69 73 20 6f 6e 65 20 69 6e 20 77 68 69 63 68 20 65 6c 65 6d 65 6e 74 73 le.sort.is.one.in.which.elements
2dac0 20 77 69 74 68 20 65 71 75 61 6c 0a 20 20 20 20 20 73 6f 72 74 20 6b 65 79 73 20 6d 61 69 6e 74 .with.equal......sort.keys.maint
2dae0 61 69 6e 20 74 68 65 69 72 20 72 65 6c 61 74 69 76 65 20 6f 72 64 65 72 20 62 65 66 6f 72 65 20 ain.their.relative.order.before.
2db00 61 6e 64 20 61 66 74 65 72 20 74 68 65 20 73 6f 72 74 2e 0a 20 20 20 20 20 53 74 61 62 69 6c 69 and.after.the.sort.......Stabili
2db20 74 79 20 69 73 20 69 6d 70 6f 72 74 61 6e 74 20 77 68 65 6e 20 73 75 63 63 65 73 73 69 76 65 20 ty.is.important.when.successive.
2db40 73 6f 72 74 73 20 61 72 65 20 75 73 65 64 20 74 6f 20 6f 72 64 65 72 0a 20 20 20 20 20 65 6c 65 sorts.are.used.to.order......ele
2db60 6d 65 6e 74 73 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 64 69 66 66 65 72 65 6e 74 20 63 72 69 ments.according.to.different.cri
2db80 74 65 72 69 61 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 53 65 71 75 65 6e teria........*Note.(elisp)Sequen
2dba0 63 65 20 46 75 6e 63 74 69 6f 6e 73 3a 3a 2e 0a 0a 20 20 20 20 20 54 68 65 20 63 6f 6d 70 61 74 ce.Functions::........The.compat
2dbc0 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 66 6f 72 ibility.version.adds.support.for
2dbe0 20 76 65 63 74 6f 72 73 20 74 6f 20 62 65 20 73 6f 72 74 65 64 2c 0a 20 20 20 20 20 6e 6f 74 20 .vectors.to.be.sorted,......not.
2dc00 6a 75 73 74 20 6c 69 73 74 73 2e 0a 0a 32 2e 31 2e 33 20 4d 69 73 73 69 6e 67 20 44 65 66 69 6e just.lists...2.1.3.Missing.Defin
2dc20 69 74 69 6f 6e 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d itions.-------------------------
2dc40 0a 0a 43 6f 6d 70 61 74 20 64 6f 65 73 20 6e 6f 74 20 70 72 6f 76 69 64 65 20 73 75 70 70 6f 72 ..Compat.does.not.provide.suppor
2dc60 74 20 66 6f 72 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 4c 69 73 70 20 66 65 61 74 75 72 65 t.for.the.following.Lisp.feature
2dc80 73 0a 69 6d 70 6c 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 s.implemented.in.25.1:.........T
2dca0 68 65 20 66 75 6e 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 he.function....macroexp-macroexp
2dcc0 61 6e 64 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 6d 61 63 72 and............The.macro....macr
2dce0 6f 65 78 70 2d 6c 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 oexp-let2*............The.functi
2dd00 6f 6e 20 e2 80 98 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 on....directory-files-recursivel
2dd20 79 e2 80 99 2e 0a 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 y............New....pcase....pat
2dd40 74 65 72 6e 73 2e 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 terns.........The.hook....prefix
2dd60 2d 63 6f 6d 6d 61 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 -command-echo-keystrokes-functio
2dd80 6e 73 e2 80 99 20 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 ns....and.........prefix-command
2dda0 2d 70 72 65 73 65 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 -preserve-state-hook............
2ddc0 54 68 65 20 68 6f 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 The.hook....pre-redisplay-functi
2dde0 6f 6e 73 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 6d ons............The.function....m
2de00 61 6b 65 2d 70 72 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 ake-process............Support.f
2de20 6f 72 20 74 68 65 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 or.the.variable....inhibit-messa
2de40 67 65 e2 80 99 2e 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 ge............The....define-inli
2de60 6e 65 e2 80 99 20 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 ne....functionality.........The.
2de80 66 75 6e 63 74 69 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 functions....string-collate-less
2dea0 70 e2 80 99 20 61 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 p....and....string-collate-equal
2dec0 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 66 75 6e p............The.function....fun
2dee0 63 61 6c 6c 2d 69 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 call-interactively............Th
2df00 65 20 66 75 6e 63 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 e.function....buffer-substring-w
2df20 69 74 68 2d 62 69 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 ith-bidi-context............The.
2df40 66 75 6e 63 74 69 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 function....font-info...........
2df60 20 54 68 65 20 66 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 .The.function....default-font-wi
2df80 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 e2 80 98 77 dth............The.function....w
2dfa0 69 6e 64 6f 77 2d 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 indow-font-height....and....wind
2dfc0 6f 77 2d 66 6f 6e 74 2d 77 69 64 74 68 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e ow-font-width............The.fun
2dfe0 63 74 69 6f 6e 20 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 ction....window-max-chars-per-li
2e000 6e 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 73 65 ne............The.function....se
2e020 74 2d 62 69 6e 61 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 t-binary-mode............The.fun
2e040 63 74 69 6f 6e 73 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 ctions....bufferpos-to-filepos..
2e060 99 20 61 6e 64 20 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 ..and....filepos-to-bufferpos...
2e080 2e 0a 20 20 20 e2 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 .........The....thunk....library
2e0a0 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 71 31 61 68 5a 52 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 .....File:.docq1ahZR.info,..Node
2e0c0 3a 20 45 6d 61 63 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 :.Emacs.26.1,..Next:.Emacs.27.1,
2e0e0 20 20 50 72 65 76 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 ..Prev:.Emacs.25.1,..Up:.Support
2e100 0a 0a 32 2e 32 20 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 ..2.2.Emacs.26.1.==============.
2e120 0a 32 2e 32 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 .2.2.1.Added.Definitions.-------
2e140 2d 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 ----------------..The.following.
2e160 66 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 functions.and.macros.are.impleme
2e180 6e 74 65 64 20 69 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 nted.in.Emacs.26.1...These.funct
2e1a0 69 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 ions.are.made.available.by.Compa
2e1c0 74 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 t.on.Emacs.versions.older.than.2
2e1e0 36 2e 31 2e 0a 0a 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 6.1....--.Function:.assoc-delete
2e200 2d 61 6c 6c 20 6b 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 -all.key.alist......This.functio
2e220 6e 20 69 73 20 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 n.is.like....assq-delete-all....
2e240 65 78 63 65 70 74 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 except.that.it.uses....equal....
2e260 20 20 20 20 20 74 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 .....to.compare.elements....--.F
2e280 75 6e 63 74 69 6f 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 unction:.read-answer.question.an
2e2a0 73 77 65 72 73 0a 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 swers......This.function.prompts
2e2c0 20 74 68 65 20 75 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 .the.user.with.text.in.QUESTION,
2e2e0 20 77 68 69 63 68 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 .which.should......end.in.the...
2e300 98 53 50 43 e2 80 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 .SPC....character...The.function
2e320 20 69 6e 63 6c 75 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 .includes.in.the.prompt......the
2e340 20 70 6f 73 73 69 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 .possible.responses.in.ANSWERS.b
2e360 79 20 61 70 70 65 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 y.appending.them.to.the.end.of..
2e380 20 20 20 20 51 55 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 ....QUESTION...The.possible.resp
2e3a0 6f 6e 73 65 73 20 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 onses.are.provided.in.ANSWERS.as
2e3c0 20 61 6e 0a 20 20 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 .an......alist.whose.elements.ar
2e3e0 65 20 6f 66 20 74 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 e.of.the.following.form:........
2e400 20 20 20 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 ....(LONG-ANSWER.SHORT-ANSWER.HE
2e420 4c 50 2d 4d 45 53 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 LP-MESSAGE).......where.LONG-ANS
2e440 57 45 52 20 69 73 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 WER.is.the.complete.text.of.the.
2e460 75 73 65 72 20 72 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 user.response,.a......string;.SH
2e480 4f 52 54 2d 41 4e 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 ORT-ANSWER.is.a.short.form.of.th
2e4a0 65 20 73 61 6d 65 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 e.same.response,.a.single......c
2e4c0 68 61 72 61 63 74 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 haracter.or.a.function.key;.and.
2e4e0 48 45 4c 50 2d 4d 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 HELP-MESSAGE.is.the.text.that...
2e500 20 20 20 64 65 73 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 ...describes.the.meaning.of.the.
2e520 61 6e 73 77 65 72 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 answer...If.the.variable........
2e540 98 72 65 61 64 2d 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 .read-answer-short....is.non-...
2e560 6e 69 6c e2 80 99 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 nil...,.the.prompt.will.show.the
2e580 20 73 68 6f 72 74 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 .short......variants.of.the.poss
2e5a0 69 62 6c 65 20 61 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 ible.answers.and.the.user.is.exp
2e5c0 65 63 74 65 64 20 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 ected.to.type......the.single.ch
2e5e0 61 72 61 63 74 65 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 aracters/keys.shown.in.the.promp
2e600 74 3b 20 6f 74 68 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 t;.otherwise.the......prompt.wil
2e620 6c 20 73 68 6f 77 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 l.show.the.long.variants.of.the.
2e640 61 6e 73 77 65 72 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 answers,.and.the.user.is......ex
2e660 70 65 63 74 65 64 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 pected.to.type.the.full.text.of.
2e680 6f 6e 65 20 6f 66 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 one.of.the.answers.and.end.by...
2e6a0 20 20 20 70 72 65 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 ...pressing.<RET>...If....use-di
2e6c0 61 6c 6f 67 2d 62 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 alog-box....is.non-...nil...,.an
2e6e0 64 20 74 68 69 73 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 d.this......function.was.invoked
2e700 20 62 79 20 6d 6f 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 .by.mouse.events,.the.question.a
2e720 6e 64 20 74 68 65 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 nd.the.answers......will.be.disp
2e740 6c 61 79 65 64 20 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 layed.in.a.GUI.dialog.box.......
2e760 20 54 68 65 20 66 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 .The.function.returns.the.text.o
2e780 66 20 74 68 65 20 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 f.the.LONG-ANSWER.selected.by.th
2e7a0 65 0a 20 20 20 20 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 e......user,.regardless.of.wheth
2e7c0 65 72 20 6c 6f 6e 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 er.long.or.short.answers.were.sh
2e7e0 6f 77 6e 20 69 6e 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 own.in.the......prompt.and.typed
2e800 20 62 79 20 74 68 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 .by.the.user........Here.is.an.e
2e820 78 61 6d 70 6c 65 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 xample.of.using.this.function:..
2e840 20 20 20 20 20 20 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 ..........(let.((read-answer-sho
2e860 72 74 20 74 29 29 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 rt.t)).............(read-answer.
2e880 22 46 6f 6f 20 22 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 "Foo."................'(("yes"..
2e8a0 3f 79 20 22 70 65 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 ?y."perform.the.action")........
2e8c0 20 20 20 20 20 20 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 ..........("no"...?n."skip.to.th
2e8e0 65 20 6e 65 78 74 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 e.next")..................("all"
2e900 20 20 3f 21 20 22 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 ..?!."perform.for.the.rest.witho
2e920 75 74 20 6d 6f 72 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 ut.more.questions").............
2e940 20 20 20 20 20 28 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 .....("help".?h."show.help")....
2e960 20 20 20 20 20 20 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 ..............("quit".?q."exit")
2e980 29 29 29 0a 0a 20 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 )))...--.Function:.mapcan.functi
2e9a0 6f 6e 20 73 65 71 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 on.sequence......This.function.a
2e9c0 70 70 6c 69 65 73 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 pplies.FUNCTION.to.each.element.
2e9e0 6f 66 20 53 45 51 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 of.SEQUENCE,.like.........mapcar
2ea00 e2 80 99 2c 20 62 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 ...,.but.instead.of.collecting.t
2ea20 68 65 20 72 65 73 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 he.results.into.a.list,.it......
2ea40 72 65 74 75 72 6e 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 returns.a.single.list.with.all.t
2ea60 68 65 20 65 6c 65 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 he.elements.of.the.results.(whic
2ea80 68 0a 20 20 20 20 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 h......must.be.lists),.by.alteri
2eaa0 6e 67 20 74 68 65 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 ng.the.results.(using....nconc..
2eac0 99 3b 20 2a 6e 6f 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 .;.*note......(elisp)Rearrangeme
2eae0 6e 74 3a 3a 29 2e 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 nt::)...Like.with....mapcar...,.
2eb00 53 45 51 55 45 4e 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 SEQUENCE.can.be.of......any.type
2eb20 20 65 78 63 65 70 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 .except.a.char-table............
2eb40 20 3b 3b 20 43 6f 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 .;;.Contrast.this:.(mapcar.#'lis
2eb60 74 20 27 28 61 20 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 t.'(a.b.c.d)).....((a).(b).(c)..
2eb80 20 20 20 20 20 20 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 .........(d)).;;.with.this:.(map
2eba0 63 61 6e 20 23 27 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 can.#'list.'(a.b.c.d)).....(a.b.
2ebc0 63 20 64 29 0a 0a 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 c.d).......*Note.(elisp)Mapping.
2ebe0 46 75 6e 63 74 69 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 Functions::....--.Function:.cXXX
2ec00 72 0a 20 2d 2d 20 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 r..--.Function:.cXXXXr......*Not
2ec20 65 20 28 65 6c 69 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 e.(elisp)List.Elements::....--.F
2ec40 75 6e 63 74 69 6f 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 unction:.gensym.&optional.prefix
2ec60 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 73 79 ......This.function.returns.a.sy
2ec80 6d 62 6f 6c 20 75 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 mbol.using....make-symbol...,.wh
2eca0 6f 73 65 20 6e 61 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 ose.name.is......made.by.appendi
2ecc0 6e 67 20 e2 80 98 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 ng....gensym-counter....to.PREFI
2ece0 58 20 61 6e 64 20 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 X.and.incrementing.that......cou
2ed00 6e 74 65 72 2c 20 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 nter,.guaranteeing.that.no.two.c
2ed20 61 6c 6c 73 20 74 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 alls.to.this.function.will......
2ed40 67 65 6e 65 72 61 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 generate.a.symbol.with.the.same.
2ed60 6e 61 6d 65 2e 20 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 name...The.prefix.defaults.to...
2ed80 20 20 20 e2 80 98 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 ......"g".......--.Variable:.gen
2eda0 73 79 6d 2d 63 6f 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 sym-counter......See....gensym..
2edc0 99 2e 0a 0a 20 2d 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 .....--.Function:.buffer-hash.&o
2ede0 70 74 69 6f 6e 61 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 ptional.buffer-or-name......Retu
2ee00 72 6e 20 61 20 68 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 rn.a.hash.of.BUFFER-OR-NAME...If
2ee20 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 65 ....nil...,.this.defaults.to.the
2ee40 0a 20 20 20 20 20 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 ......current.buffer...As.oppose
2ee60 64 20 74 6f 20 e2 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 d.to....secure-hash...,.this.fun
2ee80 63 74 69 6f 6e 0a 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 ction......computes.the.hash.bas
2eea0 65 64 20 6f 6e 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 ed.on.the.internal.representatio
2eec0 6e 20 6f 66 20 74 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 n.of.the......buffer,.disregardi
2eee0 6e 67 20 61 6e 79 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 ng.any.coding.systems...It...s.t
2ef00 68 65 72 65 66 6f 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 herefore.only......useful.when.c
2ef20 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 6e 67 20 69 6e 20 omparing.two.buffers.running.in.
2ef40 74 68 65 20 73 61 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 the.same.Emacs,.and.is......not.
2ef60 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 61 guaranteed.to.return.the.same.ha
2ef80 73 68 20 62 65 74 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 sh.between.different.Emacs......
2efa0 76 65 72 73 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 versions...It.should.be.somewhat
2efc0 20 6d 6f 72 65 20 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 .more.efficient.on.larger.buffer
2efe0 73 0a 20 20 20 20 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 s......than....secure-hash....is
2f000 2c 20 61 6e 64 20 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 ,.and.should.not.allocate.more.m
2f020 65 6d 6f 72 79 2e 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 emory....--.Macro:.file-name-unq
2f040 75 6f 74 65 20 6e 61 6d 65 0a 20 20 20 20 20 54 68 69 73 20 6d 61 63 72 6f 20 72 65 6d 6f 76 65 uote.name......This.macro.remove
2f060 73 20 74 68 65 20 71 75 6f 74 61 74 69 6f 6e 20 70 72 65 66 69 78 20 e2 80 98 2f 3a e2 80 99 20 s.the.quotation.prefix..../:....
2f080 66 72 6f 6d 20 74 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 from.the.file.NAME,.if......any.
2f0a0 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 61 6d 65 2c ..If.NAME.is.a.remote.file.name,
2f0c0 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 20 20 20 20 .the.local.part.of.NAME.is......
2f0e0 75 6e 71 75 6f 74 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 unquoted....--.Function:.file-na
2f100 6d 65 2d 71 75 6f 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 me-quoted-p.name......This.macro
2f120 20 72 65 74 75 72 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 .returns.non-...nil...,.when.NAM
2f140 45 20 69 73 20 71 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 E.is.quoted.with.the.prefix.....
2f160 20 e2 80 98 2f 3a e2 80 99 2e 20 20 49 66 20 4e 41 4d 45 20 69 73 20 61 20 72 65 6d 6f 74 65 20 ..../:......If.NAME.is.a.remote.
2f180 66 69 6c 65 20 6e 61 6d 65 2c 20 74 68 65 20 6c 6f 63 61 6c 20 70 61 72 74 20 6f 66 20 4e 41 4d file.name,.the.local.part.of.NAM
2f1a0 45 20 69 73 0a 20 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 E.is......checked........*Note.(
2f1c0 65 6c 69 73 70 29 46 69 6c 65 20 4e 61 6d 65 20 45 78 70 61 6e 73 69 6f 6e 3a 3a 2e 0a 0a 20 2d elisp)File.Name.Expansion::....-
2f1e0 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 74 65 20 6e 61 6d 65 -.Function:.file-name-quote.name
2f200 0a 20 20 20 20 20 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 ......This.macro.adds.the.quotat
2f220 69 6f 6e 20 70 72 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 ion.prefix..../:....to.the.file.
2f240 4e 41 4d 45 2e 20 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 NAME...For.a......local.file.NAM
2f260 45 2c 20 69 74 20 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 E,.it.prefixes.NAME.with..../:..
2f280 99 2e 20 20 49 66 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 ....If.NAME.is.a.remote......fil
2f2a0 65 20 6e 61 6d 65 2c 20 74 68 65 20 6c 6f 63 61 6c 20 70 61 72 74 20 6f 66 20 4e 41 4d 45 20 28 e.name,.the.local.part.of.NAME.(
2f2c0 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 3a 29 *note.(elisp)Magic.File.Names::)
2f2e0 0a 20 20 20 20 20 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 ......is.quoted...If.NAME.is.alr
2f300 65 61 64 79 20 61 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 eady.a.quoted.file.name,.NAME.is
2f320 20 72 65 74 75 72 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 .returned......unchanged........
2f340 20 20 20 20 20 28 73 75 62 73 74 69 74 75 74 65 2d 69 6e 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 63 .....(substitute-in-file-name.(c
2f360 6f 6d 70 61 74 2d 63 61 6c 6c 20 66 69 6c 65 2d 6e 61 6d 65 2d 71 75 6f 74 65 20 22 62 61 72 2f ompat-call.file-name-quote."bar/
2f380 7e 2f 66 6f 6f 22 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 ~/foo"))...................."/:b
2f3a0 61 72 2f 7e 2f 66 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 ar/~/foo"............(substitute
2f3c0 2d 69 6e 2d 66 69 6c 65 2d 6e 61 6d 65 20 28 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 66 69 6c 65 2d -in-file-name.(compat-call.file-
2f3e0 6e 61 6d 65 2d 71 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 name-quote."/ssh:host:bar/~/foo"
2f400 29 29 0a 20 20 20 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 ))...................."/ssh:host
2f420 3a 2f 3a 62 61 72 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 :/:bar/~/foo".......The.macro.ca
2f440 6e 6e 6f 74 20 62 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 nnot.be.used.to.suppress.file.na
2f460 6d 65 20 68 61 6e 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 me.handlers.from.magic......file
2f480 20 6e 61 6d 65 73 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 .names.(*note.(elisp)Magic.File.
2f4a0 4e 61 6d 65 73 3a 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 Names::)........*Note.(elisp)Fil
2f4c0 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 74 69 6f e.Name.Expansion::....--.Functio
2f4e0 6e 3a 20 6d 61 6b 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 n:.make-nearby-temp-file.prefix.
2f500 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 0a 20 20 20 20 20 54 &optional.dir-flag.suffix......T
2f520 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 6f 20 e2 80 98 6d 61 his.function.is.similar.to....ma
2f540 6b 65 2d 74 65 6d 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 ke-temp-file...,.but.it.creates.
2f560 61 0a 20 20 20 20 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 a......temporary.file.as.close.a
2f580 73 20 70 6f 73 73 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 s.possible.to....default-directo
2f5a0 72 79 e2 80 99 2e 20 20 49 66 0a 20 20 20 20 20 50 52 45 46 49 58 20 69 73 20 61 20 72 65 6c 61 ry......If......PREFIX.is.a.rela
2f5c0 74 69 76 65 20 66 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 tive.file.name,.and....default-d
2f5e0 69 72 65 63 74 6f 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 irectory....is.a.remote......fil
2f600 65 20 6e 61 6d 65 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 e.name.or.located.on.a.mounted.f
2f620 69 6c 65 20 73 79 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 ile.systems,.the.temporary.file.
2f640 20 20 20 20 20 69 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 .....is.created.in.the.directory
2f660 20 72 65 74 75 72 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 .returned.by.the.function.......
2f680 80 98 74 65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 2d 64 69 72 65 63 74 6f 72 79 e2 80 99 2e 20 20 ..temporary-file-directory......
2f6a0 4f 74 68 65 72 77 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 Otherwise,.the.function.........
2f6c0 6d 61 6b 65 2d 74 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 make-temp-file....is.used...PREF
2f6e0 49 58 2c 20 44 49 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 IX,.DIR-FLAG.and.SUFFIX.have.the
2f700 0a 20 20 20 20 20 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 ......same.meaning.as.in....make
2f720 2d 74 65 6d 70 2d 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 -temp-file................(let.(
2f740 28 64 65 66 61 75 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 (default-directory."/ssh:remoteh
2f760 6f 73 74 3a 22 29 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 ost:")).(make-nearby-temp-file..
2f780 20 20 20 20 20 20 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 ..........."foo"))....."/ssh:rem
2f7a0 6f 74 65 68 6f 73 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 otehost:/tmp/foo232J6v"...--.Var
2f7c0 69 61 62 6c 65 3a 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 iable:.mounted-file-systems.....
2f7e0 20 41 20 72 65 67 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 .A.regular.expression.matching.f
2f800 69 6c 65 73 20 6e 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 iles.names.that.are.probably.on.
2f820 61 0a 20 20 20 20 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 a......mounted.file.system....--
2f840 20 46 75 6e 63 74 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 .Function:.temporary-file-direct
2f860 6f 72 79 0a 20 20 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 ory......The.directory.for.writi
2f880 6e 67 20 74 65 6d 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 ng.temporary.files.via.........m
2f8a0 61 6b 65 2d 6e 65 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 ake-nearby-temp-file......In.cas
2f8c0 65 20 6f 66 20 61 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 e.of.a.remote....default-directo
2f8e0 72 79 e2 80 99 2c 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 ry...,......this.is.a.directory.
2f900 66 6f 72 20 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 6d 6f for.temporary.files.on.that.remo
2f920 74 65 20 68 6f 73 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 te.host...If......such.a.directo
2f940 72 79 20 64 6f 65 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 ry.does.not.exist,.or....default
2f960 2d 64 69 72 65 63 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 -directory....ought.to.be......l
2f980 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 73 74 65 6d 20 ocated.on.a.mounted.file.system.
2f9a0 28 73 65 65 20 e2 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 (see....mounted-file-systems...)
2f9c0 2c 20 74 68 65 0a 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 ,.the......function.returns....d
2f9e0 65 66 61 75 6c 74 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 efault-directory......For.a.non-
2fa00 72 65 6d 6f 74 65 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 remote.and......non-mounted....d
2fa20 65 66 61 75 6c 74 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 efault-directory...,.the.value.o
2fa40 66 20 74 68 65 20 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 f.the.variable.........temporary
2fa60 2d 66 69 6c 65 2d 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 -file-directory....is.returned..
2fa80 0a 20 20 20 20 20 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 ......*Note.(elisp)Unique.File.N
2faa0 61 6d 65 73 3a 3a 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 ames::....--.Macro:.if-let*.(bin
2fac0 64 69 6e 67 73 2e 2e 2e 29 20 74 68 65 6e 20 26 72 65 73 74 20 65 6c 73 65 0a 20 20 20 20 20 e2 dings...).then.&rest.else.......
2fae0 80 98 69 66 2d 6c 65 74 2a e2 80 99 20 69 73 20 6d 6f 73 74 6c 79 20 65 71 75 69 76 61 6c 65 6e ..if-let*....is.mostly.equivalen
2fb00 74 20 74 6f 20 e2 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 t.to....if-let...,.with.the.exce
2fb20 70 74 69 6f 6e 20 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 ption.that......the.legacy....(i
2fb40 66 20 28 56 41 52 20 28 74 65 73 74 29 29 20 66 6f 6f 20 62 61 72 29 e2 80 99 20 73 79 6e 74 61 f.(VAR.(test)).foo.bar)....synta
2fb60 78 20 69 73 20 6e 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 x.is.not.permitted....--.Macro:.
2fb80 77 68 65 6e 2d 6c 65 74 2a 20 28 62 69 6e 64 69 6e 67 73 2e 2e 2e 29 20 74 68 65 6e 20 26 72 65 when-let*.(bindings...).then.&re
2fba0 73 74 20 65 6c 73 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 st.else.........when-let*....is.
2fbc0 6d 6f 73 74 6c 79 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 mostly.equivalent.to....when-let
2fbe0 e2 80 99 2c 20 77 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 ...,.with.the.exception......tha
2fc00 74 20 74 68 65 20 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 t.the.legacy....(when-let.(VAR.(
2fc20 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 6f 74 test)).foo.bar)....syntax.is.not
2fc40 0a 20 20 20 20 20 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 ......permitted....--.Macro:.and
2fc60 2d 6c 65 74 2a 20 28 62 69 6e 64 69 6e 67 73 2e 2e 2e 29 20 26 72 65 73 74 20 62 6f 64 79 0a 20 -let*.(bindings...).&rest.body..
2fc80 20 20 20 20 41 20 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 ....A.combination.of.LET*.and.AN
2fca0 44 2c 20 61 6e 61 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 D,.analogous.to....when-let*....
2fcc0 20 20 49 66 20 61 6c 6c 0a 20 20 20 20 20 42 49 4e 44 49 4e 47 53 20 61 72 65 20 6e 6f 6e 2d e2 ..If.all......BINDINGS.are.non-.
2fce0 80 98 6e 69 6c e2 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 ..nil....and.BODY.is....nil...,.
2fd00 74 68 65 6e 20 74 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 then.the.result.of.the.........a
2fd20 6e 64 2d 6c 65 74 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 nd-let*....form.will.be.the.last
2fd40 20 76 61 6c 75 65 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 .value.bound.in.BINDINGS........
2fd60 2a 2a 50 6c 65 61 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 **Please.Note:**.The.implementat
2fd80 69 6f 6e 20 70 72 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 ion.provided.by.Compat.does.not.
2fda0 20 20 20 20 20 69 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 .....include.a.bug.that.was.obse
2fdc0 72 76 65 64 20 77 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 rved.with.Emacs.26.(see......<ht
2fde0 74 70 73 3a 2f 2f 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 tps://debbugs.gnu.org/cgi/bugrep
2fe00 6f 72 74 2e 63 67 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 ort.cgi?bug=31840>)....--.Functi
2fe20 6f 6e 3a 20 66 69 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 on:.file-local-name.filename....
2fe40 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 5f 6c 6f 63 ..This.function.returns.the._loc
2fe60 61 6c 20 70 61 72 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 al.part_.of.FILENAME...This.is.t
2fe80 68 65 0a 20 20 20 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 he......part.of.the.file...s.nam
2fea0 65 20 74 68 61 74 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 e.that.identifies.it.on.the.remo
2fec0 74 65 20 68 6f 73 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 te.host,.and......is.typically.o
2fee0 62 74 61 69 6e 65 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 btained.by.removing.from.the.rem
2ff00 6f 74 65 20 66 69 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 ote.file.name.the......parts.tha
2ff20 74 20 73 70 65 63 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 t.specify.the.remote.host.and.th
2ff40 65 20 6d 65 74 68 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 e.method.of.accessing.it.......F
2ff60 6f 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 6c 6f 63 or.example:............(file-loc
2ff80 61 6c 2d 6e 61 6d 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 al-name."/ssh:USER@HOST:/foo/bar
2ffa0 22 29 20 e2 87 92 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 ")...................."/foo/bar"
2ffc0 0a 0a 20 20 20 20 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 .......For.a.remote.FILENAME,.th
2ffe0 69 73 20 66 75 6e 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 is.function.returns.a.file.name.
30000 77 68 69 63 68 0a 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 which......could.be.used.directl
30020 79 20 61 73 20 61 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 y.as.an.argument.of.a.remote.pro
30040 63 65 73 73 20 28 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 cess.(*note......(elisp)Asynchro
30060 6e 6f 75 73 20 50 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 nous.Processes::,.and.*note.(eli
30080 73 70 29 53 79 6e 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 sp)Synchronous......Processes::)
300a0 2c 20 61 6e 64 20 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 ,.and.as.the.program.to.run.on.t
300c0 68 65 20 72 65 6d 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 he.remote.host...If......FILENAM
300e0 45 20 69 73 20 6c 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 E.is.local,.this.function.return
30100 73 20 69 74 20 75 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 s.it.unchanged........*Note.(eli
30120 73 70 29 4d 61 67 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 sp)Magic.File.Names::....--.Func
30140 74 69 6f 6e 3a 20 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 tion:.read-multiple-choice.promp
30160 74 20 63 68 6f 69 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 t.choices......Ask.user.a.multip
30180 6c 65 20 63 68 6f 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 le.choice.question...PROMPT.shou
301a0 6c 64 20 62 65 20 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 ld.be.a.string......that.will.be
301c0 20 64 69 73 70 6c 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 .displayed.as.the.prompt........
301e0 43 48 4f 49 43 45 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 CHOICES.is.an.alist.where.the.fi
30200 72 73 74 20 65 6c 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 rst.element.in.each.entry.is.a..
30220 20 20 20 20 63 68 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 ....character.to.be.entered,.the
30240 20 73 65 63 6f 6e 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 .second.element.is.a.short.name.
30260 66 6f 72 20 74 68 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 for.the......entry.to.be.display
30280 65 64 20 77 68 69 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 ed.while.prompting.(if.there...s
302a0 20 72 6f 6f 6d 2c 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 .room,.it.might.be......shortene
302c0 64 29 2c 20 61 6e 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 d),.and.the.third,.optional.entr
302e0 79 20 69 73 20 61 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 y.is.a.longer.explanation......t
30300 68 61 74 20 77 69 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 hat.will.be.displayed.in.a.help.
30320 62 75 66 66 65 72 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 buffer.if.the.user.requests.more
30340 0a 20 20 20 20 20 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 ......help........See.*note.Read
30360 69 6e 67 20 4f 6e 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 ing.One.Event:.(elisp)Reading.On
30380 65 20 45 76 65 6e 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 e.Event....--.Function:.image-pr
303a0 6f 70 65 72 74 79 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 operty......Defined.in....image.
303c0 65 6c e2 80 99 2e 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 el...........This.function.can.a
303e0 6c 73 6f 20 62 65 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 lso.be.used.as.a.generalised.var
30400 69 61 62 6c 65 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 iable....--.Function:.file-attri
30420 62 75 74 65 2d 74 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 bute-type......Return.the.field.
30440 5f 74 79 70 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 _type_.as.generated.by....file-a
30460 74 74 72 69 62 75 74 65 73 e2 80 99 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 ttributes...........*Note.(elisp
30480 29 46 69 6c 65 20 41 74 74 72 69 62 75 74 65 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f )File.Attributes::....--.Functio
304a0 6e 3a 20 66 69 6c 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 n:.file-attribute-link-number...
304c0 20 20 20 52 65 74 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 ...Return.the.field._link-number
304e0 5f 20 61 73 20 67 65 6e 65 72 61 74 65 64 20 62 79 20 e2 80 98 66 69 6c 65 2d 61 74 74 72 69 62 _.as.generated.by....file-attrib
30500 75 74 65 73 e2 80 99 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 46 69 6c 65 utes...........*Note.(elisp)File
30520 20 41 74 74 72 69 62 75 74 65 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 66 69 .Attributes::....--.Function:.fi
30540 6c 65 2d 61 74 74 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 le-attribute-user-id......Return
30560 20 74 68 65 20 66 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 .the.field._user-id_.as.generate
30580 64 20 62 79 20 e2 80 98 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 73 e2 80 99 2e 0a 0a 20 20 20 d.by....file-attributes.........
305a0 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 46 69 6c 65 20 41 74 74 72 69 62 75 74 65 73 3a 3a ..*Note.(elisp)File.Attributes::
305c0 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d ....--.Function:.file-attribute-
305e0 67 72 6f 75 70 2d 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 group-id......Return.the.field._
30600 67 72 6f 75 70 2d 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 group-id_.as.generated.by....fil
30620 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 6c e-attributes...........*Note.(el
30640 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 63 isp)File.Attributes::....--.Func
30660 74 69 6f 6e 3a 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 61 63 63 65 73 73 2d 74 69 6d 65 tion:.file-attribute-access-time
30680 0a 20 20 20 20 20 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 ......Return.the.field._access-t
306a0 69 6d 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 ime_.as.generated.by....file-att
306c0 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
306e0 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:
30700 20 66 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 .file-attribute-modification-tim
30720 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 6d 6f 64 69 66 69 63 e......Return.the.field._modific
30740 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 62 79 0a 20 20 20 20 ation-time_.as.generated.by.....
30760 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
30780 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::....
307a0 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 73 74 61 74 --.Function:.file-attribute-stat
307c0 75 73 2d 63 68 61 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 us-change-time......Return.the.f
307e0 69 65 6c 64 20 5f 6d 6f 64 69 66 69 63 61 74 69 6f 6e 2d 74 69 6d 65 5f 20 61 73 20 67 65 6e 65 ield._modification-time_.as.gene
30800 72 61 74 65 64 20 62 79 0a 20 20 20 20 20 e2 80 98 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 73 rated.by.........file-attributes
30820 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 74 ...........*Note.(elisp)File.Att
30840 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 61 ributes::....--.Function:.file-a
30860 74 74 72 69 62 75 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 ttribute-size......Return.the.fi
30880 65 6c 64 20 5f 73 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 eld._size_.as.generated.by....fi
308a0 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
308c0 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
308e0 63 74 69 6f 6e 3a 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 ction:.file-attribute-modes.....
30900 20 52 65 74 75 72 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 .Return.the.field._modes_.as.gen
30920 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 99 2e erated.by....file-attributes....
30940 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 62 75 .......*Note.(elisp)File.Attribu
30960 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 72 69 tes::....--.Function:.file-attri
30980 62 75 74 65 2d 69 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 bute-inode-number......Return.th
309a0 65 20 66 69 65 6c 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 e.field._inode-number_.as.genera
309c0 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.......
309e0 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
30a00 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 74 ::....--.Function:.file-attribut
30a20 65 2d 64 65 76 69 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 e-device-number......Return.the.
30a40 66 69 65 6c 64 20 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 field._device-number_.as.generat
30a60 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 20 ed.by....file-attributes........
30a80 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:
30aa0 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 74 65 :....--.Function:.file-attribute
30ac0 2d 63 6f 6c 6c 65 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 -collect.attributes.&rest.attr-n
30ae0 61 6d 65 73 0a 20 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 ames......Filter.the.file.attrib
30b00 75 74 65 73 20 41 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 utes.ATTRIBUTES,.as.generated.by
30b20 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 2c 20 61 63 63 .........file-attributes...,.acc
30b40 6f 72 64 69 6e 67 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 ording.to.ATTR-NAMES........Vali
30b60 64 20 61 74 74 72 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 d.attribute.names.for.ATTR-NAMES
30b80 20 61 72 65 3a 20 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 .are:.type,.link-number,......us
30ba0 65 72 2d 69 64 2c 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 er-id,.group-id,.access-time,.mo
30bc0 64 69 66 69 63 61 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 dification-time,......status-cha
30be0 6e 67 65 2d 74 69 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 nge-time,.size,.modes,.inode-num
30c00 62 65 72 20 61 6e 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 ber.and.device-number...........
30c20 20 20 28 66 69 6c 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 ..(file-attributes.".").....(t.1
30c40 20 31 30 30 30 20 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 .1000.1000.(25329.18215.325481.9
30c60 36 30 30 30 29 20 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 6000).(25325.15364.530263.840000
30c80 29 20 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 37 38 ).(25325.15364.530263.840000).78
30ca0 38 20 22 64 72 77 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 8."drwxr-xr-x".t.137819.40).....
30cc0 20 20 20 20 20 20 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 ......(file-attribute-collect.(f
30ce0 69 6c 65 2d 61 74 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 ile-attributes.".").'type.'modes
30d00 0a 20 20 20 20 20 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 ...........'inode-number).....(t
30d20 20 22 64 72 77 78 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 ."drwxr-xr-x".137819)..2.2.2.Ext
30d40 65 6e 64 65 64 20 44 65 66 69 6e 69 74 69 6f 6e 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ended.Definitions.--------------
30d60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 6d 75 ------------..These.functions.mu
30d80 73 74 20 62 65 20 63 61 6c 6c 65 64 20 65 78 70 6c 69 63 69 74 6c 79 20 76 69 61 20 e2 80 98 63 st.be.called.explicitly.via....c
30da0 6f 6d 70 61 74 2d 63 61 6c 6c e2 80 99 2c 20 73 69 6e 63 65 20 74 68 65 69 72 0a 63 61 6c 6c 69 ompat-call...,.since.their.calli
30dc0 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 6f 72 20 62 65 68 61 76 69 6f 72 20 77 61 73 20 65 78 ng.convention.or.behavior.was.ex
30de0 74 65 6e 64 65 64 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 tended.in.Emacs.26.1:...--.Funct
30e00 69 6f 6e 3a 20 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 20 ion:.compat-call.make-temp-file.
30e20 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 0a 20 20 20 20 20 20 prefix.&optional.dir-flag.......
30e40 20 20 20 20 73 75 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 ....suffix.text......This.functi
30e60 6f 6e 20 63 72 65 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 on.creates.a.temporary.file.and.
30e80 72 65 74 75 72 6e 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 returns.its.name...Emacs......cr
30ea0 65 61 74 65 73 20 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 eates.the.temporary.file...s.nam
30ec0 65 20 62 79 20 61 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 e.by.adding.to.PREFIX.some.rando
30ee0 6d 0a 20 20 20 20 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 m......characters.that.are.diffe
30f00 72 65 6e 74 20 69 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 rent.in.each.Emacs.job...The.res
30f20 75 6c 74 20 69 73 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 ult.is......guaranteed.to.be.a.n
30f40 65 77 6c 79 20 63 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 ewly.created.file,.containing.TE
30f60 58 54 20 69 66 20 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 XT.if.that...s......given.as.a.s
30f80 74 72 69 6e 67 20 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 tring.and.empty.otherwise...On.M
30fa0 53 2d 44 4f 53 2c 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 S-DOS,.this.function......can.tr
30fc0 75 6e 63 61 74 65 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 uncate.PREFIX.to.fit.into.the.8+
30fe0 33 20 66 69 6c 65 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 3.file-name.limits...If......PRE
31000 46 49 58 20 69 73 20 61 20 72 65 6c 61 74 69 76 65 20 66 69 6c 65 20 6e 61 6d 65 2c 20 69 74 20 FIX.is.a.relative.file.name,.it.
31020 69 73 20 65 78 70 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 is.expanded.against.........temp
31040 6f 72 61 72 79 2d 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 orary-file-directory...........T
31060 68 65 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 76 65 72 73 69 6f 6e 20 61 64 64 73 20 73 75 he.compatibility.version.adds.su
31080 70 70 6f 72 74 20 66 6f 72 20 68 61 6e 64 6c 69 6e 67 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 0a pport.for.handling.the.optional.
310a0 20 20 20 20 20 61 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 .....argument.TEXT.............(
310c0 6d 61 6b 65 2d 74 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 make-temp-file."foo")...........
310e0 20 20 20 20 20 e2 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 ........."/tmp/foo232J6v".......
31100 57 68 65 6e 20 e2 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 When....make-temp-file....return
31120 73 2c 20 74 68 65 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 s,.the.file.has.been.created.and
31140 20 69 73 0a 20 20 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 .is......empty...At.that.point,.
31160 79 6f 75 20 73 68 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 you.should.write.the.intended.co
31180 6e 74 65 6e 74 73 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 ntents.into......the.file.......
311a0 20 49 66 20 44 49 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 .If.DIR-FLAG.is.non-...nil...,..
311c0 80 98 6d 61 6b 65 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 ..make-temp-file....creates.an.e
311e0 6d 70 74 79 0a 20 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 mpty......directory.instead.of.a
31200 6e 20 65 6d 70 74 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 n.empty.file...It.returns.the.fi
31220 6c 65 20 6e 61 6d 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 le.name,.not......the.directory.
31240 6e 61 6d 65 2c 20 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 name,.of.that.directory...*Note.
31260 28 65 6c 69 73 70 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 (elisp)Directory......Names::...
31280 20 20 20 20 20 49 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 .....If.SUFFIX.is.non-...nil...,
312a0 20 e2 80 98 6d 61 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 ....make-temp-file....adds.it.at
312c0 20 74 68 65 20 65 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 .the.end.of.the......file.name..
312e0 0a 20 20 20 20 20 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 ......If.TEXT.is.a.string,....ma
31300 6b 65 2d 74 65 6d 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 ke-temp-file....inserts.it.in.th
31320 65 20 66 69 6c 65 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 e.file........To.prevent.conflic
31340 74 73 20 61 6d 6f 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 ts.among.different.libraries.run
31360 6e 69 6e 67 20 69 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 ning.in.the.same......Emacs,.eac
31380 68 20 4c 69 73 70 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 h.Lisp.program.that.uses....make
313a0 2d 74 65 6d 70 2d 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 -temp-file....should.have.its...
313c0 20 20 20 6f 77 6e 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 ...own.PREFIX...The.number.added
313e0 20 74 6f 20 74 68 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 .to.the.end.of.PREFIX.distinguis
31400 68 65 73 0a 20 20 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 hes......between.the.same.applic
31420 61 74 69 6f 6e 20 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 ation.running.in.different.Emacs
31440 20 6a 6f 62 73 2e 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 .jobs.......Additional.added.cha
31460 72 61 63 74 65 72 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 racters.permit.a.large.number.of
31480 20 64 69 73 74 69 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 .distinct.names......even.in.one
314a0 20 45 6d 61 63 73 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 .Emacs.job....--.Function:.compa
314c0 74 2d 63 61 6c 6c 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 t-call.assoc.key.alist.&optional
314e0 20 74 65 73 74 66 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 .testfn......This.function.retur
31500 6e 73 20 74 68 65 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 ns.the.first.association.for.KEY
31520 20 69 6e 20 41 4c 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 .in.ALIST,......comparing.KEY.ag
31540 61 69 6e 73 74 20 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 ainst.the.alist.elements.using.T
31560 45 53 54 46 4e 20 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 ESTFN.if.it.is.a......function,.
31580 61 6e 64 20 e2 80 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 and....equal....otherwise.(*note
315a0 20 28 65 6c 69 73 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 .(elisp)Equality......Predicates
315c0 3a 3a 29 2e 20 20 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 ::)...If.TESTFN.is.a.function,.i
315e0 74 20 69 73 20 63 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 t.is.called.with.two......argume
31600 6e 74 73 3a 20 74 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 nts:.the.CAR.of.an.element.from.
31620 41 4c 49 53 54 20 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 ALIST.and.KEY...The.function....
31640 20 20 72 65 74 75 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 ..returns....nil....if.no.associ
31660 61 74 69 6f 6e 20 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 ation.in.ALIST.has.a.CAR.equal.t
31680 6f 20 4b 45 59 2c 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 o.KEY,.as......tested.by.TESTFN.
316a0 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 41 73 73 6f 63 69 61 74 69 6f 6e 20 .......*Note.(elisp)Association.
316c0 4c 69 73 74 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 Lists::........The.compatibility
316e0 20 76 65 72 73 69 6f 6e 20 61 64 64 73 20 73 75 70 70 6f 72 74 20 66 6f 72 20 68 61 6e 64 6c 69 .version.adds.support.for.handli
31700 6e 67 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 0a 20 20 20 20 20 61 72 67 75 6d 65 6e 74 20 54 45 ng.the.optional......argument.TE
31720 53 54 46 4e 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 STFN....--.Function:.compat-call
31740 20 6c 69 6e 65 2d 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 .line-number-at-pos.&optional.po
31760 73 20 61 62 73 6f 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 s.absolute......This.function.re
31780 74 75 72 6e 73 20 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 turns.the.line.number.in.the.cur
317a0 72 65 6e 74 20 62 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 rent.buffer......corresponding.t
317c0 6f 20 74 68 65 20 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 o.the.buffer.position.POS...If.P
317e0 4f 53 20 69 73 20 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 OS.is....nil....or......omitted,
31800 20 74 68 65 20 63 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 .the.current.buffer.position.is.
31820 75 73 65 64 2e 20 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 used...If.ABSOLUTE.is.........ni
31840 6c e2 80 99 2c 20 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 l...,.the.default,.counting.star
31860 74 73 20 61 74 20 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 ts.at....(point-min)...,.so.the.
31880 76 61 6c 75 65 0a 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 value......refers.to.the.content
318a0 73 20 6f 66 20 74 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 s.of.the.accessible.portion.of.t
318c0 68 65 0a 20 20 20 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 he......(potentially.narrowed).b
318e0 75 66 66 65 72 2e 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 uffer...If.ABSOLUTE.is.non-...ni
31900 6c e2 80 99 2c 20 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 l...,.ignore......any.narrowing.
31920 61 6e 64 20 72 65 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 and.return.......*Note.(elisp)Te
31940 78 74 20 4c 69 6e 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 xt.Lines::........The.compatibil
31960 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 66 6f 72 20 68 61 6e ity.version.adds.support.for.han
31980 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 72 67 75 6d 65 6e 74 dling.the.optional......argument
319a0 20 41 42 53 4f 4c 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 .ABSOLUTE....--.Function:.compat
319c0 2d 63 61 6c 6c 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 -call.alist-get.key.alist.&optio
319e0 6e 61 6c 20 64 65 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 nal.default.remove...........tes
31a00 74 66 6e 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 41 73 73 6f 63 69 61 74 69 6f tfn......*Note.(elisp)Associatio
31a20 6e 20 4c 69 73 74 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 n.Lists::...This.function.is.sim
31a40 69 6c 61 72 20 74 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 ilar.to.........assq......It.fin
31a60 64 73 20 74 68 65 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 ds.the.first.association....(KEY
31a80 20 2e 20 56 41 4c 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 ...VALUE)....by......comparing.K
31aa0 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 6e 64 2c 20 69 66 20 EY.with.ALIST.elements,.and,.if.
31ac0 66 6f 75 6e 64 2c 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 found,.returns.the.VALUE......of
31ae0 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 20 61 73 73 6f 63 69 .that.association...If.no.associ
31b00 61 74 69 6f 6e 20 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 ation.is.found,.the.function....
31b20 20 20 72 65 74 75 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 ..returns.DEFAULT...Comparison.o
31b40 66 20 4b 45 59 20 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 f.KEY.against.ALIST.elements.use
31b60 73 20 74 68 65 0a 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 s.the......function.specified.by
31b80 20 54 45 53 54 46 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 .TESTFN,.defaulting.to....eq....
31ba0 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 41 73 73 6f 63 69 61 74 69 6f 6e 20 .......*Note.(elisp)Association.
31bc0 4c 69 73 74 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 Lists::........The.compatibility
31be0 20 76 65 72 73 69 6f 6e 20 68 61 6e 64 6c 65 73 20 74 68 65 20 6f 70 74 69 6f 6e 61 6c 20 61 72 .version.handles.the.optional.ar
31c00 67 75 6d 65 6e 74 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 gument.TESTFN...It......can.also
31c20 20 62 65 20 75 73 65 64 20 61 73 20 61 20 2a 6e 6f 74 65 20 47 65 6e 65 72 61 6c 69 7a 65 64 20 .be.used.as.a.*note.Generalized.
31c40 56 61 72 69 61 62 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 Variables:......(elisp)generalis
31c60 65 64 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 63 6f 6d 70 ed.variable....--.Function:.comp
31c80 61 74 2d 63 61 6c 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 at-call.string-trim-left.string.
31ca0 26 6f 70 74 69 6f 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 &optional.regexp......Remove.the
31cc0 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 52 45 47 45 58 .leading.text.that.matches.REGEX
31ce0 50 20 66 72 6f 6d 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 P.from.STRING...REGEXP......defa
31d00 75 6c 74 73 20 74 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 ults.to....[.\t\n\r]+...........
31d20 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::.
31d40 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 6f 6e .......The.compatibility.version
31d60 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 20 52 .handles.the.optional.argument.R
31d80 45 47 45 58 50 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 EGEXP....--.Function:.compat-cal
31da0 6c 20 73 74 72 69 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 l.string-trim-right.string.&opti
31dc0 6f 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 74 72 61 69 onal.regexp......Remove.the.trai
31de0 6c 69 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 ling.text.that.matches.REGEXP.fr
31e00 6f 6d 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 om.STRING...REGEXP......defaults
31e20 20 74 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 .to....[.\t\n\r]+...........*Not
31e40 65 20 28 65 6c 69 73 70 29 43 72 65 61 74 69 6e 67 20 53 74 72 69 6e 67 73 3a 3a 2e 0a 0a 20 20 e.(elisp)Creating.Strings::.....
31e60 20 20 20 54 68 65 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 76 65 72 73 69 6f 6e 20 68 61 6e ...The.compatibility.version.han
31e80 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 52 45 47 45 58 dles.the.optional.argument.REGEX
31ea0 50 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 73 74 P....--.Function:.compat-call.st
31ec0 72 69 6e 67 2d 74 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 ring-trim.string.&optional.trim-
31ee0 6c 65 66 74 0a 20 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 left...........trim-right......R
31f00 65 6d 6f 76 65 20 74 68 65 20 6c 65 61 64 69 6e 67 20 74 65 78 74 20 74 68 61 74 20 6d 61 74 63 emove.the.leading.text.that.matc
31f20 68 65 73 20 54 52 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 hes.TRIM-LEFT.and.trailing.text.
31f40 20 20 20 20 20 74 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 .....that.matches.TRIM-RIGHT.fro
31f60 6d 20 53 54 52 49 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 m.STRING...Both.regexps.default.
31f80 74 6f 20 e2 80 98 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 to....[......\t\n\r]+...........
31fa0 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::.
31fc0 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 6f 6e .......The.compatibility.version
31fe0 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 73 20 .handles.the.optional.arguments.
32000 54 52 49 4d 2d 4c 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 TRIM-LEFT......and.TRIM-RIGHT...
32020 32 2e 32 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.2.3.Missing.Definitions.------
32040 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
32060 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
32080 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
320a0 20 69 6e 20 32 36 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 .in.26.1:.........The.function..
320c0 80 98 66 75 6e 63 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 ..func-arity............The.func
320e0 74 69 6f 6e 20 e2 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 tion....secure-hash-algorithms..
32100 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 6e 75 74 6c 73 ..........The.function....gnutls
32120 2d 61 76 61 69 6c 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 -available-p............Support.
32140 66 6f 72 20 72 65 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 for.records.and.record.functions
32160 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 70 62 61 63 6b .........The.function....mapback
32180 74 72 61 63 65 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 trace............The.function...
321a0 98 66 69 6c 65 2d 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 .file-name-case-insensitive-p...
321c0 2e 0a 20 20 20 e2 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 .........The.additional.elements
321e0 20 6f 66 20 e2 80 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 .of....parse-partial-sexp.......
32200 20 e2 80 a2 20 54 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 .....The.function....add-variabl
32220 65 2d 77 61 74 63 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 e-watcher............The.functio
32240 6e 20 e2 80 98 75 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 n....undo-amalgamate-change-grou
32260 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 63 68 61 p............The.function....cha
32280 72 2d 66 72 6f 6d 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 r-from-name...........Signalling
322a0 20 65 72 72 6f 72 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 .errors.when....length....or....
322c0 6d 65 6d 62 65 72 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 member....deal.with.list.cycles.
322e0 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 72 61 6d 65 2d 6c 69 ........The.function....frame-li
32300 73 74 2d 7a 2d 6f 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 st-z-order............The.functi
32320 6f 6e 20 e2 80 98 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 on....frame-restack............A
32340 6c 6c 20 63 68 61 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 ll.changes.related.to....display
32360 2d 62 75 66 66 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 -buffer............The.function.
32380 e2 80 98 77 69 6e 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 ...window-swap-states...........
323a0 20 54 68 65 20 66 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 .The.function....string-version-
323c0 6c 65 73 73 70 e2 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 lessp............The....xdg....l
323e0 69 62 72 61 72 79 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 ibrary.........The....svg....lib
32400 72 61 72 79 20 28 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 rary.(published.separately.as.a.
32420 3a 63 6f 72 65 20 70 61 63 6b 61 67 65 29 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 71 31 61 68 :core.package).....File:.docq1ah
32440 5a 52 2e 69 6e 66 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 ZR.info,..Node:.Emacs.27.1,..Nex
32460 74 3a 20 45 6d 61 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 t:.Emacs.28.1,..Prev:.Emacs.26.1
32480 2c 20 20 55 70 3a 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 ,..Up:.Support..2.3.Emacs.27.1.=
324a0 3d 3d 3d 3d 3d 3d 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 =============..2.3.1.Added.Defin
324c0 69 74 69 6f 6e 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a itions.-----------------------..
324e0 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 75 6e 63 74 69 6f 6e 73 20 61 6e 64 20 6d 61 63 72 The.following.functions.and.macr
32500 6f 73 20 61 72 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 69 6e 20 45 6d 61 63 73 20 32 37 2e 31 os.are.implemented.in.Emacs.27.1
32520 2e 20 20 54 68 65 73 65 0a 66 75 6e 63 74 69 6f 6e 73 20 61 72 65 20 6d 61 64 65 20 61 76 61 69 ...These.functions.are.made.avai
32540 6c 61 62 6c 65 20 62 79 20 43 6f 6d 70 61 74 20 6f 6e 20 45 6d 61 63 73 20 76 65 72 73 69 6f 6e lable.by.Compat.on.Emacs.version
32560 73 20 6f 6c 64 65 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 s.older.than.27.1....--.Function
32580 3a 20 6d 61 6a 6f 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 :.major-mode-suspend......This.f
325a0 75 6e 63 74 69 6f 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 unction.works.like....fundamenta
325c0 6c 2d 6d 6f 64 65 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 l-mode...,.in.that.it.kills.all.
325e0 20 20 20 20 20 62 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 .....buffer-local.variables,.but
32600 20 69 74 20 61 6c 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 .it.also.records.the.major.mode.
32620 69 6e 0a 20 20 20 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 in......effect,.so.that.it.could
32640 20 73 75 62 73 65 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 .subsequently.be.restored...This
32660 20 66 75 6e 63 74 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 .function......and....major-mode
32680 2d 72 65 73 74 6f 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 -restore....(described.next).are
326a0 20 75 73 65 66 75 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 .useful.when.you.need......to.pu
326c0 74 20 61 20 62 75 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 t.a.buffer.under.some.specialize
326e0 64 20 6d 6f 64 65 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 d.mode.other.than.the.one......E
32700 6d 61 63 73 20 63 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 macs.chooses.for.it.automaticall
32720 79 2c 20 62 75 74 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 y,.but.would.also.like.to.be.abl
32740 65 0a 20 20 20 20 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 e......to.switch.back.to.the.ori
32760 67 69 6e 61 6c 20 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 ginal.mode.later....--.Function:
32780 20 6d 61 6a 6f 72 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 .major-mode-restore.&optional.av
327a0 6f 69 64 65 64 2d 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 oided-modes......This.function.r
327c0 65 73 74 6f 72 65 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 estores.the.major.mode.recorded.
327e0 62 79 0a 20 20 20 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 by.........major-mode-suspend...
32800 2e 20 20 49 66 20 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 ...If.no.major.mode.was.recorded
32820 2c 20 74 68 69 73 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 ,.this.function......calls....no
32840 72 6d 61 6c 2d 6d 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 rmal-mode...,.but.tries.to.force
32860 20 69 74 20 6e 6f 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 .it.not.to.choose.any.modes.....
32880 20 69 6e 20 41 56 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 .in.AVOIDED-MODES,.if.that.argum
328a0 65 6e 74 20 69 73 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 ent.is.non-...nil.......--.Funct
328c0 69 6f 6e 3a 20 72 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 ion:.ring-resize.ring.size......
328e0 53 65 74 20 74 68 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 Set.the.size.of.RING.to.SIZE...I
32900 66 20 74 68 65 20 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 f.the.new.size.is.smaller,.then.
32920 74 68 65 0a 20 20 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 the......oldest.items.in.the.rin
32940 67 20 61 72 65 20 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 g.are.discarded....--.Function:.
32960 6d 69 6e 69 62 75 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 minibuffer-history-value......Re
32980 74 75 72 6e 20 74 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 turn.the.value.of.the.minibuffer
329a0 20 69 6e 70 75 74 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 .input.history.list...If......MI
329c0 4e 49 42 55 46 46 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 NIBUFFER-HISTORY-VARIABLE.points
329e0 20 74 6f 20 61 20 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 .to.a.buffer-local.variable.and.
32a00 20 20 20 20 20 74 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 .....the.minibuffer.is.active,.r
32a20 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 66 6f 72 eturn.the.buffer-local.value.for
32a40 20 74 68 65 0a 20 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 .the......buffer.that.was.curren
32a60 74 20 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 t.when.the.minibuffer.was.activa
32a80 74 65 64 2e 22 0a 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 ted."...--.Macro:.with-minibuffe
32aa0 72 2d 73 65 6c 65 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 r-selected-window.&rest.body....
32ac0 20 20 45 78 65 63 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 ..Execute.the.forms.in.BODY.from
32ae0 20 74 68 65 20 6d 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 .the.minibuffer.in.its.original.
32b00 20 20 20 20 20 77 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 .....window...When.used.in.a.min
32b20 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 20 77 69 6e 64 6f ibuffer.window,.select.the.windo
32b40 77 0a 20 20 20 20 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 w......selected.just.before.the.
32b60 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 78 minibuffer.was.activated,.and.ex
32b80 65 63 75 74 65 20 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 ecute.the......forms....--.Funct
32ba0 69 6f 6e 3a 20 72 65 61 64 2d 63 68 61 72 2d 66 72 6f 6d 2d 6d 69 6e 69 62 75 66 66 65 72 20 70 ion:.read-char-from-minibuffer.p
32bc0 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 6f 72 79 0a 20 20 rompt.&optional.chars.history...
32be0 20 20 20 54 68 69 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 ...This.function.uses.the.minibu
32c00 66 66 65 72 20 74 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 ffer.to.read.and.return.a.single
32c20 0a 20 20 20 20 20 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 ......character...Optionally,.it
32c40 20 69 67 6e 6f 72 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 .ignores.any.input.that.is.not.a
32c60 20 6d 65 6d 62 65 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 .member......of.CHARS,.a.list.of
32c80 20 61 63 63 65 70 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 .accepted.characters...The.HISTO
32ca0 52 59 20 61 72 67 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 RY.argument......specifies.the.h
32cc0 69 73 74 6f 72 79 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 istory.list.symbol.to.use;.if.it
32ce0 20 69 73 20 6f 6d 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 .is.omitted.or.........nil...,.t
32d00 68 69 73 20 66 75 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 his.function.doesn...t.use.the.h
32d20 69 73 74 6f 72 79 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 istory........If.you.bind....hel
32d40 70 2d 66 6f 72 6d 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 p-form....to.a.non-...nil....val
32d60 75 65 20 77 68 69 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 ue.while.calling.........read-ch
32d80 61 72 2d 66 72 6f 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 ar-from-minibuffer...,.then.pres
32da0 73 69 6e 67 20 e2 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 sing....help-char....causes.it.t
32dc0 6f 0a 20 20 20 20 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 o......evaluate....help-form....
32de0 61 6e 64 20 64 69 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 and.display.the.result....--.Fun
32e00 63 74 69 6f 6e 3a 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 ction:.bignump.object......This.
32e20 70 72 65 64 69 63 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 predicate.tests.whether.its.argu
32e40 6d 65 6e 74 20 69 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 ment.is.a.large.integer,.and....
32e60 20 20 72 65 74 75 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 ..returns....t....if.so,....nil.
32e80 80 99 20 6f 74 68 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 ...otherwise...Unlike.small.inte
32ea0 67 65 72 73 2c 20 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 gers,.large......integers.can.be
32ec0 20 e2 80 98 3d e2 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 ....=....or....eql....even.if.th
32ee0 65 79 20 61 72 65 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 ey.are.not....eq.......--.Functi
32f00 6f 6e 3a 20 66 69 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 on:.fixnump.object......This.pre
32f20 64 69 63 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 dicate.tests.whether.its.argumen
32f40 74 20 69 73 20 61 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 t.is.a.small.integer,.and......r
32f60 65 74 75 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 eturns....t....if.so,....nil....
32f80 6f 74 68 65 72 77 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 otherwise...Small.integers.can.b
32fa0 65 20 63 6f 6d 70 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 e.compared......with....eq......
32fc0 20 2d 2d 20 53 70 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 .--.Special.Form:.with-suppresse
32fe0 64 2d 77 61 72 6e 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 d-warnings.warnings.body........
33000 20 49 6e 20 65 78 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 .In.execution,.this.is.equivalen
33020 74 20 74 6f 20 e2 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 t.to....(progn.BODY...)...,.but.
33040 74 68 65 0a 20 20 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 the......compiler.does.not.issue
33060 20 77 61 72 6e 69 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 .warnings.for.the.specified.cond
33080 69 74 69 6f 6e 73 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 itions.in......BODY...WARNINGS.i
330a0 73 20 61 6e 20 61 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 s.an.association.list.of.warning
330c0 20 73 79 6d 62 6f 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 .symbols.and......function/varia
330e0 62 6c 65 20 73 79 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 ble.symbols.they.apply.to...For.
33100 69 6e 73 74 61 6e 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 instance,.if.you.wish......to.ca
33120 6c 6c 20 61 6e 20 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 ll.an.obsolete.function.called..
33140 80 98 66 6f 6f e2 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 ..foo...,.but.want.to.suppress.t
33160 68 65 0a 20 20 20 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 he......compilation.warning,.say
33180 3a 0a 0a 20 20 20 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 :............(with-suppressed-wa
331a0 72 6e 69 6e 67 73 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 rnings.((obsolete.foo)).........
331c0 20 20 20 20 28 66 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 ....(foo....))...--.Function:.pr
331e0 6f 70 65 72 2d 6c 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 oper-list-p.object......This.fun
33200 63 74 69 6f 6e 20 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 ction.returns.the.length.of.OBJE
33220 43 54 20 69 66 20 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 CT.if.it.is.a.proper.list,......
33240 e2 80 98 6e 69 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 ...nil....otherwise.(*note.(elis
33260 70 29 43 6f 6e 73 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 p)Cons.Cells::)...In.addition.to
33280 0a 20 20 20 20 20 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 ......satisfying....listp...,.a.
332a0 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 75 6c 61 72 20 proper.list.is.neither.circular.
332c0 6e 6f 72 20 64 6f 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 nor.dotted.............(proper-l
332e0 69 73 74 2d 70 20 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 ist-p.'(a.b.c)).....3...........
33300 28 70 72 6f 70 65 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 (proper-list-p.'(a.b...c)).....n
33320 69 6c 0a 0a 20 20 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 il.......*Note.(elisp)List-relat
33340 65 64 20 50 72 65 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 ed.Predicates::....--.Function:.
33360 73 74 72 69 6e 67 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 string-distance.string1.string2.
33380 26 6f 70 74 69 6f 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 &optional.bytecompare......This.
333a0 66 75 6e 63 74 69 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 function.returns.the._Levenshtei
333c0 6e 20 64 69 73 74 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 n.distance_.between.the.source..
333e0 20 20 20 20 73 74 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 ....string.STRING1.and.the.targe
33400 74 20 73 74 72 69 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 t.string.STRING2...The.Levenshte
33420 69 6e 0a 20 20 20 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 in......distance.is.the.number.o
33440 66 20 73 69 6e 67 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 f.single-character.changes...del
33460 65 74 69 6f 6e 73 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 etions,......insertions,.or.repl
33480 61 63 65 6d 65 6e 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 acements...required.to.transform
334a0 20 74 68 65 20 73 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 .the.source.string......into.the
334c0 20 74 61 72 67 65 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 .target.string;.it.is.one.possib
334e0 6c 65 20 64 65 66 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 le.definition.of.the._edit......
33500 64 69 73 74 61 6e 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 distance_.between.strings.......
33520 20 4c 65 74 74 65 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 .Letter-case.of.the.strings.is.s
33540 69 67 6e 69 66 69 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 ignificant.for.the.computed.....
33560 20 64 69 73 74 61 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 .distance,.but.their.text.proper
33580 74 69 65 73 20 61 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 ties.are.ignored...If.the.option
335a0 61 6c 0a 20 20 20 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 al......argument.BYTECOMPARE.is.
335c0 6e 6f 6e 2d e2 80 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 non-...nil...,.the.function.calc
335e0 75 6c 61 74 65 73 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 ulates.the......distance.in.term
33600 73 20 6f 66 20 62 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 s.of.bytes.instead.of.characters
33620 2e 20 20 54 68 65 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 ...The.byte-wise......comparison
33640 20 75 73 65 73 20 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 .uses.the.internal.Emacs.represe
33660 6e 74 61 74 69 6f 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 ntation.of.characters,.so......i
33680 74 20 77 69 6c 6c 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 t.will.produce.inaccurate.result
336a0 73 20 66 6f 72 20 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 s.for.multibyte.strings.that....
336c0 20 20 69 6e 63 6c 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 ..include.raw.bytes.(*note.(elis
336e0 70 29 54 65 78 74 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 p)Text.Representations::);.make.
33700 74 68 65 0a 20 20 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 the......strings.unibyte.by.enco
33720 64 69 6e 67 20 74 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 ding.them.(*note.(elisp)Explicit
33740 20 45 6e 63 6f 64 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 .Encoding::)......if.you.need.ac
33760 63 75 72 61 74 65 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 curate.results.with.raw.bytes...
33780 20 20 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 .....*Note.(elisp)Text.Compariso
337a0 6e 3a 3a 2e 0a 0a 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 n::....--.Macro:.ignore-errors.b
337c0 6f 64 79 2e 2e 2e 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 ody.........This.construct.execu
337e0 74 65 73 20 42 4f 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 tes.BODY,.ignoring.any.errors.th
33800 61 74 20 6f 63 63 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 at.occur.during......its.executi
33820 6f 6e 2e 20 20 49 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 on...If.the.execution.is.without
33840 20 65 72 72 6f 72 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 .error,....ignore-errors........
33860 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 20 66 .returns.the.value.of.the.last.f
33880 6f 72 6d 20 69 6e 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 orm.in.BODY;.otherwise,.it.retur
338a0 6e 73 0a 20 20 20 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 ns.........nil...........Here...
338c0 73 20 74 68 65 20 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 s.the.example.at.the.beginning.o
338e0 66 20 74 68 69 73 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 f.this.subsection.rewritten.....
33900 20 75 73 69 6e 67 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 .using....ignore-errors...:.....
33920 20 20 20 20 20 20 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 .........(ignore-errors.(delete-
33940 66 69 6c 65 20 66 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 file.filename)).......*Note.(eli
33960 73 70 29 48 61 6e 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 sp)Handling.Errors::....--.Macro
33980 3a 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 72 74 65 72 20 :.dolist-with-progress-reporter.
339a0 28 76 61 72 20 63 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 (var.count.[result])...........r
339c0 65 70 6f 72 74 65 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 eporter-or-message.body.........
339e0 54 68 69 73 20 69 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 This.is.another.convenience.macr
33a00 6f 20 74 68 61 74 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 o.that.works.the.same.way.as....
33a20 20 20 e2 80 98 64 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 .....dolist....does,.but.also.re
33a40 70 6f 72 74 73 20 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 ports.loop.progress.using.the.fu
33a60 6e 63 74 69 6f 6e 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 nctions......described.above...A
33a80 73 20 69 6e 20 e2 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 s.in....dotimes-with-progress-re
33aa0 70 6f 72 74 65 72 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 porter...,.........reporter-or-m
33ac0 65 73 73 61 67 65 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 essage....can.be.a.progress.repo
33ae0 72 74 65 72 20 6f 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 rter.or.a.string...You......can.
33b00 72 65 77 72 69 74 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 rewrite.the.previous.example.wit
33b20 68 20 74 68 69 73 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 h.this.macro.as.follows:........
33b40 20 20 20 20 28 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 72 74 ....(dolist-with-progress-report
33b60 65 72 20 28 6b 20 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 er.(k.(number-sequence.0.500))."
33b80 43 6f 6c 6c 65 63 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 Collecting...............some.ma
33ba0 6e 61 20 66 6f 72 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 na.for.Emacs..."..(sit-for.0.01)
33bc0 29 0a 0a 20 20 20 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 ).......*Note.(elisp)Progress::.
33be0 0a 0a 20 2d 2d 20 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 ...--.Function:.flatten-tree.tre
33c00 65 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 e2 e......This.function.returns.a..
33c20 80 9c 66 6c 61 74 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 ..flattened....copy.of.TREE,.tha
33c40 74 20 69 73 2c 20 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 t.is,.a.list......containing.all
33c60 20 74 68 65 20 6e 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 .the.non-...nil....terminal.node
33c80 73 2c 20 6f 72 20 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 s,.or.leaves,.of.the.tree......o
33ca0 66 20 63 6f 6e 73 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 f.cons.cells.rooted.at.TREE...Le
33cc0 61 76 65 73 20 69 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 aves.in.the.returned.list.are.in
33ce0 0a 20 20 20 20 20 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 ......the.same.order.as.in.TREE.
33d00 0a 0a 20 20 20 20 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 ............(flatten-tree.'(1.(2
33d20 20 2e 20 33 29 20 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 ...3).nil.(4.5.(6)).7))....(1.2.
33d40 33 20 34 20 35 20 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 3.4.5.6.7).......*Note.(elisp)Bu
33d60 69 6c 64 69 6e 67 20 4c 69 73 74 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 78 ilding.Lists::....--.Function:.x
33d80 6f 72 20 63 6f 6e 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 or.condition1.condition2......Th
33da0 69 73 20 66 75 6e 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 is.function.returns.the.boolean.
33dc0 65 78 63 6c 75 73 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 exclusive-or.of.CONDITION1.and..
33de0 20 20 20 20 43 4f 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 ....CONDITION2...That.is,....xor
33e00 e2 80 99 20 72 65 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 ....returns....nil....if.either.
33e20 62 6f 74 68 20 61 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 both.arguments......are....nil..
33e40 99 2c 20 6f 72 20 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 .,.or.both.are.non-...nil......O
33e60 74 68 65 72 77 69 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 therwise,.it.returns.the.value..
33e80 20 20 20 20 6f 66 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 ....of.that.argument.which.is.no
33ea0 6e 2d e2 80 98 6e 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 n-...nil...........Note.that.in.
33ec0 63 6f 6e 74 72 61 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 contrast.to....or...,.both.argum
33ee0 65 6e 74 73 20 61 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 ents.are.always.evaluated.......
33f00 20 2a 4e 6f 74 65 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 .*Note.(elisp)Combining.Conditio
33f20 6e 73 3a 3a 2e 0a 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 ns::....--.Variable:.regexp-unma
33f40 74 63 68 61 62 6c 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 tchable......This.variable.conta
33f60 69 6e 73 20 61 20 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 ins.a.regexp.that.is.guaranteed.
33f80 6e 6f 74 20 74 6f 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 not.to.match.any......string.at.
33fa0 61 6c 6c 2e 20 20 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 all...It.is.particularly.useful.
33fc0 61 73 20 64 65 66 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 as.default.value.for......variab
33fe0 6c 65 73 20 74 68 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 les.that.may.be.set.to.a.pattern
34000 20 74 68 61 74 20 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 .that.actually.matches......some
34020 74 68 69 6e 67 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 52 65 67 65 78 70 thing........*Note.(elisp)Regexp
34040 20 46 75 6e 63 74 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 .Functions::...--.Function:.deco
34060 64 65 64 2d 74 69 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 ded-time-second.time......Return
34080 20 74 68 65 20 53 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 .the.SECONDS.field.of.a....decod
340a0 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 6e 0a ed-time....record.TIME...It.can.
340c0 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 65 6e .....also.be.used.as.a.*note.Gen
340e0 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 65 72 eralized.Variables:.(elisp)gener
34100 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 63 74 alised......variable....--.Funct
34120 69 6f 6e 3a 20 64 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 ion:.decoded-time-minute.time...
34140 20 20 20 52 65 74 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 ...Return.the.MINUTE.field.of.a.
34160 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..
34180 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 61 73 20 61 20 2a .It.can......also.be.used.as.a.*
341a0 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
341c0 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....
341e0 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 68 6f 75 72 20 74 --.Function:.decoded-time-hour.t
34200 69 6d 65 0a 20 20 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 ime......Return.the.HOUR.field.o
34220 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 54 49 f.a....decoded-time....record.TI
34240 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 73 65 64 20 61 73 ME...It.can.also......be.used.as
34260 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 3a 20 .a.*note.Generalized.Variables:.
34280 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 6c 65 (elisp)generalised......variable
342a0 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 64 61 ....--.Function:.decoded-time-da
342c0 79 20 74 69 6d 65 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 y.time......Return.the.DAY.field
342e0 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.
34300 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 73 65 64 20 TIME...It.can.also......be.used.
34320 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
34340 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
34360 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-
34380 6d 6f 6e 74 68 20 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 month.time......Return.the.MONTH
343a0 20 66 69 65 6c 64 20 6f 66 20 61 20 e2 80 98 64 65 63 6f 64 65 64 2d 74 69 6d 65 e2 80 99 20 72 .field.of.a....decoded-time....r
343c0 65 63 6f 72 64 20 54 49 4d 45 2e 20 20 49 74 20 63 61 6e 0a 20 20 20 20 20 61 6c 73 6f 20 62 65 ecord.TIME...It.can......also.be
343e0 20 75 73 65 64 20 61 73 20 61 20 2a 6e 6f 74 65 20 47 65 6e 65 72 61 6c 69 7a 65 64 20 56 61 72 .used.as.a.*note.Generalized.Var
34400 69 61 62 6c 65 73 3a 20 28 65 6c 69 73 70 29 67 65 6e 65 72 61 6c 69 73 65 64 0a 20 20 20 20 20 iables:.(elisp)generalised......
34420 76 61 72 69 61 62 6c 65 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 64 65 63 6f 64 65 64 variable....--.Function:.decoded
34440 2d 74 69 6d 65 2d 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 -time-year.time......Return.the.
34460 59 45 41 52 20 66 69 65 6c 64 20 6f 66 20 61 20 e2 80 98 64 65 63 6f 64 65 64 2d 74 69 6d 65 e2 YEAR.field.of.a....decoded-time.
34480 80 99 20 72 65 63 6f 72 64 20 54 49 4d 45 2e 20 20 49 74 20 63 61 6e 20 61 6c 73 6f 0a 20 20 20 ...record.TIME...It.can.also....
344a0 20 20 62 65 20 75 73 65 64 20 61 73 20 61 20 2a 6e 6f 74 65 20 47 65 6e 65 72 61 6c 69 7a 65 64 ..be.used.as.a.*note.Generalized
344c0 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 0a 20 .Variables:.(elisp)generalised..
344e0 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 65 63 ....variable....--.Function:.dec
34500 6f 64 65 64 2d 74 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 oded-time-weekday.time......Retu
34520 72 6e 20 74 68 65 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 rn.the.WEEKDAY.field.of.a....dec
34540 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
34560 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
34580 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
345a0 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
345c0 63 74 69 6f 6e 3a 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 ction:.decoded-time-dst.time....
345e0 20 20 52 65 74 75 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 ..Return.the.DST.(daylight.savin
34600 67 20 74 69 6d 65 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 g.time.indicator).field.of.a....
34620 20 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 54 49 4d 45 .....decoded-time....record.TIME
34640 2e 20 20 49 74 20 63 61 6e 20 61 6c 73 6f 20 62 65 20 75 73 65 64 20 61 73 20 61 20 2a 6e 6f 74 ...It.can.also.be.used.as.a.*not
34660 65 0a 20 20 20 20 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 e......Generalized.Variables:.(e
34680 6c 69 73 70 29 67 65 6e 65 72 61 6c 69 73 65 64 20 76 61 72 69 61 62 6c 65 2e 0a 0a 20 2d 2d 20 lisp)generalised.variable....--.
346a0 46 75 6e 63 74 69 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 Function:.decoded-time-zone.time
346c0 0a 20 20 20 20 20 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 ......Return.the.ZONE.field.of.a
346e0 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 54 49 4d 45 2e ....decoded-time....record.TIME.
34700 20 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 ..It.can.also......be.used.as.a.
34720 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 3a 20 28 65 6c *note.Generalized.Variables:.(el
34740 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 6c 65 2e 0a 0a isp)generalised......variable...
34760 20 2d 2d 20 46 75 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 .--.Function:.package-get-versio
34780 6e 0a 20 20 20 20 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 n......Return.the.version.number
347a0 20 6f 66 20 74 68 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 .of.the.package.in.which.this.is
347c0 20 75 73 65 64 2e 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 .used....--.Function:.time-equal
347e0 2d 70 20 74 31 20 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 -p.t1.t2......This.returns....t.
34800 80 99 20 69 66 20 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 ...if.the.two.time.values.T1.and
34820 20 54 32 20 61 72 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 .T2.are.equal........*Note.(elis
34840 70 29 54 69 6d 65 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 p)Time.Calculations::....--.Func
34860 74 69 6f 6e 3a 20 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 tion:.date-days-in-month.year.mo
34880 6e 74 68 0a 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 64 61 nth......Return.the.number.of.da
348a0 79 73 20 69 6e 20 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 ys.in.MONTH.in.YEAR...For.instan
348c0 63 65 2c 20 46 65 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 ce,.February......2020.has.29.da
348e0 79 73 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 ys........*Note.(elisp)Time.Calc
34900 75 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 ulations::...This.function.requi
34920 72 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 res.the.........time-date....fea
34940 74 75 72 65 20 74 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 ture.to.be.loaded....--.Function
34960 3a 20 64 61 74 65 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 :.date-ordinal-to-time.year.ordi
34980 6e 61 6c 0a 20 20 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 nal......Convert.a.YEAR/ORDINAL.
349a0 74 6f 20 74 68 65 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 to.the.equivalent.decoded-time.s
349c0 74 72 75 63 74 75 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 tructure.......ORDINAL.is.the.nu
349e0 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 66 20 mber.of.days.since.the.start.of.
34a00 74 68 65 20 79 65 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 the.year,.with......January.1st.
34a20 62 65 69 6e 67 20 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 being.1........*Note.(elisp)Time
34a40 20 43 61 6c 63 75 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 .Calculations::...This.function.
34a60 72 65 71 75 69 72 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 requires.the.........time-date..
34a80 99 20 66 65 61 74 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 ..feature.to.be.loaded....--.Use
34aa0 72 20 4f 70 74 69 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 r.Option:.exec-path......The.val
34ac0 75 65 20 6f 66 20 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 ue.of.this.variable.is.a.list.of
34ae0 20 64 69 72 65 63 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 .directories.to.search.for......
34b00 70 72 6f 67 72 61 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 programs.to.run.in.subprocesses.
34b20 20 20 45 61 63 68 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 ..Each.element.is.either.the.nam
34b40 65 0a 20 20 20 20 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 e......of.a.directory.(i.e.,.a.s
34b60 74 72 69 6e 67 29 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 tring),.or....nil...,.which.stan
34b80 64 73 20 66 6f 72 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 ds.for.the......default.director
34ba0 79 20 28 77 68 69 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 y.(which.is.the.value.of....defa
34bc0 75 6c 74 2d 64 69 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 ult-directory...).......*Note.ex
34be0 65 63 75 74 61 62 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 ecutable-find:.(elisp)Locating.F
34c00 69 6c 65 73 2c 20 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 iles,.for.the.details.of......th
34c20 69 73 20 73 65 61 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 is.search........The.value.of...
34c40 98 65 78 65 63 2d 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 .exec-path....is.used.by....call
34c60 2d 70 72 6f 63 65 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 -process....and.........start-pr
34c80 6f 63 65 73 73 e2 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 ocess....when.the.PROGRAM.argume
34ca0 6e 74 20 69 73 20 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 nt.is.not.an.absolute.file......
34cc0 6e 61 6d 65 2e 0a 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 name........Generally,.you.shoul
34ce0 64 20 6e 6f 74 20 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 d.not.modify....exec-path....dir
34d00 65 63 74 6c 79 2e 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 ectly...Instead,......ensure.tha
34d20 74 20 79 6f 75 72 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 t.your....PATH....environment.va
34d40 72 69 61 62 6c 65 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 riable.is.set.appropriately.....
34d60 20 62 65 66 6f 72 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 .before.starting.Emacs...Trying.
34d80 74 6f 20 6d 6f 64 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 to.modify....exec-path....indepe
34da0 6e 64 65 6e 74 6c 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 ndently......of....PATH....can.l
34dc0 65 61 64 20 74 6f 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 ead.to.confusing.results........
34de0 2a 4e 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 *Note.(elisp)Subprocess.Creation
34e00 3a 3a 2e 0a 0a 20 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 ::....--.Function:.provided-mode
34e20 2d 64 65 72 69 76 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 -derived-p.mode.&rest.modes.....
34e40 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d e2 80 98 6e 69 .This.function.returns.non-...ni
34e60 6c e2 80 99 20 69 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 l....if.MODE.is.derived.from.any
34e80 20 6f 66 20 74 68 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 .of.the......major.modes.given.b
34ea0 79 20 74 68 65 20 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 y.the.symbols.MODES....--.Functi
34ec0 6f 6e 3a 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 69 65 63 on:.file-size-human-readable-iec
34ee0 20 73 69 7a 65 0a 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 .size......Human-readable.string
34f00 20 66 6f 72 20 53 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 .for.SIZE.bytes,.using.IEC.prefi
34f20 78 65 73 2e 0a 0a 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 xes....--.Function:.make-empty-f
34f40 69 6c 65 20 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 0a 20 ile.filename.&optional.parents..
34f60 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 6e 20 65 6d 70 ....This.function.creates.an.emp
34f80 74 79 20 66 69 6c 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 ty.file.named.FILENAME...As.....
34fa0 20 e2 80 98 6d 61 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 ....make-directory...,.this.func
34fc0 74 69 6f 6e 20 63 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 tion.creates.parent.directories.
34fe0 69 66 0a 20 20 20 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 if......PARENTS.is.non-...nil...
35000 2e 20 20 49 66 20 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 ...If.FILENAME.already.exists,.t
35020 68 69 73 20 66 75 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 his.function......signals.an.err
35040 6f 72 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 65 72 74 79 or....--.Function:.text-property
35060 2d 73 65 61 72 63 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 -search-forward.prop.&optional.v
35080 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 74 2d 63 75 72 alue...........predicate.not-cur
350a0 72 65 6e 74 0a 20 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 rent......Search.for.the.next.re
350c0 67 69 6f 6e 20 74 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 gion.that.has.text.property.PROP
350e0 20 73 65 74 20 74 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 .set.to.VALUE......according.to.
35100 50 52 45 44 49 43 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 PREDICATE........This.function.i
35120 73 20 6d 6f 64 65 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 s.modeled.after....search-forwar
35140 64 e2 80 99 20 61 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 d....and.friends.in.that......it
35160 20 6d 6f 76 65 73 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 .moves.point,.but.it.returns.a.s
35180 74 72 75 63 74 75 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 tructure.that.describes.the.matc
351a0 68 0a 20 20 20 20 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 h......instead.of.returning.it.i
351c0 6e 20 e2 80 98 6d 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 n....match-beginning....and.frie
351e0 6e 64 73 2e 0a 0a 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 nds........If.the.text.property.
35200 63 61 6e e2 80 99 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 can...t.be.found,.the.function.r
35220 65 74 75 72 6e 73 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 eturns....nil..........If.it...s
35240 20 66 6f 75 6e 64 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 .found,.point.is.placed.at.the.e
35260 6e 64 20 6f 66 20 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 nd.of.the.region.that.has......t
35280 68 69 73 20 74 65 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 his.text.property.match,.and.a..
352a0 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 69 73 20 72 65 74 ..prop-match....structure.is.ret
352c0 75 72 6e 65 64 2e 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 urned........PREDICATE.can.eithe
352e0 72 20 62 65 20 e2 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 r.be....t....(which.is.a.synonym
35300 20 66 6f 72 20 e2 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 .for....equal...),....nil.......
35320 20 20 28 77 68 69 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 ..(which.means....not.equal...),
35340 20 6f 72 20 61 20 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 .or.a.predicate.that.will.be.cal
35360 6c 65 64 20 77 69 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 led.with......two.parameters:.Th
35380 65 20 66 69 72 73 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 e.first.is.VALUE,.and.the.second
353a0 20 69 73 20 74 68 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 .is.the.value.of......the.text.p
353c0 72 6f 70 65 72 74 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 roperty.we...re.inspecting......
353e0 20 20 49 66 20 4e 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 ..If.NOT-CURRENT,.if.point.is.in
35400 20 61 20 72 65 67 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 .a.region.where.we.have.a.match,
35420 20 74 68 65 6e 0a 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 .then......skip.past.that.and.fi
35440 6e 64 20 74 68 65 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 nd.the.next.instance.instead....
35460 20 20 20 20 54 68 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 ....The....prop-match....structu
35480 72 65 20 68 61 73 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 re.has.the.following.accessors:.
354a0 20 20 20 20 20 e2 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 ........prop-match-beginning....
354c0 28 74 68 65 20 73 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 (the.start.of.the.match),....pro
354e0 70 2d 6d 61 74 63 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 p-match-end.........(the.end.of.
35500 74 68 65 20 6d 61 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 the.match),.and....prop-match-va
35520 6c 75 65 e2 80 99 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 lue....(the.value.of......PROPER
35540 54 59 20 61 74 20 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 TY.at.the.start.of.the.match)...
35560 20 20 20 20 20 49 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 .....In.the.examples.below,.imag
35580 69 6e 65 20 74 68 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 ine.that.you...re.in.a.buffer.th
355a0 61 74 20 6c 6f 6f 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 at.looks......like.this:........
355c0 20 20 20 20 54 68 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 ....This.is.a.bold.and.here's.bo
355e0 6c 64 69 74 61 6c 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 lditalic.and.this.is.the.end....
35600 20 20 20 20 54 68 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 ....That.is,.the....bold....word
35620 73 20 61 72 65 20 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 s.are.the....bold....face,.and.t
35640 68 65 20 e2 80 9c 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 he....italic.........word.is.in.
35660 74 68 65 20 e2 80 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 the....italic....face........Wit
35680 68 20 70 6f 69 6e 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 h.point.at.the.start:...........
356a0 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 65 72 .(while.(setq.match.(text-proper
356c0 74 79 2d 73 65 61 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 ty-search-forward.'face.'bold.t)
356e0 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
35700 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
35720 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)..............................
35740 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))..
35760 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
35780 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 77 6f 72 64 73 20 his.will.pick.out.all.the.words.
357a0 74 68 61 74 20 75 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 that.use.the....bold....face....
357c0 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 73 65 74 71 20 6d 61 74 63 68 20 28 74 65 78 .........(while.(setq.match.(tex
357e0 74 2d 70 72 6f 70 65 72 74 79 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 27 66 61 63 65 20 t-property-search-forward.'face.
35800 6e 69 6c 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 62 75 66 66 65 nil.t)).............(push.(buffe
35820 72 2d 73 75 62 73 74 72 69 6e 67 20 28 70 72 6f 70 2d 6d 61 74 63 68 2d 62 65 67 69 6e 6e 69 6e r-substring.(prop-match-beginnin
35840 67 20 6d 61 74 63 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 g.match)........................
35860 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 72 6f 70 2d 6d 61 74 63 68 2d 65 6e 64 20 6d 61 74 .............(prop-match-end.mat
35880 63 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 77 6f 72 64 73 29 29 0a 0a ch))...................words))..
358a0 20 20 20 20 20 54 68 69 73 20 77 69 6c 6c 20 70 69 63 6b 20 6f 75 74 20 61 6c 6c 20 74 68 65 20 .....This.will.pick.out.all.the.
358c0 62 69 74 73 20 74 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 bits.that.have.no.face.propertie
358e0 73 2c 20 77 68 69 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 s,.which......will.result.in.the
35900 20 6c 69 73 74 20 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 .list....("This.is.a."."and.here
35920 27 73 20 22 20 22 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 's."."and.this.is......the.end")
35940 e2 80 99 20 28 6f 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 ....(only.reversed,.since.we.use
35960 64 20 e2 80 98 70 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 d....push...).............(while
35980 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 72 .(setq.match.(text-property-sear
359a0 63 68 2d 66 6f 72 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 ch-forward.'face.nil.nil))......
359c0 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 28 .......(push.(buffer-substring.(
359e0 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 20 prop-match-beginning.match).....
35a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
35a20 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 20 (prop-match-end.match)).........
35a40 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 6c ..........words)).......This.wil
35a60 6c 20 70 69 63 6b 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 l.pick.out.all.the.regions.where
35a80 20 e2 80 98 66 61 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 ....face....is.set.to......somet
35aa0 68 69 6e 67 2c 20 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 hing,.but.this.is.split.up.into.
35ac0 77 68 65 72 65 20 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 where.the.properties.change,....
35ae0 20 20 73 6f 20 74 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 ..so.the.result.here.will.be....
35b00 28 22 62 6f 6c 64 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 ("bold"."bold"."italic")........
35b20 20 20 20 46 6f 72 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 ...For.a.more.realistic.example.
35b40 77 68 65 72 65 20 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 where.you.might.use.this,.consid
35b60 65 72 0a 20 20 20 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 er......that.you.have.a.buffer.w
35b80 68 65 72 65 20 63 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 here.certain.sections.represent.
35ba0 55 52 4c 73 2c 20 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 URLs,.and......these.are.tagged.
35bc0 77 69 74 68 20 e2 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 with....shr-url................(
35be0 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 65 72 74 79 while.(setq.match.(text-property
35c00 2d 73 65 61 72 63 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 -search-forward.'shr-url.nil.nil
35c20 29 29 0a 20 20 20 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 )).............(push.(prop-match
35c40 2d 76 61 6c 75 65 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 -value.match).urls)).......This.
35c60 77 69 6c 6c 20 67 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 will.give.you.a.list.of.all.thos
35c80 65 20 55 52 4c 73 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 e.URLs........*Note.(Property.Se
35ca0 61 72 63 68 29 65 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 arch)elisp::....--.Function:.tex
35cc0 74 2d 70 72 6f 70 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 t-property-search-backward.prop.
35ce0 26 6f 70 74 69 6f 6e 61 6c 20 76 61 6c 75 65 0a 20 20 20 20 20 20 20 20 20 20 70 72 65 64 69 63 &optional.value...........predic
35d00 61 74 65 20 6e 6f 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 ate.not-current......This.is.jus
35d20 74 20 6c 69 6b 65 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 t.like....text-property-search-f
35d40 6f 72 77 61 72 64 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 orward...,.but.searches......bac
35d60 6b 77 61 72 64 20 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 kward.instead...Point.is.placed.
35d80 61 74 20 74 68 65 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 at.the.beginning.of.the.matched.
35da0 20 20 20 20 20 72 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 .....region.instead.of.the.end,.
35dc0 74 68 6f 75 67 68 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 though........*Note.(Property.Se
35de0 61 72 63 68 29 65 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 arch)elisp::...2.3.2.Extended.De
35e00 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 2d 2d finitions.----------------------
35e20 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 63 61 ----..These.functions.must.be.ca
35e40 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 63 61 lled.explicitly.via....compat-ca
35e60 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 76 65 ll...,.since.their.calling.conve
35e80 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 20 69 ntion.or.behavior.was.extended.i
35ea0 6e 20 45 6d 61 63 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 n.Emacs.27.1:...--.Function:.com
35ec0 70 61 74 2d 63 61 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 pat-call.recenter.&optional.coun
35ee0 74 20 72 65 64 69 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 t.redisplay......This.function.s
35f00 63 72 6f 6c 6c 73 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 crolls.the.text.in.the.selected.
35f20 77 69 6e 64 6f 77 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 window.so.that.point......is.dis
35f40 70 6c 61 79 65 64 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 played.at.a.specified.vertical.p
35f60 6f 73 69 74 69 6f 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 osition.within.the.window.......
35f80 49 74 20 64 6f 65 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 It.does.not.move.point.with.resp
35fa0 65 63 74 20 74 6f 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 ect.to.the.text........*Note.(el
35fc0 69 73 70 29 54 65 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 isp)Textual.Scrolling::........T
35fe0 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 61 64 64 73 20 73 his.compatibility.version.adds.s
36000 75 70 70 6f 72 74 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 upport.for.the.optional.argument
36020 0a 20 20 20 20 20 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 ......REDISPLAY....--.Function:.
36040 63 6f 6d 70 61 74 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 compat-call.lookup-key.keymap.ke
36060 79 20 26 6f 70 74 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 y.&optional...........accept-def
36080 61 75 6c 74 73 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 aults......This.function.returns
360a0 20 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 .the.definition.of.KEY.in.KEYMAP
360c0 2e 20 20 49 66 20 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 ...If.the......string.or.vector.
360e0 4b 45 59 20 69 73 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 KEY.is.not.a.valid.key.sequence.
36100 61 63 63 6f 72 64 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 according.to.the......prefix.key
36120 73 20 73 70 65 63 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 s.specified.in.KEYMAP,.it.must.b
36140 65 20 74 6f 6f 20 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 e.too.long.and.have.extra......e
36160 76 65 6e 74 73 20 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 vents.at.the.end.that.do.not.fit
36180 20 69 6e 74 6f 20 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 .into.a.single.key.sequence...Th
361a0 65 6e 0a 20 20 20 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 en......the.value.is.a.number,.t
361c0 68 65 20 6e 75 6d 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 he.number.of.events.at.the.front
361e0 20 6f 66 20 4b 45 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 .of.KEY......that.compose.a.comp
36200 6c 65 74 65 20 6b 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 lete.key........*Note.(elisp)Low
36220 2d 4c 65 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 -Level.Key.Binding::........This
36240 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 76 65 72 73 69 6f 6e 20 61 6c 6c 6f 77 73 20 66 6f .compatibility.version.allows.fo
36260 72 20 4b 45 59 4d 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 r.KEYMAP.to.be.a.list.of......ke
36280 79 6d 61 70 73 2c 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 ymaps,.instead.of.just.a.singula
362a0 72 20 6b 65 79 6d 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 r.keymap....--.Macro:.compat-cal
362c0 6c 20 73 65 74 71 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 l.setq-local.&rest.pairs......PA
362e0 49 52 53 20 69 73 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 IRS.is.a.list.of.variable.and.va
36300 6c 75 65 20 70 61 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 lue.pairs...This.macro.creates.a
36320 0a 20 20 20 20 20 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 ......buffer-local.binding.in.th
36340 65 20 63 75 72 72 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 e.current.buffer.for.each.of.the
36360 0a 20 20 20 20 20 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 ......variables,.and.gives.them.
36380 61 20 62 75 66 66 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 a.buffer-local.value...It.is.equ
363a0 69 76 61 6c 65 6e 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 ivalent......to.calling....make-
363c0 6c 6f 63 61 6c 2d 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 local-variable....followed.by...
363e0 98 73 65 74 71 e2 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 .setq....for.each.of.the......va
36400 72 69 61 62 6c 65 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 riables...The.variables.should.b
36420 65 20 75 6e 71 75 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 e.unquoted.symbols.............(
36440 73 65 74 71 2d 6c 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 setq-local.var1."value1"........
36460 20 20 20 20 20 20 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 ...............var2."value2")...
36480 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 75 66 66 65 72 ....*Note.(elisp)Creating.Buffer
364a0 2d 4c 6f 63 61 6c 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 -Local::........This.compatibili
364c0 74 79 20 76 65 72 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 ty.version.allows.for.more.than.
364e0 6f 6e 65 20 76 61 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 one.variable.to.be......set.at.o
36500 6e 63 65 2c 20 61 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 nce,.as.can.be.done.with....setq
36520 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.
36540 72 65 67 65 78 70 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 regexp-opt.strings.&optional.par
36560 65 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 61 6e en......This.function.returns.an
36580 20 65 66 66 69 63 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 .efficient.regular.expression.th
365a0 61 74 20 77 69 6c 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 at.will......match.any.of.the.st
365c0 72 69 6e 67 73 20 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 rings.in.the.list.STRINGS...This
365e0 20 69 73 20 75 73 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 .is.useful.when......you.need.to
36600 20 6d 61 6b 65 20 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 .make.matching.or.searching.as.f
36620 61 73 74 20 61 73 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 ast.as.possible...for......examp
36640 6c 65 2c 20 66 6f 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 le,.for.Font.Lock.mode........*N
36660 6f 74 65 20 28 65 6c 69 73 70 29 52 65 67 65 78 70 20 46 75 6e 63 74 69 6f 6e 73 3a 3a 2e 0a 0a ote.(elisp)Regexp.Functions::...
36680 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 6f 6e 20 6f .....The.compatibility.version.o
366a0 66 20 74 68 69 73 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 f.this.functions.handles.the.cas
366c0 65 20 77 68 65 72 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 e.where......STRINGS.in.an.empty
366e0 20 6c 69 73 74 2e 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 .list...In.that.case,.a.regular.
36700 65 78 70 72 65 73 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 expression.is......generated.tha
36720 74 20 6e 65 76 65 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 t.never.matches.anything.(see...
36740 98 72 65 67 65 78 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 .regexp-unmatchable...)....--.Fu
36760 6e 63 74 69 6f 6e 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 nction:.compat-call.file-size-hu
36780 6d 61 6e 2d 72 65 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 man-readable.file-size.&optional
367a0 0a 20 20 20 20 20 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 ...........flavor.space.unit....
367c0 20 20 52 65 74 75 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 ..Return.a.string.with.a.human.r
367e0 65 61 64 61 62 6c 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 eadable.representation.of.FILE-S
36800 49 5a 45 2e 0a 0a 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 IZE........The.optional.second.a
36820 72 67 75 6d 65 6e 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 rgument.FLAVOR.controls.the.unit
36840 73 20 61 6e 64 20 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 s.and.the......display.format...
36860 49 66 20 46 4c 41 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 If.FLAVOR.is....................
36880 73 69 e2 80 99 2c 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 si...,.each.kilobyte.is.1000.byt
368a0 65 73 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 es.and.the.produced.suffixes....
368c0 20 20 20 20 20 20 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 .......are....k...,....M...,....
368e0 47 e2 80 99 2c 20 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 G...,....T...,.etc..............
36900 e2 80 98 69 65 63 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 ...iec...,.each.kilobyte.is.1024
36920 20 62 79 74 65 73 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 .bytes.and.the.produced.suffixes
36940 0a 20 20 20 20 20 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 ...........are....KiB...,....MiB
36960 e2 80 99 2c 20 e2 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 ...,....GiB...,....TiB...,.etc..
36980 20 20 20 20 20 20 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 ...............nil....or.omitted
369a0 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 20 61 6e ,.each.kilobyte.is.1024.bytes.an
369c0 64 20 74 68 65 20 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 d.the.produced...........suffixe
369e0 73 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 s.are....k...,....M...,....G...,
36a00 20 e2 80 98 54 e2 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 ....T...,.etc........The.compati
36a20 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
36a40 6e 61 6c 20 74 68 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 nal.third.(SPACE).and......forth
36a60 20 28 55 4e 49 54 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 .(UNIT).arguments...The.argument
36a80 20 53 50 41 43 45 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 .SPACE.can.be.a.string.that.is..
36aa0 20 20 20 20 70 6c 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 ....placed.between.the.number.an
36ac0 64 20 74 68 65 20 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 d.the.unit...The.argument.UNIT..
36ae0 20 20 20 20 64 65 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 ....determines.the.unit.to.use..
36b00 20 42 79 20 64 65 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 .By.default.it.will.be.an.empty.
36b20 73 74 72 69 6e 67 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 string,......unless.FLAVOR.is...
36b40 98 69 65 63 e2 80 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 .iec...,.in.which.case.it.will.b
36b60 65 20 e2 80 98 42 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 e....B.......--.Function:.compat
36b80 2d 63 61 6c 6c 20 61 73 73 6f 63 2d 64 65 6c 65 74 65 2d 61 6c 6c 20 6b 65 79 20 61 6c 69 73 74 -call.assoc-delete-all.key.alist
36ba0 20 26 6f 70 74 69 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 .&optional.test......This.functi
36bc0 6f 6e 20 69 73 20 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 on.is.like....assq-delete-all...
36be0 20 65 78 63 65 70 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 .except.that.it.accepts.an......
36c00 6f 70 74 69 6f 6e 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 optional.argument.TEST,.a.predic
36c20 61 74 65 20 66 75 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 ate.function.to.compare.the.keys
36c40 20 69 6e 0a 20 20 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 .in......ALIST...If.omitted.or..
36c60 80 98 6e 69 6c e2 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 ..nil...,.TEST.defaults.to....eq
36c80 75 61 6c e2 80 99 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 ual......As.........assq-delete-
36ca0 61 6c 6c e2 80 99 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 all...,.this.function.often.modi
36cc0 66 69 65 73 20 74 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 fies.the.original.list......stru
36ce0 63 74 75 72 65 20 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 cture.of.ALIST........*Note.(eli
36d00 73 70 29 41 73 73 6f 63 69 61 74 69 6f 6e 20 4c 69 73 74 73 3a 3a 2e 0a 0a 20 20 20 20 20 54 68 sp)Association.Lists::........Th
36d20 69 73 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 76 65 72 73 69 6f 6e 20 68 61 6e 64 6c 65 73 is.compatibility.version.handles
36d40 20 74 68 65 20 6f 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 .the.optional.third.(TESTFN)....
36d60 20 20 61 72 67 75 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 ..argument....--.Function:.compa
36d80 74 2d 63 61 6c 6c 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 t-call.executable-find.program.&
36da0 6f 70 74 69 6f 6e 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 optional.remote......This.functi
36dc0 6f 6e 20 73 65 61 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 on.searches.for.the.executable.f
36de0 69 6c 65 20 6f 66 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 ile.of.the.named.PROGRAM......an
36e00 64 20 72 65 74 75 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 d.returns.the.absolute.file.name
36e20 20 6f 66 20 74 68 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 .of.the.executable,.including.it
36e40 73 0a 20 20 20 20 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 s......file-name.extensions,.if.
36e60 61 6e 79 2e 20 20 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 any...It.returns....nil....if.th
36e80 65 20 66 69 6c 65 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 e.file.is.not......found...The.f
36ea0 75 6e 63 74 69 6f 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 unction.searches.in.all.the.dire
36ec0 63 74 6f 72 69 65 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 ctories.in.........exec-path...,
36ee0 20 61 6e 64 20 74 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 .and.tries.all.the.file-name.ext
36f00 65 6e 73 69 6f 6e 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 ensions.in.........exec-suffixes
36f20 e2 80 99 20 28 2a 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 ....(*note.(elisp)Subprocess.Cre
36f40 61 74 69 6f 6e 3a 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 ation::)........If.REMOTE.is.non
36f60 2d e2 80 98 6e 69 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 -...nil...,.and....default-direc
36f80 74 6f 72 79 e2 80 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 tory....is.a.remote......directo
36fa0 72 79 2c 20 50 52 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 ry,.PROGRAM.is.searched.on.the.r
36fc0 65 73 70 65 63 74 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 espective.remote.host........*No
36fe0 74 65 20 28 65 6c 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 te.(elisp)Locating.Files::......
37000 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 61 64 64 ..This.compatibility.version.add
37020 73 20 73 75 70 70 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 s.support.to.handle.the.optional
37040 0a 20 20 20 20 20 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 ......second.(REMOTE).argument..
37060 0a 32 2e 33 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 .2.3.3.Missing.Definitions.-----
37080 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 43 6f 6d 70 61 74 20 64 6f 65 --------------------..Compat.doe
370a0 73 20 6e 6f 74 20 70 72 6f 76 69 64 65 20 73 75 70 70 6f 72 74 20 66 6f 72 20 74 68 65 20 66 6f s.not.provide.support.for.the.fo
370c0 6c 6c 6f 77 69 6e 67 20 4c 69 73 70 20 66 65 61 74 75 72 65 73 0a 69 6d 70 6c 65 6d 65 6e 74 65 llowing.Lisp.features.implemente
370e0 64 20 69 6e 20 32 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 d.in.27.1:.........The.functions
37100 20 e2 80 98 62 61 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 ....base64url-encode-*..........
37120 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 74 69 6d 65 2d 61 ..The.function....decoded-time-a
37140 64 64 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 64 65 dd............The.function....de
37160 63 6f 64 65 64 2d 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 coded-time-set-defaults.........
37180 80 a2 20 54 68 65 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 ...The.function....time-convert.
371a0 80 99 2e 0a 20 20 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 ...........The.macro....benchmar
371c0 6b 2d 70 72 6f 67 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 k-progn............Support.for..
371e0 80 98 63 6f 6e 64 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 ..condition-case....to.handle.t.
37200 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 73 79 73 ........The.function....file-sys
37220 74 65 6d 2d 69 6e 66 6f e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e tem-info............The.function
37240 20 e2 80 98 67 72 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 ....group-name............The.fu
37260 6e 63 74 69 6f 6e 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 nction....face-extend-p....and..
37280 80 98 73 65 74 2d 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 ..set-face-extend............Add
372a0 69 74 69 6f 6e 61 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 itional....format-spec....modifi
372c0 65 72 73 2e 0a 20 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 ers.........Support.for.addition
372e0 61 6c 20 62 6f 64 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 al.body.forms.for.........define
37300 2d 67 6c 6f 62 61 6c 69 7a 65 64 2d 6d 69 6e 6f 72 2d 6d 6f 64 65 e2 80 99 2e 0a 20 20 20 e2 80 -globalized-minor-mode..........
37320 a2 20 54 68 65 20 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 ..The.macro....with-connection-l
37340 6f 63 61 6c 2d 76 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 ocal-variables....and.related...
37360 20 20 20 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 e2 80 98 ...functionality.........The....
37380 69 73 6f 38 36 30 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 iso8601....library.........The..
373a0 80 98 65 78 69 66 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 ..exif....library.........The...
373c0 98 69 6d 61 67 65 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 .image-converter....library.....
373e0 46 69 6c 65 3a 20 64 6f 63 71 31 61 68 5a 52 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 45 6d 61 File:.docq1ahZR.info,..Node:.Ema
37400 63 73 20 32 38 2e 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 cs.28.1,..Next:.Emacs.29.1,..Pre
37420 76 3a 20 45 6d 61 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 v:.Emacs.27.1,..Up:.Support..2.4
37440 20 45 6d 61 63 73 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 .Emacs.28.1.==============..2.4.
37460 31 20 41 64 64 65 64 20 44 65 66 69 6e 69 74 69 6f 6e 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 1.Added.Definitions.------------
37480 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 54 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 75 6e 63 74 -----------..The.following.funct
374a0 69 6f 6e 73 20 61 6e 64 20 6d 61 63 72 6f 73 20 61 72 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 ions.and.macros.are.implemented.
374c0 69 6e 20 45 6d 61 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 in.Emacs.28.1...These.functions.
374e0 61 72 65 20 6d 61 64 65 20 61 76 61 69 6c 61 62 6c 65 20 62 79 20 43 6f 6d 70 61 74 20 6f 6e 20 are.made.available.by.Compat.on.
37500 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 38 2e 31 2e 0a Emacs.versions.older.than.28.1..
37520 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 98 ....The....defcustom....type....
37540 6e 61 74 6e 75 6d 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 natnum....introduced.in.Emacs.28
37560 2e 31 20 69 73 20 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 .1.is.made.available.by.Compat..
37580 0a 20 2d 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 69 67 6e ..--.Function:.process-lines-ign
375a0 6f 72 65 2d 73 74 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 ore-status.program.&rest.args...
375c0 20 20 20 54 68 69 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 ...This.function.is.just.like...
375e0 98 70 72 6f 63 65 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 .process-lines...,.but.does.not.
37600 73 69 67 6e 61 6c 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 signal.an......error.if.PROGRAM.
37620 65 78 69 74 73 20 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 exits.with.a.non-zero.exit.statu
37640 73 2e 0a 0a 20 2d 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 s....--.Function:.process-lines-
37660 68 61 6e 64 6c 69 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 handling-status.program.status-h
37680 61 6e 64 6c 65 72 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 andler.&rest...........args.....
376a0 20 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 74 75 .Execute.PROGRAM.with.ARGS,.retu
376c0 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 6c 69 rning.its.output.as.a.list.of.li
376e0 6e 65 73 2e 0a 20 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 nes.......If.STATUS-HANDLER.is.n
37700 6f 6e 2d 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 on-nil,.it.must.be.a.function.wi
37720 74 68 20 6f 6e 65 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 th.one......argument,.which.will
37740 20 62 65 20 63 61 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 .be.called.with.the.exit.status.
37760 6f 66 20 74 68 65 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 of.the.program......before.the.o
37780 75 74 70 75 74 20 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 utput.is.collected...If.STATUS-H
377a0 41 4e 44 4c 45 52 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 ANDLER.is.nil,.an.error......is.
377c0 73 69 67 6e 61 6c 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 signaled.if.the.program.returns.
377e0 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....-
37800 2d 20 46 75 6e 63 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 -.Function:.text-quoting-style..
37820 20 20 20 20 59 6f 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 ....You.should.not.read.the.valu
37840 65 20 6f 66 20 74 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 e.of.the.variable....text-quotin
37860 67 2d 73 74 79 6c 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 g-style.........directly...Inste
37880 61 64 2c 20 75 73 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 ad,.use.this.function.with.the.s
378a0 61 6d 65 20 6e 61 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 ame.name.to......dynamically.com
378c0 70 75 74 65 20 74 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 pute.the.correct.quoting.style.o
378e0 6e 20 74 68 65 20 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 n.the.current......terminal.in.t
37900 68 65 20 e2 80 98 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 he....nil....case.described.abov
37920 65 2e 0a 0a 20 2d 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 e....--.Function:.string-search.
37940 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 72 74 2d needle.haystack.&optional.start-
37960 70 6f 73 0a 20 20 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 pos......Return.the.position.of.
37980 74 68 65 20 66 69 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 the.first.instance.of.NEEDLE.in.
379a0 48 41 59 53 54 41 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 HAYSTACK,......both.of.which.are
379c0 20 73 74 72 69 6e 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 .strings...If.START-POS.is.non-.
379e0 80 98 6e 69 6c e2 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 ..nil...,.start......searching.f
37a00 72 6f 6d 20 74 68 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 rom.that.position.in.NEEDLE...Re
37a20 74 75 72 6e 20 e2 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 turn....nil....if.no.match......
37a40 77 61 73 20 66 6f 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 was.found...This.function.only.c
37a60 6f 6e 73 69 64 65 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 onsiders.the.characters.in.the..
37a80 20 20 20 20 73 74 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 ....strings.when.doing.the.compa
37aa0 72 69 73 6f 6e 3b 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 rison;.text.properties.are.ignor
37ac0 65 64 2e 0a 20 20 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 ed.......Matching.is.always.case
37ae0 2d 73 65 6e 73 69 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 -sensitive....--.Function:.lengt
37b00 68 3d 20 73 65 71 75 65 6e 63 65 20 6c 65 6e 67 74 68 0a 20 20 20 20 20 52 65 74 75 72 6e 20 6e h=.sequence.length......Return.n
37b20 6f 6e 2d e2 80 98 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 on-...nil....if.the.length.of.SE
37b40 51 55 45 4e 43 45 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 QUENCE.is.equal.to.LENGTH....--.
37b60 46 75 6e 63 74 69 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 Function:.length<.sequence.lengt
37b80 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 80 99 20 69 66 20 53 h......Return.non-...nil....if.S
37ba0 45 51 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 20 EQUENCE.is.shorter.than.LENGTH..
37bc0 20 54 68 69 73 20 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 .This.may.be......more.efficient
37be0 20 74 68 61 6e 20 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 .than.computing.the.length.of.SE
37c00 51 55 45 4e 43 45 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 QUENCE.if.SEQUENCE.is......a.lon
37c20 67 20 6c 69 73 74 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 g.list....--.Function:.length>.s
37c40 65 71 75 65 6e 63 65 20 6c 65 6e 67 74 68 0a 20 20 20 20 20 52 65 74 75 72 6e 20 6e 6f 6e 2d e2 equence.length......Return.non-.
37c60 80 98 6e 69 6c e2 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 ..nil....if.SEQUENCE.is.longer.t
37c80 68 61 6e 20 4c 45 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 han.LENGTH....--.Function:.file-
37ca0 6e 61 6d 65 2d 63 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 name-concat.directory.&rest.comp
37cc0 6f 6e 65 6e 74 73 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 onents......Concatenate.COMPONEN
37ce0 54 53 20 74 6f 20 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 TS.to.DIRECTORY,.inserting.a.sla
37d00 73 68 20 62 65 66 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 sh.before.the......components.if
37d20 20 44 49 52 45 43 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 .DIRECTORY.or.the.preceding.comp
37d40 6f 6e 65 6e 74 20 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 onent.didn...t.end.with......a.s
37d60 6c 61 73 68 2e 0a 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 lash.............(file-name-conc
37d80 61 74 20 22 2f 74 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 at."/tmp"."foo")....."/tmp/foo".
37da0 0a 20 20 20 20 20 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 ......A.DIRECTORY.or.components.
37dc0 74 68 61 74 20 61 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 that.are....nil....or.the.empty.
37de0 73 74 72 69 6e 67 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 string.are......ignored...they.a
37e00 72 65 20 66 69 6c 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 re.filtered.out.first.and.do.not
37e20 20 61 66 66 65 63 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 .affect.the.results......in.any.
37e40 77 61 79 2e 0a 0a 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 way........This.is.almost.the.sa
37e60 6d 65 20 61 73 20 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 me.as.using....concat...,.but.DI
37e80 52 4e 41 4d 45 20 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 RNAME.(and.the......non-final.co
37ea0 6d 70 6f 6e 65 6e 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 mponents).may.or.may.not.end.wit
37ec0 68 20 73 6c 61 73 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 h.slash.characters,.and......thi
37ee0 73 20 66 75 6e 63 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 s.function.will.not.double.those
37f00 20 63 68 61 72 61 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 .characters....--.Function:.garb
37f20 61 67 65 2d 63 6f 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 age-collect-maybe.factor......Su
37f40 67 67 65 73 74 20 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 ggest.to.run.garbage.collection,
37f60 20 69 66 20 5f 65 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 .if._enough_.data.has.been......
37f80 61 6c 6c 6f 63 61 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 allocated...This.is.determined.b
37fa0 79 20 74 68 65 20 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 y.the.positive.numerical.argumen
37fc0 74 0a 20 20 20 20 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 t......FACTOR,.that.would.propor
37fe0 74 69 6f 6e 61 6c 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 tionally.increase.the.likelihood
38000 20 6f 66 0a 20 20 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 .of......garbage.collection.taki
38020 6e 67 20 70 6c 61 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 ng.place........This.compatibili
38040 74 79 20 66 75 6e 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 ty.function.does.nothing.and.ign
38060 6f 72 65 73 20 61 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 ores.any......suggestion....--.F
38080 75 6e 63 74 69 6f 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 unction:.string-replace.from-str
380a0 69 6e 67 20 74 6f 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 ing.to-string.in-string......Thi
380c0 73 20 66 75 6e 63 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 s.function.replaces.all.occurren
380e0 63 65 73 20 6f 66 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 ces.of.FROM-STRING.with......TO-
38100 53 54 52 49 4e 47 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 STRING.in.IN-STRING.and.returns.
38120 74 68 65 20 72 65 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 the.result...It.may.return.one..
38140 20 20 20 20 6f 66 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 ....of.its.arguments.unchanged,.
38160 61 20 63 6f 6e 73 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 a.constant.string.or.a.new.strin
38180 67 2e 0a 20 20 20 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 g.......Case.is.significant,.and
381a0 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 0a 20 .text.properties.are.ignored....
381c0 2d 2d 20 46 75 6e 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 --.Function:.always.&rest.argume
381e0 6e 74 73 0a 20 20 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 nts......This.function.ignores.a
38200 6e 79 20 41 52 47 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 ny.ARGUMENTS.and.returns....t...
38220 2e 0a 0a 20 20 20 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 ........*Note.(elisp)Calling.Fun
38240 63 74 69 6f 6e 73 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 ctions::....--.Function:.make-se
38260 70 61 72 61 74 6f 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 parator-line.&optional.length...
38280 20 20 20 4d 61 6b 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 ...Make.a.string.appropriate.for
382a0 20 75 73 61 67 65 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 .usage.as.a.visual.separator.lin
382c0 65 2e 20 20 49 66 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 e...If......LENGTH.is.nil,.use.t
382e0 68 65 20 77 69 6e 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 he.window.width....--.Function:.
38300 69 6e 73 65 72 74 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 insert-into-buffer.to-buffer.&op
38320 74 69 6f 6e 61 6c 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 tional.start.end......This.is.li
38340 6b 65 20 e2 80 98 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 ke....insert-buffer-substring...
38360 2c 20 62 75 74 20 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 ,.but.works.in.the.opposite.....
38380 20 64 69 72 65 63 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 .direction:.The.text.is.copied.f
383a0 72 6f 6d 20 74 68 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 rom.the.current.buffer.into.....
383c0 20 54 4f 2d 42 55 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 .TO-BUFFER...The.block.of.text.i
383e0 73 20 63 6f 70 69 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 s.copied.to.the.current.point.in
38400 0a 20 20 20 20 20 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 ......TO-BUFFER,.and.point.(in.t
38420 68 61 74 20 62 75 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 hat.buffer).is.advanced.to.after
38440 20 74 68 65 20 65 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 .the.end......of.the.copied.text
38460 2e 20 20 49 73 20 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 ...Is....start.../...end....is..
38480 80 98 6e 69 6c e2 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 ..nil...,.the.entire.text.in....
384a0 20 20 74 68 65 20 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 ..the.current.buffer.is.copied.o
384c0 76 65 72 2e 0a 0a 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 ver........*Note.(elisp)Insertio
384e0 6e 3a 3a 2e 0a 0a 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 n::....--.Function:.replace-stri
38500 6e 67 2d 69 6e 2d 72 65 67 69 6f 6e 20 72 65 67 65 78 70 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 ng-in-region.regexp.replacement.
38520 26 6f 70 74 69 6f 6e 61 6c 0a 20 20 20 20 20 20 20 20 20 20 73 74 61 72 74 20 65 6e 64 0a 20 20 &optional...........start.end...
38540 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 70 6c 61 63 65 73 20 61 6c 6c 20 74 68 ...This.function.replaces.all.th
38560 65 20 6f 63 63 75 72 72 65 6e 63 65 73 20 6f 66 20 52 45 47 45 58 50 20 77 69 74 68 0a 20 20 20 e.occurrences.of.REGEXP.with....
38580 20 20 52 45 50 4c 41 43 45 4d 45 4e 54 20 69 6e 20 74 68 65 20 72 65 67 69 6f 6e 20 6f 66 20 62 ..REPLACEMENT.in.the.region.of.b
385a0 75 66 66 65 72 20 74 65 78 74 20 62 65 74 77 65 65 6e 20 53 54 41 52 54 20 61 6e 64 20 45 4e 44 uffer.text.between.START.and.END
385c0 3b 0a 20 20 20 20 20 53 54 41 52 54 20 64 65 66 61 75 6c 74 73 20 74 6f 20 70 6f 73 69 74 69 6f ;......START.defaults.to.positio
385e0 6e 20 6f 66 20 70 6f 69 6e 74 2c 20 61 6e 64 20 45 4e 44 20 64 65 66 61 75 6c 74 73 20 74 6f 20 n.of.point,.and.END.defaults.to.
38600 74 68 65 20 6c 61 73 74 0a 20 20 20 20 20 61 63 63 65 73 73 69 62 6c 65 20 70 6f 73 69 74 69 6f the.last......accessible.positio
38620 6e 20 6f 66 20 74 68 65 20 62 75 66 66 65 72 2e 20 20 54 68 65 20 73 65 61 72 63 68 20 66 6f 72 n.of.the.buffer...The.search.for
38640 20 52 45 47 45 58 50 20 69 73 0a 20 20 20 20 20 63 61 73 65 2d 73 65 6e 73 69 74 69 76 65 2c 20 .REGEXP.is......case-sensitive,.
38660 61 6e 64 20 52 45 50 4c 41 43 45 4d 45 4e 54 20 69 73 20 69 6e 73 65 72 74 65 64 20 77 69 74 68 and.REPLACEMENT.is.inserted.with
38680 6f 75 74 20 63 68 61 6e 67 69 6e 67 20 69 74 73 0a 20 20 20 20 20 6c 65 74 74 65 72 2d 63 61 73 out.changing.its......letter-cas
386a0 65 2e 20 20 54 68 65 20 52 45 50 4c 41 43 45 4d 45 4e 54 20 73 74 72 69 6e 67 20 63 61 6e 20 75 e...The.REPLACEMENT.string.can.u
386c0 73 65 20 74 68 65 20 73 61 6d 65 20 73 70 65 63 69 61 6c 0a 20 20 20 20 20 65 6c 65 6d 65 6e 74 se.the.same.special......element
386e0 73 20 73 74 61 72 74 69 6e 67 20 77 69 74 68 20 e2 80 98 5c e2 80 99 20 61 73 20 e2 80 98 72 65 s.starting.with....\....as....re
38700 70 6c 61 63 65 2d 6d 61 74 63 68 e2 80 99 20 64 6f 65 73 2e 20 20 54 68 65 20 66 75 6e 63 74 69 place-match....does...The.functi
38720 6f 6e 0a 20 20 20 20 20 72 65 74 75 72 6e 73 20 74 68 65 20 6e 75 6d 62 65 72 20 6f 66 20 72 65 on......returns.the.number.of.re
38740 70 6c 61 63 65 64 20 6f 63 63 75 72 72 65 6e 63 65 73 2c 20 6f 72 20 e2 80 98 6e 69 6c e2 80 99 placed.occurrences,.or....nil...
38760 20 69 66 20 52 45 47 45 58 50 20 69 73 0a 20 20 20 20 20 6e 6f 74 20 66 6f 75 6e 64 2e 20 20 54 .if.REGEXP.is......not.found...T
38780 68 65 20 66 75 6e 63 74 69 6f 6e 20 70 72 65 73 65 72 76 65 73 20 74 68 65 20 70 6f 73 69 74 69 he.function.preserves.the.positi
387a0 6f 6e 20 6f 66 20 70 6f 69 6e 74 2e 0a 0a 20 20 20 20 20 20 20 20 20 20 28 72 65 70 6c 61 63 65 on.of.point.............(replace
387c0 2d 72 65 67 65 78 70 2d 69 6e 2d 72 65 67 69 6f 6e 20 22 66 6f 6f 5b 20 5c 74 5d 2b 62 61 72 22 -regexp-in-region."foo[.\t]+bar"
387e0 20 22 66 6f 6f 62 61 72 22 29 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 53 65 61 ."foobar")......*Note.(elisp)Sea
38800 72 63 68 20 61 6e 64 20 52 65 70 6c 61 63 65 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e rch.and.Replace::....--.Function
38820 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 73 74 72 69 6e :.replace-regexp-in-string.strin
38840 67 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 26 6f 70 74 69 6f 6e 61 6c 0a 20 20 20 20 20 20 20 20 g.replacement.&optional.........
38860 20 20 73 74 61 72 74 20 65 6e 64 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 77 ..start.end......This.function.w
38880 6f 72 6b 73 20 73 69 6d 69 6c 61 72 6c 79 20 74 6f 20 e2 80 98 72 65 70 6c 61 63 65 2d 72 65 67 orks.similarly.to....replace-reg
388a0 65 78 70 2d 69 6e 2d 72 65 67 69 6f 6e e2 80 99 2c 20 62 75 74 0a 20 20 20 20 20 73 65 61 72 63 exp-in-region...,.but......searc
388c0 68 65 73 20 66 6f 72 2c 20 61 6e 64 20 72 65 70 6c 61 63 65 73 2c 20 6c 69 74 65 72 61 6c 20 53 hes.for,.and.replaces,.literal.S
388e0 54 52 49 4e 47 73 20 69 6e 73 74 65 61 64 20 6f 66 20 72 65 67 75 6c 61 72 0a 20 20 20 20 20 65 TRINGs.instead.of.regular......e
38900 78 70 72 65 73 73 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 53 xpressions........*Note.(elisp)S
38920 65 61 72 63 68 20 61 6e 64 20 52 65 70 6c 61 63 65 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 earch.and.Replace::....--.Functi
38940 6f 6e 3a 20 62 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 on:.buffer-local-boundp.variable
38960 20 62 75 66 66 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 .buffer......This.returns.non-..
38980 98 6e 69 6c e2 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 .nil....if.there...s.either.a.bu
389a0 66 66 65 72 2d 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 ffer-local.binding.of......VARIA
389c0 42 4c 45 20 28 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 BLE.(a.symbol).in.buffer.BUFFER,
389e0 20 6f 72 20 56 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 .or.VARIABLE.has.a.global......b
38a00 69 6e 64 69 6e 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 inding........*Note.(elisp)Creat
38a20 69 6e 67 20 42 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 ing.Buffer-Local::....--.Macro:.
38a40 77 69 74 68 2d 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 with-existing-directory.body....
38a60 20 20 20 20 20 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 .....This.macro.ensures.that....
38a80 64 65 66 61 75 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 default-directory....is.bound.to
38aa0 20 61 6e 20 65 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 .an.existing......directory.befo
38ac0 72 65 20 65 78 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 re.executing.BODY...If....defaul
38ae0 74 2d 64 69 72 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 t-directory....already......exis
38b00 74 73 2c 20 74 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 ts,.that...s.preferred,.and.othe
38b20 72 77 69 73 65 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 rwise.some.other.directory.is...
38b40 20 20 20 75 73 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 ...used...This.macro.can.be.usef
38b60 75 6c 2c 20 66 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 ul,.for.instance,.when.calling.a
38b80 6e 0a 20 20 20 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 n......external.command.that.req
38ba0 75 69 72 65 73 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 uires.that.it...s.running.in.a.d
38bc0 69 72 65 63 74 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 irectory......that.exists...The.
38be0 63 68 6f 73 65 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 chosen.directory.is.not.guarante
38c00 65 64 20 74 6f 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 ed.to.be......writable........*N
38c20 6f 74 65 20 28 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 ote.(elisp)Testing.Accessibility
38c40 3a 3a 2e 0a 0a 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 ::....--.Macro:.dlet.(bindings..
38c60 2e 29 20 66 6f 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 .).forms.........This.special.fo
38c80 72 6d 20 69 73 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 rm.is.like....let...,.but.it.bin
38ca0 64 73 20 61 6c 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 ds.all.variables......dynamicall
38cc0 79 2e 20 20 54 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 y...This.is.rarely.useful...you.
38ce0 75 73 75 61 6c 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 usually.want.to.bind.normal.....
38d00 20 76 61 72 69 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 .variables.lexically,.and.specia
38d20 6c 20 76 61 72 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 l.variables.(i.e.,.variables.tha
38d40 74 0a 20 20 20 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 t......are.defined.with....defva
38d60 72 e2 80 99 29 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 r...).dynamically,.and.this.is.w
38d80 68 61 74 20 e2 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 hat....let.........does.........
38da0 80 98 64 6c 65 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 ..dlet....can.be.useful.when.int
38dc0 65 72 66 61 63 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 erfacing.with.old.code.that.assu
38de0 6d 65 73 0a 20 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 mes......that.certain.variables.
38e00 61 72 65 20 64 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 are.dynamically.bound.(*note.(el
38e20 69 73 70 29 44 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 isp)Dynamic......Binding::),.but
38e40 20 69 74 e2 80 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 .it...s.impractical.to....defvar
38e60 e2 80 99 20 74 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 ....these.variables..........dle
38e80 74 e2 80 99 20 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 t....will.temporarily.make.the.b
38ea0 6f 75 6e 64 20 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 ound.variables.special,.execute.
38ec0 20 20 20 20 20 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 .....the.forms,.and.then.make.th
38ee0 65 20 76 61 72 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 e.variables.non-special.again...
38f00 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 6c 65 .....*Note.(elisp)Local.Variable
38f20 73 3a 3a 2e 0a 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 s::....--.Function:.ensure-list.
38f40 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 72 65 74 75 72 6e object......This.function.return
38f60 73 20 4f 42 4a 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 s.OBJECT.as.a.list...If.OBJECT.i
38f80 73 20 61 6c 72 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 s.already.a......list,.the.funct
38fa0 69 6f 6e 20 72 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 ion.returns.it;.otherwise,.the.f
38fc0 75 6e 63 74 69 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 unction.returns.a......one-eleme
38fe0 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 0a 0a 20 20 20 20 nt.list.containing.OBJECT.......
39000 20 54 68 69 73 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 .This.is.usually.useful.if.you.h
39020 61 76 65 20 61 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 ave.a.variable.that.may.or.may.n
39040 6f 74 0a 20 20 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 ot......be.a.list,.and.you.can.t
39060 68 65 6e 20 73 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 hen.say,.for.instance:..........
39080 20 20 28 64 6f 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 ..(dolist.(elem.(ensure-list.foo
390a0 29 29 0a 20 20 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 )).............(princ.elem))....
390c0 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 42 75 69 6c 64 69 6e 67 20 4c 69 73 74 73 3a 3a ...*Note.(elisp)Building.Lists::
390e0 2e 0a 0a 20 2d 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 ....--.Function:.string-clean-wh
39100 69 74 65 73 70 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 itespace.string......Clean.up.th
39120 65 20 77 68 69 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 e.whitespace.in.STRING.by.collap
39140 73 69 6e 67 20 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 sing.stretches.of......whitespac
39160 65 20 74 6f 20 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 e.to.a.single.space.character,.a
39180 73 20 77 65 6c 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 s.well.as.removing.all......whit
391a0 65 73 70 61 63 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 espace.from.the.start.and.the.en
391c0 64 20 6f 66 20 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 d.of.STRING........*Note.(elisp)
391e0 43 72 65 61 74 69 6e 67 20 53 74 72 69 6e 67 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f Creating.Strings::....--.Functio
39200 6e 3a 20 73 74 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 n:.string-fill.string.length....
39220 20 20 41 74 74 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 ..Attempt.to.Word-wrap.STRING.so
39240 20 74 68 61 74 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 .that.no.lines.are.longer.than..
39260 20 20 20 20 4c 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 ....LENGTH...Filling.is.done.on.
39280 77 68 69 74 65 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 whitespace.boundaries.only...If.
392a0 74 68 65 72 65 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 there......are.individual.words.
392c0 74 68 61 74 20 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 that.are.longer.than.LENGTH,.the
392e0 73 65 20 77 69 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 se.will.not.be......shortened...
39300 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 43 72 65 61 74 69 6e 67 20 53 74 72 69 6e .....*Note.(elisp)Creating.Strin
39320 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 6c 69 6e 65 gs::....--.Function:.string-line
39340 73 20 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 6c 73 0a 20 20 s.string.&optional.omit-nulls...
39360 20 20 20 53 70 6c 69 74 20 53 54 52 49 4e 47 20 69 6e 74 6f 20 61 20 6c 69 73 74 20 6f 66 20 73 ...Split.STRING.into.a.list.of.s
39380 74 72 69 6e 67 73 20 6f 6e 20 6e 65 77 6c 69 6e 65 20 62 6f 75 6e 64 61 72 69 65 73 2e 20 20 49 trings.on.newline.boundaries...I
393a0 66 20 74 68 65 0a 20 20 20 20 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 20 4f 4d 49 f.the......optional.argument.OMI
393c0 54 2d 4e 55 4c 4c 53 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 72 65 6d 6f 76 65 T-NULLS.is.non-...nil...,.remove
393e0 20 65 6d 70 74 79 20 6c 69 6e 65 73 20 66 72 6f 6d 0a 20 20 20 20 20 74 68 65 20 72 65 73 75 6c .empty.lines.from......the.resul
39400 74 73 2e 20 20 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 ts...Note.that.this.function.ret
39420 75 72 6e 73 20 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 urns.trailing.newlines.on......E
39440 6d 61 63 73 20 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 macs.28,.use....compat-call.stri
39460 6e 67 2d 6c 69 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 ng-lines....instead.if.you.want.
39480 20 20 20 20 20 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 .....consistent.behavior....--.F
394a0 75 6e 63 74 69 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 unction:.string-pad.string.lengt
394c0 68 20 26 6f 70 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 h.&optional.padding.start......P
394e0 61 64 20 53 54 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 ad.STRING.to.be.of.the.given.LEN
39500 47 54 48 20 75 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 GTH.using.PADDING.as.the.padding
39520 0a 20 20 20 20 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 ......character...PADDING.defaul
39540 74 73 20 74 6f 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 ts.to.the.space.character...If.S
39560 54 52 49 4e 47 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 TRING.is......longer.than.LENGTH
39580 2c 20 6e 6f 20 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 ,.no.padding.is.done...If.START.
395a0 69 73 20 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 is....nil....or......omitted,.th
395c0 65 20 70 61 64 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 e.padding.is.appended.to.the.cha
395e0 72 61 63 74 65 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 racters.of.STRING,.and......if.i
39600 74 e2 80 99 73 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 t...s.non-...nil...,.the.padding
39620 20 69 73 20 70 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 .is.prepended.to.STRING...s.char
39640 61 63 74 65 72 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 acters........*Note.(elisp)Creat
39660 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
39680 72 69 6e 67 2d 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 ring-chop-newline.string......Re
396a0 6d 6f 76 65 20 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 move.the.final.newline,.if.any,.
396c0 66 72 6f 6d 20 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 from.STRING........*Note.(elisp)
396e0 43 72 65 61 74 69 6e 67 20 53 74 72 69 6e 67 73 3a 3a 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f 3a 20 Creating.Strings::....--.Macro:.
39700 6e 61 6d 65 64 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 named-let.name.bindings.&rest.bo
39720 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 69 73 20 61 20 6c dy......This.special.form.is.a.l
39740 6f 6f 70 69 6e 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 ooping.construct.inspired.from.t
39760 68 65 20 53 63 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 he.Scheme......language...It.is.
39780 73 69 6d 69 6c 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 similar.to....let...:.It.binds.t
397a0 68 65 20 76 61 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 he.variables.in......BINDINGS,.a
397c0 6e 64 20 74 68 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 nd.then.evaluates.BODY...However
397e0 2c 20 e2 80 98 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 ,....named-let....also.binds....
39800 20 20 4e 41 4d 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 ..NAME.to.a.local.function.whose
39820 20 66 6f 72 6d 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 .formal.arguments.are.the.variab
39840 6c 65 73 0a 20 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 les......in.BINDINGS.and.whose.b
39860 6f 64 79 20 69 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 ody.is.BODY...This.allows.BODY.t
39880 6f 20 63 61 6c 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 o.call......itself.recursively.b
398a0 79 20 63 61 6c 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 y.calling.NAME,.where.the.argume
398c0 6e 74 73 20 70 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 nts.passed.to......NAME.are.used
398e0 20 61 73 20 74 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 .as.the.new.values.of.the.bound.
39900 76 61 72 69 61 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 variables.in.the......recursive.
39920 69 6e 76 6f 63 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 invocation........Recursive.call
39940 73 20 74 6f 20 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 s.to.NAME.that.occur.in._tail.po
39960 73 69 74 69 6f 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 sitions_.in.BODY.are......guaran
39980 74 65 65 64 20 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 teed.to.be.optimized.as._tail.ca
399a0 6c 6c 73 5f 2c 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 lls_,.which.means.that.they.....
399c0 20 77 69 6c 6c 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 .will.not.consume.any.additional
399e0 20 73 74 61 63 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 .stack.space.no.matter.how.deepl
39a00 79 0a 20 20 20 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 y......the.recursion.runs...Such
39a20 20 72 65 63 75 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 .recursive.calls.will.effectivel
39a40 79 20 6a 75 6d 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 y.jump.to......the.top.of.the.lo
39a60 6f 70 20 77 69 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 op.with.new.values.for.the.varia
39a80 62 6c 65 73 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 4c 6f 63 61 6c 20 56 bles........*Note.(elisp)Local.V
39aa0 61 72 69 61 62 6c 65 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 66 69 6c 65 2d ariables::....--.Function:.file-
39ac0 6e 61 6d 65 2d 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 name-with-extension.filename.ext
39ae0 65 6e 73 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 ension......This.function.return
39b00 73 20 46 49 4c 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 s.FILENAME.with.its.extension.se
39b20 74 20 74 6f 20 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 t.to.EXTENSION.......A.single.le
39b40 61 64 69 6e 67 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 ading.dot.in.the.EXTENSION.will.
39b60 62 65 20 73 74 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 be.stripped.if.there.is......one
39b80 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 66 69 6c 65 ...For.example:............(file
39ba0 2d 6e 61 6d 65 2d 77 69 74 68 2d 65 78 74 65 6e 73 69 6f 6e 20 22 66 69 6c 65 22 20 22 65 6c 22 -name-with-extension."file"."el"
39bc0 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 66 69 6c 65 2e 65 6c 22 0a 20 )...................."file.el"..
39be0 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 6e 61 6d 65 2d 77 69 74 68 2d 65 78 74 65 6e 73 69 .........(file-name-with-extensi
39c00 6f 6e 20 22 66 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 on."file".".el")................
39c20 e2 87 92 20 22 66 69 6c 65 2e 65 6c 22 0a 20 20 20 20 20 20 20 20 20 20 28 66 69 6c 65 2d 6e 61 ...."file.el"...........(file-na
39c40 6d 65 2d 77 69 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 me-with-extension."file.c"."el")
39c60 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 e2 87 92 20 22 66 69 6c 65 2e 65 6c 22 0a 0a 20 ...................."file.el"...
39c80 20 20 20 20 4e 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 ....Note.that.this.function.will
39ca0 20 65 72 72 6f 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 .error.if.FILENAME.or.EXTENSION.
39cc0 61 72 65 0a 20 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 are......empty,.or.if.the.FILENA
39ce0 4d 45 20 69 73 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 ME.is.shaped.like.a.directory.(i
39d00 2e 65 2e 2c 20 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 .e.,.if.........directory-name-p
39d20 e2 80 99 20 72 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 ....returns.non-...nil...)......
39d40 20 20 2a 4e 6f 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 ..*Note.File.Name.Components:.(e
39d60 6c 69 73 70 29 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 lisp)File.Name.Components....--.
39d80 46 75 6e 63 74 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 Function:.directory-empty-p.dire
39da0 63 74 6f 72 79 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 ctory......This.utility.function
39dc0 20 72 65 74 75 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 .returns....t....if.given.DIRECT
39de0 4f 52 59 20 69 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 ORY.is.an......accessible.direct
39e00 6f 72 79 20 61 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 ory.and.it.does.not.contain.any.
39e20 66 69 6c 65 73 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 files,.i.e.,.is.an......empty.di
39e40 72 65 63 74 6f 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 rectory...It.will.ignore........
39e60 20 61 6e 64 20 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 .and..........on.systems.that...
39e80 20 20 20 72 65 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 ...return.them.as.files.in.a.dir
39ea0 65 63 74 6f 72 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 ectory........Symbolic.links.to.
39ec0 64 69 72 65 63 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 directories.count.as.directories
39ee0 2e 20 20 53 65 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 ...See......FILE-SYMLINK-P.to.di
39f00 73 74 69 6e 67 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 stinguish.symlinks........*Note.
39f20 28 65 6c 69 73 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 (elisp)Contents.of.Directories::
39f40 2e 0a 0a 20 2d 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 ....--.Function:.format-prompt.p
39f60 72 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 0a rompt.default.&rest.format-args.
39f80 20 20 20 20 20 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 .....Format.PROMPT.with.default.
39fa0 76 61 6c 75 65 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 value.DEFAULT.according.to.the..
39fc0 20 20 20 20 e2 80 98 6d 69 6e 69 62 75 66 66 65 72 2d 64 65 66 61 75 6c 74 2d 70 72 6f 6d 70 74 .......minibuffer-default-prompt
39fe0 2d 66 6f 72 6d 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 -format....variable...........mi
3a000 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 61 74 e2 80 nibuffer-default-prompt-format..
3a020 99 20 69 73 20 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 ..is.a.format.string.(defaulting
3a040 0a 20 20 20 20 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 ......to....".(default.%s)"....t
3a060 68 61 74 20 73 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 hat.says.how.the....default....b
3a080 69 74 20 69 6e 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 it.in.prompts......like...."Loca
3a0a0 6c 20 66 69 6c 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 l.filename.(default.somefile):."
3a0c0 e2 80 99 20 61 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 ....are.to.be.formatted........T
3a0e0 6f 20 61 6c 6c 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 o.allow.the.users.to.customize.h
3a100 6f 77 20 74 68 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 ow.this.is.displayed,.code.that.
3a120 20 20 20 20 20 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 .....prompts.the.user.for.a.valu
3a140 65 20 28 61 6e 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 e.(and.has.a.default).should.loo
3a160 6b 0a 20 20 20 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 k......something.along.the.lines
3a180 20 6f 66 20 74 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 .of.this.code.snippet:..........
3a1a0 20 20 28 72 65 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 ..(read-file-name............(fo
3a1c0 72 6d 61 74 2d 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 rmat-prompt."Local.filename".fil
3a1e0 65 29 0a 20 20 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 e)............nil.file).......If
3a200 20 46 4f 52 4d 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 .FORMAT-ARGS.is....nil...,.PROMP
3a220 54 20 69 73 20 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 T.is.used.as.a.literal.string...
3a240 49 66 0a 20 20 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 If......FORMAT-ARGS.is.non-...ni
3a260 6c e2 80 99 2c 20 50 52 4f 4d 50 54 20 69 73 20 75 73 65 64 20 61 73 20 61 20 66 6f 72 6d 61 74 l...,.PROMPT.is.used.as.a.format
3a280 20 63 6f 6e 74 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 .control......string,.and.PROMPT
3a2a0 20 61 6e 64 20 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 .and.FORMAT-ARGS.are.passed.to..
3a2c0 80 98 66 6f 72 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 ..format....(*note......(elisp)F
3a2e0 6f 72 6d 61 74 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 ormatting.Strings::)...........m
3a300 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 61 74 e2 inibuffer-default-prompt-format.
3a320 80 99 20 63 61 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 ...can.be....""...,.in.which.cas
3a340 65 20 6e 6f 0a 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 e.no......default.values.are.dis
3a360 70 6c 61 79 65 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 played........If.DEFAULT.is....n
3a380 69 6c e2 80 99 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 il...,.there.is.no.default.value
3a3a0 2c 20 61 6e 64 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 ,.and.therefore.no.........defau
3a3c0 6c 74 20 76 61 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 lt.value....string.is.included.i
3a3e0 6e 20 74 68 65 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 n.the.result.value...If.DEFAULT.
3a400 20 20 20 20 20 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 .....is.a.non-...nil....list,.th
3a420 65 20 66 69 72 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 e.first.element.of.the.list.is.u
3a440 73 65 64 20 69 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 sed.in.the......prompt........*N
3a460 6f 74 65 20 28 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 ote.(elisp)Text.from.Minibuffer:
3a480 3a 2e 0a 0a 20 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 :....--.Function:.thing-at-mouse
3a4a0 20 65 76 65 6e 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 .event.thing.&optional.no-proper
3a4c0 74 69 65 73 0a 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 ties......Mouse-EVENT.equivalent
3a4e0 20 6f 66 20 e2 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 .of....thing-at-point......THING
3a500 20 63 61 6e 20 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 .can.be....symbol...,.........li
3a520 73 74 e2 80 99 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 st...,....sexp...,....filename..
3a540 99 2c 20 e2 80 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 .,....url...,.....among.other.th
3a560 69 6e 67 73 2e 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 ings........When.NO-PROPERTIES.h
3a580 61 73 20 61 20 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 as.a.non-...nil....value,.any.te
3a5a0 78 74 20 70 72 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 xt.properties.that......might.ha
3a5c0 76 65 20 62 65 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 ve.been.present.in.the.buffer.ar
3a5e0 65 20 73 74 72 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 e.stripped.away....--.Function:.
3a600 62 6f 75 6e 64 73 2d 6f 66 2d 74 68 69 6e 67 2d 61 74 2d 6d 6f 75 73 65 20 65 76 65 6e 74 20 74 bounds-of-thing-at-mouse.event.t
3a620 68 69 6e 67 0a 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 hing......Determine.start.and.en
3a640 64 20 6c 6f 63 61 74 69 6f 6e 73 20 66 6f 72 20 54 48 49 4e 47 20 61 74 20 6d 6f 75 73 65 20 63 d.locations.for.THING.at.mouse.c
3a660 6c 69 63 6b 20 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 lick.given.by......EVENT...Like.
3a680 e2 80 98 62 6f 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 ...bounds-of-thing-at-point...,.
3a6a0 62 75 74 20 74 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 but.tries.to.use.the......positi
3a6c0 6f 6e 20 69 6e 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 on.in.EVENT.where.the.mouse.butt
3a6e0 6f 6e 20 69 73 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 on.is.clicked.to.find.the......t
3a700 68 69 6e 67 20 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 hing.nearby....--.Function:.mark
3a720 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 0a 20 20 20 20 -thing-at-mouse.click.thing.....
3a740 20 41 63 74 69 76 61 74 65 20 74 68 65 20 72 65 67 69 6f 6e 20 61 72 6f 75 6e 64 20 54 48 49 4e .Activate.the.region.around.THIN
3a760 47 20 66 6f 75 6e 64 20 6e 65 61 72 20 74 68 65 20 6d 6f 75 73 65 20 43 4c 49 43 4b 2e 0a 0a 20 G.found.near.the.mouse.CLICK....
3a780 2d 2d 20 46 75 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 --.Function:.macroexp-file-name.
3a7a0 20 20 20 20 20 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 .....Return.the.name.of.the.file
3a7c0 20 69 6e 20 77 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 .in.which.the.code.is.currently.
3a7e0 62 65 69 6e 67 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 being......evaluated,.or....nil.
3a800 80 99 20 69 66 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 ...if.it.cannot.be.determined...
3a820 20 2d 2d 20 46 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 .--.Function:.macroexp-warn-and-
3a840 72 65 74 75 72 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 return.msg.form.&optional.catego
3a860 72 79 0a 20 20 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 ry...........compile-only.arg...
3a880 20 20 20 52 65 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 ...Return.code.equivalent.to....
3a8a0 66 6f 72 6d e2 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 form....labeled.with.warning....
3a8c0 6d 73 67 e2 80 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 msg.......--.Macro:.with-environ
3a8e0 6d 65 6e 74 2d 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 ment-variables.variables.body...
3a900 0a 20 20 20 20 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 ......This.macro.sets.the.enviro
3a920 6e 6d 65 6e 74 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 nment.variables.according.to.VAR
3a940 49 41 42 4c 45 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 IABLES......temporarily.when.exe
3a960 63 75 74 69 6e 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 cuting.BODY...The.previous.value
3a980 73 20 61 72 65 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 s.are.restored......when.the.for
3a9a0 6d 20 66 69 6e 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 m.finishes...The.argument.VARIAB
3a9c0 4c 45 53 20 73 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 LES.should.be.a.list.of......pai
3a9e0 72 73 20 6f 66 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 rs.of.strings.of.the.form....(VA
3aa00 52 20 56 41 4c 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 R.VALUE)...,.where.VAR.is.the.na
3aa20 6d 65 0a 20 20 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 me......of.the.environment.varia
3aa40 62 6c 65 20 61 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 ble.and.VALUE.is.that.variable..
3aa60 99 73 20 76 61 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 .s.value.............(with-envir
3aa80 6f 6e 6d 65 6e 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 onment-variables.(("LANG"."C")..
3aaa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3aac0 20 20 20 20 20 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 ......("LANGUAGE"."en_US:en"))..
3aae0 20 20 20 20 20 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 ...........(call-process."ls".ni
3ab00 6c 20 74 29 29 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 l.t)).......*Note.System.Environ
3ab20 6d 65 6e 74 3a 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 ment:.(elisp)System.Environment.
3ab40 0a 0a 20 2d 2d 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 ...--.Function:.color-dark-p.rgb
3ab60 0a 20 20 20 20 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 ......Whether.RGB.is.more.readab
3ab80 6c 65 20 61 67 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 le.against.white.than.black...RG
3aba0 42 20 69 73 20 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 B.is.a......3-element.list.(R.G.
3abc0 42 29 2c 20 65 61 63 68 20 63 6f 6d 70 6f 6e 65 6e 74 20 69 6e 20 74 68 65 20 72 61 6e 67 65 20 B),.each.component.in.the.range.
3abe0 5b 30 2c 31 5d 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 [0,1]...This......predicate.can.
3ac00 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 67 20 61 20 73 be.used.both.for.determining.a.s
3ac20 75 69 74 61 62 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 uitable.(black.or......white).co
3ac40 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
3ac60 75 6e 64 20 61 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 und.and.as.foreground....--.Func
3ac80 74 69 6f 6e 3a 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 tion:.color-values-from-color-sp
3aca0 65 63 20 73 70 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 ec.spec......Convert.the.textual
3acc0 20 63 6f 6c 6f 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 .color.specification.SPEC.to.a.c
3ace0 6f 6c 6f 72 20 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 olor.triple.........(RED.GREEN.b
3ad00 6c 75 65 29 e2 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 lue)......Each.of.RED,.GREEN.and
3ad20 20 e2 80 98 62 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 ....blue....is.a.integer......va
3ad40 6c 75 65 20 62 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 lue.between.0.and.65535........T
3ad60 68 65 20 73 70 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 he.specification.SPEC.can.be.one
3ad80 20 6f 66 20 74 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 .of.the.following...............
3ada0 98 23 52 47 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 68 .#RGB...,.where.R,.G.and.B.are.h
3adc0 65 78 20 6e 75 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 ex.numbers.of.equal.length,.1-4.
3ade0 20 20 20 20 20 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 ..........digits.each...........
3ae00 80 a2 20 e2 80 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 ......rgb:R/G/B...,.where.R,.G,.
3ae20 61 6e 64 20 42 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 and.B.are.hex.numbers,.1-4.digit
3ae40 73 0a 20 20 20 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 s...........each................
3ae60 98 72 67 62 69 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 .rgbi:R/G/B...,.where.R,.G.and.B
3ae80 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 0a 20 .are.floating-point.numbers.in..
3aea0 20 20 20 20 20 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 .........[0,1]....--.Function:.f
3aec0 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 6d 6f 64 ile-modes-number-to-symbolic.mod
3aee0 65 73 0a 20 20 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 es......This.function.converts.a
3af00 20 6e 75 6d 65 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 .numeric.file.mode.specification
3af20 20 69 6e 20 4d 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 .in.MODES......into.the.equivale
3af40 6e 74 20 73 79 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 nt.symbolic.form........*Note.Ch
3af60 61 6e 67 69 6e 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 anging.Files:.(elisp)Changing.Fi
3af80 6c 65 73 2e 0a 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 les....--.Function:.file-backup-
3afa0 66 69 6c 65 2d 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 file-names.filename......This.fu
3afc0 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 61 20 6c 69 73 74 20 6f 66 20 61 6c 6c 20 74 68 65 nction.returns.a.list.of.all.the
3afe0 20 62 61 63 6b 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 .backup.file.names.for......FILE
3b000 4e 41 4d 45 2c 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 NAME,.or....nil....if.there.are.
3b020 6e 6f 6e 65 2e 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 none...The.files.are.sorted.by..
3b040 20 20 20 20 6d 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 ....modification.time,.descendin
3b060 67 2c 20 73 6f 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 g,.so.that.the.most.recent.files
3b080 20 61 72 65 0a 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 .are......first........*Note.(el
3b0a0 69 73 70 29 42 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 isp)Backup.Names::....--.Functio
3b0c0 6e 3a 20 6d 61 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 n:.make-lock-file-name.filename.
3b0e0 20 20 20 20 20 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 .....Return.a.string.containing.
3b100 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 4d 45 2c 20 6f a.lock.file.name.for.FILENAME,.o
3b120 62 65 79 69 6e 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 beying.........lock-file-name-tr
3b140 61 6e 73 66 6f 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 ansforms.......--.Function:.deco
3b160 64 65 64 2d 74 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 ded-time-period.time......Interp
3b180 72 65 74 20 54 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 ret.TIME.as.a.period.and.return.
3b1a0 69 74 73 20 6c 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 its.length.in.seconds...For.....
3b1c0 20 63 6f 6d 70 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 .computational.purposes,.years.a
3b1e0 72 65 20 33 36 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 re.365.days.long.and.months.are.
3b200 33 30 0a 20 20 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 30......days.long....--.Function
3b220 3a 20 73 75 62 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 :.subr-primitive-p.object......R
3b240 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 61 20 70 72 69 eturn....t....if.OBJECT.is.a.pri
3b260 6d 69 74 69 76 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 mitive,.built-in.function...On.s
3b280 79 73 74 65 6d 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 ystems......with.native.compilat
3b2a0 69 6f 6e 20 e2 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 ion....subrp....does.not.disting
3b2c0 75 69 73 68 20 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 uish.between......built-in.funct
3b2e0 69 6f 6e 73 20 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 ions.and.functions.that.have.bee
3b300 6e 20 63 6f 6d 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 n.compiled...If......native.comp
3b320 69 6c 61 74 69 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 ilation.is.not.available,.this.f
3b340 75 6e 63 74 69 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 unction.behaves......identically
3b360 20 74 6f 20 e2 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 .to....subrp.......--.Function:.
3b380 73 75 62 72 2d 6e 61 74 69 76 65 2d 65 6c 69 73 70 2d 70 20 6f 62 6a 65 63 74 0a 20 20 20 20 20 subr-native-elisp-p.object......
3b3a0 52 65 74 75 72 6e 20 e2 80 98 74 e2 80 99 20 69 66 20 4f 42 4a 45 43 54 20 69 66 20 74 68 65 20 Return....t....if.OBJECT.if.the.
3b3c0 6f 62 6a 65 63 74 20 69 73 20 6e 61 74 69 76 65 20 63 6f 6d 70 69 6c 65 64 20 6c 69 73 70 2e 20 object.is.native.compiled.lisp..
3b3e0 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 6f 6e 20 69 73 20 6e .If......native.compilation.is.n
3b400 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 6f 6e 20 61 6c 77 61 ot.available,.this.function.alwa
3b420 79 73 20 72 65 74 75 72 6e 73 0a 20 20 20 20 20 e2 80 98 6e 69 6c e2 80 99 2e 0a 0a 20 2d 2d 20 ys.returns.........nil.......--.
3b440 46 75 6e 63 74 69 6f 6e 3a 20 6e 61 74 69 76 65 2d 63 6f 6d 70 2d 61 76 61 69 6c 61 62 6c 65 2d Function:.native-comp-available-
3b460 70 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 6e 6f 6e p......This.function.returns.non
3b480 2d e2 80 98 6e 69 6c e2 80 99 20 69 66 20 74 68 65 20 72 75 6e 6e 69 6e 67 20 45 6d 61 63 73 20 -...nil....if.the.running.Emacs.
3b4a0 70 72 6f 63 65 73 73 20 68 61 73 0a 20 20 20 20 20 74 68 65 20 6e 61 74 69 76 65 2d 63 6f 6d 70 process.has......the.native-comp
3b4c0 69 6c 61 74 69 6f 6e 20 73 75 70 70 6f 72 74 20 63 6f 6d 70 69 6c 65 64 20 69 6e 74 6f 20 69 74 ilation.support.compiled.into.it
3b4e0 2e 20 20 4f 6e 20 73 79 73 74 65 6d 73 20 74 68 61 74 0a 20 20 20 20 20 6c 6f 61 64 20 e2 80 98 ...On.systems.that......load....
3b500 6c 69 62 67 63 63 6a 69 74 e2 80 99 20 64 79 6e 61 6d 69 63 61 6c 6c 79 2c 20 69 74 20 61 6c 73 libgccjit....dynamically,.it.als
3b520 6f 20 6d 61 6b 65 73 20 73 75 72 65 20 74 68 61 74 20 6c 69 62 72 61 72 79 20 69 73 0a 20 20 20 o.makes.sure.that.library.is....
3b540 20 20 61 76 61 69 6c 61 62 6c 65 20 61 6e 64 20 63 61 6e 20 62 65 20 6c 6f 61 64 65 64 2e 20 20 ..available.and.can.be.loaded...
3b560 4c 69 73 70 20 70 72 6f 67 72 61 6d 73 20 74 68 61 74 20 6e 65 65 64 20 74 6f 20 6b 6e 6f 77 20 Lisp.programs.that.need.to.know.
3b580 75 70 0a 20 20 20 20 20 66 72 6f 6e 74 20 77 68 65 74 68 65 72 20 6e 61 74 69 76 65 2d 63 6f 6d up......front.whether.native-com
3b5a0 70 69 6c 61 74 69 6f 6e 20 69 73 20 61 76 61 69 6c 61 62 6c 65 20 73 68 6f 75 6c 64 20 75 73 65 pilation.is.available.should.use
3b5c0 20 74 68 69 73 0a 20 20 20 20 20 70 72 65 64 69 63 61 74 65 2e 0a 0a 20 2d 2d 20 4d 61 63 72 6f .this......predicate....--.Macro
3b5e0 3a 20 77 69 74 68 2d 77 69 6e 64 6f 77 2d 6e 6f 6e 2d 64 65 64 69 63 61 74 65 64 20 77 69 6e 64 :.with-window-non-dedicated.wind
3b600 6f 77 20 26 72 65 73 74 20 62 6f 64 79 0a 20 20 20 20 20 45 76 61 6c 75 61 74 65 20 42 4f 44 59 ow.&rest.body......Evaluate.BODY
3b620 20 77 69 74 68 20 57 49 4e 44 4f 57 20 74 65 6d 70 6f 72 61 72 69 6c 79 20 6d 61 64 65 20 6e 6f .with.WINDOW.temporarily.made.no
3b640 6e 2d 64 65 64 69 63 61 74 65 64 2e 20 20 49 66 0a 20 20 20 20 20 57 49 4e 44 4f 57 20 69 73 20 n-dedicated...If......WINDOW.is.
3b660 6e 69 6c 2c 20 75 73 65 20 74 68 65 20 73 65 6c 65 63 74 65 64 20 77 69 6e 64 6f 77 2e 20 20 52 nil,.use.the.selected.window...R
3b680 65 74 75 72 6e 20 74 68 65 20 76 61 6c 75 65 20 6f 66 20 74 68 65 0a 20 20 20 20 20 6c 61 73 74 eturn.the.value.of.the......last
3b6a0 20 66 6f 72 6d 20 69 6e 20 42 4f 44 59 2e 0a 0a 32 2e 34 2e 32 20 45 78 74 65 6e 64 65 64 20 44 .form.in.BODY...2.4.2.Extended.D
3b6c0 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 2d efinitions.---------------------
3b6e0 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 63 -----..These.functions.must.be.c
3b700 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 63 alled.explicitly.via....compat-c
3b720 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 76 all...,.since.their.calling.conv
3b740 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 20 ention.or.behavior.was.extended.
3b760 69 6e 20 45 6d 61 63 73 20 32 38 2e 31 3a 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 63 6f in.Emacs.28.1:...--.Function:.co
3b780 6d 70 61 74 2d 63 61 6c 6c 20 73 74 72 69 6e 67 2d 77 69 64 74 68 20 73 74 72 69 6e 67 20 26 6f mpat-call.string-width.string.&o
3b7a0 70 74 69 6f 6e 61 6c 20 66 72 6f 6d 20 74 6f 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 ptional.from.to......This.functi
3b7c0 6f 6e 20 72 65 74 75 72 6e 73 20 74 68 65 20 77 69 64 74 68 20 69 6e 20 63 6f 6c 75 6d 6e 73 20 on.returns.the.width.in.columns.
3b7e0 6f 66 20 74 68 65 20 73 74 72 69 6e 67 20 53 54 52 49 4e 47 2c 20 69 66 0a 20 20 20 20 20 69 74 of.the.string.STRING,.if......it
3b800 20 77 65 72 65 20 64 69 73 70 6c 61 79 65 64 20 69 6e 20 74 68 65 20 63 75 72 72 65 6e 74 20 62 .were.displayed.in.the.current.b
3b820 75 66 66 65 72 20 61 6e 64 20 74 68 65 20 73 65 6c 65 63 74 65 64 20 77 69 6e 64 6f 77 2e 0a 20 uffer.and.the.selected.window...
3b840 20 20 20 20 4f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73 20 46 52 4f 4d 20 61 6e 64 20 ....Optional.arguments.FROM.and.
3b860 54 4f 20 73 70 65 63 69 66 79 20 74 68 65 20 73 75 62 73 74 72 69 6e 67 20 6f 66 20 53 54 52 49 TO.specify.the.substring.of.STRI
3b880 4e 47 20 74 6f 0a 20 20 20 20 20 63 6f 6e 73 69 64 65 72 2c 20 61 6e 64 20 61 72 65 20 69 6e 74 NG.to......consider,.and.are.int
3b8a0 65 72 70 72 65 74 65 64 20 61 73 20 69 6e 20 e2 80 98 73 75 62 73 74 72 69 6e 67 e2 80 99 20 28 erpreted.as.in....substring....(
3b8c0 2a 6e 6f 74 65 0a 20 20 20 20 20 28 65 6c 69 73 70 29 43 72 65 61 74 69 6e 67 20 53 74 72 69 6e *note......(elisp)Creating.Strin
3b8e0 67 73 3a 3a 29 2e 0a 0a 20 20 20 20 20 54 68 65 20 72 65 74 75 72 6e 20 76 61 6c 75 65 20 69 73 gs::)........The.return.value.is
3b900 20 61 6e 20 61 70 70 72 6f 78 69 6d 61 74 69 6f 6e 3a 20 69 74 20 6f 6e 6c 79 20 63 6f 6e 73 69 .an.approximation:.it.only.consi
3b920 64 65 72 73 20 74 68 65 20 76 61 6c 75 65 73 0a 20 20 20 20 20 72 65 74 75 72 6e 65 64 20 62 79 ders.the.values......returned.by
3b940 20 e2 80 98 63 68 61 72 2d 77 69 64 74 68 e2 80 99 20 66 6f 72 20 74 68 65 20 63 6f 6e 73 74 69 ....char-width....for.the.consti
3b960 74 75 65 6e 74 20 63 68 61 72 61 63 74 65 72 73 2c 20 61 6c 77 61 79 73 0a 20 20 20 20 20 74 61 tuent.characters,.always......ta
3b980 6b 65 73 20 61 20 74 61 62 20 63 68 61 72 61 63 74 65 72 20 61 73 20 74 61 6b 69 6e 67 20 e2 80 kes.a.tab.character.as.taking...
3b9a0 98 74 61 62 2d 77 69 64 74 68 e2 80 99 20 63 6f 6c 75 6d 6e 73 2c 20 69 67 6e 6f 72 65 73 0a 20 .tab-width....columns,.ignores..
3b9c0 20 20 20 20 64 69 73 70 6c 61 79 20 70 72 6f 70 65 72 74 69 65 73 20 61 6e 64 20 66 6f 6e 74 73 ....display.properties.and.fonts
3b9e0 2c 20 65 74 63 2e 0a 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 53 69 7a 65 20 6f ,.etc........*Note.(elisp)Size.o
3ba00 66 20 44 69 73 70 6c 61 79 65 64 20 54 65 78 74 3a 3a 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 63 f.Displayed.Text::........This.c
3ba20 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 65 ompatibility.version.handles.the
3ba40 20 6f 70 74 69 6f 6e 61 6c 20 61 72 67 75 6d 65 6e 74 73 20 46 52 4f 4d 20 61 6e 64 0a 20 20 20 .optional.arguments.FROM.and....
3ba60 20 20 54 4f 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c ..TO....--.Function:.compat-call
3ba80 20 63 6f 75 6e 74 2d 77 69 6e 64 6f 77 73 0a 20 20 20 20 20 52 65 74 75 72 6e 20 74 68 65 20 6e .count-windows......Return.the.n
3baa0 75 6d 62 65 72 20 6f 66 20 6c 69 76 65 20 77 69 6e 64 6f 77 73 20 6f 6e 20 74 68 65 20 73 65 6c umber.of.live.windows.on.the.sel
3bac0 65 63 74 65 64 20 66 72 61 6d 65 2e 0a 0a 20 20 20 20 20 54 68 65 20 6f 70 74 69 6f 6e 61 6c 20 ected.frame........The.optional.
3bae0 61 72 67 75 6d 65 6e 74 20 4d 49 4e 49 42 55 46 20 73 70 65 63 69 66 69 65 73 20 77 68 65 74 68 argument.MINIBUF.specifies.wheth
3bb00 65 72 20 74 68 65 20 6d 69 6e 69 62 75 66 66 65 72 0a 20 20 20 20 20 77 69 6e 64 6f 77 20 69 73 er.the.minibuffer......window.is
3bb20 20 69 6e 63 6c 75 64 65 64 20 69 6e 20 74 68 65 20 63 6f 75 6e 74 2e 0a 0a 20 20 20 20 20 49 66 .included.in.the.count........If
3bb40 20 41 4c 4c 2d 46 52 41 4d 45 53 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 63 6f .ALL-FRAMES.is.non-...nil...,.co
3bb60 75 6e 74 20 74 68 65 20 77 69 6e 64 6f 77 73 20 69 6e 20 61 6c 6c 20 66 72 61 6d 65 73 20 69 6e unt.the.windows.in.all.frames.in
3bb80 73 74 65 61 64 0a 20 20 20 20 20 6a 75 73 74 20 74 68 65 20 73 65 6c 65 63 74 65 64 20 66 72 61 stead......just.the.selected.fra
3bba0 6d 65 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 63 6f 6d 70 61 74 69 62 69 6c 69 74 79 20 76 65 72 me........This.compatibility.ver
3bbc0 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 65 sion.handles.the.optional.argume
3bbe0 6e 74 0a 20 20 20 20 20 41 4c 4c 2d 46 52 41 4d 45 53 2e 0a 0a 32 2e 34 2e 33 20 4d 69 73 73 69 nt......ALL-FRAMES...2.4.3.Missi
3bc00 6e 67 20 44 65 66 69 6e 69 74 69 6f 6e 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ng.Definitions.-----------------
3bc20 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 43 6f 6d 70 61 74 20 64 6f 65 73 20 6e 6f 74 20 70 72 6f 76 69 64 --------..Compat.does.not.provid
3bc40 65 20 73 75 70 70 6f 72 74 20 66 6f 72 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 4c 69 73 70 e.support.for.the.following.Lisp
3bc60 20 66 65 61 74 75 72 65 73 0a 69 6d 70 6c 65 6d 65 6e 74 65 64 20 69 6e 20 32 38 2e 31 3a 0a 0a .features.implemented.in.28.1:..
3bc80 20 20 20 e2 80 a2 20 53 75 70 70 6f 72 74 20 66 6f 72 20 e2 80 98 69 6e 74 65 72 61 63 74 69 76 .......Support.for....interactiv
3bca0 65 e2 80 99 20 6f 72 20 e2 80 98 64 65 63 6c 61 72 65 e2 80 99 20 74 6f 20 6c 69 73 74 20 61 70 e....or....declare....to.list.ap
3bcc0 70 6c 69 63 61 62 6c 65 20 6d 6f 64 65 73 2e 0a 20 20 20 e2 80 a2 20 53 75 70 70 6f 72 74 20 66 plicable.modes.........Support.f
3bce0 6f 72 20 e2 80 98 3a 69 6e 74 65 72 61 63 74 69 76 65 e2 80 99 20 61 72 67 75 6d 65 6e 74 20 74 or....:interactive....argument.t
3bd00 6f 20 e2 80 98 64 65 66 69 6e 65 2d 6d 69 6e 6f 72 2d 6d 6f 64 65 e2 80 99 20 61 6e 64 0a 20 20 o....define-minor-mode....and...
3bd20 20 20 20 e2 80 98 64 65 66 69 6e 65 2d 64 65 72 69 76 65 64 2d 6d 6f 64 65 e2 80 99 2e 0a 20 20 ......define-derived-mode.......
3bd40 20 e2 80 a2 20 53 75 70 70 6f 72 74 20 66 6f 72 20 e2 80 98 3a 70 72 65 64 69 63 61 74 65 e2 80 .....Support.for....:predicate..
3bd60 99 20 61 72 67 75 6d 65 6e 74 20 74 6f 0a 20 20 20 20 20 e2 80 98 64 65 66 69 6e 65 2d 67 6c 6f ..argument.to.........define-glo
3bd80 62 61 6c 69 7a 65 64 2d 6d 69 6e 6f 72 2d 6d 6f 64 65 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 53 75 balized-minor-mode............Su
3bda0 70 70 6f 72 74 20 66 6f 72 20 74 68 65 20 e2 80 98 3a 73 75 63 63 65 73 73 e2 80 99 20 68 61 6e pport.for.the....:success....han
3bdc0 64 6c 65 72 20 6f 66 20 e2 80 98 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 e2 80 99 2e 0a 20 20 dler.of....condition-case.......
3bde0 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 62 65 6e 63 68 6d 61 72 6b 2d 63 .....The.function....benchmark-c
3be00 61 6c 6c e2 80 99 2e 0a 20 20 20 e2 80 a2 20 41 64 64 69 74 69 6f 6e 61 6c 20 45 64 65 62 75 67 all............Additional.Edebug
3be20 20 6b 65 79 77 6f 72 64 73 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 6c 69 62 6a 61 6e 73 73 6f 6e .keywords.........The.libjansson
3be40 20 4a 53 4f 4e 20 41 50 49 73 2c 20 65 2e 67 2e 2c 20 e2 80 98 6a 73 6f 6e 2d 70 61 72 73 65 2d .JSON.APIs,.e.g.,....json-parse-
3be60 73 74 72 69 6e 67 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 6d 61 63 72 6f 20 e2 80 98 70 string............The.macro....p
3be80 63 61 73 65 2d 73 65 74 71 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f case-setq............The.functio
3bea0 6e 20 e2 80 98 63 75 73 74 6f 6d 2d 61 64 64 2d 63 68 6f 69 63 65 e2 80 99 2e 0a 20 20 20 e2 80 n....custom-add-choice..........
3bec0 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 73 20 e2 80 98 64 6f 6d 2d 70 72 69 6e 74 e2 80 99 20 ..The.functions....dom-print....
3bee0 61 6e 64 20 e2 80 98 64 6f 6d 2d 72 65 6d 6f 76 65 2d 61 74 74 72 69 62 75 74 65 e2 80 99 2e 0a and....dom-remove-attribute.....
3bf00 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 64 6e 73 2d 71 75 65 72 79 .......The.function....dns-query
3bf20 2d 61 73 79 6e 63 68 72 6f 6e 6f 75 73 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e -asynchronous............The.fun
3bf40 63 74 69 6f 6e 20 e2 80 98 67 65 74 2d 6c 6f 63 61 6c 65 2d 6e 61 6d 65 73 e2 80 99 2e 0a 20 20 ction....get-locale-names.......
3bf60 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 73 20 e2 80 98 6d 61 69 6c 2d 68 65 61 64 65 .....The.functions....mail-heade
3bf80 72 2d 70 61 72 73 65 2d 61 64 64 72 65 73 73 65 73 2d 6c 61 78 e2 80 99 20 61 6e 64 0a 20 20 20 r-parse-addresses-lax....and....
3bfa0 20 20 e2 80 98 6d 61 69 6c 2d 68 65 61 64 65 72 2d 70 61 72 73 65 2d 61 64 64 72 65 73 73 2d 6c .....mail-header-parse-address-l
3bfc0 61 78 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 6e 75 ax............The.function....nu
3bfe0 6d 2d 70 72 6f 63 65 73 73 6f 72 73 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 m-processors............The.func
3c000 74 69 6f 6e 20 e2 80 98 6f 62 6a 65 63 74 2d 69 6e 74 65 72 76 61 6c 73 e2 80 99 2e 0a 20 20 20 tion....object-intervals........
3c020 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 72 65 71 75 69 72 65 2d 74 68 65 6d ....The.function....require-them
3c040 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 73 79 6e e............The.function....syn
3c060 74 61 78 2d 63 6c 61 73 73 2d 74 6f 2d 63 68 61 72 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 tax-class-to-char............The
3c080 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 70 61 74 68 2d 73 65 70 61 72 61 74 6f 72 e2 80 99 2e 0a .function....path-separator.....
3c0a0 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 6e 75 6c 6c 2d 64 65 76 69 .......The.function....null-devi
3c0c0 63 65 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 6d 61 ce............The.function....ma
3c0e0 63 72 6f 65 78 70 2d 63 6f 6d 70 69 6c 69 6e 67 2d 70 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 croexp-compiling-p............Th
3c100 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 73 70 6c 69 74 2d 73 74 72 69 6e 67 2d 73 68 65 6c 6c e.function....split-string-shell
3c120 2d 63 6f 6d 6d 61 6e 64 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e -command............The.function
3c140 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 65 20 ....string-limit............The.
3c160 66 75 6e 63 74 69 6f 6e 73 20 e2 80 98 69 6e 6e 65 72 6d 6f 73 74 2d 6d 69 6e 69 62 75 66 66 65 functions....innermost-minibuffe
3c180 72 2d 70 e2 80 99 20 61 6e 64 0a 20 20 20 20 20 e2 80 98 6d 69 6e 69 62 75 66 66 65 72 2d 69 6e r-p....and.........minibuffer-in
3c1a0 6e 65 72 6d 6f 73 74 2d 63 6f 6d 6d 61 6e 64 2d 6c 6f 6f 70 2d 70 e2 80 99 2e 0a 20 20 20 e2 80 nermost-command-loop-p..........
3c1c0 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 e2 80 98 6d 61 78 2d 6d 69 6e 69 2d 77 69 6e 64 6f ..The.function....max-mini-windo
3c1e0 77 2d 6c 69 6e 65 73 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 66 75 6e 63 74 69 6f 6e 20 w-lines............The.function.
3c200 e2 80 98 6c 6f 63 6b 2d 66 69 6c 65 e2 80 99 20 61 6e 64 20 e2 80 98 75 6e 6c 6f 63 6b 2d 66 69 ...lock-file....and....unlock-fi
3c220 6c 65 e2 80 99 2e 0a 20 20 20 e2 80 a2 20 54 68 65 20 e2 80 98 6d 75 6c 74 69 73 65 73 73 69 6f le............The....multisessio
3c240 6e e2 80 99 20 6c 69 62 72 61 72 79 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 71 31 61 68 5a 52 n....library.....File:.docq1ahZR
3c260 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 45 6d 61 63 73 20 32 39 2e 31 2c 20 20 50 72 65 76 3a .info,..Node:.Emacs.29.1,..Prev:
3c280 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 2e 35 20 45 .Emacs.28.1,..Up:.Support..2.5.E
3c2a0 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 35 2e 31 20 macs.29.1.==============..2.5.1.
3c2c0 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.--------------
3c2e0 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
3c300 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
3c320 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 73 20 61 72 .Emacs.29.1...These.functions.ar
3c340 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
3c360 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 2e 20 20 4e acs.versions.older.than.29.1...N
3c380 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
3c3a0 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
3c3c0 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
3c3e0 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 20 e.these.functions.with.care.....
3c400 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 98 6b 65 79 .The....defcustom....type....key
3c420 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 20 69 73 20 ....introduced.in.Emacs.29.1.is.
3c440 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 2d 2d 20 56 made.available.by.Compat....--.V
3c460 61 72 69 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 ariable:.lisp-directory......Thi
3c480 73 20 76 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 s.variable.holds.a.string.naming
3c4a0 20 74 68 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 .the.directory.which.holds......
3c4c0 45 6d 61 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 Emacs...s.own....*.el....and....
3c4e0 2a 2e 65 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 *.elc....files...This.is.usually
3c500 20 74 68 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 .the.place......where.those.file
3c520 73 20 61 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 s.are.located.in.the.Emacs.insta
3c540 6c 6c 61 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 llation.tree,......unless.Emacs.
3c560 69 73 20 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 is.run.from.its.build.directory.
3c580 69 6e 20 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 in.which.case.it......points.to.
3c5a0 74 68 65 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 the....lisp....subdirectory.in.t
3c5c0 68 65 20 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 he.source.directory.from......wh
3c5e0 69 63 68 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 ich.Emacs.was.built....--.Functi
3c600 6f 6e 3a 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 on:.count-sentences.start.end...
3c620 20 20 20 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 ...Count.sentences.in.current.bu
3c640 66 66 65 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 ffer.from.START.to.END....--.Fun
3c660 63 74 69 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 ction:.readablep.object......Thi
3c680 73 20 70 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 s.predicate.says.whether.OBJECT.
3c6a0 68 61 73 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 has....readable.syntax...,.i.e.,
3c6c0 20 69 74 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 .it......can.be.written.out.and.
3c6e0 74 68 65 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 then.read.back.by.the.Emacs.Lisp
3c700 20 72 65 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 .reader...If......it.can...t,.th
3c720 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 e2 80 98 6e 69 6c e2 80 99 3b 20 69 is.function.returns....nil...;.i
3c740 66 20 69 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 f.it.can,.this.function......ret
3c760 75 72 6e 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 urns.a.printed.representation.(v
3c780 69 61 20 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 ia....prin1...)....--.Function:.
3c7a0 73 75 62 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 substitute-quotes.string......Th
3c7c0 69 73 20 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 is.function.works.like....substi
3c7e0 74 75 74 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 tute-command-keys...,.but.only..
3c800 20 20 20 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 ....replaces.quote.characters...
3c820 20 2d 2d 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 .--.Function:.get-scratch-buffer
3c840 2d 63 72 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 -create......Return.the.*scratch
3c860 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 65 20 69 66 20 *.buffer,.creating.a.new.one.if.
3c880 6e 65 65 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 needed....--.Function:.use-regio
3c8a0 6e 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 n-noncontiguous-p......Return.no
3c8c0 6e 2d 6e 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 n-nil.for.a.non-contiguous.regio
3c8e0 6e 20 69 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 n.if....use-region-p.......--.Fu
3c900 6e 63 74 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 nction:.use-region-end......Retu
3c920 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 20 e2 80 98 75 rn.the.end.of.the.region.if....u
3c940 73 65 2d 72 65 67 69 6f 6e 2d 70 e2 80 99 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 75 se-region-p.......--.Function:.u
3c960 73 65 2d 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 se-region-beginning......Return.
3c980 74 68 65 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 the.start.of.the.region.if....us
3c9a0 65 2d 72 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 e-region-p.......--.Macro:.buffe
3c9c0 72 2d 6c 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 r-local-set-state.variable.value
3c9e0 2e 2e 2e 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 .........Minor.modes.often.set.b
3ca00 75 66 66 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 uffer-local.variables.that.affec
3ca20 74 20 73 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 t.some......features.in.Emacs...
3ca40 57 68 65 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 When.a.minor.mode.is.switched.of
3ca60 66 2c 20 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 f,.the.mode.is......expected.to.
3ca80 72 65 73 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 restore.the.previous.state.of.th
3caa0 65 73 65 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 ese.variables...This......conven
3cac0 69 65 6e 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 ience.macro.helps.with.doing.tha
3cae0 74 3a 20 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 t:.It.works.much.like.........se
3cb00 74 71 2d 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 tq-local...,.but.returns.an.obje
3cb20 63 74 20 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 ct.that.can.be.used.to.restore..
3cb40 20 20 20 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 ....these.values.back.to.their.p
3cb60 72 65 76 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 revious.values/states.(using.the
3cb80 0a 20 20 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 ......companion.function....buff
3cba0 65 72 2d 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 er-local-restore-state...)....--
3cbc0 20 46 75 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 .Function:.delete-line......Dele
3cbe0 74 65 20 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 te.the.current.line....--.Functi
3cc00 6f 6e 3a 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 on:.list-of-strings-p.object....
3cc20 20 20 52 65 74 75 72 6e 20 e2 80 98 74 e2 80 99 20 69 66 20 4f 42 4a 45 43 54 20 69 73 20 e2 80 ..Return....t....if.OBJECT.is...
3cc40 98 6e 69 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 .nil....or.a.list.of.strings....
3cc60 2d 2d 20 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 --.Function:.plistp.object......
3cc80 4e 6f 6e 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 Non-nil.if.and.only.if.OBJECT.is
3cca0 20 61 20 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 .a.valid.plist....--.Macro:.with
3ccc0 2d 6d 65 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 -memoization.PLACE.CODE.........
3cce0 54 68 69 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 This.macro.provides.a.simple.way
3cd00 20 74 6f 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 .to.do.memoization...CODE.is....
3cd20 20 20 65 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 ..evaluated.and.then.stashed.in.
3cd40 50 4c 41 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 PLACE...If.PLACE...s.value.is...
3cd60 20 20 20 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 ...non-...nil...,.return.that.va
3cd80 6c 75 65 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 lue.instead.of.evaluating.CODE..
3cda0 0a 20 2d 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 ..--.Special.Form:.with-restrict
3cdc0 69 6f 6e 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 ion.start.end.[:label.label].bod
3cde0 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 20 74 y......This.special.form.saves.t
3ce00 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 73 69 he.current.bounds.of.the.accessi
3ce20 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 2c 20 ble......portion.of.the.buffer,.
3ce40 73 65 74 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 sets.the.accessible.portion.to.s
3ce60 74 61 72 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 tart.at......START.and.end.at.EN
3ce80 44 2c 20 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 D,.evaluates.the.BODY.forms,.and
3cea0 20 72 65 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 .restores.the......saved.bounds.
3cec0 20 20 49 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 ..In.that.case.it.is.equivalent.
3cee0 74 6f 0a 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 to............(save-restriction.
3cf00 20 20 20 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 ............(narrow-to-region.st
3cf20 61 72 74 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 art.end).............body)......
3cf40 20 57 68 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 .When.the.optional.argument.LABE
3cf60 4c 2c 20 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 L,.a.symbol,.is.present,.the....
3cf80 20 20 6e 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 ..narrowing.is....labeled......A
3cfa0 20 6c 61 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 .labeled.narrowing.differs.from.
3cfc0 61 0a 20 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 a......non-labeled.one.in.severa
3cfe0 6c 20 77 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 l.ways:..............During.the.
3d000 65 76 61 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 evaluation.of.the.BODY.form,....
3d020 6e 61 72 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 narrow-to-region....and.........
3d040 20 20 e2 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 .....widen....can.be.used.only.w
3d060 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 74 73 2e 0a ithin.the.START.and.END.limits..
3d080 0a 20 20 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 .............To.lift.the.restric
3d0a0 74 69 6f 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 tion.introduced.by....with-restr
3d0c0 69 63 74 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 iction....and...........gain.acc
3d0e0 65 73 73 20 74 6f 20 6f 74 68 65 72 20 70 6f 72 74 69 6f 6e 73 20 6f 66 20 74 68 65 20 62 75 66 ess.to.other.portions.of.the.buf
3d100 66 65 72 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 fer,.use..............without-re
3d120 73 74 72 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 striction....with.the.same.LABEL
3d140 20 61 72 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 .argument...(Another...........w
3d160 61 79 20 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 ay.to.gain.access.to.other.porti
3d180 6f 6e 73 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 ons.of.the.buffer.is.to.use.....
3d1a0 20 20 20 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 ......an.indirect.buffer.(*note.
3d1c0 28 65 6c 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 (elisp)Indirect.Buffers::).)....
3d1e0 20 20 20 20 20 20 e2 80 a2 20 4c 61 62 65 6c 65 64 20 6e 61 72 72 6f 77 69 6e 67 73 20 63 61 6e ..........Labeled.narrowings.can
3d200 20 62 65 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 .be.nested...............Labeled
3d220 20 6e 61 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 .narrowings.can.only.be.used.in.
3d240 4c 69 73 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 Lisp.programs:.they.are.........
3d260 20 20 6e 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 ..never.visible.on.display,.and.
3d280 6e 65 76 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 never.interfere.with.narrowings.
3d2a0 20 20 20 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 ..........set.by.the.user.......
3d2c0 20 49 66 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 .If.you.use....with-restriction.
3d2e0 80 99 20 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 ...with.the.optional.LABEL.argum
3d300 65 6e 74 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 ent,.we......recommend.documenti
3d320 6e 67 20 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 ng.the.LABEL.in.the.doc.strings.
3d340 6f 66 20 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 of.the.functions......which.use.
3d360 69 74 2c 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 it,.so.that.other.Lisp.programs.
3d380 79 6f 75 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 your.code.calls.could......lift.
3d3a0 74 68 65 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 the.labeled.narrowing.if.and.whe
3d3c0 6e 20 69 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 n.it.needs....--.Special.Form:.w
3d3e0 69 74 68 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 ithout-restriction.[:label.label
3d400 5d 20 62 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 ].body......This.special.form.sa
3d420 76 65 73 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 ves.the.current.bounds.of.the.ac
3d440 63 65 73 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 cessible......portion.of.the.buf
3d460 66 65 72 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 fer,.widens.the.buffer,.evaluate
3d480 73 20 74 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 s.the.BODY.forms,......and.resto
3d4a0 72 65 73 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 res.the.saved.bounds...In.that.c
3d4c0 61 73 65 20 69 74 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 0a 0a 20 20 20 20 20 20 20 ase.it.is.equivalent.to.........
3d4e0 20 20 20 28 73 61 76 65 2d 72 65 73 74 72 69 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 ...(save-restriction............
3d500 20 28 77 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 .(widen).............body)......
3d520 20 57 68 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 .When.the.optional.argument.LABE
3d540 4c 20 69 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 L.is.present,.the.narrowing.set.
3d560 62 79 0a 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 by.........with-restriction....w
3d580 69 74 68 20 74 68 65 20 73 61 6d 65 20 4c 41 42 45 4c 20 61 72 67 75 6d 65 6e 74 20 69 73 20 6c ith.the.same.LABEL.argument.is.l
3d5a0 69 66 74 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 ifted....--.Function:.pos-bol.&o
3d5c0 70 74 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 ptional.count......Like....line-
3d5e0 62 65 67 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 beginning-position...,.but.ignor
3d600 65 73 20 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 es.fields.(and.is.more......effi
3d620 63 69 65 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 cient)....--.Function:.pos-eol.&
3d640 6f 70 74 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 optional.count......Like....line
3d660 2d 65 6e 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 -end-position...,.but.ignores.fi
3d680 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 6e 74 elds.(and.is.more......efficient
3d6a0 29 2e 0a 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 )....--.Function:.char-uppercase
3d6c0 2d 70 20 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 -p.char......Return.non-...nil..
3d6e0 99 20 69 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 ..if.CHAR.is.an.uppercase.charac
3d700 74 65 72 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 ter.according.to......Unicode...
3d720 20 2d 2d 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 .--.Macro:.with-delayed-message.
3d740 28 74 69 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 (timeout.message).body.........S
3d760 6f 6d 65 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 ometimes.it...s.unclear.whether.
3d780 61 6e 20 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 an.operation.will.take.a.long.ti
3d7a0 6d 65 0a 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 me......to.execute.or.not,.or.it
3d7c0 20 63 61 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 .can.be.inconvenient.to.implemen
3d7e0 74 20 61 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 t.a......progress.reporter...Thi
3d800 73 20 6d 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 s.macro.can.be.used.in.those.sit
3d820 75 61 74 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 uations.............(with-delaye
3d840 64 2d 6d 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 d-message.(2.(format."Gathering.
3d860 64 61 74 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 data.for.%s".entry))............
3d880 20 28 73 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 .(setq.data.(gather-data.entry))
3d8a0 29 0a 0a 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 ).......In.this.example,.if.the.
3d8c0 62 6f 64 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 body.takes.more.than.two.seconds
3d8e0 20 74 6f 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 .to......execute,.the.message.wi
3d900 6c 6c 20 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 ll.be.displayed...If.it.takes.a.
3d920 73 68 6f 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 shorter.time......than.that,.the
3d940 20 6d 65 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 .message.won...t.be.displayed...
3d960 49 6e 20 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 In.either.case,.the......body.is
3d980 20 65 76 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 .evaluated.as.normally,.and.the.
3d9a0 72 65 74 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 return.value.of.the.final......e
3d9c0 6c 65 6d 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 lement.in.the.body.is.the.return
3d9e0 20 76 61 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 .value.of.the.macro........The.M
3da00 45 53 53 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 ESSAGE.element.is.evaluated.befo
3da20 72 65 20 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 re.BODY,.and.is.always......eval
3da40 75 61 74 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 uated,.whether.the.message.is.di
3da60 73 70 6c 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 splayed.or.not....--.Function:.f
3da80 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 20 74 69 6d 65 uncall-with-delayed-message.time
3daa0 6f 75 74 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 out.message.function......Like..
3dac0 80 98 66 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 ..funcall...,.but.display.MESSAG
3dae0 45 20 69 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 E.if.FUNCTION.takes.longer.than.
3db00 20 20 20 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 .....TIMEOUT...TIMEOUT.is.a.numb
3db20 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 6e 74 er.of.seconds,.and.can.be.an.int
3db40 65 67 65 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 eger.or......a.floating.point.nu
3db60 6d 62 65 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 mber........If.FUNCTION.takes.le
3db80 73 73 20 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 ss.time.to.execute.than.TIMEOUT.
3dba0 73 65 63 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 seconds,......MESSAGE.is.not.dis
3dbc0 70 6c 61 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 played....--.Function:.buttonize
3dbe0 20 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 20 64 61 74 61 20 .string.callback.&optional.data.
3dc00 68 65 6c 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 help-echo......Sometimes.it...s.
3dc20 6d 6f 72 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 more.convenient.to.make.a.string
3dc40 20 69 6e 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 .into.a.button......without.inse
3dc60 72 74 69 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 rting.it.into.a.buffer.immediate
3dc80 6c 79 2c 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 ly,.for.instance.when......creat
3dca0 69 6e 67 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 ing.data.structures.that.may.the
3dcc0 6e 2c 20 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 n,.later,.be.inserted.into.a....
3dce0 20 20 62 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 ..buffer...This.function.makes.S
3dd00 54 52 49 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 TRING.into.such.a.string,.and...
3dd20 20 20 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 68 65 6e 20 ...CALLBACK.will.be.called.when.
3dd40 74 68 65 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 the.user.clicks.on.the.button...
3dd60 54 68 65 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 The......optional.DATA.parameter
3dd80 20 77 69 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 .will.be.used.as.the.parameter.w
3dda0 68 65 6e 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 hen.CALLBACK......is.called...If
3ddc0 20 e2 80 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 ....nil...,.the.button.is.used.a
3dde0 73 20 74 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 s.the.parameter.instead....--.Fu
3de00 6e 63 74 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 nction:.buttonize-region.start.e
3de20 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 0a 20 20 20 20 20 nd.callback.&optional.data......
3de40 20 20 20 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 .....help-echo......Make.the.reg
3de60 69 6f 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 ion.between.START.and.END.into.a
3de80 20 62 75 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 .button...When.clicked,......CAL
3dea0 4c 42 41 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 LBACK.will.be.called.with.the.DA
3dec0 54 41 20 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 TA.as.the.function.argument...If
3dee0 0a 20 20 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 ......DATA.isn...t.present.(or.i
3df00 73 20 6e 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 s.nil),.the.button.itself.will.b
3df20 65 20 75 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 e.used......instead.as.the.funct
3df40 69 6f 6e 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 ion.argument...If.HELP-ECHO,.use
3df60 20 74 68 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 .that.as.the......help-echo.prop
3df80 65 72 74 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 erty....--.Function:.get-display
3dfa0 2d 70 72 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 -property.position.prop.&optiona
3dfc0 6c 20 6f 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 l.object...........properties...
3dfe0 20 20 20 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 ...This.convenience.function.can
3e000 20 62 65 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 .be.used.to.get.a.specific.displ
3e020 61 79 0a 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 ay......property,.no.matter.whet
3e040 68 65 72 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 her.the....display....property.i
3e060 73 20 61 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 s.a.vector,.a......list.or.a.sim
3e080 70 6c 65 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 ple.property...This.is.like....g
3e0a0 65 74 2d 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 et-text-property....(*note......
3e0c0 45 78 61 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 Examining.Properties:.(elisp)Exa
3e0e0 6d 69 6e 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 mining.Properties.),.but.works.o
3e100 6e 0a 20 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 n......the....display....propert
3e120 79 20 6f 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 y.only........POSITION.is.the.po
3e140 73 69 74 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 sition.in.the.buffer.or.string.t
3e160 6f 20 65 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 o.examine,.and......PROP.is.the.
3e180 e2 80 98 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 ...display....property.to.return
3e1a0 2e 20 20 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 ...The.optional.OBJECT......argu
3e1c0 6d 65 6e 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 ment.should.be.either.a.string.o
3e1e0 72 20 61 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 r.a.buffer,.and.defaults.to.the.
3e200 20 20 20 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 .....current.buffer...If.the.opt
3e220 69 6f 6e 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 ional.PROPERTIES.argument.is.non
3e240 2d e2 80 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 -...nil...,......it.should.be.a.
3e260 e2 80 98 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 ...display....property,.and.in.t
3e280 68 61 74 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 hat.case,.POSITION.and......OBJE
3e2a0 43 54 20 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 CT.are.ignored...(This.can.be.us
3e2c0 65 66 75 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 eful.if.you...ve.already.gotten.
3e2e0 20 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 .....the....display....property.
3e300 77 69 74 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 with....get-char-property...,.fo
3e320 72 20 69 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 r.instance......(*note.Examining
3e340 20 50 72 6f 70 65 72 74 69 65 73 3a 20 28 65 6c 69 73 70 29 45 78 61 6d 69 6e 69 6e 67 20 50 72 .Properties:.(elisp)Examining.Pr
3e360 6f 70 65 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 operties.)....--.Function:.add-d
3e380 69 73 70 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 isplay-text-property.start.end.p
3e3a0 72 6f 70 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 rop.value.&optional...........ob
3e3c0 6a 65 63 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 ject......Add.display.property.P
3e3e0 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 6d 20 ROP.with.VALUE.to.the.text.from.
3e400 53 54 41 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 START.to.END.......If.any.text.i
3e420 6e 20 74 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 n.the.region.has.a.non-nil....di
3e440 73 70 6c 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 splay....property,.those......pr
3e460 6f 70 65 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 operties.are.retained........If.
3e480 4f 42 4a 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 OBJECT.is.non-...nil...,.it.shou
3e4a0 6c 64 20 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 ld.be.a.string.or.a.buffer...If.
3e4c0 20 20 20 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 ........nil...,.this.defaults.to
3e4e0 20 74 68 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 .the.current.buffer....--.Functi
3e500 6f 6e 3a 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 on:.take.n.list......This.functi
3e520 6f 6e 20 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 on.returns.the.N.first.elements.
3e540 6f 66 20 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 of.LIST...Essentially,......it.r
3e560 65 74 75 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 eturns.the.part.of.LIST.that....
3e580 6e 74 68 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 nthcdr....skips...........take..
3e5a0 99 20 72 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 ..returns.LIST.if.shorter.than.N
3e5c0 20 65 6c 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 .elements;.it.returns....nil....
3e5e0 69 66 0a 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 if......N.is.zero.or.negative...
3e600 20 20 20 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 ..........(take.3.'(a.b.c.d))...
3e620 20 20 20 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 .................(a.b.c)........
3e640 20 20 20 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 ...(take.10.'(a.b.c.d)).........
3e660 20 20 20 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 ...........(a.b.c.d)...........(
3e680 74 61 6b 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 take.0.'(a.b.c.d))..............
3e6a0 20 20 e2 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 ......nil...--.Function:.ntake.n
3e6c0 20 6c 69 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 .list......This.is.a.version.of.
3e6e0 e2 80 98 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 ...take....that.works.by.destruc
3e700 74 69 76 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 tively.modifying......the.list.s
3e720 74 72 75 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 tructure.of.the.argument...That.
3e740 6d 61 6b 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 makes.it.faster,.but.the......or
3e760 69 67 69 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 iginal.value.of.LIST.may.be.lost
3e780 2e 0a 0a 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 ...........ntake....returns.LIST
3e7a0 20 75 6e 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 .unmodified.if.shorter.than.N.el
3e7c0 65 6d 65 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 ements;.it......returns....nil..
3e7e0 99 20 69 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 ..if.N.is.zero.or.negative...Oth
3e800 65 72 77 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 erwise,.it.returns.LIST......tru
3e820 6e 63 61 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 ncated.to.its.first.N.elements..
3e840 0a 20 20 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 ......This.means.that.it.is.usua
3e860 6c 6c 79 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 lly.a.good.idea.to.use.the.retur
3e880 6e 20 76 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 n.value......and.not.just.rely.o
3e8a0 6e 20 74 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 n.the.truncation.effect.unless.N
3e8c0 20 69 73 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 .is.known.to.be......positive...
3e8e0 20 2d 2d 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 .--.Function:.compiled-function-
3e900 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 72 65 74 75 p.object......This.function.retu
3e920 72 6e 73 20 e2 80 98 74 e2 80 99 20 69 66 20 4f 42 4a 45 43 54 20 69 73 20 61 20 66 75 6e 63 74 rns....t....if.OBJECT.is.a.funct
3e940 69 6f 6e 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 ion.object.that.is......not.in.t
3e960 68 65 20 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 he.form.of.ELisp.source.code.but
3e980 20 73 6f 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 .something.like.machine......cod
3e9a0 65 20 6f 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 e.or.byte.code.instead...More.sp
3e9c0 65 63 69 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 ecifically.it.returns....t....if
3e9e0 20 74 68 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 .the......function.is.built-in,.
3ea00 6f 72 20 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 or.byte-compiled,.or.natively-co
3ea20 6d 70 69 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 mpiled,.or.a......function.loade
3ea40 64 20 66 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 d.from.a.dynamic.module....--.Fu
3ea60 6e 63 74 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 nction:.function-alias-p.object.
3ea80 26 6f 70 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 &optional.noerror......Checks.wh
3eaa0 65 74 68 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 ether.OBJECT.is.a.function.alias
3eac0 2e 20 20 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 ...If.it.is,.it.returns.a......l
3eae0 69 73 74 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 ist.of.symbols.representing.the.
3eb00 66 75 6e 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 function.alias.chain,.else....ni
3eb20 6c e2 80 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 l..........For.instance,.if....a
3eb40 e2 80 99 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 ....is.an.alias.for....b...,.and
3eb60 20 e2 80 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 ....b....is.an.alias.for........
3eb80 98 63 e2 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 .c...:............(function-alia
3eba0 73 2d 70 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 s-p.'a)...................(b.c).
3ebc0 0a 20 20 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 ......If.there...s.a.loop.in.the
3ebe0 20 64 65 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 .definitions,.an.error.will.be.s
3ec00 69 67 6e 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 ignalled.......If.NOERROR.is.non
3ec20 2d e2 80 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 -...nil...,.the.non-looping.part
3ec40 73 20 6f 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 s.of.the.chain.is......returned.
3ec60 69 6e 73 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 instead....--.Function:.string-e
3ec80 71 75 61 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 qual-ignore-case.string1.string2
3eca0 0a 20 20 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 .........string-equal-ignore-cas
3ecc0 65 e2 80 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 e....compares.strings.ignoring.c
3ece0 61 73 65 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 ase......differences,.like....ch
3ed00 61 72 2d 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 ar-equal....when....case-fold-se
3ed20 61 72 63 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 arch....is....t...........*Note.
3ed40 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 20 2d 2d 20 46 (elisp)Text.Comparison::....--.F
3ed60 75 6e 63 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 unction:.string-split.string.&op
3ed80 74 69 6f 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 tional.separators.omit-nulls.tri
3eda0 6d 0a 20 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 m.........string-split....is.an.
3edc0 61 6c 69 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 alias.for.the.function....split-
3ede0 73 74 72 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 string......The......name.follow
3ee00 73 20 74 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 s.the.convention.of.other.string
3ee20 20 66 75 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 .functions........*Note.(elisp)C
3ee40 72 65 61 74 69 6e 67 20 53 74 72 69 6e 67 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e reating.Strings::....--.Function
3ee60 3a 20 62 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 :.buffer-match-p.condition.buffe
3ee80 72 2d 6f 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 r-or-name.&optional.arg......Thi
3eea0 73 20 66 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 s.function.checks.if.a.buffer.de
3eec0 73 69 67 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 signated.by....buffer-or-name...
3eee0 0a 20 20 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 ......satisfies.a....condition..
3ef00 99 2e 20 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 ....Optional.third.argument.ARG.
3ef20 69 73 20 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 is.passed.to......the.predicate.
3ef40 66 75 6e 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 function.in.CONDITION...A.condit
3ef60 69 6f 6e 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 ion.can.be.one.of.the......follo
3ef80 77 69 6e 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 wing:.............A.string,.inte
3efa0 72 70 72 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 rpreted.as.a.regular.expression.
3efc0 20 20 54 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 ..The.buffer...........satisfies
3efe0 20 74 68 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 .the.condition.if.the.regular.ex
3f000 70 72 65 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 pression.matches.the...........b
3f020 75 66 66 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 uffer.name..............A.predic
3f040 61 74 65 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 ate.function,.which.should.retur
3f060 6e 20 6e 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 n.non-...nil....if.the..........
3f080 20 62 75 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 .buffer.matches...If.the.functio
3f0a0 6e 20 65 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 n.expects.one.argument,.it.is...
3f0c0 20 20 20 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 ........called.with.BUFFER-OR-NA
3f0e0 4d 45 20 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 ME.as.the.argument;.if.it.expect
3f100 73 20 32 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 s.2...........arguments,.the.fir
3f120 73 74 20 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 st.argument.is.BUFFER-OR-NAME.an
3f140 64 20 74 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 d.the.second...........is.ARG.(o
3f160 72 20 e2 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 r....nil....if.ARG.is.omitted)..
3f180 20 20 20 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 ............A.cons-cell....(OPER
3f1a0 20 2e 20 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 ...EXPR)....where.OPER.is.one.of
3f1c0 0a 20 20 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 ..............not...............
3f1e0 20 20 20 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 ....Satisfied.if.EXPR.doesn...t.
3f200 73 61 74 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 satisfy....buffer-match-p....wit
3f220 68 0a 20 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 h................the.same.buffer
3f240 20 61 6e 64 20 e2 80 98 61 72 67 e2 80 99 2e 0a 20 20 20 20 20 20 20 20 20 20 e2 80 98 6f 72 e2 .and....arg..................or.
3f260 80 99 0a 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 ..................Satisfied.if.E
3f280 58 50 52 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 XPR.is.a.list.and._any_.conditio
3f2a0 6e 20 69 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 n.in.EXPR................satisfi
3f2c0 65 73 20 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 es....buffer-match-p...,.with.th
3f2e0 65 20 73 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 e.same.buffer.and...............
3f300 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 61 6e 64 e2 80 99 0a ....arg..................and....
3f320 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
3f340 20 69 73 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 .is.a.list.and._all_.conditions.
3f360 69 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 79 20 e2 in.EXPR................satisfy..
3f380 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 61 ..buffer-match-p...,.with.the.sa
3f3a0 6d 65 20 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 me.buffer.and....arg............
3f3c0 20 20 20 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 ......derived-mode..............
3f3e0 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 73 .....Satisfied.if.the.buffer...s
3f400 20 6d 61 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 .major.mode.derives.from.EXPR...
3f420 20 20 20 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 ............major-mode..........
3f440 20 20 20 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 .........Satisfied.if.the.buffer
3f460 e2 80 99 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 ...s.major.mode.is.equal.to.EXPR
3f480 2e 0a 20 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 .................Prefer.using...
3f4a0 98 64 65 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 .derived-mode....instead.when.bo
3f4c0 74 68 20 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 th.can.work..............t.Satis
3f4e0 66 69 65 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 fied.by.any.buffer...A.convenien
3f500 74 20 61 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 t.alternative.to....""..........
3f520 20 20 20 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 ....(empty.string),....(and)....
3f540 28 65 6d 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 (empty.conjunction).or....always
3f560 e2 80 99 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 ...........*Note.(elisp)Buffer.L
3f580 69 73 74 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 ist::....--.Function:.match-buff
3f5a0 65 72 73 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 ers.condition.&optional.buffers.
3f5c0 61 72 67 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 arg......This.function.returns.a
3f5e0 20 6c 69 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 .list.of.all.buffers.that.satisf
3f600 79 20 61 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 y.a.........condition...,.as.def
3f620 69 6e 65 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 ined.for....buffer-match-p......
3f640 42 79 20 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 By.default.all......buffers.are.
3f660 63 6f 6e 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 considered,.but.this.can.be.rest
3f680 72 69 63 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 ricted.via.the.second......optio
3f6a0 6e 61 6c 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 nal....buffer-list....argument..
3f6c0 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 77 69 6c .Optional.third.argument.ARG.wil
3f6e0 6c 0a 20 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 l......be.used.by.CONDITION.in.t
3f700 68 65 20 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 he.same.way.as....buffer-match-p
3f720 e2 80 99 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 ....does........*Note.(elisp)Buf
3f740 66 65 72 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 fer.List::....--.Function:.strin
3f760 67 2d 67 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 g-glyph-split.string......When.c
3f780 68 61 72 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 haracter.compositions.are.in.eff
3f7a0 65 63 74 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 ect,.sequence.of.characters.....
3f7c0 20 63 61 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 .can.be.composed.for.display.to.
3f7e0 66 6f 72 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 form._grapheme.clusters_,.for...
3f800 20 20 20 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 ...example.to.display.accented.c
3f820 68 61 72 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 haracters,.or.ligatures,.or.Emoj
3f840 69 2c 20 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 i,.or......when.complex.text.sha
3f860 70 69 6e 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 ping.requires.that.for.some.scri
3f880 70 74 73 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 pts...When......that.happens,.ch
3f8a0 61 72 61 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 aracters.no.longer.map.in.a.simp
3f8c0 6c 65 20 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 le.way.to.display......columns,.
3f8e0 61 6e 64 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 and.display.layout.decisions.wit
3f900 68 20 73 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 h.such.strings,.such.as......tru
3f920 6e 63 61 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 ncating.too.wide.strings,.can.be
3f940 20 61 20 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 .a.complex.job...This.function..
3f960 20 20 20 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 ....helps.in.performing.such.job
3f980 73 3a 20 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 s:.it.splits.up.its.argument.STR
3f9a0 49 4e 47 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 ING......into.a.list.of.substrin
3f9c0 67 73 2c 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 gs,.where.each.substring.produce
3f9e0 73 20 61 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 s.a.single......grapheme.cluster
3fa00 20 74 68 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 .that.should.be.displayed.as.a.u
3fa20 6e 69 74 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 nit...Lisp.programs......can.the
3fa40 6e 20 75 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 n.use.this.list.to.construct.vis
3fa60 75 61 6c 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 ually-valid.substrings.of......S
3fa80 54 52 49 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 TRING.which.will.look.correctly.
3faa0 6f 6e 20 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 on.display,.or.compute.the.width
3fac0 0a 20 20 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 ......of.any.substring.of.STRING
3fae0 20 62 79 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 .by.adding.the.width.of.its.cons
3fb00 74 69 74 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 tituents......in.the.returned.li
3fb20 73 74 2c 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 st,.etc........For.instance,.if.
3fb40 79 6f 75 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 you.want.to.display.a.string.wit
3fb60 68 6f 75 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 hout.the.first......glyph,.you.c
3fb80 61 6e 20 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 an.say:............(apply.#'inse
3fba0 72 74 20 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 rt.(cdr.(string-glyph-split.stri
3fbc0 6e 67 29 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 ng)))).......*Note.(elisp)Size.o
3fbe0 66 20 44 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 f.Displayed.Text::....--.Macro:.
3fc00 77 69 74 68 2d 62 75 66 66 65 72 2d 75 6e 6d 6f 64 69 66 69 65 64 2d 69 66 2d 75 6e 63 68 61 6e with-buffer-unmodified-if-unchan
3fc20 67 65 64 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 ged.&rest.body.........Evaluate.
3fc40 42 4f 44 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 BODY.like....progn...,.but.chang
3fc60 65 20 62 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 e.buffer-modified.status.only...
3fc80 20 20 20 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 ...if.buffer.text.changes...If.t
3fca0 68 65 20 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 he.buffer.was.unmodified.before.
3fcc0 20 20 20 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 .....execution.of.BODY,.and.buff
3fce0 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 42 4f 44 59 20 er.text.after.execution.of.BODY.
3fd00 69 73 0a 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 is......identical.to.what.it.was
3fd20 20 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
3fd40 74 69 6c 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 till.marked......unmodified.afte
3fd60 72 77 61 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 rwards........Note.that.only.cha
3fd80 6e 67 65 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 nges.in.the.raw.byte.sequence.of
3fda0 20 74 68 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 .the.buffer.text,......as.stored
3fdc0 20 69 6e 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 .in.the.internal.representation,
3fde0 20 61 72 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 .are.monitored.for.the......purp
3fe00 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 20 6f 66 20 63 68 61 ose.of.detecting.the.lack.of.cha
3fe20 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 20 6f 74 68 65 72 0a nges.in.buffer.text...Any.other.
3fe40 20 20 20 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 .....changes.that.are.normally.p
3fe60 65 72 63 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 erceived.as."buffer.modification
3fe80 73 22 2c 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 s",.such......as.changes.in.text
3fea0 20 70 72 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 .properties,....buffer-file-codi
3fec0 6e 67 2d 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 ng-system...,.buffer......multib
3fee0 79 74 65 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 yteness,.etc.......will.not.be.n
3ff00 6f 74 69 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 oticed,.and.the.buffer.will.....
3ff20 20 73 74 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 .still.be.marked.unmodified,.eff
3ff40 65 63 74 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 ectively.ignoring.those.changes.
3ff60 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 66 ...--.Function:.file-attribute-f
3ff80 69 6c 65 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 ile-identifier......Return.the.f
3ffa0 69 65 6c 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 ields....(inodenum.device)....as
3ffc0 20 61 20 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 .a.list.from.attributes......gen
3ffe0 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 99 2e erated.by....file-attributes....
40000 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 62 75 .......*Note.(elisp)File.Attribu
40020 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 6e 61 6d 65 2d tes::....--.Function:.file-name-
40040 73 70 6c 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 split.filename......This.functio
40060 6e 20 73 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 n.splits.a.file.name.into.its.co
40080 6d 70 6f 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 mponents,.and.can.be......though
400a0 74 20 6f 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 t.of.as.the.inverse.of....string
400c0 2d 6a 6f 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 -join....with.the.appropriate...
400e0 20 20 20 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 ...directory.separator...For.exa
40100 6d 70 6c 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 mple,............(file-name-spli
40120 74 20 22 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 t."/tmp/foo.txt")...............
40140 e2 87 92 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 ....(""."tmp"."foo.txt")........
40160 20 20 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 73 70 6c 69 74 ...(string-join.(file-name-split
40180 20 22 2f 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 ."/tmp/foo.txt")."/")...........
401a0 20 20 20 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 ........"/tmp/foo.txt"...--.Func
401c0 74 69 6f 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 tion:.file-name-parent-directory
401e0 20 66 69 6c 65 6e 61 6d 65 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 .filename......This.function.ret
40200 75 72 6e 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 urns.the.directory.name.of.the.p
40220 61 72 65 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 arent.directory.of......FILENAME
40240 2e 20 20 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 ...If.FILENAME.is.at.the.root.di
40260 72 65 63 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 rectory.of.the.filesystem,......
40280 69 74 20 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 it.returns....nil......A.relativ
402a0 65 20 46 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 e.FILENAME.is.assumed.to.be.rela
402c0 74 69 76 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 tive.to.........default-director
402e0 79 e2 80 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 y...,.and.the.return.value.will.
40300 61 6c 73 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 also.be.relative.in......that.ca
40320 73 65 2e 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 se...If.the.return.value.is.non-
40340 e2 80 98 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 ...nil...,.it.ends.in.a.slash...
40360 20 20 20 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 .....*Note.(elisp)Directory.Name
40380 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 68 61 73 2d 63 68 61 s::....--.Function:.file-has-cha
403a0 6e 67 65 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 nged-p.file.&optional.tag......T
403c0 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 his.function.returns.non-...nil.
403e0 80 99 20 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 ...if.the.time.stamp.of.FILENAME
40400 20 68 61 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 .has......changed.since.the.last
40420 20 63 61 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 .call...When.called.for.the.firs
40440 74 20 74 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 t.time.for......some.FILENAME,.i
40460 74 20 72 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 t.records.the.last.modification.
40480 74 69 6d 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 time.and.size.of......the.file,.
404a0 61 6e 64 20 72 65 74 75 72 6e 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 20 77 68 65 6e 20 46 and.returns.non-...nil....when.F
404c0 49 4c 45 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 ILENAME.exists...Thereafter,....
404e0 20 20 77 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 ..when.called.for.the.same.FILEN
40500 41 4d 45 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 AME,.it.compares.the.current.tim
40520 65 0a 20 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 e......stamp.and.size.with.the.r
40540 65 63 6f 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 ecorded.ones,.and.returns.non-..
40560 98 6e 69 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 .nil....only......if.either.the.
40580 74 69 6d 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 time.stamp.or.the.size.(or.both)
405a0 20 61 72 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 .are.different...This......is.us
405c0 65 66 75 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 eful.when.a.Lisp.program.wants.t
405e0 6f 20 72 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 o.re-read.a.file.whenever.it....
40600 20 20 63 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 ..changes...With.an.optional.arg
40620 75 6d 65 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 ument.TAG,.which.must.be.a.symbo
40640 6c 2c 0a 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 l,......the.size.and.modificatio
40660 6e 20 74 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 n.time.comparisons.are.limited.t
40680 6f 20 63 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 o.calls......with.the.same.tag..
406a0 0a 20 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 46 69 6c 65 20 41 74 74 72 69 62 75 74 ......*Note.(elisp)File.Attribut
406c0 65 73 3a 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 es::....--.Function:.directory-a
406e0 62 62 72 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 bbrev-make-regexp.directory.....
40700 20 43 72 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 .Create.a.regexp.to.match.DIRECT
40720 4f 52 59 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 ORY.for....directory-abbrev-alis
40740 74 e2 80 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 t.......--.Function:.directory-a
40760 62 62 72 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 bbrev-apply.filename......Apply.
40780 74 68 65 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 the.abbreviations.in....director
407a0 79 2d 61 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 y-abbrev-alist....to.FILENAME...
407c0 20 20 20 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 ....Note.that.when.calling.this,
407e0 20 79 6f 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 .you.should.set....case-fold-sea
40800 72 63 68 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 rch....as......appropriate.for.t
40820 68 65 20 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 he.filesystem.used.for.FILENAME.
40840 0a 0a 20 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 ...--.Function:.key-valid-p.keys
40860 0a 20 20 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 ......Say.whether.KEYS.is.a.vali
40880 64 20 6b 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 d.key...A.key.is.a.string.consis
408a0 74 69 6e 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 ting.of......one.or.more.key.str
408c0 6f 6b 65 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 okes...The.key.strokes.are.separ
408e0 61 74 65 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 ated.by.single......space.charac
40900 74 65 72 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 ters........Each.key.stroke.is.e
40920 69 74 68 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 ither.a.single.character,.or.the
40940 20 6e 61 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 .name.of.an......event,.surround
40960 65 64 20 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 ed.by.angle.brackets...In.additi
40980 6f 6e 2c 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 on,.any.key.stroke......may.be.p
409a0 72 65 63 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 receded.by.one.or.more.modifier.
409c0 6b 65 79 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 keys...Finally,.a.limited......n
409e0 75 6d 62 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 umber.of.characters.have.a.speci
40a00 61 6c 20 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 al.shorthand.syntax........Here.
40a20 80 99 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 0a ..s.some.example.key.sequences..
40a40 0a 20 20 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 .........f..............The.key.
40a60 e2 80 98 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 ...f.............S.o.m..........
40a80 20 20 20 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 ....A.three.key.sequence.of.the.
40aa0 6b 65 79 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 keys....S...,....o....and....m..
40ac0 99 2e 0a 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 ...........C-c.o..............A.
40ae0 74 77 6f 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 two.key.sequence.of.the.keys....
40b00 63 e2 80 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 c....with.the.control.modifier..
40b20 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 e2 80 98 6f e2 80 .........and.then.the.key....o..
40b40 99 2e 0a 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 ...........H-<left>.............
40b60 20 54 68 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 .The.key.named."left".with.the.h
40b80 79 70 65 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 yper.modifier..........M-RET....
40ba0 20 20 20 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 ..........The."return".key.with.
40bc0 61 20 6d 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 a.meta.modifier..........C-M-<sp
40be0 61 63 65 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 ace>..............The."space".ke
40c00 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 61 y.with.both.the.control.and.meta
40c20 20 6d 6f 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 .modifiers........These.are.the.
40c40 63 68 61 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 characters.that.have.shorthand.s
40c60 79 6e 74 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 yntax:....NUL...,....RET...,....
40c80 20 20 e2 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 .....TAB...,....LFD...,....ESC..
40ca0 99 2c 20 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 .,....SPC...,....DEL...........M
40cc0 6f 64 69 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 odifiers.have.to.be.specified.in
40ce0 20 74 68 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 .this.order......Alt.(A)-Control
40d00 20 28 43 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 .(C)-Hyper.(H)-Meta.(M)-Shift.(s
40d20 29 2d 53 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 )-Super.(s)...--.Function:.key-p
40d40 61 72 73 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 arse.keys......Convert.KEYS.to.t
40d60 68 65 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 he.internal.Emacs.key.representa
40d80 74 69 6f 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 tion...See.........key-valid-p..
40da0 99 20 66 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 ..for.a.description.of.valid.key
40dc0 20 73 65 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 .sequences...Examples......inclu
40de0 64 65 20 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 de....f...,....C-c.C-c...,....H-
40e00 3c 6c 65 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 <left>...,....M-RET....or....C-M
40e20 2d 3c 72 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 -<return>.......--.Function:.key
40e40 6d 61 70 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 map-set.keymap.key.definition...
40e60 20 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 ...This.function.sets.the.bindin
40e80 67 20 66 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 g.for.KEY.in.KEYMAP...(If.KEY.is
40ea0 20 6d 6f 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 .more......than.one.event.long,.
40ec0 74 68 65 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 the.change.is.actually.made.in.a
40ee0 6e 6f 74 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 nother.keymap......reached.from.
40f00 4b 45 59 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 KEYMAP.)..The.argument.BINDING.c
40f20 61 6e 20 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 an.be.any.Lisp.object,......but.
40f40 6f 6e 6c 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 only.certain.types.are.meaningfu
40f60 6c 2e 20 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 l...(For.a.list.of.meaningful...
40f80 20 20 20 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 ...types,.see.*note.(elisp)Key.L
40fa0 6f 6f 6b 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 ookup::.)..The.value.returned.by
40fc0 0a 20 20 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 .........keymap-set....is.BINDIN
40fe0 47 2e 0a 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 G........If.KEY.is....<t>...,.th
41000 69 73 20 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 is.sets.the.default.binding.in.K
41020 45 59 4d 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 EYMAP...When.an......event.has.n
41040 6f 20 62 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 o.binding.of.its.own,.the.Emacs.
41060 63 6f 6d 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 command.loop.uses.the......keyma
41080 70 e2 80 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 p...s.default.binding,.if.there.
410a0 69 73 20 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 is.one........Every.prefix.of.KE
410c0 59 20 6d 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 Y.must.be.a.prefix.key.(i.e.,.bo
410e0 75 6e 64 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 und.to.a.keymap)......or.undefin
41100 65 64 3b 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 ed;.otherwise.an.error.is.signal
41120 65 64 2e 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 ed...If.some.prefix.of......KEY.
41140 69 73 20 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 is.undefined,.then....keymap-set
41160 e2 80 99 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 ....defines.it.as.a.prefix.key.s
41180 6f 0a 20 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 o......that.the.rest.of.KEY.can.
411a0 62 65 20 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 be.defined.as.specified........I
411c0 66 20 74 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 f.there.was.previously.no.bindin
411e0 67 20 66 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 g.for.KEY.in.KEYMAP,.the.new....
41200 20 20 62 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 ..binding.is.added.at.the.beginn
41220 69 6e 67 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 ing.of.KEYMAP...The.order.of.bin
41240 64 69 6e 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 dings......in.a.keymap.makes.no.
41260 64 69 66 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 difference.for.keyboard.input,.b
41280 75 74 20 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 ut.it.does......matter.for.menu.
412a0 6b 65 79 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 keymaps.(*note.(elisp)Menu.Keyma
412c0 70 73 3a 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 ps::)........*Note.(elisp)Changi
412e0 6e 67 20 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 ng.Key.Bindings::....--.Function
41300 3a 20 6b 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 :.keymap-global-set.key.command.
41320 20 20 20 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 .....This.function.sets.the.bind
41340 69 6e 67 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 ing.of.KEY.in.the.current.global
41360 20 6d 61 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 .map.to......BINDING............
41380 20 28 6b 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 .(keymap-global-set.KEY.BINDING)
413a0 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 6b 65 79 6d 61 70 .........................(keymap
413c0 2d 73 65 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 -set.(current-global-map).KEY.BI
413e0 4e 44 49 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 NDING).......*Note.(elisp)Key.Bi
41400 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 74 69 6f 6e 3a nding.Commands::....--.Function:
41420 20 6b 65 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 .keymap-local-set.key.command...
41440 20 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 ...This.function.sets.the.bindin
41460 67 20 6f 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 g.of.KEY.in.the.current.local.ke
41480 79 6d 61 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 ymap......to.BINDING............
414a0 20 28 6b 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 .(keymap-local-set.KEY.BINDING).
414c0 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 6b 65 79 6d 61 70 2d ........................(keymap-
414e0 73 65 74 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 set.(current-local-map).KEY.BIND
41500 49 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 ING).......*Note.(elisp)Key.Bind
41520 69 6e 67 20 43 6f 6d 6d 61 6e 64 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6b ing.Commands::....--.Function:.k
41540 65 79 6d 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 eymap-global-unset.key.&optional
41560 20 72 65 6d 6f 76 65 0a 20 20 20 20 20 54 68 69 73 20 66 75 6e 63 74 69 6f 6e 20 72 65 6d 6f 76 .remove......This.function.remov
41580 65 73 20 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 es.the.binding.of.KEY.from.the.c
415a0 75 72 72 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 urrent.global......map........On
415c0 65 20 75 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 e.use.of.this.function.is.in.pre
415e0 70 61 72 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 paration.for.defining.a.longer..
41600 20 20 20 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 ....key.that.uses.KEY.as.a.prefi
41620 78 e2 80 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 x...which.would.not.be.allowed.i
41640 66 20 4b 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 f.KEY.has......a.non-prefix.bind
41660 69 6e 67 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 ing...For.example:............(k
41680 65 79 6d 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 eymap-global-unset."C-l").......
416a0 20 20 20 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 ............nil...........(keyma
416c0 70 2d 67 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 p-global-set."C-l.C-l".'redraw-d
416e0 69 73 70 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 isplay)...................nil...
41700 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 4b 65 79 20 42 69 6e 64 69 6e 67 20 43 6f 6d ....*Note.(elisp)Key.Binding.Com
41720 6d 61 6e 64 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a 20 6b 65 79 6d 61 70 2d 6c mands::....--.Function:.keymap-l
41740 6f 63 61 6c 2d 75 6e 73 65 74 20 6b 65 79 20 26 6f 70 74 69 6f 6e 61 6c 20 72 65 6d 6f 76 65 0a ocal-unset.key.&optional.remove.
41760 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 74 68 65 20 62 .....This.function.removes.the.b
41780 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 65 6e 74 20 6c inding.of.KEY.from.the.current.l
417a0 6f 63 61 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 ocal......map........*Note.(elis
417c0 70 29 4b 65 79 20 42 69 6e 64 69 6e 67 20 43 6f 6d 6d 61 6e 64 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 p)Key.Binding.Commands::....--.F
417e0 75 6e 63 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 unction:.keymap-substitute.keyma
41800 70 20 6f 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 p.olddef.newdef.&optional.oldmap
41820 0a 20 20 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 ...........prefix......Replace.O
41840 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 79 73 20 69 LDDEF.with.NEWDEF.for.any.keys.i
41860 6e 20 4b 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 n.KEYMAP.now.defined.as......OLD
41880 44 45 46 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 DEF...In.other.words,.OLDDEF.is.
418a0 72 65 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 replaced.with.NEWDEF.wherever.it
418c0 0a 20 20 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 ......appears...Alternatively,.i
418e0 66 20 6f 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 f.optional.fourth.argument.OLDMA
41900 50 20 69 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 P.is......specified,.we.redefine
41920 20 69 6e 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 .in.KEYMAP.as.NEWDEF.those.keys.
41940 74 68 61 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 that.are......defined.as.OLDDEF.
41960 69 6e 20 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 in.OLDMAP....--.Function:.keymap
41980 2d 6c 6f 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 -lookup.keymap.key.&optional.acc
419a0 65 70 74 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 ept-default.no-remap...........p
419c0 6f 73 69 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 osition......This.function.retur
419e0 6e 73 20 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 ns.the.definition.of.KEY.in.KEYM
41a00 41 50 2e 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 AP...All.the......other.function
41a20 73 20 64 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 s.described.in.this.chapter.that
41a40 20 6c 6f 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 .look.up.keys.use.........keymap
41a60 2d 6c 6f 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 -lookup......Here.are.examples:.
41a80 0a 20 20 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 ...........(keymap-lookup.(curre
41aa0 6e 74 2d 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 nt-global-map)."C-x.C-f").......
41ac0 20 20 20 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 ............find-file...........
41ae0 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 6d (keymap-lookup.(current-global-m
41b00 61 70 29 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 ap)."C-x.C-f.1.2.3.4.5")........
41b20 20 20 20 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 ...........2.......*Note.(elisp)
41b40 46 75 6e 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 Functions.for.Key.Lookup::....--
41b60 20 46 75 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 .Function:.keymap-local-lookup.k
41b80 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 0a 20 20 20 eys.&optional.accept-default....
41ba0 20 20 4c 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 ..Like....keymap-lookup...,.but.
41bc0 72 65 73 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 restricting.the.search.for.comma
41be0 6e 64 73 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 nds.bound......to.KEYS.to.the.cu
41c00 72 72 65 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 rrent.local.keymap....--.Functio
41c20 6e 3a 20 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 n:.keymap-global-lookup.keys.&op
41c40 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 69 6b 65 20 tional.accept-default......Like.
41c60 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 74 72 69 63 ...keymap-lookup...,.but.restric
41c80 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 20 62 6f 75 ting.the.search.for.commands.bou
41ca0 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 6e 74 20 67 nd......to.KEYS.to.the.current.g
41cc0 6c 6f 62 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 lobal.keymap....--.Function:.def
41ce0 69 6e 65 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 ine-keymap.&rest.definitions....
41d00 20 20 59 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 ..You.can.create.a.keymap.with.t
41d20 68 65 20 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 he.functions.described.above,.an
41d40 64 0a 20 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 d......then.use....keymap-set...
41d60 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 20 42 69 6e 64 .(*note.(elisp)Changing.Key.Bind
41d80 69 6e 67 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 ings::).to......specify.key.bind
41da0 69 6e 67 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 ings.in.that.map...When.writing.
41dc0 6d 6f 64 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 modes,.however,.you......frequen
41de0 74 6c 79 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 tly.have.to.bind.a.large.number.
41e00 6f 66 20 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 of.keys.at.once,.and.using......
41e20 e2 80 98 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 ...keymap-set....on.them.all.can
41e40 20 62 65 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 .be.tedious.and.error-prone...In
41e60 73 74 65 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 stead......you.can.use....define
41e80 2d 6b 65 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 -keymap...,.which.creates.a.keym
41ea0 61 70 20 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 ap.and.binds.a......number.of.ke
41ec0 79 73 2e 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 ys...Here...s.a.very.basic.examp
41ee0 6c 65 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 6d 61 70 0a 20 20 le:............(define-keymap...
41f00 20 20 20 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 .........."n".#'forward-line....
41f20 20 20 20 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 ........."f".#'previous-line....
41f40 20 20 20 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 ........."C-c.C-c".#'quit-window
41f60 29 0a 0a 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 ).......This.function.creates.a.
41f80 6e 65 77 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 new.sparse.keymap,.defines.the.k
41fa0 65 79 73 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 eystrokes......in.PAIRS,.and.ret
41fc0 75 72 6e 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 urns.the.new.keymap........PAIRS
41fe0 20 69 73 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 .is.a.list.of.alternating.key.bi
42000 6e 64 69 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 ndings.and.key.definitions,.as..
42020 20 20 20 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 ....accepted.by....keymap-set...
42040 2e 20 20 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 ...In.addition,.the.key.can.be.t
42060 68 65 20 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 he.special......symbol....:menu.
42080 80 99 2c 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 ..,.in.which.case.the.definition
420a0 20 73 68 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 .should.be.a.menu......definitio
420c0 6e 20 61 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 n.as.accepted.by....easy-menu-de
420e0 66 69 6e 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 fine....(*note.(elisp)Easy......
42100 4d 65 6e 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 Menu::)...Here...s.a.brief.examp
42120 6c 65 20 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 le.of.this.usage:............(de
42140 66 69 6e 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 fine-keymap.:full.t.............
42160 22 67 22 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 "g".#'eww-reload.............:me
42180 6e 75 20 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 nu.'("Eww".....................[
421a0 22 45 78 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 "Exit".quit-window.t]...........
421c0 20 20 20 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 ..........["Reload".eww-reload.t
421e0 5d 29 29 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 ])).......A.number.of.keywords.c
42200 61 6e 20 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 an.be.used.before.the.key/defini
42220 74 69 6f 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 tion.pairs.to......change.featur
42240 65 73 20 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 es.of.the.new.keymap...If.any.of
42260 20 74 68 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 .the.feature.keywords......is.mi
42280 73 73 69 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 ssing.from.the....define-keymap.
422a0 80 99 20 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 ...call,.the.default.value.for..
422c0 20 20 20 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 ....that.feature.is....nil......
422e0 48 65 72 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 Here...s.a.list.of.the.available
42300 20 66 65 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 .feature......keywords:.........
42320 98 3a 66 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 .:full..............If.non-...ni
42340 6c e2 80 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 l...,.create.a.char-table.keymap
42360 20 28 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 6b 65 79 6d .(as.from..............make-keym
42380 61 70 e2 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 ap...).instead.of.a.sparse.keyma
423a0 70 20 28 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 p.(as.from..............make-spa
423c0 72 73 65 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 rse-keymap....(*note.(elisp)Crea
423e0 74 69 6e 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 ting.Keymaps::)...A...........sp
42400 61 72 73 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 arse.keymap.is.the.default......
42420 20 20 e2 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 .....:parent..............If.non
42440 2d e2 80 98 6e 69 6c e2 80 99 2c 20 74 68 65 20 76 61 6c 75 65 20 73 68 6f 75 6c 64 20 62 65 20 -...nil...,.the.value.should.be.
42460 61 20 6b 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 a.keymap.to.use.as.the..........
42480 20 70 61 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 .parent.(*note.(elisp)Inheritanc
424a0 65 20 61 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 e.and.Keymaps::)...........:keym
424c0 61 70 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 99 ap..............If.non-...nil...
424e0 2c 20 74 68 65 20 76 61 6c 75 65 20 73 68 6f 75 6c 64 20 62 65 20 61 20 6b 65 79 6d 61 70 2e 20 ,.the.value.should.be.a.keymap..
42500 20 49 6e 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 .Instead.of...........creating.a
42520 20 6e 65 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 .new.keymap,.the.specified.keyma
42540 70 20 69 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 p.is.modified...........instead.
42560 0a 0a 20 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 ..........:suppress.............
42580 20 49 66 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 .If.non-...nil...,.the.keymap.wi
425a0 6c 6c 20 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 ll.be.suppressed.with...........
425c0 e2 80 98 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 ...suppress-keymap....(*note.(el
425e0 69 73 70 29 43 68 61 6e 67 69 6e 67 20 4b 65 79 20 42 69 6e 64 69 6e 67 73 3a 3a 29 2e 20 20 42 isp)Changing.Key.Bindings::)...B
42600 79 0a 20 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 y...........default,.digits.and.
42620 74 68 65 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 the.minus.sign.are.exempt.from..
42640 20 20 20 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 .........suppressing,.but.if.the
42660 20 76 61 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 .value.is....nodigits...,.this.s
42680 75 70 70 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 uppresses...........digits.and.m
426a0 69 6e 75 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 inus-sign.like.it.does.with.othe
426c0 72 20 63 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 r.characters...........:name....
426e0 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 68 65 20 ..........If.non-...nil...,.the.
42700 76 61 6c 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 value.should.be.a.string.to.use.
42720 61 73 20 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 as.the.menu...........for.the.ke
42740 79 6d 61 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 ymap.if.you.use.it.as.a.menu.wit
42760 68 20 e2 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 h....x-popup-menu..............(
42780 2a 6e 6f 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 *note.(elisp)Pop-Up.Menus::)....
427a0 20 20 20 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 .......:prefix..............If.n
427c0 6f 6e 2d e2 80 98 6e 69 6c e2 80 99 2c 20 74 68 65 20 76 61 6c 75 65 20 73 68 6f 75 6c 64 20 62 on-...nil...,.the.value.should.b
427e0 65 20 61 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 e.a.symbol.to.be.used.as.a......
42800 20 20 20 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 .....prefix.command.(*note.(elis
42820 70 29 50 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 p)Prefix.Keys::)...If.this.is.th
42840 65 0a 20 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 e...........case,.this.symbol.is
42860 20 72 65 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 .returned.by....define-keymap...
42880 20 69 6e 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 .instead.of...........the.map.it
428a0 73 65 6c 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 self....--.Function:.defvar-keym
428c0 61 70 20 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 ap.(variable-name.&rest.defs)...
428e0 20 20 20 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 ...By.far,.the.most.common.thing
42900 20 74 6f 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 .to.do.with.a.keymap.is.to.bind.
42920 69 74 20 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 it.to......a.variable...This.is.
42940 77 68 61 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 what.virtually.all.modes.do...a.
42960 6d 6f 64 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 mode.called.........foo....almos
42980 74 20 61 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 t.always.has.a.variable.called..
429a0 80 98 66 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 ..foo-mode-map...........This.ma
429c0 63 72 6f 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 cro.defines.NAME.as.a.variable,.
429e0 70 61 73 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 passes.OPTIONS.and.PAIRS.to.....
42a00 20 e2 80 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 ....define-keymap...,.and.uses.t
42a20 68 65 20 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 he.result.as.the.default.value.f
42a40 6f 72 20 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 or.the......variable........OPTI
42a60 4f 4e 53 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 ONS.is.like.the.keywords.in....d
42a80 65 66 69 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 efine-keymap...,.but.there...s.a
42aa0 6e 0a 20 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 n......additional....:doc....key
42ac0 77 6f 72 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 word.that.provides.the.doc.strin
42ae0 67 20 66 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 g.for.the......defined.variable.
42b00 0a 0a 20 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 .......Here...s.an.example:.....
42b20 20 20 20 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 .......(defvar-keymap.eww-textar
42b40 65 61 2d 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 ea-map.............:parent.text-
42b60 6d 6f 64 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 mode-map............."RET".#'for
42b80 77 61 72 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 ward-line............."TAB".#'sh
42ba0 72 2d 6e 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 r-next-link)...--.Macro:.while-l
42bc0 65 74 20 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 et.spec.then-forms.........Like.
42be0 e2 80 98 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 ...when-let...,.but.repeat.until
42c00 20 61 20 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 .a.binding.in.SPEC.is....nil....
42c20 20 20 54 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 ..The......return.value.is.alway
42c40 73 20 e2 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 s....nil...........This.is.compa
42c60 72 61 62 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 rable.to....and-let*.......--.Fu
42c80 6e 63 74 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 nction:.window-configuration-equ
42ca0 61 6c 2d 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 al-p.config1.config2......This.f
42cc0 75 6e 63 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 unction.says.whether.two.window.
42ce0 63 6f 6e 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 configurations.have.the.same....
42d00 20 20 77 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 ..window.layout,.but.ignores.the
42d20 20 76 61 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 .values.of.point.and.the.saved..
42d40 20 20 20 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 ....scrolling.positions...it.can
42d60 20 72 65 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 .return....t....even.if.those.as
42d80 70 65 63 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 pects.differ....--.Macro:.ert-wi
42da0 74 68 2d 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 th-temp-file.name.&rest.body....
42dc0 20 20 42 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 ..Bind.NAME.to.the.name.of.a.new
42de0 20 74 65 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 .temporary.file.and.evaluate.BOD
42e00 59 2e 0a 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 Y.......Delete.the.temporary.fil
42e20 65 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 e.after.BODY.exits.normally.or.n
42e40 6f 6e 2d 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 on-locally.......NAME.will.be.bo
42e60 75 6e 64 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 und.to.the.file.name.of.the.temp
42e80 6f 72 61 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 orary.file...See.the......docstr
42ea0 69 6e 67 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 ing.for.supported.keyword.argume
42ec0 6e 74 73 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 nts....--.Macro:.ert-with-temp-d
42ee0 69 72 65 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 irectory.name.&rest.body......Bi
42f00 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 6d nd.NAME.to.the.name.of.a.new.tem
42f20 70 6f 72 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 porary.directory.and.evaluate...
42f40 20 20 20 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 ...BODY...Delete.the.temporary.d
42f60 69 72 65 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 irectory.after.BODY.exits.normal
42f80 6c 79 20 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 ly.or......non-locally........NA
42fa0 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
42fc0 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 20 6e 61 6d 65 2e 0a e,.not.the.directory.file.name..
42fe0 20 20 20 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 .....(In.other.words,.it.will.en
43000 64 20 77 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 d.with.the.directory.delimiter;.
43020 6f 6e 0a 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 on......Unix-like.systems,.it.wi
43040 6c 6c 20 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 ll.end.with."/".).......The.same
43060 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 72 74 65 64 .keyword.arguments.are.supported
43080 20 61 73 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 .as.in....ert-with-temp-file....
430a0 20 20 20 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 .....(which.see),.except.for....
430c0 3a 74 65 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 :text.......--.Function:.cl-cons
430e0 74 61 6e 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 tantly.value......Return.a.funct
43100 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 66 20 61 72 67 ion.that.takes.any.number.of.arg
43120 75 6d 65 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 uments,.but.returns......VALUE..
43140 0a 20 2d 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 ..--.Macro:.cl-with-gensyms.name
43160 73 2e 2e 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 s....body......This.macro.expand
43180 73 20 74 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 s.to.code.that.executes.BODY.wit
431a0 68 20 65 61 63 68 20 6f 66 20 74 68 65 0a 20 20 20 20 20 76 61 72 69 61 62 6c 65 73 20 69 6e 20 h.each.of.the......variables.in.
431c0 4e 41 4d 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 NAMES.bound.to.a.fresh.uninterne
431e0 64 20 73 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 d.symbol,.or....gensym...,......
43200 69 6e 20 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 in.Common.Lisp.parlance...For.ma
43220 63 72 6f 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 cros.requiring.more.than.one....
43240 20 20 67 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 ..gensym,.use.of....cl-with-gens
43260 79 6d 73 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 yms....shortens.the.code.and.ren
43280 64 65 72 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 ders......one...s.intentions.cle
432a0 61 72 65 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 arer...Compare:............(defm
432c0 61 63 72 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 acro.my-macro.(foo).............
432e0 28 6c 65 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 (let.((bar.(gensym."bar"))......
43300 20 20 20 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 .............(baz.(gensym."baz")
43320 29 0a 20 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 )...................(quux.(gensy
43340 6d 20 22 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 m."quux")))...............`(let.
43360 28 28 2c 62 61 72 20 28 2b 20 2e 2e 2e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ((,bar.(+....)))................
43380 20 20 2e 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 .....)))............(defmacro.my
433a0 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 63 6c 2d 77 69 74 -macro.(foo).............(cl-wit
433c0 68 2d 67 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 h-gensyms.(bar.baz.quux)........
433e0 20 20 20 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 .......`(let.((,bar.(+....)))...
43400 20 20 20 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 ..................)))...--.Macro
43420 3a 20 63 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 :.cl-once-only.((variable.form).
43440 2e 2e 29 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 ..).body......This.macro.is.prim
43460 61 72 69 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 arily.to.help.the.macro.programm
43480 65 72 20 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 er.ensure.that......forms.suppli
434a0 65 64 20 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 ed.by.the.user.of.the.macro.are.
434c0 65 76 61 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 evaluated.just.once.by......its.
434e0 65 78 70 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 expansion.even.though.the.result
43500 20 6f 66 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 .of.evaluating.the.form.is.to...
43520 20 20 20 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 ...occur.more.than.once...Less.o
43540 66 74 65 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 ften,.this.macro.is.used.to.ensu
43560 72 65 0a 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 re......that.forms.supplied.by.t
43580 68 65 20 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 he.macro.programmer.are.evaluate
435a0 64 20 6a 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 d.just......once........Each.VAR
435c0 49 41 42 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 IABLE.may.be.used.to.refer.to.th
435e0 65 20 72 65 73 75 6c 74 20 6f 66 20 65 76 61 6c 75 61 74 69 6e 67 20 46 4f 52 4d 0a 20 20 20 20 e.result.of.evaluating.FORM.....
43600 20 69 6e 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 .in.BODY......cl-once-only....bi
43620 6e 64 73 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 nds.each.VARIABLE.to.a.fresh.uni
43640 6e 74 65 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 nterned......symbol.during.the.e
43660 76 61 6c 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 valuation.of.BODY...Then,....cl-
43680 6f 6e 63 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 once-only....wraps......the.fina
436a0 6c 20 65 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 l.expansion.in.code.to.evaluate.
436c0 65 61 63 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 each.FORM.and.bind.the......resu
436e0 6c 74 20 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 lt.to.the.corresponding.unintern
43700 65 64 20 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 ed.symbol...Thus,.when.the......
43720 6d 61 63 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 macro.writer.substitutes.the.val
43740 75 65 20 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 ue.for.VARIABLE.into.the.expansi
43760 6f 6e 0a 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 on......they.are.effectively.ref
43780 65 72 72 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 erring.to.the.result.of.evaluati
437a0 6e 67 20 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 ng.FORM,......rather.than.FORM.i
437c0 74 73 65 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 tself...Another.way.to.put.this.
437e0 69 73 20 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 is.that.each......VARIABLE.is.bo
43800 75 6e 64 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 und.to.an.expression.for.the.(si
43820 6e 67 75 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 ngular).result.of......evaluatin
43840 67 20 46 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 g.FORM........The.most.common.ca
43860 73 65 20 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 se.is.where.VARIABLE.is.one.of.t
43880 68 65 20 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 he.arguments.to......the.macro.b
438a0 65 69 6e 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 eing.written,.so....(variable.va
438c0 72 69 61 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 riable)....may.be......abbreviat
438e0 65 64 20 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 ed.to.just....variable..........
43900 20 46 6f 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 .For.example,.consider.this.macr
43920 6f 3a 0a 0a 20 20 20 20 20 20 20 20 20 20 28 64 65 66 6d 61 63 72 6f 20 6d 79 2d 6c 69 73 74 20 o:............(defmacro.my-list.
43940 28 78 20 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 (x.y.&rest.forms).............(l
43960 65 74 20 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 et.((x-result.(gensym)).........
43980 20 20 20 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 ..........(y-result.(gensym)))..
439a0 20 20 20 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 .............`(let.((,x-result.,
439c0 78 29 0a 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 x)......................(,y-resu
439e0 6c 74 20 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 lt.,y))..................(list.,
43a00 78 2d 72 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 x-result.,y-result.,x-result.,y-
43a20 72 65 73 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 result........................(p
43a40 72 6f 67 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 rogn.,@forms)))).......In.a.call
43a60 20 6c 69 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 .like....(my-list.(pop.foo)....)
43a80 e2 80 99 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 ....the.intermediate.binding....
43aa0 20 20 74 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 ..to....x-result....ensures.that
43ac0 20 74 68 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 .the....pop....is.not.done.twice
43ae0 2e 20 20 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 ...But.as.a......result.the.code
43b00 20 69 73 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 .is.rather.complex:.the.reader.m
43b20 75 73 74 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 ust.keep.track.of......how....x-
43b40 72 65 73 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 result....really.just.means.the.
43b60 66 69 72 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 first.parameter.of.the.call.to..
43b80 20 20 20 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 ....the.macro,.and.the.required.
43ba0 75 73 65 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 use.of.multiple.gensyms.to.avoid
43bc0 0a 20 20 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 ......variable.capture.by....(pr
43be0 6f 67 6e 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 ogn.,@forms)....obscures.things.
43c00 66 75 72 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 further..........cl-once-only...
43c20 20 74 61 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 .takes.care.of.these.details:...
43c40 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 79 20 .........(defmacro.my-list.(x.y.
43c60 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 63 6c 2d 6f 6e 63 &rest.forms).............(cl-onc
43c80 65 2d 6f 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 e-only.(x.y)...............`(lis
43ca0 74 20 2c 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 t.,x.,y.,x.,y...................
43cc0 20 20 20 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 ...(progn.,@forms))))..2.5.2.Ext
43ce0 65 6e 64 65 64 20 44 65 66 69 6e 69 74 69 6f 6e 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ended.Definitions.--------------
43d00 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a 0a 54 68 65 73 65 20 66 75 6e 63 74 69 6f 6e 73 20 6d 75 ------------..These.functions.mu
43d20 73 74 20 62 65 20 63 61 6c 6c 65 64 20 65 78 70 6c 69 63 69 74 6c 79 20 76 69 61 20 e2 80 98 63 st.be.called.explicitly.via....c
43d40 6f 6d 70 61 74 2d 63 61 6c 6c e2 80 99 2c 20 73 69 6e 63 65 20 74 68 65 69 72 0a 63 61 6c 6c 69 ompat-call...,.since.their.calli
43d60 6e 67 20 63 6f 6e 76 65 6e 74 69 6f 6e 20 6f 72 20 62 65 68 61 76 69 6f 72 20 77 61 73 20 65 78 ng.convention.or.behavior.was.ex
43d80 74 65 6e 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 tended.in.Emacs.29.1:...--.Funct
43da0 69 6f 6e 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 ion:.compat-call.set-transient-m
43dc0 61 70 20 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 ap.keymap.&optional.keep-pred...
43de0 20 20 20 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 ........on-exit.message.timeout.
43e00 20 20 20 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 .....This.function.adds.KEYMAP.a
43e20 73 20 61 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 s.a....transient....keymap,.whic
43e40 68 20 74 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 h.takes......precedence.over.oth
43e60 65 72 20 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 er.keymaps.for.one.(or.more).sub
43e80 73 65 71 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 sequent.keys........Normally,.KE
43ea0 59 4d 41 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 YMAP.is.used.just.once,.to.look.
43ec0 75 70 20 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 up.the.very.next.key.......If.th
43ee0 65 20 6f 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 e.optional.argument.KEEP-PRED.is
43f00 20 e2 80 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 ....t...,.the.map.stays.active.a
43f20 73 0a 20 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 s......long.as.the.user.types.ke
43f40 79 73 20 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 ys.defined.in.KEYMAP;.when.the.u
43f60 73 65 72 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 ser.types......a.key.that.is.not
43f80 20 69 6e 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 .in.KEYMAP,.the.transient.keymap
43fa0 20 69 73 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 .is.deactivated......and.normal.
43fc0 6b 65 79 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 key.lookup.continues.for.that.ke
43fe0 79 2e 0a 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 y........The.KEEP-PRED.argument.
44000 63 61 6e 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 can.also.be.a.function...In.that
44020 20 63 61 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 .case,.the......function.is.call
44040 65 64 20 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 ed.with.no.arguments,.prior.to.r
44060 75 6e 6e 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 unning.each......command,.while.
44080 4b 45 59 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 KEYMAP.is.active;.it.should.retu
440a0 72 6e 20 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 rn.non-...nil....if......KEYMAP.
440c0 73 68 6f 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 should.stay.active........The.op
440e0 74 69 6f 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 tional.argument.ON-EXIT,.if.non-
44100 e2 80 98 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 ...nil...,.specifies.a.function.
44120 20 20 20 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 .....that.is.called,.with.no.arg
44140 75 6d 65 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 uments,.after.KEYMAP.is.deactiva
44160 74 65 64 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 ted........The.optional.argument
44180 20 4d 45 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 .MESSAGE.specifies.the.message.t
441a0 6f 20 64 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 o.display......after.activating.
441c0 74 68 65 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 the.transient.map...If.MESSAGE.i
441e0 73 20 61 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 s.a.string,.it.is......the.forma
44200 74 20 73 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 t.string.for.the.message,.and.an
44220 79 20 e2 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 y....%k....specifier.in.that....
44240 20 20 73 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 ..string.is.replaced.with.the.li
44260 73 74 20 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 st.of.keys.from.the.transient.ma
44280 70 2e 0a 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 p.......Any.other.non-...nil....
442a0 76 61 6c 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 value.of.MESSAGE.stands.for.the.
442c0 64 65 66 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 default.message......format....R
442e0 65 70 65 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 epeat.with.%k...........If.the.o
44300 70 74 69 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 ptional.argument.TIMEOUT.is.non-
44320 e2 80 98 6e 69 6c e2 80 99 2c 20 69 74 20 73 68 6f 75 6c 64 20 62 65 20 61 0a 20 20 20 20 20 6e ...nil...,.it.should.be.a......n
44340 75 6d 62 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 umber.that.specifies.how.many.se
44360 63 6f 6e 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 conds.of.idle.time.to.wait.befor
44380 65 0a 20 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 e......deactivating.KEYMAP...The
443a0 20 76 61 6c 75 65 20 6f 66 20 74 68 65 20 76 61 72 69 61 62 6c 65 0a 20 20 20 20 20 e2 80 98 73 .value.of.the.variable.........s
443c0 65 74 2d 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 et-transient-map-timeout...,.if.
443e0 6e 6f 6e 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 non-...nil...,.overrides.the.val
44400 75 65 20 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 ue.of......this.argument........
44420 54 68 69 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 This.function.works.by.adding.an
44440 64 20 72 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 d.removing.KEYMAP.from.the.varia
44460 62 6c 65 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 ble.........overriding-terminal-
44480 6c 6f 63 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 local-map...,.which.takes.preced
444a0 65 6e 63 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 ence.over.all......other.active.
444c0 6b 65 79 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 keymaps.(*note.(Searching.Keymap
444e0 73 29 65 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 s)elisp::)....--.Function:.compa
44500 74 2d 63 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 t-call.string-lines.string.&opti
44520 6f 6e 61 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 onal.omit-nulls...........keep-n
44540 65 77 6c 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 ewlines......Split.STRING.into.a
44560 20 6c 69 73 74 20 6f 66 20 73 74 72 69 6e 67 73 20 6f 6e 20 6e 65 77 6c 69 6e 65 20 62 6f 75 6e .list.of.strings.on.newline.boun
44580 64 61 72 69 65 73 2e 20 20 49 66 20 74 68 65 0a 20 20 20 20 20 6f 70 74 69 6f 6e 61 6c 20 61 72 daries...If.the......optional.ar
445a0 67 75 6d 65 6e 74 20 4f 4d 49 54 2d 4e 55 4c 4c 53 20 69 73 20 6e 6f 6e 2d e2 80 98 6e 69 6c e2 gument.OMIT-NULLS.is.non-...nil.
445c0 80 99 2c 20 72 65 6d 6f 76 65 20 65 6d 70 74 79 20 6c 69 6e 65 73 20 66 72 6f 6d 0a 20 20 20 20 ..,.remove.empty.lines.from.....
445e0 20 74 68 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 .the.results...If.the.optional.a
44600 72 67 75 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 rgument.KEEP-NEWLINES.is.non-...
44620 6e 69 6c 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 nil...,......don...t.remove.the.
44640 74 72 61 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 trailing.newlines.from.the.resul
44660 74 20 73 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 t.strings........*Note.(elisp)Cr
44680 65 61 74 69 6e 67 20 53 74 72 69 6e 67 73 3a 3a 2e 0a 0a 20 2d 2d 20 46 75 6e 63 74 69 6f 6e 3a eating.Strings::....--.Function:
446a0 20 63 6f 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 .compat-call.define-key......Thi
446c0 73 20 66 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 s.function.is.like....keymap-set
446e0 e2 80 99 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 ....(*note.(elisp)Changing.Key..
44700 20 20 20 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 ....Bindings::,.but.understands.
44720 6f 6e 6c 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 only.the.legacy.key.syntaxes....
44740 20 20 20 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 ....In.addition,.this.function.a
44760 6c 73 6f 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 lso.has.a.REMOVE.argument...If.i
44780 74 20 69 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 t.is......non-...nil...,.the.def
447a0 69 6e 69 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 inition.will.be.removed...This.i
447c0 73 20 61 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 s.almost.the.same......as.settin
447e0 67 20 74 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 g.the.definition.to....nil...,.b
44800 75 74 20 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 ut.makes.a.difference.if.the....
44820 20 20 4b 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 ..KEYMAP.has.a.parent,.and.KEY.i
44840 73 20 73 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 s.shadowing.the.same.binding.in.
44860 74 68 65 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 the......parent...With.REMOVE,.s
44880 75 62 73 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 ubsequent.lookups.will.return.th
448a0 65 20 62 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 e.binding.in......the.parent,.wh
448c0 65 72 65 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 ereas.with.a....nil....definitio
448e0 6e 20 74 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 n.the.lookups.will.return.......
44900 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 4c 6f 77 ..nil...........*Note.(elisp)Low
44920 2d 4c 65 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 -Level.Key.Binding::........This
44940 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
44960 68 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 0a 0a 20 2d he.optional.argument.REMOVE....-
44980 2d 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 67 65 -.Function:.compat-call.plist-ge
449a0 74 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 t.plist.prop.&optional.predicate
449c0 0a 20 20 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 ......This.returns.the.value.of.
449e0 74 68 65 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 the.PROPERTY.property.stored.in.
44a00 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 2e 20 20 43 the......property.list.PLIST...C
44a20 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 44 49 43 41 omparisons.are.done.with.PREDICA
44a40 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 65 71 e2 80 TE,.and......defaults.to....eq..
44a60 99 2e 20 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 ....It.accepts.a.malformed.PLIST
44a80 20 61 72 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 .argument...If......PROPERTY.is.
44aa0 6e 6f 74 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 not.found.in.the.PLIST,.it.retur
44ac0 6e 73 20 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 ns....nil...........*Note.(elisp
44ae0 29 50 6c 69 73 74 20 41 63 63 65 73 73 3a 3a 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 63 6f 6d 70 )Plist.Access::........This.comp
44b00 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 70 atibility.version.handles.the.op
44b20 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 0a 20 20 20 20 20 tional.argument.PREDICATE.......
44b40 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.(
44b60 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
44b80 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
44ba0 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 0a 0a hange.a.value.with....setf......
44bc0 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 70 6c 69 73 74 2d .--.Function:.compat-call.plist-
44be0 70 75 74 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 put.plist.prop.val.&optional.pre
44c00 64 69 63 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 dicate......This.stores.VALUE.as
44c20 20 74 68 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 .the.value.of.the.PROPERTY.prope
44c40 72 74 79 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 rty.in.the......property.list.PL
44c60 49 53 54 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 IST...Comparisons.are.done.with.
44c80 50 52 45 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 PREDICATE,.and......defaults.to.
44ca0 e2 80 98 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 ...eq......It.may.modify.PLIST.d
44cc0 65 73 74 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 estructively,.or.it.may......con
44ce0 73 74 72 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 struct.a.new.list.structure.with
44d00 6f 75 74 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 out.altering.the.old...The......
44d20 66 75 6e 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 function.returns.the.modified.pr
44d40 6f 70 65 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 operty.list,.so.you.can.store.th
44d60 61 74 0a 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 at......back.in.the.place.where.
44d80 79 6f 75 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 you.got.PLIST........*Note.(elis
44da0 70 29 50 6c 69 73 74 20 41 63 63 65 73 73 3a 3a 2e 0a 0a 20 20 20 20 20 54 68 69 73 20 63 6f 6d p)Plist.Access::........This.com
44dc0 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
44de0 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 0a 0a 20 2d 2d ptional.argument.PREDICATE....--
44e00 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 6d 65 6d .Function:.compat-call.plist-mem
44e20 62 65 72 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 ber.plist.prop.&optional.predica
44e40 74 65 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 te......This.returns.non-...nil.
44e60 80 99 20 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 ...if.PLIST.contains.the.given.P
44e80 52 4f 50 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 ROPERTY.......Comparisons.are.do
44ea0 6e 65 20 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 ne.with.PREDICATE,.and.defaults.
44ec0 74 6f 20 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 to....eq......Unlike.........pli
44ee0 73 74 2d 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 st-get...,.this.allows.you.to.di
44f00 73 74 69 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 stinguish.between.a.missing.....
44f20 20 70 72 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 .property.and.a.property.with.th
44f40 65 20 76 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 e.value....nil......The.value.is
44f60 0a 20 20 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 ......actually.the.tail.of.PLIST
44f80 20 77 68 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 .whose....car....is.PROPERTY....
44fa0 20 20 20 20 2a 4e 6f 74 65 20 28 65 6c 69 73 70 29 50 6c 69 73 74 20 41 63 63 65 73 73 3a 3a 2e ....*Note.(elisp)Plist.Access::.
44fc0 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 73 69 6f .......This.compatibility.versio
44fe0 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 20 n.handles.the.optional.argument.
45000 50 52 45 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 PREDICATE...2.5.3.Missing.Defini
45020 74 69 6f 6e 73 0a 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0a tions.-------------------------.
45040 0a 43 6f 6d 70 61 74 20 64 6f 65 73 20 6e 6f 74 20 70 72 6f 76 69 64 65 20 73 75 70 70 6f 72 74 .Compat.does.not.provide.support
45060 20 66 6f 72 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 4c 69 73 70 20 66 65 61 74 75 72 65 73 .for.the.following.Lisp.features
45080 0a 69 6d 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 .implemented.in.29.1:.........Th
450a0 65 20 66 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 e.function....imagep............
450c0 54 68 65 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 The.function....image-at-point-p
450e0 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 66 75 6e 63 ............The.function....func
45100 74 69 6f 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 tion-documentation............Th
45120 65 20 6d 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 e.macro....with-undo-amalgamate.
45140 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 74 72 69 6e ...........The.function....strin
45160 67 2d 67 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 g-glyph-split............The.fun
45180 63 74 69 6f 6e 20 e2 80 98 73 74 72 69 6e 67 2d 6c 69 6d 69 74 e2 80 99 2e 0a 20 20 20 e2 80 a2 ction....string-limit...........
451a0 20 54 68 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 .The.function....string-pixel-wi
451c0 64 74 68 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 dth....and....buffer-text-pixel-
451e0 73 69 7a 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 size............The.function....
45200 6d 69 6e 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 minibuffer-lazy-highlight-setup.
45220 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 70 2d 65 6d ...........The.function....pp-em
45240 61 63 73 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 acs-lisp-code............The.fun
45260 63 74 69 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 ction....bidi-string-strip-contr
45280 6f 6c 2d 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 ol-characters............The.nat
452a0 69 76 65 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 ive.function....current-cpu-time
452c0 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 78 64 67 ............The.functions....xdg
452e0 2d 73 74 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 -state-home...,....xdg-current-d
45300 65 73 6b 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 esktop....and.........xdg-sessio
45320 6e 2d 74 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 n-type............The.macro....s
45340 65 74 6f 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 etopt............The....oclosure
45360 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 74 65 78 74 73 ....library.........The....texts
45380 65 63 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 72 61 6e ec....library.........The....ran
453a0 67 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 98 73 74 72 ge....library.........The....str
453c0 69 6e 67 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 ing-edit....library.........The.
453e0 e2 80 98 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 ...vtable....library.........The
45400 20 e2 80 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 ....pixel-fill....library.......
45420 a2 20 53 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 ..Support.for.symbols.with.posit
45440 69 6f 6e 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 71 31 61 ion.information.....File:.docq1a
45460 68 5a 52 2e 69 6e 66 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 hZR.info,..Node:.Development,..N
45480 65 78 74 3a 20 46 75 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 ext:.Function.Index,..Prev:.Supp
454a0 6f 72 74 2c 20 20 55 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 ort,..Up:.Top..3.Development.***
454c0 2a 2a 2a 2a 2a 2a 2a 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 **********..Compat.is.developed.
454e0 6f 6e 20 47 69 74 48 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 on.GitHub......Bug.reports,.patc
45500 68 65 73 20 61 6e 64 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 hes.and.comments.are.best.sent.t
45520 6f 20 74 68 65 20 69 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 o.the.issue.tracker.(https://git
45540 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 2f 69 73 73 75 hub.com/emacs-compat/compat/issu
45560 65 73 29 2e 20 20 54 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 es)...These.may.include.issues.i
45580 6e 20 74 68 65 20 63 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 n.the.compatibility.code,.missin
455a0 67 20 64 65 66 69 6e 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 g.definitions.or.performance.iss
455c0 75 65 73 2e 20 20 57 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 ues...We.also.provide.a.developm
455e0 65 6e 74 20 6d 61 69 6c 69 6e 67 20 6c 69 73 74 0a 28 68 74 74 70 73 3a 2f 2f 6c 69 73 74 73 2e ent.mailing.list.(https://lists.
45600 73 72 2e 68 74 2f 7e 70 6b 61 6c 2f 63 6f 6d 70 61 74 2d 64 65 76 65 6c 29 20 28 7e 70 6b 61 6c sr.ht/~pkal/compat-devel).(~pkal
45620 2f 63 6f 6d 70 61 74 2d 64 65 76 65 6c 40 6c 69 73 74 73 2e 73 72 2e 68 74 0a 3c 7e 70 6b 61 6c /compat-devel@lists.sr.ht.<~pkal
45640 2f 63 6f 6d 70 61 74 2d 64 65 76 65 6c 40 6c 69 73 74 73 2e 73 72 2e 68 74 3e 29 2e 0a 0a 20 20 /compat-devel@lists.sr.ht>).....
45660 20 50 6c 65 61 73 65 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 .Please.note.that.as.a.GNU.ELPA.
45680 70 61 63 6b 61 67 65 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 package,.Compat.requires.contrib
456a0 75 74 6f 72 73 0a 74 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 utors.to.have.signed.the.FSF.cop
456c0 79 72 69 67 68 74 20 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 yright.assignment.(https://www.g
456e0 6e 75 2e 6f 72 67 2f 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 nu.org/software/emacs/manual/htm
45700 6c 5f 6e 6f 64 65 2f 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 l_node/emacs/Copyright-Assignmen
45720 74 2e 68 74 6d 6c 29 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 t.html),.before.any.non-trivial.
45740 63 6f 6e 74 72 69 62 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 contribution.(roughly.15.lines.o
45760 66 20 63 6f 64 65 29 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 f.code).can.be.applied......It.i
45780 73 20 69 6d 70 6f 72 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 s.important.that.you.provide.tes
457a0 74 73 20 77 68 65 6e 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 ts.when.you.contribute.new.funct
457c0 69 6f 6e 61 6c 69 74 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 ionality...Compat.has.100%.test.
457e0 63 6f 76 65 72 61 67 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 coverage.by.the.test.suite...We.
45800 75 73 65 0a 63 6f 6e 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 use.continuous.integration.to.ch
45820 65 63 6b 20 69 66 20 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 eck.if.patches.preserve.existing
45840 0a 66 75 6e 63 74 69 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 .functionality......Development.
45860 66 6f 72 20 74 68 65 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 for.the.currently.stable.Emacs.v
45880 65 72 73 69 6f 6e 20 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 ersion.happens.in.the.main.branc
458a0 68 20 6f 66 20 74 68 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 h.of.the.Compat.Git.repository..
458c0 20 45 4c 50 41 2d 64 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 .ELPA-devel.nightly.builds.are.c
458e0 72 65 61 74 65 64 20 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 reated.from.this.branch...New.fe
45900 61 74 75 72 65 73 2c 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 atures,.which.are.not.yet.ready.
45920 74 6f 20 62 65 0a 6d 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 to.be.merged.directly.into.the.m
45940 61 69 6e 20 62 72 61 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 ain.branch,.are.developed.in.fea
45960 74 75 72 65 20 62 72 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 ture.branches..Furthermore.the.G
45980 69 74 20 72 65 70 6f 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 it.repository.has.a.branch.emacs
459a0 2d 3c 76 65 72 73 69 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 -<version>.where.the.development
459c0 20 66 6f 72 20 74 68 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 .for.the.upcoming.Emacs.release.
459e0 74 61 6b 65 73 20 70 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 takes.place...This.branch.is.sep
45a00 61 72 61 74 65 20 66 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 arate.from.the.main.branch.since
45a20 20 74 68 65 20 6e 65 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 .the.new.functionality.should.no
45a40 74 20 62 65 0a 6d 61 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 t.be.made.available.(neither.via
45a60 20 45 4c 50 41 20 6e 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 .ELPA.nor.ELPA-devel).before.the
45a80 20 6e 65 77 20 45 6d 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 .new.Emacs.version.has.been.reas
45aa0 6f 6e 61 62 6c 79 20 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 onably.stabilized,.e.g.,.around.
45ac0 74 68 65 20 74 69 6d 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 the.time.when.the.Emacs.version.
45ae0 62 72 61 6e 63 68 20 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 branch.is.created.in.the.Emacs.r
45b00 65 70 6f 73 69 74 6f 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 epository.on.Savannah.....File:.
45b20 64 6f 63 71 31 61 68 5a 52 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 46 75 6e 63 74 69 6f 6e 20 docq1ahZR.info,..Node:.Function.
45b40 49 6e 64 65 78 2c 20 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 Index,..Next:.Variable.Index,..P
45b60 72 65 76 3a 20 44 65 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 rev:.Development,..Up:.Top..Appe
45b80 6e 64 69 78 20 41 20 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 ndix.A.Function.Index.**********
45ba0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 0a 0a 00 08 5b 69 6e 64 65 78 00 08 5d 0a 2a 20 4d ***************....[index..].*.M
45bc0 65 6e 75 3a 0a 0a 2a 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 enu:..*.add-display-text-propert
45be0 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 y:.............Emacs.29.1.......
45c00 20 20 20 20 28 6c 69 6e 65 20 31 39 30 29 0a 2a 20 61 6c 69 73 74 2d 67 65 74 3a 20 20 20 20 20 ....(line.190).*.alist-get:.....
45c20 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
45c40 2e 31 2e 20 20 20 20 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 .1...........(line..82).*.always
45c60 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 :...............................
45c80 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 38 33 29 .Emacs.28.1...........(line..83)
45ca0 0a 2a 20 61 6e 64 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 .*.and-let*:....................
45cc0 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...........(
45ce0 6c 69 6e 65 20 31 35 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 line.158).*.assoc-delete-all:...
45d00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 36 2e 31 2e 20 20 ...................Emacs.26.1...
45d20 20 20 20 20 20 20 20 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 ........(line..13).*.bignump:...
45d40 20 20 20 20 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
45d60 73 20 32 37 2e 31 2e 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 s.27.1...........(line..55).*.bo
45d80 6f 6c 2d 76 65 63 74 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 ol-vector:......................
45da0 20 20 20 20 20 45 6d 61 63 73 20 32 35 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 .....Emacs.25.1...........(line.
45dc0 31 37 37 29 0a 2a 20 62 6f 75 6e 64 73 2d 6f 66 2d 74 68 69 6e 67 2d 61 74 2d 6d 6f 75 73 65 3a 177).*.bounds-of-thing-at-mouse:
45de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 ..............Emacs.28.1........
45e00 20 20 20 28 6c 69 6e 65 20 32 39 32 29 0a 2a 20 62 75 66 66 65 72 2d 68 61 73 68 3a 20 20 20 20 ...(line.292).*.buffer-hash:....
45e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 36 2e .......................Emacs.26.
45e40 31 2e 20 20 20 20 20 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 1...........(line..80).*.buffer-
45e60 6c 6f 63 61 6c 2d 62 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 local-boundp:...................
45e80 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 32 35 29 0a Emacs.28.1...........(line.125).
45ea0 2a 20 62 75 66 66 65 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 *.buffer-local-restore-state:...
45ec0 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
45ee0 69 6e 65 20 20 35 30 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 ine..50).*.buffer-local-set-stat
45f00 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 e:................Emacs.29.1....
45f20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 35 30 29 0a 2a 20 62 75 66 66 65 72 2d 6d 61 74 63 68 .......(line..50).*.buffer-match
45f40 2d 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 -p:........................Emacs
45f60 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 35 38 29 0a 2a 20 62 75 74 .29.1...........(line.258).*.but
45f80 74 6f 6e 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 20 20 20 tonize:.........................
45fa0 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 31 ....Emacs.29.1...........(line.1
45fc0 35 36 29 0a 2a 20 62 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 56).*.buttonize-region:.........
45fe0 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.........
46000 20 20 28 6c 69 6e 65 20 31 36 35 29 0a 2a 20 63 68 61 72 2d 75 70 70 65 72 63 61 73 65 2d 70 3a ..(line.165).*.char-uppercase-p:
46020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 ......................Emacs.29.1
46040 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 32 37 29 0a 2a 20 63 6c 2d 63 6f 6e 73 74 ...........(line.127).*.cl-const
46060 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 20 45 antly:.........................E
46080 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 33 35 29 0a 2a macs.29.1...........(line.635).*
460a0 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 20 20 .cl-once-only:..................
460c0 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
460e0 6e 65 20 36 35 38 29 0a 2a 20 63 6c 2d 77 69 74 68 2d 67 65 6e 73 79 6d 73 3a 20 20 20 20 20 20 ne.658).*.cl-with-gensyms:......
46100 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.....
46120 20 20 20 20 20 20 28 6c 69 6e 65 20 36 33 39 29 0a 2a 20 63 6f 6c 6f 72 2d 64 61 72 6b 2d 70 3a ......(line.639).*.color-dark-p:
46140 20 20 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.
46160 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 32 32 29 0a 2a 20 63 6f 6c 6f 28.1...........(line.322).*.colo
46180 72 2d 76 61 6c 75 65 73 2d 66 72 6f 6d 2d 63 6f 6c 6f 72 2d 73 70 65 63 3a 20 20 20 20 20 20 20 r-values-from-color-spec:.......
461a0 20 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 32 ...Emacs.28.1...........(line.32
461c0 38 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 8).*.compat-call:...............
461e0 20 20 20 20 20 20 20 20 20 20 20 20 55 73 61 67 65 2e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ............Usage...............
46200 20 28 6c 69 6e 65 20 20 35 30 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 61 6c 69 73 74 2d .(line..50).*.compat-call.alist-
46220 67 65 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 36 2e 31 2e get:.................Emacs.26.1.
46240 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 34 34 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 ..........(line.344).*.compat-ca
46260 6c 6c 20 61 73 73 6f 63 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d ll.assoc:.....................Em
46280 61 63 73 20 32 36 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 31 36 29 0a 2a 20 acs.26.1...........(line.316).*.
462a0 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 61 73 73 6f 63 2d 64 65 6c 65 74 65 2d 61 6c 6c 3a 20 20 20 compat-call.assoc-delete-all:...
462c0 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e .......Emacs.27.1...........(lin
462e0 65 20 34 31 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 6f e.417).*.compat-call.count-windo
46300 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 20 ws:.............Emacs.28.1......
46320 20 20 20 20 20 28 6c 69 6e 65 20 34 31 32 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 64 65 .....(line.412).*.compat-call.de
46340 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 32 fine-key:................Emacs.2
46360 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 37 35 35 29 0a 2a 20 63 6f 6d 70 61 9.1...........(line.755).*.compa
46380 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 20 t-call.executable-find:.........
463a0 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 39 ..Emacs.27.1...........(line.429
463c0 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 2d ).*.compat-call.file-size-human-
463e0 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 20 readable:..Emacs.27.1...........
46400 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 75 (line.397).*.compat-call.line-nu
46420 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 20 mber-at-pos:........Emacs.26.1..
46440 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 6c .........(line.330).*.compat-cal
46460 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 61 l.lookup-key:................Ema
46480 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 63 cs.27.1...........(line.356).*.c
464a0 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 20 ompat-call.make-temp-file:......
464c0 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
464e0 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 20 .278).*.compat-call.plist-get:..
46500 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.......
46520 20 20 20 20 28 6c 69 6e 65 20 37 37 31 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 70 6c 69 ....(line.771).*.compat-call.pli
46540 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 39 st-member:..............Emacs.29
46560 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 37 39 35 29 0a 2a 20 63 6f 6d 70 61 74 .1...........(line.795).*.compat
46580 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 20 -call.plist-put:................
465a0 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 33 29 .Emacs.29.1...........(line.783)
465c0 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 20 .*.compat-call.recenter:........
465e0 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 ..........Emacs.27.1...........(
46600 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 6f line.346).*.compat-call.regexp-o
46620 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 20 pt:................Emacs.27.1...
46640 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 6c ........(line.385).*.compat-call
46660 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 63 .set-transient-map:.........Emac
46680 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 30 29 0a 2a 20 63 6f s.29.1...........(line.710).*.co
466a0 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 20 mpat-call.setq-local:...........
466c0 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.
466e0 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 20 370).*.compat-call.sort:........
46700 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........
46720 20 20 20 28 6c 69 6e 65 20 31 38 39 29 0a 2a 20 63 6f 6d 70 61 74 2d 63 61 6c 6c 20 73 74 72 69 ...(line.189).*.compat-call.stri
46740 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 2e ng-lines:..............Emacs.29.
46760 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 37 34 36 29 0a 2a 20 63 6f 6d 70 61 74 2d 1...........(line.746).*.compat-
46780 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 20 call.string-trim:...............
467a0 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 0a Emacs.26.1...........(line.375).
467c0 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 20 *.compat-call.string-trim-left:.
467e0 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
46800 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 72 ine.359).*.compat-call.string-tr
46820 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 20 im-right:.........Emacs.26.1....
46840 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 20 .......(line.367).*.compat-call.
46860 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 73 string-width:..............Emacs
46880 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 39 35 29 0a 2a 20 63 6f 6d .28.1...........(line.395).*.com
468a0 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 20 pat-function:...................
468c0 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 20 ....Usage................(line..
468e0 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 20 58).*.compiled-function-p:......
46900 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.........
46920 20 20 28 6c 69 6e 65 20 32 32 36 29 0a 2a 20 63 6f 75 6e 74 2d 73 65 6e 74 65 6e 63 65 73 3a 20 ..(line.226).*.count-sentences:.
46940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 ......................Emacs.29.1
46960 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 35 29 0a 2a 20 63 58 58 58 72 3a 20 20 ...........(line..25).*.cXXXr:..
46980 20 20 20 20 20 20 20 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 ...............................E
469a0 6d 61 63 73 20 32 36 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 36 36 29 0a 2a macs.26.1...........(line..66).*
469c0 20 63 58 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 .cXXXXr:........................
469e0 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
46a00 6e 65 20 20 36 37 29 0a 2a 20 64 61 74 65 2d 64 61 79 73 2d 69 6e 2d 6d 6f 6e 74 68 3a 20 20 20 ne..67).*.date-days-in-month:...
46a20 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.....
46a40 20 20 20 20 20 20 28 6c 69 6e 65 20 32 31 33 29 0a 2a 20 64 61 74 65 2d 6f 72 64 69 6e 61 6c 2d ......(line.213).*.date-ordinal-
46a60 74 6f 2d 74 69 6d 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 to-time:..................Emacs.
46a80 32 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 32 30 29 0a 2a 20 64 65 63 6f 27.1...........(line.220).*.deco
46aa0 64 65 64 2d 74 69 6d 65 2d 64 61 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ded-time-day:...................
46ac0 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 37 ...Emacs.27.1...........(line.17
46ae0 35 29 0a 2a 20 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 64 73 74 3a 20 20 20 20 20 20 20 20 20 20 5).*.decoded-time-dst:..........
46b00 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..........
46b20 20 28 6c 69 6e 65 20 31 39 35 29 0a 2a 20 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 68 6f 75 72 3a .(line.195).*.decoded-time-hour:
46b40 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.
46b60 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 37 30 29 0a 2a 20 64 65 63 6f 64 65 64 2d 74 ..........(line.170).*.decoded-t
46b80 69 6d 65 2d 6d 69 6e 75 74 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d ime-minute:...................Em
46ba0 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 35 29 0a 2a 20 acs.27.1...........(line.165).*.
46bc0 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 6d 6f 6e 74 68 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 decoded-time-month:.............
46be0 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e .......Emacs.27.1...........(lin
46c00 65 20 31 38 30 29 0a 2a 20 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 70 65 72 69 6f 64 3a 20 20 20 e.180).*.decoded-time-period:...
46c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 ................Emacs.28.1......
46c40 20 20 20 20 20 28 6c 69 6e 65 20 33 35 39 29 0a 2a 20 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 73 .....(line.359).*.decoded-time-s
46c60 65 63 6f 6e 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 32 econd:...................Emacs.2
46c80 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 36 30 29 0a 2a 20 64 65 63 6f 64 7.1...........(line.160).*.decod
46ca0 65 64 2d 74 69 6d 65 2d 77 65 65 6b 64 61 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ed-time-weekday:................
46cc0 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 39 30 ..Emacs.27.1...........(line.190
46ce0 29 0a 2a 20 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 79 65 61 72 3a 20 20 20 20 20 20 20 20 20 20 ).*.decoded-time-year:..........
46d00 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...........
46d20 28 6c 69 6e 65 20 31 38 35 29 0a 2a 20 64 65 63 6f 64 65 64 2d 74 69 6d 65 2d 7a 6f 6e 65 3a 20 (line.185).*.decoded-time-zone:.
46d40 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 20 ....................Emacs.27.1..
46d60 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 30 30 29 0a 2a 20 64 65 66 69 6e 65 2d 6b 65 79 .........(line.200).*.define-key
46d80 6d 61 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 map:.........................Ema
46da0 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 35 31 38 29 0a 2a 20 64 cs.29.1...........(line.518).*.d
46dc0 65 66 76 61 72 2d 6b 65 79 6d 61 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 efvar-keymap:...................
46de0 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
46e00 20 35 38 36 29 0a 2a 20 64 65 6c 65 74 65 2d 6c 69 6e 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 .586).*.delete-line:............
46e20 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.......
46e40 20 20 20 20 28 6c 69 6e 65 20 20 35 39 29 0a 2a 20 64 69 72 65 63 74 6f 72 79 2d 61 62 62 72 65 ....(line..59).*.directory-abbre
46e60 76 2d 61 70 70 6c 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 v-apply:................Emacs.29
46e80 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 38 32 29 0a 2a 20 64 69 72 65 63 74 .1...........(line.382).*.direct
46ea0 6f 72 79 2d 61 62 62 72 65 76 2d 6d 61 6b 65 2d 72 65 67 65 78 70 3a 20 20 20 20 20 20 20 20 20 ory-abbrev-make-regexp:.........
46ec0 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 37 39 29 .Emacs.29.1...........(line.379)
46ee0 0a 2a 20 64 69 72 65 63 74 6f 72 79 2d 65 6d 70 74 79 2d 70 3a 20 20 20 20 20 20 20 20 20 20 20 .*.directory-empty-p:...........
46f00 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...........(
46f20 6c 69 6e 65 20 32 34 33 29 0a 2a 20 64 69 72 65 63 74 6f 72 79 2d 6e 61 6d 65 2d 70 3a 20 20 20 line.243).*.directory-name-p:...
46f40 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...
46f60 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 35 36 29 0a 2a 20 64 6c 65 74 3a 20 20 20 20 20 20 ........(line..56).*.dlet:......
46f80 20 20 20 20 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
46fa0 73 20 32 38 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 64 6f s.28.1...........(line.143).*.do
46fc0 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 3a 20 20 20 20 list-with-progress-reporter:....
46fe0 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.
47000 31 31 39 29 0a 2a 20 65 6e 73 75 72 65 2d 6c 69 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 119).*.ensure-list:.............
47020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 ..............Emacs.28.1........
47040 20 20 20 28 6c 69 6e 65 20 31 35 38 29 0a 2a 20 65 72 74 2d 77 69 74 68 2d 74 65 6d 70 2d 64 69 ...(line.158).*.ert-with-temp-di
47060 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 20 32 39 2e rectory:...............Emacs.29.
47080 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 36 32 33 29 0a 2a 20 65 72 74 2d 77 69 74 1...........(line.623).*.ert-wit
470a0 68 2d 74 65 6d 70 2d 66 69 6c 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 h-temp-file:....................
470c0 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 31 37 29 0a Emacs.29.1...........(line.617).
470e0 2a 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 61 63 63 65 73 73 2d 74 69 6d 65 3a 20 20 20 *.file-attribute-access-time:...
47100 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
47120 69 6e 65 20 32 32 33 29 0a 2a 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 63 6f 6c 6c 65 63 ine.223).*.file-attribute-collec
47140 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 36 2e 31 2e 20 20 20 t:................Emacs.26.1....
47160 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 36 30 29 0a 2a 20 66 69 6c 65 2d 61 74 74 72 69 62 75 .......(line.260).*.file-attribu
47180 74 65 2d 64 65 76 69 63 65 2d 6e 75 6d 62 65 72 3a 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 te-device-number:..........Emacs
471a0 20 32 36 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 35 35 29 0a 2a 20 66 69 6c .26.1...........(line.255).*.fil
471c0 65 2d 61 74 74 72 69 62 75 74 65 2d 66 69 6c 65 2d 69 64 65 6e 74 69 66 69 65 72 3a 20 20 20 20 e-attribute-file-identifier:....
471e0 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 33 ....Emacs.29.1...........(line.3
47200 33 39 29 0a 2a 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 67 72 6f 75 70 2d 69 64 3a 20 20 39).*.file-attribute-group-id:..
47220 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.........
47240 20 20 28 6c 69 6e 65 20 32 31 38 29 0a 2a 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 69 6e ..(line.218).*.file-attribute-in
47260 6f 64 65 2d 6e 75 6d 62 65 72 3a 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 36 2e 31 ode-number:...........Emacs.26.1
47280 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 35 30 29 0a 2a 20 66 69 6c 65 2d 61 74 74 ...........(line.250).*.file-att
472a0 72 69 62 75 74 65 2d 6c 69 6e 6b 2d 6e 75 6d 62 65 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 45 ribute-link-number:............E
472c0 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 38 29 0a 2a macs.26.1...........(line.208).*
472e0 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 6d 6f 64 65 73 3a 20 20 20 20 20 20 20 20 20 20 .file-attribute-modes:..........
47300 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
47320 6e 65 20 32 34 35 29 0a 2a 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 6d 6f 64 69 66 69 63 ne.245).*.file-attribute-modific
47340 61 74 69 6f 6e 2d 74 69 6d 65 3a 20 20 20 20 20 20 45 6d 61 63 73 20 32 36 2e 31 2e 20 20 20 20 ation-time:......Emacs.26.1.....
47360 20 20 20 20 20 20 28 6c 69 6e 65 20 32 32 38 29 0a 2a 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 ......(line.228).*.file-attribut
47380 65 2d 73 69 7a 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 e-size:...................Emacs.
473a0 32 36 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 34 30 29 0a 2a 20 66 69 6c 65 26.1...........(line.240).*.file
473c0 2d 61 74 74 72 69 62 75 74 65 2d 73 74 61 74 75 73 2d 63 68 61 6e 67 65 2d 74 69 6d 65 3a 20 20 -attribute-status-change-time:..
473e0 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 33 ...Emacs.26.1...........(line.23
47400 34 29 0a 2a 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 74 79 70 65 3a 20 20 20 20 20 20 20 4).*.file-attribute-type:.......
47420 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..........
47440 20 28 6c 69 6e 65 20 32 30 33 29 0a 2a 20 66 69 6c 65 2d 61 74 74 72 69 62 75 74 65 2d 75 73 65 .(line.203).*.file-attribute-use
47460 72 2d 69 64 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 36 2e 31 2e r-id:................Emacs.26.1.
47480 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 31 33 29 0a 2a 20 66 69 6c 65 2d 62 61 63 6b ..........(line.213).*.file-back
474a0 75 70 2d 66 69 6c 65 2d 6e 61 6d 65 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d up-file-names:................Em
474c0 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 34 37 29 0a 2a 20 acs.28.1...........(line.347).*.
474e0 66 69 6c 65 2d 68 61 73 2d 63 68 61 6e 67 65 64 2d 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 file-has-changed-p:.............
47500 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
47520 65 20 33 36 34 29 0a 2a 20 66 69 6c 65 2d 6c 6f 63 61 6c 2d 6e 61 6d 65 3a 20 20 20 20 20 20 20 e.364).*.file-local-name:.......
47540 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......
47560 20 20 20 20 20 28 6c 69 6e 65 20 31 36 37 29 0a 2a 20 66 69 6c 65 2d 6d 6f 64 65 73 2d 6e 75 6d .....(line.167).*.file-modes-num
47580 62 65 72 2d 74 6f 2d 73 79 6d 62 6f 6c 69 63 3a 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 ber-to-symbolic:.........Emacs.2
475a0 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 34 31 29 0a 2a 20 66 69 6c 65 2d 8.1...........(line.341).*.file-
475c0 6e 61 6d 65 2d 63 6f 6e 63 61 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 name-concat:....................
475e0 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 35 33 ..Emacs.28.1...........(line..53
47600 29 0a 2a 20 66 69 6c 65 2d 6e 61 6d 65 2d 70 61 72 65 6e 74 2d 64 69 72 65 63 74 6f 72 79 3a 20 ).*.file-name-parent-directory:.
47620 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...........
47640 28 6c 69 6e 65 20 33 35 35 29 0a 2a 20 66 69 6c 65 2d 6e 61 6d 65 2d 71 75 6f 74 65 3a 20 20 20 (line.355).*.file-name-quote:...
47660 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..
47680 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 30 32 29 0a 2a 20 66 69 6c 65 2d 6e 61 6d 65 2d .........(line.102).*.file-name-
476a0 71 75 6f 74 65 64 2d 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 quoted-p:....................Ema
476c0 63 73 20 32 36 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 39 35 29 0a 2a 20 66 cs.26.1...........(line..95).*.f
476e0 69 6c 65 2d 6e 61 6d 65 2d 73 70 6c 69 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ile-name-split:.................
47700 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
47720 20 33 34 35 29 0a 2a 20 66 69 6c 65 2d 6e 61 6d 65 2d 75 6e 71 75 6f 74 65 3a 20 20 20 20 20 20 .345).*.file-name-unquote:......
47740 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 20 ...............Emacs.26.1.......
47760 20 20 20 20 28 6c 69 6e 65 20 20 39 30 29 0a 2a 20 66 69 6c 65 2d 6e 61 6d 65 2d 77 69 74 68 2d ....(line..90).*.file-name-with-
47780 65 78 74 65 6e 73 69 6f 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 38 extension:..............Emacs.28
477a0 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 32 35 29 0a 2a 20 66 69 6c 65 2d 73 .1...........(line.225).*.file-s
477c0 69 7a 65 2d 68 75 6d 61 6e 2d 72 65 61 64 61 62 6c 65 2d 69 65 63 3a 20 20 20 20 20 20 20 20 20 ize-human-readable-iec:.........
477e0 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 35 31 29 .Emacs.27.1...........(line.251)
47800 0a 2a 20 66 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 .*.fixnump:.....................
47820 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 ..........Emacs.27.1...........(
47840 6c 69 6e 65 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 line..60).*.flatten-tree:.......
47860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 ...................Emacs.27.1...
47880 20 20 20 20 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 ........(line.132).*.format-mess
478a0 61 67 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 age:........................Emac
478c0 73 20 32 35 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 s.25.1...........(line..44).*.fo
478e0 72 6d 61 74 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 rmat-prompt:....................
47900 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.
47920 32 35 34 29 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 254).*.funcall-with-delayed-mess
47940 61 67 65 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 age:..........Emacs.29.1........
47960 20 20 20 28 6c 69 6e 65 20 31 34 38 29 0a 2a 20 66 75 6e 63 74 69 6f 6e 2d 61 6c 69 61 73 2d 70 ...(line.148).*.function-alias-p
47980 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 2e :......................Emacs.29.
479a0 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 33 33 29 0a 2a 20 67 61 72 62 61 67 65 1...........(line.233).*.garbage
479c0 2d 63 6f 6c 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 -collect-maybe:.................
479e0 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 36 38 29 0a Emacs.28.1...........(line..68).
47a00 2a 20 67 65 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 *.gensym:.......................
47a20 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
47a40 69 6e 65 20 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 ine..70).*.get-display-property:
47a60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 ..................Emacs.29.1....
47a80 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 37 33 29 0a 2a 20 67 65 74 2d 73 63 72 61 74 63 68 2d .......(line.173).*.get-scratch-
47aa0 62 75 66 66 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 buffer-create:.............Emacs
47ac0 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 33 38 29 0a 2a 20 68 61 73 .29.1...........(line..38).*.has
47ae0 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 20 20 20 20 20 h-table-empty:..................
47b00 20 20 20 20 45 6d 61 63 73 20 32 35 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 ....Emacs.25.1...........(line.1
47b20 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 20 20 20 20 20 19).*.if-let:...................
47b40 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 20 .............Emacs.25.1.........
47b60 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 20 20 20 20 20 ..(line..96).*.if-let*:.........
47b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 36 2e 31 ......................Emacs.26.1
47ba0 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 6f 72 65 2d 65 ...........(line.149).*.ignore-e
47bc0 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 20 20 20 20 45 rrors:.........................E
47be0 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 30 36 29 0a 2a macs.27.1...........(line.106).*
47c00 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 20 20 20 20 20 .image-property:................
47c20 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
47c40 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 72 3a 20 20 20 ne.198).*.insert-into-buffer:...
47c60 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.....
47c80 20 20 20 20 20 20 28 6c 69 6e 65 20 20 39 32 29 0a 2a 20 6b 65 79 2d 70 61 72 73 65 3a 20 20 20 ......(line..92).*.key-parse:...
47ca0 20 20 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.
47cc0 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 34 31 39 29 0a 2a 20 6b 65 79 2d 29.1...........(line.419).*.key-
47ce0 76 61 6c 69 64 2d 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 valid-p:........................
47d00 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 33 38 ...Emacs.29.1...........(line.38
47d20 37 29 0a 2a 20 6b 65 79 6d 61 70 2d 67 6c 6f 62 61 6c 2d 6c 6f 6f 6b 75 70 3a 20 20 20 20 20 20 7).*.keymap-global-lookup:......
47d40 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..........
47d60 20 28 6c 69 6e 65 20 35 31 34 29 0a 2a 20 6b 65 79 6d 61 70 2d 67 6c 6f 62 61 6c 2d 73 65 74 3a .(line.514).*.keymap-global-set:
47d80 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.
47da0 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 34 34 38 29 0a 2a 20 6b 65 79 6d 61 70 2d 67 6c ..........(line.448).*.keymap-gl
47dc0 6f 62 61 6c 2d 75 6e 73 65 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d obal-unset:...................Em
47de0 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 38 29 0a 2a 20 acs.29.1...........(line.468).*.
47e00 6b 65 79 6d 61 70 2d 6c 6f 63 61 6c 2d 6c 6f 6f 6b 75 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 keymap-local-lookup:............
47e20 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
47e40 65 20 35 31 30 29 0a 2a 20 6b 65 79 6d 61 70 2d 6c 6f 63 61 6c 2d 73 65 74 3a 20 20 20 20 20 20 e.510).*.keymap-local-set:......
47e60 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......
47e80 20 20 20 20 20 28 6c 69 6e 65 20 34 35 38 29 0a 2a 20 6b 65 79 6d 61 70 2d 6c 6f 63 61 6c 2d 75 .....(line.458).*.keymap-local-u
47ea0 6e 73 65 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 nset:....................Emacs.2
47ec0 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 34 38 33 29 0a 2a 20 6b 65 79 6d 61 9.1...........(line.483).*.keyma
47ee0 70 2d 6c 6f 6f 6b 75 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 p-lookup:.......................
47f00 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 37 ..Emacs.29.1...........(line.497
47f20 29 0a 2a 20 6b 65 79 6d 61 70 2d 73 65 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).*.keymap-set:.................
47f40 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...........
47f60 28 6c 69 6e 65 20 34 32 34 29 0a 2a 20 6b 65 79 6d 61 70 2d 73 75 62 73 74 69 74 75 74 65 3a 20 (line.424).*.keymap-substitute:.
47f80 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..
47fa0 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 34 38 39 29 0a 2a 20 6c 65 6e 67 74 68 3c 3a 20 20 .........(line.489).*.length<:..
47fc0 20 20 20 20 20 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
47fe0 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 34 35 29 0a 2a 20 6c cs.28.1...........(line..45).*.l
48000 65 6e 67 74 68 3d 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ength=:.........................
48020 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
48040 20 20 34 32 29 0a 2a 20 6c 65 6e 67 74 68 3e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..42).*.length>:................
48060 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.......
48080 20 20 20 20 28 6c 69 6e 65 20 20 35 30 29 0a 2a 20 6c 69 73 74 2d 6f 66 2d 73 74 72 69 6e 67 73 ....(line..50).*.list-of-strings
480a0 2d 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 -p:.....................Emacs.29
480c0 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 20 6d 61 63 72 6f 65 .1...........(line..62).*.macroe
480e0 78 70 2d 66 69 6c 65 2d 6e 61 6d 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 xp-file-name:...................
48100 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 30 31 29 .Emacs.28.1...........(line.301)
48120 0a 2a 20 6d 61 63 72 6f 65 78 70 2d 70 61 72 73 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .*.macroexp-parse:..............
48140 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 35 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 ..........Emacs.25.1...........(
48160 6c 69 6e 65 20 31 37 34 29 0a 2a 20 6d 61 63 72 6f 65 78 70 2d 71 75 6f 74 65 3a 20 20 20 20 20 line.174).*.macroexp-quote:.....
48180 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...
481a0 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 37 31 29 0a 2a 20 6d 61 63 72 6f 65 78 70 2d 77 61 ........(line.171).*.macroexp-wa
481c0 72 6e 2d 61 6e 64 2d 72 65 74 75 72 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 rn-and-return:..............Emac
481e0 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 30 35 29 0a 2a 20 6d 61 s.28.1...........(line.305).*.ma
48200 63 72 6f 65 78 70 61 6e 64 2d 31 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 croexpand-1:....................
48220 20 20 20 20 20 45 6d 61 63 73 20 32 35 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 .....Emacs.25.1...........(line.
48240 31 36 34 29 0a 2a 20 6d 61 6a 6f 72 2d 6d 6f 64 65 2d 72 65 73 74 6f 72 65 3a 20 20 20 20 20 20 164).*.major-mode-restore:......
48260 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........
48280 20 20 20 28 6c 69 6e 65 20 20 32 32 29 0a 2a 20 6d 61 6a 6f 72 2d 6d 6f 64 65 2d 73 75 73 70 65 ...(line..22).*.major-mode-suspe
482a0 6e 64 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e nd:....................Emacs.27.
482c0 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 31 33 29 0a 2a 20 6d 61 6b 65 2d 65 6d 1...........(line..13).*.make-em
482e0 70 74 79 2d 66 69 6c 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pty-file:.......................
48300 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 35 34 29 0a Emacs.27.1...........(line.254).
48320 2a 20 6d 61 6b 65 2d 6c 6f 63 6b 2d 66 69 6c 65 2d 6e 61 6d 65 3a 20 20 20 20 20 20 20 20 20 20 *.make-lock-file-name:..........
48340 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
48360 69 6e 65 20 33 35 35 29 0a 2a 20 6d 61 6b 65 2d 6e 65 61 72 62 79 2d 74 65 6d 70 2d 66 69 6c 65 ine.355).*.make-nearby-temp-file
48380 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 36 2e 31 2e 20 20 20 :.................Emacs.26.1....
483a0 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 32 30 29 0a 2a 20 6d 61 6b 65 2d 73 65 70 61 72 61 74 .......(line.120).*.make-separat
483c0 6f 72 2d 6c 69 6e 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 or-line:...................Emacs
483e0 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 38 38 29 0a 2a 20 6d 61 70 .28.1...........(line..88).*.map
48400 63 61 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 can:............................
48420 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 20 ....Emacs.26.1...........(line..
48440 35 33 29 0a 2a 20 6d 61 72 6b 2d 74 68 69 6e 67 2d 61 74 2d 6d 6f 75 73 65 3a 20 20 20 20 20 20 53).*.mark-thing-at-mouse:......
48460 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 .............Emacs.28.1.........
48480 20 20 28 6c 69 6e 65 20 32 39 38 29 0a 2a 20 6d 61 74 63 68 2d 62 75 66 66 65 72 73 3a 20 20 20 ..(line.298).*.match-buffers:...
484a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 ......................Emacs.29.1
484c0 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 39 32 29 0a 2a 20 6d 69 6e 69 62 75 66 66 ...........(line.292).*.minibuff
484e0 65 72 2d 68 69 73 74 6f 72 79 2d 76 61 6c 75 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 er-history-value:..............E
48500 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 33 32 29 0a 2a macs.27.1...........(line..32).*
48520 20 6e 61 6d 65 64 2d 6c 65 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .named-let:.....................
48540 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
48560 6e 65 20 32 30 37 29 0a 2a 20 6e 61 74 69 76 65 2d 63 6f 6d 70 2d 61 76 61 69 6c 61 62 6c 65 2d ne.207).*.native-comp-available-
48580 70 3a 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 p:...............Emacs.28.1.....
485a0 20 20 20 20 20 20 28 6c 69 6e 65 20 33 37 36 29 0a 2a 20 6e 74 61 6b 65 3a 20 20 20 20 20 20 20 ......(line.376).*.ntake:.......
485c0 20 20 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.
485e0 32 39 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 70 61 63 6b 29.1...........(line.213).*.pack
48600 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:................
48620 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
48640 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:....................
48660 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..........
48680 20 28 6c 69 6e 65 20 20 36 35 29 0a 2a 20 70 6f 73 2d 62 6f 6c 3a 20 20 20 20 20 20 20 20 20 20 .(line..65).*.pos-bol:..........
486a0 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.
486c0 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 31 39 29 0a 2a 20 70 6f 73 2d 65 6f 6c 3a 20 ..........(line.119).*.pos-eol:.
486e0 20 20 20 20 20 20 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
48700 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 33 29 0a 2a 20 acs.29.1...........(line.123).*.
48720 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 3a 20 20 process-lines-handling-status:..
48740 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
48760 65 20 20 32 30 29 0a 2a 20 70 72 6f 63 65 73 73 2d 6c 69 6e 65 73 2d 69 67 6e 6f 72 65 2d 73 74 e..20).*.process-lines-ignore-st
48780 61 74 75 73 3a 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 atus:...........Emacs.28.1......
487a0 20 20 20 20 20 28 6c 69 6e 65 20 20 31 36 29 0a 2a 20 70 72 6f 70 65 72 2d 6c 69 73 74 2d 70 3a .....(line..16).*.proper-list-p:
487c0 20 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
487e0 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 37 36 29 0a 2a 20 70 72 6f 76 69 7.1...........(line..76).*.provi
48800 64 65 64 2d 6d 6f 64 65 2d 64 65 72 69 76 65 64 2d 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 ded-mode-derived-p:.............
48820 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 34 37 ..Emacs.27.1...........(line.247
48840 29 0a 2a 20 72 65 61 64 2d 61 6e 73 77 65 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).*.read-answer:................
48860 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 20 ...........Emacs.26.1...........
48880 28 6c 69 6e 65 20 20 31 37 29 0a 2a 20 72 65 61 64 2d 63 68 61 72 2d 66 72 6f 6d 2d 6d 69 6e 69 (line..17).*.read-char-from-mini
488a0 62 75 66 66 65 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 buffer:.............Emacs.27.1..
488c0 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 34 34 29 0a 2a 20 72 65 61 64 2d 6d 75 6c 74 69 .........(line..44).*.read-multi
488e0 70 6c 65 2d 63 68 6f 69 63 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 ple-choice:..................Ema
48900 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 38 35 29 0a 2a 20 72 cs.26.1...........(line.185).*.r
48920 65 61 64 61 62 6c 65 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eadablep:.......................
48940 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
48960 20 20 32 38 29 0a 2a 20 72 65 67 69 6f 6e 2d 62 6f 75 6e 64 73 3a 20 20 20 20 20 20 20 20 20 20 ..28).*.region-bounds:..........
48980 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.......
489a0 20 20 20 20 28 6c 69 6e 65 20 20 32 38 29 0a 2a 20 72 65 67 69 6f 6e 2d 6e 6f 6e 63 6f 6e 74 69 ....(line..28).*.region-nonconti
489c0 67 75 6f 75 73 2d 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 35 guous-p:................Emacs.25
489e0 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 72 65 70 6c 61 63 .1...........(line..34).*.replac
48a00 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 e-regexp-in-string:.............
48a20 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 31 37 29 .Emacs.28.1...........(line.117)
48a40 0a 2a 20 72 65 70 6c 61 63 65 2d 73 74 72 69 6e 67 2d 69 6e 2d 72 65 67 69 6f 6e 3a 20 20 20 20 .*.replace-string-in-region:....
48a60 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...........(
48a80 6c 69 6e 65 20 31 30 32 29 0a 2a 20 72 69 6e 67 2d 72 65 73 69 7a 65 3a 20 20 20 20 20 20 20 20 line.102).*.ring-resize:........
48aa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 ...................Emacs.27.1...
48ac0 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 32 38 29 0a 2a 20 73 61 76 65 2d 6d 61 72 6b 2d 61 ........(line..28).*.save-mark-a
48ae0 6e 64 2d 65 78 63 75 72 73 69 6f 6e 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 nd-excursion:...............Emac
48b00 73 20 32 35 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 33 39 29 0a 2a 20 73 74 s.25.1...........(line..39).*.st
48b20 72 69 6e 67 2d 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 ring-chop-newline:..............
48b40 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.
48b60 32 30 32 29 0a 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 202).*.string-clean-whitespace:.
48b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 ..............Emacs.28.1........
48ba0 20 20 20 28 6c 69 6e 65 20 31 37 31 29 0a 2a 20 73 74 72 69 6e 67 2d 64 69 73 74 61 6e 63 65 3a ...(line.171).*.string-distance:
48bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e .......................Emacs.27.
48be0 31 2e 20 20 20 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 1...........(line..86).*.string-
48c00 65 71 75 61 6c 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 equal-ignore-case:..............
48c20 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 34 36 29 0a Emacs.29.1...........(line.246).
48c40 2a 20 73 74 72 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 *.string-fill:..................
48c60 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
48c80 69 6e 65 20 31 37 38 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 ine.178).*.string-glyph-split:..
48ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 ..................Emacs.29.1....
48cc0 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 30 31 29 0a 2a 20 73 74 72 69 6e 67 2d 67 72 65 61 74 .......(line.301).*.string-great
48ce0 65 72 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 45 6d 61 63 73 erp:.......................Emacs
48d00 20 32 35 2e 31 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 .25.1...........(line..64).*.str
48d20 69 6e 67 2d 6c 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 ing-lines:......................
48d40 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
48d60 38 36 29 0a 2a 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 86).*.string-pad:...............
48d80 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 .............Emacs.28.1.........
48da0 20 20 28 6c 69 6e 65 20 31 39 33 29 0a 2a 20 73 74 72 69 6e 67 2d 72 65 70 6c 61 63 65 3a 20 20 ..(line.193).*.string-replace:..
48dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 38 2e 31 ......................Emacs.28.1
48de0 2e 20 20 20 20 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 ...........(line..77).*.string-s
48e00 65 61 72 63 68 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 earch:.........................E
48e20 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 33 34 29 0a 2a macs.28.1...........(line..34).*
48e40 20 73 74 72 69 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 .string-split:..................
48e60 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
48e80 6e 65 20 32 35 32 29 0a 2a 20 73 75 62 72 2d 6e 61 74 69 76 65 2d 65 6c 69 73 70 2d 70 3a 20 20 ne.252).*.subr-native-elisp-p:..
48ea0 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.....
48ec0 20 20 20 20 20 20 28 6c 69 6e 65 20 33 37 31 29 0a 2a 20 73 75 62 72 2d 70 72 69 6d 69 74 69 76 ......(line.371).*.subr-primitiv
48ee0 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 63 73 20 e-p:......................Emacs.
48f00 32 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 36 34 29 0a 2a 20 73 75 62 73 28.1...........(line.364).*.subs
48f20 74 69 74 75 74 65 2d 71 75 6f 74 65 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 titute-quotes:..................
48f40 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 20 33 ...Emacs.29.1...........(line..3
48f60 34 29 0a 2a 20 74 61 6b 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 4).*.take:......................
48f80 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..........
48fa0 20 28 6c 69 6e 65 20 31 39 39 29 0a 2a 20 74 65 6d 70 6f 72 61 72 79 2d 66 69 6c 65 2d 64 69 72 .(line.199).*.temporary-file-dir
48fc0 65 63 74 6f 72 79 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 36 2e 31 2e ectory:..............Emacs.26.1.
48fe0 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 33 37 29 0a 2a 20 74 65 78 74 2d 70 72 6f 70 ..........(line.137).*.text-prop
49000 65 72 74 79 2d 73 65 61 72 63 68 2d 62 61 63 6b 77 61 72 64 3a 20 20 20 20 20 20 20 20 20 45 6d erty-search-backward:.........Em
49020 61 63 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 33 32 29 0a 2a 20 acs.27.1...........(line.332).*.
49040 74 65 78 74 2d 70 72 6f 70 65 72 74 79 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 3a 20 20 20 text-property-search-forward:...
49060 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e .......Emacs.27.1...........(lin
49080 65 20 32 36 30 29 0a 2a 20 74 65 78 74 2d 71 75 6f 74 69 6e 67 2d 73 74 79 6c 65 3a 20 20 20 20 e.260).*.text-quoting-style:....
490a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 ................Emacs.28.1......
490c0 20 20 20 20 20 28 6c 69 6e 65 20 20 32 38 29 0a 2a 20 74 68 69 6e 67 2d 61 74 2d 6d 6f 75 73 65 .....(line..28).*.thing-at-mouse
490e0 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 :........................Emacs.2
49100 38 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 38 35 29 0a 2a 20 74 68 72 65 61 8.1...........(line.285).*.threa
49120 64 2d 66 69 72 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d-first:........................
49140 20 20 45 6d 61 63 73 20 32 35 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 32 32 ..Emacs.25.1...........(line.122
49160 29 0a 2a 20 74 68 72 65 61 64 2d 6c 61 73 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).*.thread-last:................
49180 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 35 2e 31 2e 20 20 20 20 20 20 20 20 20 20 ...........Emacs.25.1...........
491a0 28 6c 69 6e 65 20 31 34 33 29 0a 2a 20 74 69 6d 65 2d 65 71 75 61 6c 2d 70 3a 20 20 20 20 20 20 (line.143).*.time-equal-p:......
491c0 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 20 ....................Emacs.27.1..
491e0 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 32 30 38 29 0a 2a 20 75 73 65 2d 72 65 67 69 6f 6e .........(line.208).*.use-region
49200 2d 62 65 67 69 6e 6e 69 6e 67 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 -beginning:..................Ema
49220 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 34 37 29 0a 2a 20 75 cs.29.1...........(line..47).*.u
49240 73 65 2d 72 65 67 69 6f 6e 2d 65 6e 64 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 se-region-end:..................
49260 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
49280 20 20 34 34 29 0a 2a 20 75 73 65 2d 72 65 67 69 6f 6e 2d 6e 6f 6e 63 6f 6e 74 69 67 75 6f 75 73 ..44).*.use-region-noncontiguous
492a0 2d 70 3a 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 20 -p:............Emacs.29.1.......
492c0 20 20 20 20 28 6c 69 6e 65 20 20 34 31 29 0a 2a 20 77 68 65 6e 2d 6c 65 74 3a 20 20 20 20 20 20 ....(line..41).*.when-let:......
492e0 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
49300 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 65 6e 2d 6c .1...........(line.114).*.when-l
49320 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 20 et*:............................
49340 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 33 29 .Emacs.26.1...........(line.153)
49360 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 20 20 20 20 .*.while-let:...................
49380 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...........(
493a0 6c 69 6e 65 20 36 30 36 29 0a 2a 20 77 69 6e 64 6f 77 2d 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e line.606).*.window-configuration
493c0 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 31 2e 20 20 -equal-p:..........Emacs.29.1...
493e0 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 36 31 32 29 0a 2a 20 77 69 74 68 2d 62 75 66 66 65 72 ........(line.612).*.with-buffer
49400 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 45 6d 61 63 -unmodified-if-unchanged:...Emac
49420 73 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 33 32 34 29 0a 2a 20 77 69 s.29.1...........(line.324).*.wi
49440 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 20 20 20 20 th-delayed-message:.............
49460 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 20 .....Emacs.29.1...........(line.
49480 31 33 31 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 61 62 6c 65 131).*.with-environment-variable
494a0 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 20 20 20 20 s:............Emacs.28.1........
494c0 20 20 20 28 6c 69 6e 65 20 33 30 39 29 0a 2a 20 77 69 74 68 2d 65 78 69 73 74 69 6e 67 2d 64 69 ...(line.309).*.with-existing-di
494e0 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 20 32 38 2e rectory:...............Emacs.28.
49500 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 33 32 29 0a 2a 20 77 69 74 68 2d 66 69 1...........(line.132).*.with-fi
49520 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 20 20 20 20 le-modes:.......................
49540 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 37 31 29 0a Emacs.25.1...........(line..71).
49560 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 20 20 20 20 *.with-memoization:.............
49580 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
495a0 69 6e 65 20 20 36 38 29 0a 2a 20 77 69 74 68 2d 6d 69 6e 69 62 75 66 66 65 72 2d 73 65 6c 65 63 ine..68).*.with-minibuffer-selec
495c0 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 2e 20 20 20 ted-window:.......Emacs.27.1....
495e0 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 74 72 69 63 .......(line..38).*.with-restric
49600 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 6d 61 63 73 tion:......................Emacs
49620 20 32 39 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 37 33 29 0a 2a 20 77 69 74 .29.1...........(line..73).*.wit
49640 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 20 20 20 20 h-suppressed-warnings:..........
49660 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 20 ....Emacs.27.1...........(line..
49680 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 74 65 64 3a 65).*.with-window-non-dedicated:
496a0 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 38 2e 31 2e 20 20 20 20 20 20 20 20 .............Emacs.28.1.........
496c0 20 20 28 6c 69 6e 65 20 33 38 34 29 0a 2a 20 77 69 74 68 6f 75 74 2d 72 65 73 74 72 69 63 74 69 ..(line.384).*.without-restricti
496e0 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 32 39 2e 31 on:...................Emacs.29.1
49700 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 31 30 37 29 0a 2a 20 78 6f 72 3a 20 20 20 20 ...........(line.107).*.xor:....
49720 20 20 20 20 20 20 20 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 ...............................E
49740 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 32 29 0a 0a macs.27.1...........(line.142)..
49760 1f 0a 46 69 6c 65 3a 20 64 6f 63 71 31 61 68 5a 52 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 56 ..File:.docq1ahZR.info,..Node:.V
49780 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 6f 6e 20 49 ariable.Index,..Prev:.Function.I
497a0 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 61 72 69 61 ndex,..Up:.Top..Appendix.B.Varia
497c0 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 2a 2a 2a 2a ble.Index.**********************
497e0 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 65 78 65 63 ***....[index..].*.Menu:..*.exec
49800 2d 70 61 74 68 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -path:..........................
49820 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 32 ...Emacs.27.1...........(line.22
49840 38 29 0a 2a 20 67 65 6e 73 79 6d 2d 63 6f 75 6e 74 65 72 3a 20 20 20 20 20 20 20 20 20 20 20 20 8).*.gensym-counter:............
49860 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..........
49880 20 28 6c 69 6e 65 20 20 37 37 29 0a 2a 20 6c 69 73 70 2d 64 69 72 65 63 74 6f 72 79 3a 20 20 20 .(line..77).*.lisp-directory:...
498a0 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.
498c0 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 31 37 29 0a 2a 20 6d 6f 75 6e 74 65 64 2d 66 ..........(line..17).*.mounted-f
498e0 69 6c 65 2d 73 79 73 74 65 6d 73 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d ile-systems:..................Em
49900 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 33 33 29 0a 2a 20 acs.26.1...........(line.133).*.
49920 72 65 67 65 78 70 2d 75 6e 6d 61 74 63 68 61 62 6c 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 regexp-unmatchable:.............
49940 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 37 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e .......Emacs.27.1...........(lin
49960 65 20 31 35 32 29 0a 2a 20 73 65 74 2d 74 72 61 6e 73 69 65 6e 74 2d 6d 61 70 2d 74 69 6d 65 6f e.152).*.set-transient-map-timeo
49980 75 74 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 39 2e 31 2e 20 20 20 20 20 ut:.............Emacs.29.1......
499a0 20 20 20 20 20 28 6c 69 6e 65 20 37 33 36 29 0a 2a 20 74 65 78 74 2d 71 75 6f 74 69 6e 67 2d 73 .....(line.736).*.text-quoting-s
499c0 74 79 6c 65 3a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 45 6d 61 63 73 20 32 tyle:....................Emacs.2
499e0 35 2e 31 2e 20 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 20 20 31 33 29 0a 0a 0a 1f 0a 54 61 67 5.1...........(line..13).....Tag
49a00 20 54 61 62 6c 65 3a 0a 4e 6f 64 65 3a 20 54 6f 70 7f 38 32 39 0a 4e 6f 64 65 3a 20 49 6e 74 72 .Table:.Node:.Top.829.Node:.Intr
49a20 6f 64 75 63 74 69 6f 6e 7f 32 32 35 38 0a 4e 6f 64 65 3a 20 4f 76 65 72 76 69 65 77 7f 32 34 32 oduction.2258.Node:.Overview.242
49a40 31 0a 4e 6f 64 65 3a 20 55 73 61 67 65 7f 32 39 34 37 0a 4e 6f 64 65 3a 20 4c 69 6d 69 74 61 74 1.Node:.Usage.2947.Node:.Limitat
49a60 69 6f 6e 73 7f 37 33 32 36 0a 4e 6f 64 65 3a 20 53 75 70 70 6f 72 74 7f 31 32 31 39 32 0a 4e 6f ions.7326.Node:.Support.12192.No
49a80 64 65 3a 20 45 6d 61 63 73 20 32 35 2e 31 7f 31 32 37 37 37 0a 4e 6f 64 65 3a 20 45 6d 61 63 73 de:.Emacs.25.1.12777.Node:.Emacs
49aa0 20 32 36 2e 31 7f 32 32 31 37 39 0a 4e 6f 64 65 3a 20 45 6d 61 63 73 20 32 37 2e 31 7f 33 39 34 .26.1.22179.Node:.Emacs.27.1.394
49ac0 37 33 0a 4e 6f 64 65 3a 20 45 6d 61 63 73 20 32 38 2e 31 7f 35 39 38 37 30 0a 4e 6f 64 65 3a 20 73.Node:.Emacs.28.1.59870.Node:.
49ae0 45 6d 61 63 73 20 32 39 2e 31 7f 37 39 39 35 31 0a 4e 6f 64 65 3a 20 44 65 76 65 6c 6f 70 6d 65 Emacs.29.1.79951.Node:.Developme
49b00 6e 74 7f 31 31 37 33 33 30 0a 4e 6f 64 65 3a 20 46 75 6e 63 74 69 6f 6e 20 49 6e 64 65 78 7f 31 nt.117330.Node:.Function.Index.1
49b20 31 39 30 36 34 0a 4e 6f 64 65 3a 20 56 61 72 69 61 62 6c 65 20 49 6e 64 65 78 7f 31 33 34 34 39 19064.Node:.Variable.Index.13449
49b40 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
49b60 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:........
49b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49c00 63 6f 6d 70 61 74 2d 32 39 2e 31 2e 34 2e 35 2f 64 69 72 00 00 00 00 00 00 00 00 00 00 00 00 00 compat-29.1.4.5/dir.............
49c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49c60 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
49c80 30 30 30 31 31 35 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 33 37 34 00 20 30 00 00 00 0001152.00000000000.012374..0...
49ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49d00 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...................
49d20 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...................
49d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
49e00 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
49e20 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
49e40 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
49e60 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
49e80 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
49ea0 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
49ec0 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
49ee0 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
49f00 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
49f20 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
49f40 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,.
49f60 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
49f80 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
49fa0 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
49fc0 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.
49fe0 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
4a000 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
4a020 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)..........
4a040 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
4a060 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........................
4a080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a0a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a0c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a0e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a1a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a1c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a1e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a200 63 6f 6d 70 61 74 2d 32 39 2e 31 2e 34 2e 35 2f 63 6f 6d 70 61 74 2d 32 37 2e 65 6c 00 00 00 00 compat-29.1.4.5/compat-27.el....
4a220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a260 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
4a280 30 31 31 30 33 36 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 37 33 32 00 20 30 00 00 00 0110362.00000000000.013732..0...
4a2a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a2c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a2e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a300 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...................
4a320 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...................
4a340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a3a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a3c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a3e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
4a400 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
4a420 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
4a440 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
4a460 20 28 43 29 20 32 30 32 31 2d 32 30 32 34 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 .(C).2021-2024.Free.Software.Fou
4a480 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
4a4a0 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
4a4c0 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
4a4e0 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.
4a500 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.;
4a520 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,.
4a540 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,
4a560 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
4a580 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
4a5a0 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
4a5c0 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
4a5e0 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
4a600 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
4a620 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.
4a640 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
4a660 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
4a680 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
4a6a0 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.
4a6c0 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
4a6e0 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
4a700 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
4a720 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
4a740 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.
4a760 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
4a780 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".
4a7a0 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
4a7c0 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
4a7e0 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
4a800 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
4a820 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
4a840 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
4a860 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
4a880 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
4a8a0 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.
4a8c0 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
4a8e0 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
4a900 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.
4a920 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
4a940 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).
4a960 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...........
4a980 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
4a9a0 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
4a9c0 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
4a9e0 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
4aa00 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
4aa20 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)))...
4aa40 20 20 20 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
4aa60 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..............................
4aa80 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)..........
4aaa0 20 20 20 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
4aac0 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 ................................
4aae0 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)))...........
4ab00 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
4ab20 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
4ab40 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
4ab60 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))))).....;;.
4ab80 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
4aba0 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.
4abc0 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
4abe0 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
4ac00 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
4ac20 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>..."
4ac40 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
4ac60 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
4ac80 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
4aca0 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.
4acc0 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
4ace0 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
4ad00 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
4ad20 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
4ad40 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
4ad60 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
4ad80 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
4ada0 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:/
4adc0 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
4ade0 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
4ae00 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-
4ae20 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)
4ae40 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."
4ae60 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
4ae80 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-
4aea0 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).......
4aec0 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
4aee0 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
4af00 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
4af20 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)))...
4af40 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
4af60 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))....
4af80 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
4afa0 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))......
4afc0 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)..
4afe0 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)......
4b000 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
4b020 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
4b040 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))................
4b060 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
4b080 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).................
4b0a0 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).............
4b0c0 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+.
4b0e0 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+.
4b100 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)))...............
4b120 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)))).......(
4b140 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
4b160 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
4b180 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)
4b1a0 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
4b1c0 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
4b1e0 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
4b200 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
4b220 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))).
4b240 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
4b260 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.
4b280 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
4b2a0 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.
4b2c0 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
4b2e0 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....((
4b300 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.
4b320 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))....(
4b340 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
4b360 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).....
4b380 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
4b3a0 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)))........
4b3c0 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
4b3e0 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.
4b400 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
4b420 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
4b440 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
4b460 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
4b480 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
4b4a0 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
4b4c0 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.
4b4e0 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
4b500 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
4b520 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....
4b540 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)
4b560 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)).
4b580 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
4b5a0 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
4b5c0 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
4b5e0 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
4b600 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
4b620 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
4b640 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
4b660 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
4b680 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)))))..;;
4b6a0 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
4b6c0 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
4b6e0 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
4b700 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-
4b720 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
4b740 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
4b760 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
4b780 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
4b7a0 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
4b7c0 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
4b7e0 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
4b800 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
4b820 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
4b840 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))............
4b860 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
4b880 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
4b8a0 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
4b8c0 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))).........(
4b8e0 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.
4b900 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)
4b920 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
4b940 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-
4b960 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).;;.
4b980 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
4b9a0 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
4b9c0 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
4b9e0 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
4ba00 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.
4ba20 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
4ba40 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))...`(
4ba60 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
4ba80 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
4baa0 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
4bac0 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.&
4bae0 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
4bb00 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
4bb20 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
4bb40 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
4bb60 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
4bb80 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.
4bba0 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
4bbc0 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
4bbe0 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
4bc00 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
4bc20 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
4bc40 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,
4bc60 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
4bc80 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
4bca0 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
4bcc0 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
4bce0 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
4bd00 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
4bd20 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...)"...(
4bd40 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
4bd60 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
4bd80 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
4bda0 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--")
4bdc0 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."-
4bde0 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
4be00 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--")
4be20 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
4be40 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)
4be60 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))
4be80 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)..
4bea0 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
4bec0 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
4bee0 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
4bf00 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........
4bf20 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
4bf40 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))))...
4bf60 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
4bf80 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)
4bfa0 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
4bfc0 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
4bfe0 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
4c000 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
4c020 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
4c040 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
4c060 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.
4c080 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
4c0a0 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
4c0c0 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..
4c0e0 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.
4c100 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
4c120 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
4c140 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.(
4c160 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
4c180 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
4c1a0 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.
4c1c0 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
4c1e0 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
4c200 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.(
4c220 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
4c240 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
4c260 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
4c280 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
4c2a0 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
4c2c0 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
4c2e0 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.
4c300 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
4c320 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
4c340 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\\`".;
4c360 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
4c380 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
4c3a0 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
4c3c0 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
4c3e0 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
4c400 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
4c420 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
4c440 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."
4c460 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.
4c480 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.(
4c4a0 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
4c4c0 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)).....(
4c4e0 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.
4c500 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
4c520 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))...
4c540 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
4c560 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
4c580 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))..........
4c5a0 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))...
4c5c0 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))))...
4c5e0 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
4c600 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
4c620 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
4c640 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
4c660 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
4c680 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-
4c6a0 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
4c6c0 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
4c6e0 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
4c700 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..................
4c720 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
4c740 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)..........
4c760 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
4c780 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
4c7a0 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-
4c7c0 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)))..(
4c7e0 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.
4c800 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
4c820 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>..
4c840 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
4c860 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'
4c880 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
4c8a0 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
4c8c0 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
4c8e0 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
4c900 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
4c920 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..
4c940 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
4c960 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)))..
4c980 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.......
4c9a0 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
4c9c0 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))).............
4c9e0 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)...
4ca00 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-
4ca20 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)))........
4ca40 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
4ca60 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
4ca80 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-
4caa0 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)))..........
4cac0 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)
4cae0 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
4cb00 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))).....
4cb20 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-
4cb40 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
4cb60 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.()
4cb80 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
4cba0 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
4cbc0 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
4cbe0 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
4cc00 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
4cc20 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.".
4cc40 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
4cc60 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
4cc80 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-
4cca0 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)))..
4ccc0 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
4cce0 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
4cd00 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
4cd20 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
4cd40 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..
4cd60 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
4cd80 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.
4cda0 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
4cdc0 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
4cde0 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
4ce00 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
4ce20 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
4ce40 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
4ce60 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
4ce80 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
4cea0 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").
4cec0 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
4cee0 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
4cf00 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
4cf20 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
4cf40 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
4cf60 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-
4cf80 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
4cfa0 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
4cfc0 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
4cfe0 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.
4d000 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
4d020 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
4d040 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
4d060 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
4d080 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].#
4d0a0 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
4d0c0 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.
4d0e0 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'.
4d100 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
4d120 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..
4d140 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-
4d160 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.:
4d180 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
4d1a0 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
4d1c0 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
4d1e0 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
4d200 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
4d220 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-
4d240 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
4d260 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
4d280 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
4d2a0 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
4d2c0 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
4d2e0 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
4d300 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
4d320 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.
4d340 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
4d360 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
4d380 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
4d3a0 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
4d3c0 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.
4d3e0 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.
4d400 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.
4d420 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
4d440 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
4d460 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.
4d480 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
4d4a0 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.`
4d4c0 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
4d4e0 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
4d500 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
4d520 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
4d540 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
4d560 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)............
4d580 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
4d5a0 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)).....
4d5c0 20 20 20 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-
4d5e0 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)..
4d600 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.
4d620 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))...........
4d640 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
4d660 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-
4d680 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
4d6a0 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)................
4d6c0 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
4d6e0 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'..........
4d700 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
4d720 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')......
4d740 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.
4d760 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...
4d780 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
4d7a0 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...................
4d7c0 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..........
4d7e0 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
4d800 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).............
4d820 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.()......
4d840 20 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
4d860 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)..........................
4d880 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
4d8a0 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...............
4d8c0 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
4d8e0 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))))).........................(
4d900 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).............
4d920 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
4d940 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).....................
4d960 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
4d980 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))...............
4d9a0 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
4d9c0 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]...........
4d9e0 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
4da00 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).......
4da20 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
4da40 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
4da60 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 ))..............................
4da80 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
4daa0 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).....................
4dac0 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
4dae0 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)).......
4db00 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.
4db20 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
4db40 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.
4db60 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.(
4db80 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.
4dba0 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)))........
4dbc0 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
4dbe0 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.
4dc00 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
4dc20 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.....
4dc40 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).......
4dc60 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
4dc80 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
4dca0 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)))
4dcc0 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
4dce0 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.
4dd00 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
4dd20 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))..;
4dd40 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
4dd60 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
4dd80 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
4dda0 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
4ddc0 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
4dde0 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)..................(
4de00 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)..................(:
4de20 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
4de40 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
4de60 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
4de80 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
4dea0 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
4dec0 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
4dee0 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
4df00 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
4df20 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
4df40 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
4df60 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
4df80 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
4dfa0 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).").....(
4dfc0 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.
4dfe0 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
4e000 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
4e020 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
4e040 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
4e060 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
4e080 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
4e0a0 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
4e0c0 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.
4e0e0 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
4e100 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."
4e120 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
4e140 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
4e160 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
4e180 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
4e1a0 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
4e1c0 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
4e1e0 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
4e200 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.
4e220 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
4e240 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.
4e260 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.().;;.<
4e280 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-
4e2a0 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
4e2c0 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.
4e2e0 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
4e300 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
4e320 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
4e340 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.
4e360 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.
4e380 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
4e3a0 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
4e3c0 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...........
4e3e0 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
4e400 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))))..;;;;
4e420 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
4e440 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
4e460 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
4e480 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
4e4a0 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.
4e4c0 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
4e4e0 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
4e500 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
4e520 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
4e540 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
4e560 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
4e580 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
4e5a0 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
4e5c0 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
4e5e0 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)))..;;;
4e600 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
4e620 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
4e640 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
4e660 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
4e680 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
4e6a0 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
4e6c0 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
4e6e0 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'."
4e700 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))..
4e720 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
4e740 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
4e760 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
4e780 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
4e7a0 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.
4e7c0 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"...
4e7e0 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
4e800 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)......
4e820 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
4e840 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
4e860 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
4e880 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
4e8a0 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
4e8c0 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
4e8e0 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
4e900 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.
4e920 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
4e940 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
4e960 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
4e980 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.
4e9a0 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:
4e9c0 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
4e9e0 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
4ea00 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)))...:
4ea20 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
4ea40 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
4ea60 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
4ea80 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.'
4eaa0 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)....
4eac0 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)))..;;;;.
4eae0 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
4eb00 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
4eb20 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
4eb40 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
4eb60 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
4eb80 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-
4eba0 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
4ebc0 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-
4ebe0 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))))
4ec00 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.
4ec20 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-
4ec40 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
4ec60 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
4ec80 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-
4eca0 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
4ecc0 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
4ece0 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)))
4ed00 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
4ed20 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
4ed40 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
4ed60 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
4ed80 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
4eda0 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
4edc0 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
4ede0 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
4ee00 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
4ee20 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
4ee40 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
4ee60 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
4ee80 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).....
4eea0 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
4eec0 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
4eee0 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-
4ef00 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
4ef20 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
4ef40 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.
4ef60 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
4ef80 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
4efa0 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
4efc0 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.((
4efe0 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.
4f000 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))...................
4f020 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)
4f040 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"
4f060 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"))).....
4f080 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)
4f0a0 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
4f0c0 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)......
4f0e0 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)))
4f100 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
4f120 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
4f140 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)..............
4f160 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........
4f180 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
4f1a0 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)....
4f1c0 20 20 20 20 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.
4f1e0 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").....
4f200 20 20 20 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
4f220 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")).......................
4f240 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))))...
4f260 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
4f280 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)..............
4f2a0 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)
4f2c0 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%
4f2e0 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")
4f300 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........
4f320 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
4f340 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."")).........
4f360 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
4f380 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-
4f3a0 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
4f3c0 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
4f3e0 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
4f400 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
4f420 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
4f440 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-
4f460 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
4f480 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
4f4a0 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
4f4c0 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
4f4e0 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
4f500 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
4f520 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
4f540 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
4f560 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
4f580 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.
4f5a0 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
4f5c0 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
4f5e0 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
4f600 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
4f620 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
4f640 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
4f660 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
4f680 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.
4f6a0 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).............;
4f6c0 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
4f6e0 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.............'(
4f700 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/
4f720 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
4f740 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)))
4f760 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
4f780 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).;;.<
4f7a0 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>...
4f7c0 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
4f7e0 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
4f800 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
4f820 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
4f840 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...
4f860 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.........
4f880 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.....
4f8a0 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
4f8c0 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)).....
4f8e0 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)).....
4f900 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
4f920 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.
4f940 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
4f960 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
4f980 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-
4f9a0 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
4f9c0 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
4f9e0 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
4fa00 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
4fa20 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.
4fa40 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
4fa60 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)
4fa80 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
4faa0 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)
4fac0 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
4fae0 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
4fb00 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
4fb20 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
4fb40 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
4fb60 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.
4fb80 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.
4fba0 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
4fbc0 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
4fbe0 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
4fc00 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
4fc20 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).....
4fc40 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\\`")).........
4fc60 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).............
4fc80 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."\\)"))...
4fca0 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)....
4fcc0 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."\\
4fce0 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
4fd00 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."\\
4fd20 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."\\)\\>")).............
4fd40 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)..........
4fd60 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."\\)\
4fd80 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."\
4fda0 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
4fdc0 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.
4fde0 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
4fe00 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-
4fe20 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)
4fe40 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
4fe60 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-
4fe80 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
4fea0 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
4fec0 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
4fee0 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
4ff00 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
4ff20 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
4ff40 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
4ff60 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)."...;
4ff80 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
4ffa0 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,
4ffc0 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
4ffe0 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
50000 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
50020 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!.
50040 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
50060 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
50080 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)))
500a0 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
500c0 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.
500e0 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
50100 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.
50120 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...
50140 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........"/[^/]
50160 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
50180 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\\)+\\)/[^/
501a0 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
501c0 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
501e0 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
50200 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......;
50220 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
50240 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
50260 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.......((
50280 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
502a0 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.
502c0 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
502e0 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)))..........
50300 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.
50320 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)))
50340 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.
50360 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
50380 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
503a0 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
503c0 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.
503e0 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")...
50400 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
50420 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
50440 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
50460 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
50480 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
504a0 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.
504c0 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.
504e0 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
50500 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
50520 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.
50540 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
50560 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.
50580 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).
505a0 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
505c0 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
505e0 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
50600 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
50620 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)...
50640 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)).....
50660 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
50680 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
506a0 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)........
506c0 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.
506e0 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)).......
50700 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.
50720 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
50740 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
50760 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
50780 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-
507a0 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.
507c0 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
507e0 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
50800 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
50820 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
50840 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
50860 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
50880 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
508a0 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
508c0 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
508e0 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
50900 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
50920 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
50940 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-
50960 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
50980 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
509a0 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
509c0 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
509e0 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
50a00 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
50a20 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
50a40 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
50a60 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
50a80 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
50aa0 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
50ac0 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.
50ae0 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
50b00 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
50b20 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
50b40 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.
50b60 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
50b80 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.
50ba0 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
50bc0 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
50be0 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.`
50c00 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.
50c20 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
50c40 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
50c60 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
50c80 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
50ca0 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
50cc0 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.
50ce0 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.
50d00 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
50d20 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
50d40 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
50d60 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.
50d80 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
50da0 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.
50dc0 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
50de0 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
50e00 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.
50e20 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-
50e40 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
50e60 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
50e80 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
50ea0 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
50ec0 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.
50ee0 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
50f00 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.
50f20 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
50f40 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
50f60 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
50f80 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
50fa0 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-
50fc0 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
50fe0 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
51000 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
51020 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*.((
51040 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-
51060 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.....
51080 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
510a0 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)................#'
510c0 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
510e0 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.
51100 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
51120 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))))..........
51140 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
51160 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
51180 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).
511a0 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)..........
511c0 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.............
511e0 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))....
51200 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
51220 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
51240 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...................;
51260 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
51280 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.
512a0 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
512c0 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
512e0 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
51300 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))................
51320 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).........
51340 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
51360 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
51380 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
513a0 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).....................
513c0 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....................
513e0 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))
51400 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
51420 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)..................
51440 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))......
51460 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
51480 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
514a0 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
514c0 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)).......
514e0 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.
51500 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
51520 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
51540 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................
51560 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
51580 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
515a0 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
515c0 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
515e0 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
51600 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.
51620 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
51640 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)))))
51660 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
51680 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.......((
516a0 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
516c0 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
516e0 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
51700 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.
51720 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
51740 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
51760 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
51780 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
517a0 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
517c0 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
517e0 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..........
51800 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
51820 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
51840 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))..........
51860 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
51880 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
518a0 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
518c0 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
518e0 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
51900 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
51920 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.
51940 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))
51960 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
51980 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........
519a0 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
519c0 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)
519e0 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.....
51a00 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)..
51a20 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))))
51a40 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)
51a60 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
51a80 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
51aa0 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
51ac0 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
51ae0 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.
51b00 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
51b20 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
51b40 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
51b60 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
51b80 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
51ba0 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,.
51bc0 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.
51be0 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......
51c00 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).......
51c20 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
51c40 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
51c60 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).......
51c80 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).....
51ca0 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)..
51cc0 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.
51ce0 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
51d00 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
51d20 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........
51d40 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).............(
51d60 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
51d80 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
51da0 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)).................
51dc0 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
51de0 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.
51e00 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
51e20 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
51e40 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..............
51e60 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
51e80 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...
51ea0 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
51ec0 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.(
51ee0 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)......................
51f00 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
51f20 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))..
51f40 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
51f60 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
51f80 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.............................
51fa0 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)).........
51fc0 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
51fe0 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)...........................
52000 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))...............
52020 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))..
52040 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.(
52060 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
52080 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))...........
520a0 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).
520c0 20 20 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.
520e0 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))))).................;;.
52100 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.
52120 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..........
52140 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
52160 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..............
52180 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
521a0 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)))................
521c0 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))...............
521e0 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................
52200 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
52220 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
52240 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
52260 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
52280 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
522a0 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).
522c0 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
522e0 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.
52300 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....
52320 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
52340 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)).
52360 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))....
52380 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
523a0 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
523c0 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
523e0 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
52400 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
52420 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
52440 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
52460 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
52480 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)
524a0 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
524c0 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)))..
524e0 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
52500 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
52520 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..
52540 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)).....
52560 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).............
52580 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
525a0 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
525c0 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
525e0 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
52600 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
52620 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....
52640 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).
52660 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)).
52680 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))
526a0 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-
526c0 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
526e0 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
52700 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
52720 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)))...........
52740 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
52760 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
52780 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-
527a0 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)).......
527c0 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.............
527e0 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)..........
52800 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))))).......
52820 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)).......
52840 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
52860 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-
52880 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
528a0 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
528c0 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
528e0 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
52900 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.".
52920 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
52940 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-
52960 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
52980 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))).......
529a0 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
529c0 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)).......
529e0 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))........
52a00 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
52a20 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
52a40 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
52a60 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)).........
52a80 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
52aa0 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)))....
52ac0 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
52ae0 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.
52b00 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
52b20 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......
52b40 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..
52b60 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
52b80 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.(
52ba0 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).
52bc0 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
52be0 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
52c00 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")
52c20 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
52c40 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
52c60 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-
52c80 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-
52ca0 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.
52cc0 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
52ce0 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
52d00 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
52d20 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
52d40 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
52d60 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
52d80 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.
52da0 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
52dc0 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
52de0 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
52e00 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
52e20 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
52e40 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
52e60 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
52e80 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
52ea0 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)
52ec0 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>..
52ee0 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
52f00 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
52f20 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
52f40 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
52f60 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.
52f80 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
52fa0 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
52fc0 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
52fe0 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:..
53000 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-
53020 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.
53040 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
53060 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
53080 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
530a0 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
530c0 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.
530e0 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
53100 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
53120 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
53140 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
53160 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:...\\=
53180 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
531a0 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
531c0 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\"..?!.\
531e0 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
53200 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
53220 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
53240 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
53260 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
53280 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
532a0 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
532c0 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,
532e0 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
53300 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
53320 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
53340 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-
53360 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
53380 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
533a0 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
533c0 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........
533e0 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)..
53400 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...............
53420 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
53440 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)).............
53460 20 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.(
53480 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))))....
534a0 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)))))
534c0 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
534e0 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...............
53500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
535a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
535c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
535e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53600 63 6f 6d 70 61 74 2d 32 39 2e 31 2e 34 2e 35 2f 63 6f 6d 70 61 74 2d 70 6b 67 2e 65 6c 00 00 00 compat-29.1.4.5/compat-pkg.el...
53620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53660 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
53680 30 30 30 30 37 33 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 32 36 36 00 20 30 00 00 00 0000736.00000000000.014266..0...
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 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...................
53720 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...................
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 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
53820 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
53840 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
53860 70 61 74 22 20 22 32 39 2e 31 2e 34 2e 35 22 20 22 45 6d 61 63 73 20 4c 69 73 70 20 43 6f 6d 70 pat"."29.1.4.5"."Emacs.Lisp.Comp
53880 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.
538a0 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 38 64 34 65 38 4").(seq."2.23")).:commit."8d4e8
538c0 61 33 36 36 36 38 31 64 65 66 38 38 37 35 31 66 35 65 39 39 37 35 37 33 38 65 63 64 33 31 38 30 a366681def88751f5e9975738ecd3180
538e0 64 65 62 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 deb".:authors.'(("Philip.Kaluder
53900 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
53920 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
53940 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
53960 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
53980 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.'("
539a0 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
539c0 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")...
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 63 6f 6d 70 61 74 2d 32 39 2e 31 2e 34 2e 35 2f 63 6f 6d 70 61 74 2e 65 6c 00 00 00 00 00 00 00 compat-29.1.4.5/compat.el.......
53a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53a60 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
53a80 30 30 30 37 36 32 34 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 35 31 32 00 20 30 00 00 00 0007624.00000000000.013512..0...
53aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53b00 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...................
53b20 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...................
53b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
53c00 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
53c20 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
53c40 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)
53c60 20 32 30 32 31 2d 32 30 32 34 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 .2021-2024.Free.Software.Foundat
53c80 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
53ca0 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
53cc0 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
53ce0 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
53d00 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
53d20 73 2e 73 72 2e 68 74 3e 0a 3b 3b 20 56 65 72 73 69 6f 6e 3a 20 32 39 2e 31 2e 34 2e 35 0a 3b 3b s.sr.ht>.;;.Version:.29.1.4.5.;;
53d40 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
53d60 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
53d80 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")).
53da0 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
53dc0 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.
53de0 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
53e00 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
53e20 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
53e40 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
53e60 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
53e80 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
53ea0 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
53ec0 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
53ee0 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
53f00 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
53f20 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
53f40 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.
53f60 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.;;.
53f80 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
53fa0 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
53fc0 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
53fe0 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
54000 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
54020 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/>...;;
54040 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.
54060 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
54080 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
540a0 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
540c0 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.
540e0 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.
54100 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.
54120 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
54140 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.;
54160 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
54180 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
541a0 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
541c0 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
541e0 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
54200 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
54220 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
54240 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
54260 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
54280 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.
542a0 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
542c0 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
542e0 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
54300 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
54320 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...
54340 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
54360 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
54380 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.;;
543a0 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...;;
543c0 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
543e0 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.;
54400 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
54420 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
54440 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
54460 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.
54480 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
544a0 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
544c0 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
544e0 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
54500 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.().....
54520 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 32 (when.(version<.emacs-version."2
54540 39 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 32 39 29 9.1").......(require.'compat-29)
54560 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 32 39 29 29 29 29 0a .......'(require.'compat-29)))).
54580 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
545a0 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.
545c0 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
545e0 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
54600 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.
54620 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.
54640 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
54660 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
54680 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
546a0 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
546c0 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.
546e0 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.
54700 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
54720 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
54740 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
54760 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.
54780 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.
547a0 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
547c0 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
547e0 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
54800 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))))...
54820 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
54840 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.
54860 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
54880 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
548a0 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
548c0 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
548e0 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.
54900 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
54920 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
54940 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
54960 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
54980 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
549a0 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
549c0 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
549e0 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
54a00 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.
54a20 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
54a40 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.
54a60 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..
54a80 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
54aa0 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
54ac0 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
54ae0 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.
54b00 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
54b20 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
54b40 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).,
54b60 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).;;;.
54b80 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.............
54ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54c00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................