summaryrefslogtreecommitdiff
path: root/localrepo/compat-29.1.4.5.tar
blob: 866425a8b1be95fb04209c7e94bce0ae14415210 (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 36 2e 65 6c 00 00 00 00 compat-29.1.4.5/compat-26.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 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...
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 36 2e 65 6c 20 2d 2d 2d 20 46 75 6e 63 74 69 6f 6e 61 6c 69 ;;;.compat-26.el.---.Functionali
0420 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
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 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.
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 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
07c0 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
07e0 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
0800 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
0820 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
0840 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
0860 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
0880 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
08a0 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
08c0 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
08e0 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.
0900 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
0920 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
0940 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
0960 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
0980 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
09a0 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
09c0 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
09e0 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.
0a00 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
0a20 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
0a40 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
0a60 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."....(
0a80 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
0aa0 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
0ac0 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)..
0ae0 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
0b00 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
0b20 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).;
0b40 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
0b60 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
0b80 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
0ba0 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
0bc0 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
0be0 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."..
0c00 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
0c20 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
0c40 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
0c60 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
0c80 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
0ca0 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
0cc0 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
0ce0 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).......
0d00 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))
0d20 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
0d40 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.
0d60 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.().
0d80 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>.
0da0 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.
0dc0 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
0de0 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
0e00 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
0e20 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
0e40 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
0e60 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
0e80 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
0ea0 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
0ec0 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
0ee0 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
0f00 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.......;
0f20 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.(
0f40 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-
0f60 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
0f80 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
0fa0 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
0fc0 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
0fe0 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
1000 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
1020 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
1040 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
1060 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
1080 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.
10a0 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
10c0 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
10e0 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
1100 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
1120 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))).....(
1140 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))
1160 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
1180 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
11a0 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
11c0 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
11e0 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
1200 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))).........
1220 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
1240 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
1260 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
1280 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)
12a0 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
12c0 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
12e0 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
1300 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
1320 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
1340 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....
1360 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
1380 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))....
13a0 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
13c0 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
13e0 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
1400 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
1420 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
1440 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
1460 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
1480 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
14a0 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
14c0 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)
14e0 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)....
1500 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)....
1520 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
1540 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).
1560 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.;;.<
1580 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
15a0 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
15c0 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
15e0 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)...
1600 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
1620 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
1640 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.........
1660 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-
1680 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)......
16a0 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
16c0 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).................
16e0 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
1700 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
1720 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
1740 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............
1760 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....
1780 20 20 20 20 20 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
17a0 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).............
17c0 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
17e0 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.........................
1800 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
1820 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))..............
1840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1860 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))))).............
1880 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..........
18a0 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.....
18c0 20 20 20 20 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
18e0 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).............
1900 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.
1920 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)........................
1940 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
1960 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).....................
1980 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
19a0 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)............
19c0 20 20 20 20 20 20 20 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 ...............................(
19e0 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))))..
1a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1a20 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.
1a40 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))))..................
1a60 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...............
1a80 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.......
1aa0 20 20 20 20 20 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
1ac0 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).
1ae0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1b00 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.........
1b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
1b40 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))))))
1b60 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 ...............................,
1b80 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
1ba0 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
1bc0 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
1be0 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)))
1c00 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
1c20 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).;;.<
1c40 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>..
1c60 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
1c80 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-
1ca0 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
1cc0 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)
1ce0 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-
1d00 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
1d20 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
1d40 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
1d60 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
1d80 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
1da0 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-
1dc0 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
1de0 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]+")."\\)\\'")
1e00 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
1e20 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))
1e40 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
1e60 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
1e80 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
1ea0 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.
1ec0 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
1ee0 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-
1f00 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
1f20 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)...
1f40 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
1f60 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>...
1f80 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
1fa0 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
1fc0 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))))..
1fe0 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
2000 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
2020 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
2040 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
2060 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.
2080 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
20a0 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
20c0 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
20e0 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))
2100 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).;;.<
2120 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
2140 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
2160 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))...
2180 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
21a0 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
21c0 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
21e0 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
2200 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
2220 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).
2240 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
2260 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.
2280 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)
22a0 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
22c0 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
22e0 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
2300 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."..
2320 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.
2340 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.
2360 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
2380 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.
23a0 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
23c0 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
23e0 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
2400 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
2420 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
2440 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
2460 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))
2480 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).;;
24a0 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
24c0 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.`
24e0 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
2500 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.(
2520 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
2540 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>...
2560 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
2580 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.".
25a0 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
25c0 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
25e0 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
2600 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.
2620 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'.
2640 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
2660 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
2680 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
26a0 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'.
26c0 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
26e0 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
2700 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))))).
2720 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
2740 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
2760 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'
2780 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.
27a0 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.
27c0 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)
27e0 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
2800 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
2820 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
2840 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
2860 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
2880 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>
28a0 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
28c0 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
28e0 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.(
2900 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
2920 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:
2940 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
2960 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
2980 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))..
29a0 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
29c0 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
29e0 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
2a00 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.
2a20 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
2a40 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)))
2a60 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).;;.
2a80 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.
2aa0 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
2ac0 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
2ae0 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
2b00 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.
2b20 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>..."
2b40 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
2b60 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."..
2b80 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.
2ba0 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.
2bc0 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
2be0 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.`
2c00 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
2c20 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
2c40 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
2c60 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
2c80 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
2ca0 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.
2cc0 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)
2ce0 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)))))..
2d00 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
2d20 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.
2d40 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'.
2d60 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.(
2d80 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
2da0 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).
2dc0 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
2de0 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
2e00 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
2e20 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
2e40 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
2e60 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
2e80 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
2ea0 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
2ec0 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
2ee0 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).;
2f00 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
2f20 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
2f40 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
2f60 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
2f80 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\"."
2fa0 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
2fc0 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-
2fe0 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+
3000 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
3020 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.
3040 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
3060 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)
3080 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
30a0 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
30c0 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
30e0 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
3100 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
3120 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
3140 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
3160 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
3180 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)])................
31a0 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
31c0 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
31e0 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)..
3200 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
3220 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.
3240 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).
3260 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)..
3280 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.
32a0 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.(
32c0 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
32e0 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
3300 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
3320 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
3340 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*>.
3360 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
3380 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
33a0 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'.
33c0 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.
33e0 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
3400 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).(
3420 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*
3440 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)))
3460 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
3480 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
34a0 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
34c0 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
34e0 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
3500 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
3520 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,.
3540 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."...(
3560 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
3580 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
35a0 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)])...............
35c0 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
35e0 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).
3600 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).
3620 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
3640 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
3660 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)
3680 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).
36a0 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
36c0 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.
36e0 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
3700 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
3720 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
3740 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
3760 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
3780 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-
37a0 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
37c0 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
37e0 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))..........
3800 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....
3820 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/".
3840 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
3860 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
3880 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
38a0 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).;;.<
38c0 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>...
38e0 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
3900 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.
3920 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
3940 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
3960 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
3980 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.
39a0 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
39c0 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
39e0 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
3a00 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
3a20 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-
3a40 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))
3a60 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
3a80 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
3aa0 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
3ac0 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
3ae0 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
3b00 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
3b20 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
3b40 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.
3b60 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
3b80 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.
3ba0 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
3bc0 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
3be0 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.
3c00 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
3c20 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
3c40 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
3c60 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:.
3c80 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
3ca0 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
3cc0 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
3ce0 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
3d00 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......
3d20 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.'
3d40 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))).....
3d60 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.
3d80 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
3da0 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.((
3dc0 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
3de0 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
3e00 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./
3e20 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
3e40 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
3e60 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)..........
3e80 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..........
3ea0 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)))))
3ec0 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.(
3ee0 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
3f00 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
3f20 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
3f40 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.
3f60 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
3f80 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.
3fa0 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.........
3fc0 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
3fe0 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
4000 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
4020 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
4040 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
4060 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>..
4080 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
40a0 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
40c0 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
40e0 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
4100 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
4120 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
4140 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
4160 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
4180 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'
41a0 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
41c0 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
41e0 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.
4200 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'."
4220 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
4240 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...;;.`
4260 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
4280 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
42a0 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
42c0 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)).
42e0 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
4300 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...................
4320 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
4340 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
4360 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
4380 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...
43a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
43c0 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
43e0 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
4400 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
4420 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
4440 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))))).
4460 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
4480 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
44a0 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.
44c0 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
44e0 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
4500 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
4520 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
4540 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
4560 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
4580 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).;;
45a0 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
45c0 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
45e0 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.`
4600 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
4620 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
4640 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).;;.<
4660 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
4680 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
46a0 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
46c0 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.
46e0 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
4700 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,
4720 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
4740 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
4760 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
4780 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
47a0 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>.
47c0 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
47e0 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
4800 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
4820 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.
4840 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
4860 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
4880 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))..(
48a0 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
48c0 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-
48e0 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>...
4900 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
4920 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
4940 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.
4960 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
4980 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
49a0 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.
49c0 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
49e0 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
4a00 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
4a20 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
4a40 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.
4a60 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
4a80 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.
4aa0 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
4ac0 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
4ae0 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
4b00 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
4b20 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
4b40 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
4b60 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.
4b80 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
4ba0 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
4bc0 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
4be0 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
4c00 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.
4c20 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
4c40 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).;;.
4c60 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
4c80 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
4ca0 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.`
4cc0 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
4ce0 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
4d00 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
4d20 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
4d40 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
4d60 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'
4d80 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
4da0 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
4dc0 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
4de0 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
4e00 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
4e20 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
4e40 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.`
4e60 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
4e80 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
4ea0 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
4ec0 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).
4ee0 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-
4f00 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
4f20 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
4f40 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.
4f60 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))
4f80 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
4fa0 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
4fc0 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
4fe0 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
5000 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
5020 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
5040 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
5060 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.
5080 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,
50a0 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
50c0 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
50e0 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
5100 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
5120 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
5140 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.
5160 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...
5180 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..
51a0 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
51c0 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
51e0 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)..............
5200 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
5220 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
5240 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
5260 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)
5280 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
52a0 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))).....
52c0 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).........
52e0 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
5300 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
5320 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
5340 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
5360 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
5380 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
53a0 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-
53c0 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.
53e0 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
5400 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
5420 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
5440 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.
5460 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.
5480 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
54a0 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
54c0 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
54e0 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
5500 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
5520 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
5540 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
5560 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
5580 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
55a0 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
55c0 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
55e0 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)).
5600 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
5620 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
5640 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
5660 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.
5680 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,
56a0 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
56c0 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
56e0 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
5700 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
5720 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
5740 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.
5760 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
5780 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
57a0 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
57c0 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
57e0 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
5800 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-
5820 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
5840 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
5860 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
5880 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..........(
58a0 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
58c0 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...........
58e0 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
5900 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)))..
5920 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)))........
5940 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)
5960 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
5980 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
59a0 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
59c0 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
59e0 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").......(
5a00 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
5a20 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.
5a40 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.......................
5a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c00 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..
5c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5c60 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
5c80 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...
5ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d00 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...................
5d20 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...................
5d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
5e00 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
5e20 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:
5e40 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;.-*-..;;.
5e60 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
5e80 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.
5ea0 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
5ec0 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.
5ee0 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
5f00 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
5f20 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
5f40 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
5f60 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)
5f80 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
5fa0 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.
5fc0 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
5fe0 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
6000 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
6020 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
6040 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
6060 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
6080 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
60a0 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
60c0 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
60e0 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
6100 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/>...;;;.
6120 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
6140 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...
6160 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
6180 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
61a0 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
61c0 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
61e0 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
6200 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
6220 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.
6240 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
6260 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
6280 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
62a0 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
62c0 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
62e0 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:
6300 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
6320 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
6340 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
6360 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
6380 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
63a0 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)
63c0 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
63e0 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.
6400 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
6420 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
6440 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
6460 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
6480 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.
64a0 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)
64c0 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
64e0 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
6500 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)..
6520 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
6540 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
6560 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
6580 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
65a0 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
65c0 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
65e0 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
6600 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
6620 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.....
6640 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
6660 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
6680 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.]\
66a0 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
66c0 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
66e0 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
6700 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
6720 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
6740 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-
6760 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).
6780 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
67a0 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."...(
67c0 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))....
67e0 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
6800 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"
6820 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.
6840 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)
6860 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 )))............................(
6880 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
68a0 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)))))..................
68c0 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".(
68e0 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
6900 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
6920 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)
6940 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
6960 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
6980 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
69a0 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
69c0 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
69e0 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
6a00 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
6a20 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
6a40 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*.((
6a60 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
6a80 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
6aa0 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))).........
6ac0 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
6ae0 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
6b00 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)....
6b20 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
6b40 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
6b60 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
6b80 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
6ba0 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))..
6bc0 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.
6be0 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
6c00 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
6c20 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
6c40 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
6c60 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)
6c80 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
6ca0 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
6cc0 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))).......(
6ce0 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)...........
6d00 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
6d20 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
6d40 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--
6d60 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
6d80 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
6da0 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
6dc0 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
6de0 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-
6e00 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
6e20 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
6e40 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))).............
6e60 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
6e80 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)))........
6ea0 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
6ec0 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
6ee0 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
6f00 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
6f20 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-
6f40 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
6f60 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
6f80 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
6fa0 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
6fc0 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
6fe0 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
7000 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)).
7020 20 20 20 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
7040 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
7060 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
7080 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
70a0 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
70c0 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
70e0 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......
7100 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
7120 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)).
7140 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
7160 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)).........(
7180 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
71a0 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.............
71c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
71e0 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))))
7200 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.
7220 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
7240 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
7260 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)).....
7280 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
72a0 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)).......
72c0 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))........
72e0 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
7300 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)..........................
7320 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
7340 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)....................
7360 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
7380 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)).....................
73a0 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...............
73c0 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
73e0 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).............
7400 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
7420 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).............
7440 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
7460 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
7480 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.
74a0 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
74c0 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..............
74e0 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
7500 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,
7520 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
7540 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
7560 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................
7580 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
75a0 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
75c0 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
75e0 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
7600 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)........
7620 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
7640 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
7660 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.
7680 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..
76a0 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.(
76c0 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
76e0 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
7700 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
7720 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
7740 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.
7760 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
7780 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
77a0 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
77c0 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
77e0 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.
7800 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
7820 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
7840 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
7860 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
7880 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
78a0 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
78c0 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
78e0 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
7900 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).
7920 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
7940 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.
7960 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
7980 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
79a0 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).
79c0 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).........
79e0 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
7a00 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.
7a20 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
7a40 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
7a60 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
7a80 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
7aa0 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...-
7ac0 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.
7ae0 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
7b00 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
7b20 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
7b40 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
7b60 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)...
7b80 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
7ba0 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
7bc0 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).
7be0 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
7c00 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.
7c20 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.
7c40 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
7c60 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.....
7c80 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
7ca0 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
7cc0 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
7ce0 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
7d00 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.............................
7d20 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
7d40 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
7d60 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
7d80 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
7da0 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-
7dc0 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
7de0 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
7e00 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
7e20 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
7e40 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
7e60 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
7e80 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
7ea0 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
7ec0 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.
7ee0 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
7f00 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
7f20 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
7f40 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
7f60 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
7f80 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..
7fa0 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
7fc0 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
7fe0 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
8000 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
8020 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
8040 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
8060 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.
8080 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
80a0 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...
80c0 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
80e0 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
8100 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
8120 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)...........
8140 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........
8160 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
8180 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].......................
81a0 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-
81c0 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-
81e0 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
8200 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
8220 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
8240 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
8260 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
8280 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.
82a0 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
82c0 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
82e0 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
8300 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
8320 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
8340 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
8360 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
8380 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
83a0 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.
83c0 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
83e0 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.
8400 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
8420 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
8440 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
8460 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
8480 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...-
84a0 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.
84c0 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
84e0 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
8500 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
8520 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
8540 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
8560 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
8580 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
85a0 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
85c0 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
85e0 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.[
8600 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]))..........
8620 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))...(
8640 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.(
8660 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.......
8680 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).(
86a0 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))).....
86c0 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.
86e0 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)
8700 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.
8720 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
8740 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
8760 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
8780 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
87a0 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
87c0 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
87e0 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
8800 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
8820 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.
8840 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
8860 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
8880 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
88a0 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
88c0 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)..........
88e0 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
8900 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
8920 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
8940 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
8960 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..............
8980 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
89a0 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")....
89c0 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
89e0 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.`((
8a00 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
8a20 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
8a40 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
8a60 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
8a80 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
8aa0 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
8ac0 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
8ae0 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
8b00 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
8b20 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.
8b40 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.
8b60 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
8b80 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)....
8ba0 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
8bc0 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-
8be0 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
8c00 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..............................
8c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8e00 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........
8e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8e60 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
8e80 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...
8ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8f00 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...................
8f20 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...................
8f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
8fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
9000 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
9020 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:.
9040 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
9060 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/.#+
9080 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:
90a0 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
90c0 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
90e0 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~
9100 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
9120 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
9140 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
9160 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
9180 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
91a0 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
91c0 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
91e0 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
9200 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
9220 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...
9240 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
9260 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.
9280 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
92a0 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
92c0 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.<
92e0 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."
9300 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.
9320 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
9340 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
9360 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
9380 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"
93a0 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:.
93c0 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=.
93e0 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
9400 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
9420 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
9440 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..
9460 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
9480 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
94a0 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
94c0 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
94e0 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
9500 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
9520 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
9540 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..-
9560 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
9580 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
95a0 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
95c0 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
95e0 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..
9600 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
9620 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~.
9640 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
9660 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
9680 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
96a0 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
96c0 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
96e0 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
9700 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
9720 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
9740 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
9760 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
9780 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..
97a0 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.
97c0 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
97e0 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
9800 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.
9820 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
9840 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
9860 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
9880 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
98a0 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
98c0 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
98e0 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~
9900 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
9920 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>).
9940 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
9960 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-
9980 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
99a0 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
99c0 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.~
99e0 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
9a00 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>
9a20 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
9a40 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
9a60 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
9a80 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
9aa0 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~
9ac0 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.
9ae0 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
9b00 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
9b20 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
9b40 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.~
9b60 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
9b80 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:.
9ba0 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
9bc0 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
9be0 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>)
9c00 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.
9c20 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
9c40 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
9c60 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
9c80 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
9ca0 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
9cc0 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..
9ce0 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
9d00 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
9d20 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:
9d40 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
9d60 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~
9d80 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
9da0 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
9dc0 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
9de0 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-
9e00 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".
9e20 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
9e40 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
9e60 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~.
9e80 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
9ea0 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~.
9ec0 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
9ee0 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
9f00 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
9f20 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.
9f40 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
9f60 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
9f80 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
9fa0 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
9fc0 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-
9fe0 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.
a000 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
a020 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
a040 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
a060 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
a080 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
a0a0 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
a0c0 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
a0e0 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
a100 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
a120 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-
a140 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
a160 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:.
a180 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
a1a0 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~..-
a1c0 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~..-
a1e0 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
a200 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
a220 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:.
a240 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
a260 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~.
a280 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
a2a0 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
a2c0 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~..
a2e0 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
a300 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
a320 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~.
a340 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~
a360 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
a380 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>)
a3a0 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.
a3c0 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
a3e0 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!.-.
a400 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
a420 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
a440 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
a460 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)..-.
a480 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
a4a0 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
a4c0 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
a4e0 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
a500 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
a520 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
a540 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
a560 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
a580 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-*
a5a0 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
a5c0 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
a5e0 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
a600 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
a620 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
a640 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
a660 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
a680 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
a6a0 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
a6c0 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..-
a6e0 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
a700 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
a720 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
a740 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
a760 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:
a780 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
a7a0 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
a7c0 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
a7e0 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~..
a800 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
a820 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.
a840 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
a860 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
a880 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
a8a0 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
a8c0 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
a8e0 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
a900 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
a920 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
a940 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
a960 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
a980 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
a9a0 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
a9c0 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
a9e0 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.
aa00 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
aa20 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
aa40 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.
aa60 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
aa80 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
aaa0 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
aac0 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.
aae0 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
ab00 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.
ab20 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
ab40 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.
ab60 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.
ab80 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
aba0 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
abc0 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
abe0 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
ac00 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
ac20 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
ac40 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
ac60 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
ac80 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.
aca0 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
acc0 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
ace0 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.
ad00 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.
ad20 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.
ad40 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
ad60 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
ad80 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.
ada0 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
adc0 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~
ade0 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
ae00 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
ae20 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
ae40 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.
ae60 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..-.
ae80 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
aea0 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
aec0 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
aee0 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.
af00 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
af20 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:.
af40 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
af60 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
af80 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~,.~
afa0 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
afc0 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
afe0 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
b000 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
b020 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
b040 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
b060 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
b080 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
b0a0 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.
b0c0 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
b0e0 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
b100 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
b120 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
b140 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
b160 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
b180 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
b1a0 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
b1c0 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
b1e0 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
b200 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
b220 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
b240 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
b260 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
b280 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
b2a0 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...
b2c0 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
b2e0 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
b300 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
b320 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
b340 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-*~.
b360 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.
b380 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
b3a0 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..
b3c0 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
b3e0 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
b400 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
b420 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
b440 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
b460 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
b480 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
b4a0 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
b4c0 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
b4e0 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
b500 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
b520 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
b540 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
b560 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.
b580 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
b5a0 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
b5c0 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.
b5e0 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.
b600 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
b620 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
b640 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
b660 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
b680 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
b6a0 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.<
b6c0 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."
b6e0 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
b700 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
b720 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-
b740 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
b760 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
b780 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
b7a0 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
b7c0 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
b7e0 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
b800 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
b820 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
b840 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
b860 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
b880 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
b8a0 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
b8c0 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
b8e0 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
b900 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
b920 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
b940 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
b960 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.
b980 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
b9a0 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
b9c0 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
b9e0 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
ba00 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
ba20 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
ba40 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
ba60 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
ba80 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..
baa0 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
bac0 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
bae0 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
bb00 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.
bb20 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
bb40 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
bb60 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.
bb80 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
bba0 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]
bbc0 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>)..
bbe0 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
bc00 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
bc20 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:.
bc40 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
bc60 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.
bc80 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/~
bca0 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
bcc0 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
bce0 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
bd00 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
bd20 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
bd40 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
bd60 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
bd80 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
bda0 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
bdc0 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
bde0 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.
be00 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-
be20 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".
be40 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
be60 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-
be80 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
bea0 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
bec0 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
bee0 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
bf00 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
bf20 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.
bf40 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
bf60 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.
bf80 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...
bfa0 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
bfc0 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
bfe0 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
c000 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
c020 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..
c040 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
c060 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
c080 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
c0a0 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
c0c0 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
c0e0 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
c100 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.
c120 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.
c140 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
c160 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
c180 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-
c1a0 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-
c1c0 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
c1e0 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
c200 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
c220 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
c240 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-
c260 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
c280 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
c2a0 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
c2c0 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
c2e0 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.
c300 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
c320 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
c340 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.
c360 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
c380 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
c3a0 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
c3c0 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
c3e0 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
c400 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
c420 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
c440 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
c460 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
c480 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-
c4a0 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.
c4c0 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=..-
c4e0 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.
c500 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
c520 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
c540 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>
c560 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 )...............................
c580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c5a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c5c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c5e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c600 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....
c620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c660 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
c680 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...
c6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c6c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c700 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...................
c720 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...................
c740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c7a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c7c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c7e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
c800 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
c820 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
c840 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
c860 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
c880 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
c8a0 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
c8c0 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
c8e0 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.
c900 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.;
c920 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,.
c940 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,
c960 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
c980 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
c9a0 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
c9c0 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
c9e0 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
ca00 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
ca20 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.
ca40 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
ca60 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
ca80 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
caa0 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.
cac0 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
cae0 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
cb00 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
cb20 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
cb40 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.
cb60 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
cb80 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".
cba0 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
cbc0 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
cbe0 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
cc00 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
cc20 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
cc40 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
cc60 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
cc80 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
cca0 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.
ccc0 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
cce0 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
cd00 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.
cd20 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
cd40 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).
cd60 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...........
cd80 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
cda0 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
cdc0 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
cde0 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
ce00 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
ce20 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)))...
ce40 20 20 20 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
ce60 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..............................
ce80 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)..........
cea0 20 20 20 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
cec0 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 ................................
cee0 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)))...........
cf00 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
cf20 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
cf40 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
cf60 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))))).....;;.
cf80 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
cfa0 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.
cfc0 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
cfe0 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
d000 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
d020 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>..."
d040 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
d060 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
d080 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
d0a0 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.
d0c0 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
d0e0 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
d100 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
d120 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
d140 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
d160 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
d180 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
d1a0 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:/
d1c0 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
d1e0 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
d200 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-
d220 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)
d240 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."
d260 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
d280 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-
d2a0 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).......
d2c0 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
d2e0 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
d300 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
d320 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)))...
d340 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
d360 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))....
d380 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
d3a0 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))......
d3c0 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)..
d3e0 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)......
d400 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
d420 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
d440 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))................
d460 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
d480 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).................
d4a0 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).............
d4c0 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+.
d4e0 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+.
d500 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)))...............
d520 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)))).......(
d540 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
d560 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
d580 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)
d5a0 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
d5c0 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
d5e0 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
d600 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
d620 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))).
d640 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
d660 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.
d680 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
d6a0 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.
d6c0 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
d6e0 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....((
d700 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.
d720 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))....(
d740 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
d760 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).....
d780 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
d7a0 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)))........
d7c0 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
d7e0 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.
d800 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
d820 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
d840 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
d860 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
d880 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
d8a0 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
d8c0 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.
d8e0 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
d900 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
d920 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....
d940 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)
d960 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)).
d980 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
d9a0 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
d9c0 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
d9e0 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
da00 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
da20 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
da40 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
da60 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
da80 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)))))..;;
daa0 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
dac0 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
dae0 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
db00 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-
db20 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
db40 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
db60 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
db80 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
dba0 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
dbc0 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
dbe0 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
dc00 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
dc20 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
dc40 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))............
dc60 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
dc80 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
dca0 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
dcc0 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))).........(
dce0 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.
dd00 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)
dd20 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
dd40 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-
dd60 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).;;.
dd80 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
dda0 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
ddc0 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
dde0 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
de00 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.
de20 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
de40 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))...`(
de60 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
de80 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
dea0 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
dec0 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.&
dee0 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
df00 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
df20 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
df40 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
df60 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
df80 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.
dfa0 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
dfc0 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
dfe0 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
e000 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
e020 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
e040 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,
e060 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
e080 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
e0a0 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
e0c0 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
e0e0 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
e100 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
e120 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...)"...(
e140 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
e160 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
e180 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
e1a0 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--")
e1c0 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."-
e1e0 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
e200 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--")
e220 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
e240 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)
e260 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))
e280 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)..
e2a0 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
e2c0 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
e2e0 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
e300 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........
e320 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
e340 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))))...
e360 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
e380 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)
e3a0 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
e3c0 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
e3e0 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
e400 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
e420 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
e440 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
e460 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.
e480 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
e4a0 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
e4c0 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..
e4e0 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.
e500 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
e520 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
e540 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.(
e560 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
e580 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
e5a0 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.
e5c0 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
e5e0 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
e600 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.(
e620 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
e640 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
e660 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
e680 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
e6a0 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
e6c0 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
e6e0 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.
e700 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
e720 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
e740 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\\`".;
e760 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
e780 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
e7a0 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
e7c0 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
e7e0 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
e800 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
e820 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
e840 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."
e860 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.
e880 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.(
e8a0 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
e8c0 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)).....(
e8e0 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.
e900 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
e920 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))...
e940 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
e960 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
e980 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))..........
e9a0 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))...
e9c0 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))))...
e9e0 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
ea00 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
ea20 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
ea40 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
ea60 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
ea80 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-
eaa0 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
eac0 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
eae0 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
eb00 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..................
eb20 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
eb40 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)..........
eb60 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
eb80 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
eba0 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-
ebc0 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)))..(
ebe0 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.
ec00 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
ec20 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>..
ec40 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
ec60 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'
ec80 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
eca0 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
ecc0 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
ece0 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
ed00 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
ed20 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..
ed40 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
ed60 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)))..
ed80 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.......
eda0 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
edc0 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))).............
ede0 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)...
ee00 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-
ee20 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)))........
ee40 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
ee60 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
ee80 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-
eea0 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)))..........
eec0 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)
eee0 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
ef00 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))).....
ef20 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-
ef40 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
ef60 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.()
ef80 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
efa0 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
efc0 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
efe0 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
f000 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
f020 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.".
f040 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
f060 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
f080 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-
f0a0 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)))..
f0c0 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
f0e0 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
f100 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
f120 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
f140 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..
f160 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
f180 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.
f1a0 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
f1c0 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
f1e0 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
f200 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
f220 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
f240 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
f260 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
f280 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
f2a0 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").
f2c0 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
f2e0 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
f300 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
f320 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
f340 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
f360 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-
f380 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
f3a0 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
f3c0 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
f3e0 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.
f400 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
f420 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
f440 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
f460 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
f480 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].#
f4a0 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
f4c0 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.
f4e0 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'.
f500 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
f520 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..
f540 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-
f560 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.:
f580 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
f5a0 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
f5c0 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
f5e0 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
f600 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
f620 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-
f640 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
f660 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
f680 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
f6a0 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
f6c0 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
f6e0 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
f700 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
f720 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.
f740 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
f760 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
f780 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
f7a0 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
f7c0 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.
f7e0 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.
f800 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.
f820 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
f840 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
f860 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.
f880 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
f8a0 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.`
f8c0 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
f8e0 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
f900 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
f920 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
f940 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
f960 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)............
f980 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
f9a0 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)).....
f9c0 20 20 20 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-
f9e0 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)..
fa00 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.
fa20 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))...........
fa40 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
fa60 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-
fa80 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
faa0 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)................
fac0 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
fae0 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'..........
fb00 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
fb20 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')......
fb40 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.
fb60 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...
fb80 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
fba0 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...................
fbc0 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..........
fbe0 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
fc00 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).............
fc20 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.()......
fc40 20 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
fc60 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)..........................
fc80 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
fca0 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...............
fcc0 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
fce0 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))))).........................(
fd00 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).............
fd20 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
fd40 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).....................
fd60 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
fd80 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))...............
fda0 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
fdc0 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]...........
fde0 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
fe00 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).......
fe20 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
fe40 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
fe60 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 ))..............................
fe80 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
fea0 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).....................
fec0 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
fee0 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)).......
ff00 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.
ff20 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
ff40 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.
ff60 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.(
ff80 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.
ffa0 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)))........
ffc0 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
ffe0 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.
10000 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
10020 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.....
10040 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).......
10060 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
10080 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
100a0 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)))
100c0 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
100e0 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.
10100 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
10120 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))..;
10140 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
10160 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
10180 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
101a0 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
101c0 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
101e0 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)..................(
10200 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)..................(:
10220 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
10240 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
10260 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
10280 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
102a0 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
102c0 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
102e0 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
10300 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
10320 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
10340 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
10360 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
10380 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
103a0 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).").....(
103c0 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.
103e0 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
10400 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
10420 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
10440 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
10460 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
10480 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
104a0 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
104c0 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.
104e0 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
10500 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."
10520 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
10540 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
10560 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
10580 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
105a0 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
105c0 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
105e0 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
10600 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.
10620 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
10640 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.
10660 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.().;;.<
10680 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-
106a0 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
106c0 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.
106e0 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
10700 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
10720 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
10740 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.
10760 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.
10780 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
107a0 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
107c0 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...........
107e0 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
10800 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))))..;;;;
10820 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
10840 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
10860 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
10880 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
108a0 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.
108c0 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
108e0 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
10900 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
10920 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
10940 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
10960 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
10980 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
109a0 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
109c0 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
109e0 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)))..;;;
10a00 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
10a20 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
10a40 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
10a60 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
10a80 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
10aa0 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
10ac0 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
10ae0 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'."
10b00 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))..
10b20 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
10b40 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
10b60 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
10b80 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
10ba0 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.
10bc0 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"...
10be0 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
10c00 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)......
10c20 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
10c40 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
10c60 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
10c80 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
10ca0 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
10cc0 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
10ce0 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
10d00 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.
10d20 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
10d40 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
10d60 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
10d80 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.
10da0 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:
10dc0 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
10de0 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
10e00 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)))...:
10e20 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
10e40 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
10e60 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
10e80 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.'
10ea0 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)....
10ec0 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)))..;;;;.
10ee0 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
10f00 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
10f20 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
10f40 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
10f60 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
10f80 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-
10fa0 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
10fc0 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-
10fe0 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))))
11000 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.
11020 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-
11040 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
11060 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
11080 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-
110a0 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
110c0 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
110e0 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)))
11100 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
11120 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
11140 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
11160 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
11180 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
111a0 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
111c0 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
111e0 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
11200 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
11220 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
11240 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
11260 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
11280 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).....
112a0 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
112c0 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
112e0 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-
11300 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
11320 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
11340 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.
11360 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
11380 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
113a0 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
113c0 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.((
113e0 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.
11400 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))...................
11420 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)
11440 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"
11460 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"))).....
11480 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)
114a0 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
114c0 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)......
114e0 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)))
11500 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
11520 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
11540 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)..............
11560 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........
11580 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
115a0 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)....
115c0 20 20 20 20 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.
115e0 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").....
11600 20 20 20 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
11620 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")).......................
11640 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))))...
11660 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
11680 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)..............
116a0 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)
116c0 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%
116e0 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")
11700 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........
11720 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
11740 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."")).........
11760 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
11780 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-
117a0 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
117c0 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
117e0 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
11800 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
11820 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
11840 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-
11860 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
11880 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
118a0 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
118c0 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
118e0 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
11900 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
11920 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
11940 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
11960 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
11980 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.
119a0 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
119c0 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
119e0 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
11a00 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
11a20 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
11a40 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
11a60 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
11a80 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.
11aa0 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).............;
11ac0 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
11ae0 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.............'(
11b00 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/
11b20 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
11b40 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)))
11b60 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
11b80 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).;;.<
11ba0 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>...
11bc0 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
11be0 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
11c00 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
11c20 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
11c40 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...
11c60 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.........
11c80 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.....
11ca0 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
11cc0 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)).....
11ce0 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)).....
11d00 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
11d20 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.
11d40 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
11d60 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
11d80 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-
11da0 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
11dc0 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
11de0 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
11e00 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
11e20 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.
11e40 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
11e60 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)
11e80 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
11ea0 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)
11ec0 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
11ee0 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
11f00 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
11f20 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
11f40 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
11f60 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.
11f80 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.
11fa0 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
11fc0 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
11fe0 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
12000 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
12020 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).....
12040 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\\`")).........
12060 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).............
12080 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."\\)"))...
120a0 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)....
120c0 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."\\
120e0 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
12100 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."\\
12120 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."\\)\\>")).............
12140 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)..........
12160 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."\\)\
12180 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."\
121a0 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
121c0 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.
121e0 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
12200 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-
12220 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)
12240 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
12260 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-
12280 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
122a0 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
122c0 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
122e0 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
12300 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
12320 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
12340 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
12360 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)."...;
12380 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
123a0 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,
123c0 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
123e0 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
12400 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
12420 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!.
12440 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
12460 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
12480 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)))
124a0 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
124c0 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.
124e0 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
12500 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.
12520 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...
12540 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........"/[^/]
12560 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
12580 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\\)+\\)/[^/
125a0 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
125c0 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
125e0 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
12600 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......;
12620 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
12640 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
12660 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.......((
12680 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
126a0 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.
126c0 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
126e0 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)))..........
12700 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.
12720 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)))
12740 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.
12760 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
12780 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
127a0 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
127c0 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.
127e0 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")...
12800 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
12820 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
12840 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
12860 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
12880 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
128a0 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.
128c0 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.
128e0 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
12900 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
12920 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.
12940 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
12960 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.
12980 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).
129a0 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
129c0 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
129e0 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
12a00 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
12a20 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)...
12a40 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)).....
12a60 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
12a80 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
12aa0 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)........
12ac0 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.
12ae0 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)).......
12b00 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.
12b20 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
12b40 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
12b60 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
12b80 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-
12ba0 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.
12bc0 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
12be0 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
12c00 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
12c20 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
12c40 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
12c60 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
12c80 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
12ca0 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
12cc0 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
12ce0 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
12d00 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
12d20 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
12d40 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-
12d60 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
12d80 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
12da0 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
12dc0 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
12de0 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
12e00 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
12e20 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
12e40 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
12e60 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
12e80 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
12ea0 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
12ec0 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.
12ee0 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
12f00 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
12f20 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
12f40 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.
12f60 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
12f80 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.
12fa0 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
12fc0 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
12fe0 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.`
13000 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.
13020 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
13040 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
13060 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
13080 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
130a0 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
130c0 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.
130e0 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.
13100 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
13120 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
13140 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
13160 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.
13180 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
131a0 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.
131c0 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
131e0 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
13200 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.
13220 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-
13240 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
13260 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
13280 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
132a0 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
132c0 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.
132e0 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
13300 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.
13320 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
13340 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
13360 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
13380 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
133a0 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-
133c0 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
133e0 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
13400 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
13420 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*.((
13440 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-
13460 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.....
13480 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
134a0 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)................#'
134c0 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
134e0 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.
13500 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
13520 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))))..........
13540 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
13560 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
13580 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).
135a0 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)..........
135c0 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.............
135e0 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))....
13600 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
13620 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
13640 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...................;
13660 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
13680 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.
136a0 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
136c0 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
136e0 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
13700 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))................
13720 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).........
13740 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
13760 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
13780 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
137a0 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).....................
137c0 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....................
137e0 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))
13800 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
13820 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)..................
13840 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))......
13860 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
13880 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
138a0 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
138c0 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)).......
138e0 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.
13900 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
13920 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
13940 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................
13960 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
13980 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
139a0 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
139c0 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
139e0 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
13a00 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.
13a20 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
13a40 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)))))
13a60 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
13a80 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.......((
13aa0 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
13ac0 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
13ae0 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
13b00 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.
13b20 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
13b40 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
13b60 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
13b80 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
13ba0 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
13bc0 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
13be0 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..........
13c00 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
13c20 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
13c40 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))..........
13c60 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
13c80 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
13ca0 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
13cc0 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
13ce0 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
13d00 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
13d20 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.
13d40 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))
13d60 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
13d80 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........
13da0 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
13dc0 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)
13de0 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.....
13e00 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)..
13e20 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))))
13e40 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)
13e60 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
13e80 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
13ea0 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
13ec0 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
13ee0 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.
13f00 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
13f20 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
13f40 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
13f60 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
13f80 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
13fa0 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,.
13fc0 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.
13fe0 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......
14000 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).......
14020 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
14040 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
14060 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).......
14080 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).....
140a0 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)..
140c0 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.
140e0 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
14100 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
14120 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........
14140 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).............(
14160 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
14180 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
141a0 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)).................
141c0 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
141e0 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.
14200 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
14220 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
14240 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..............
14260 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
14280 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...
142a0 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
142c0 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.(
142e0 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)......................
14300 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
14320 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))..
14340 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
14360 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
14380 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.............................
143a0 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)).........
143c0 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
143e0 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)...........................
14400 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))...............
14420 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))..
14440 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.(
14460 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
14480 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))...........
144a0 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).
144c0 20 20 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.
144e0 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))))).................;;.
14500 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.
14520 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..........
14540 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
14560 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..............
14580 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
145a0 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)))................
145c0 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))...............
145e0 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................
14600 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
14620 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
14640 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
14660 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
14680 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
146a0 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).
146c0 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
146e0 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.
14700 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....
14720 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
14740 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)).
14760 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))....
14780 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
147a0 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
147c0 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
147e0 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
14800 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
14820 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
14840 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
14860 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
14880 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)
148a0 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
148c0 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)))..
148e0 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
14900 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
14920 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..
14940 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)).....
14960 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).............
14980 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
149a0 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
149c0 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
149e0 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
14a00 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
14a20 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....
14a40 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).
14a60 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)).
14a80 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))
14aa0 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-
14ac0 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
14ae0 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
14b00 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
14b20 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)))...........
14b40 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
14b60 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
14b80 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-
14ba0 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)).......
14bc0 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.............
14be0 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)..........
14c00 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))))).......
14c20 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)).......
14c40 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
14c60 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-
14c80 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
14ca0 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
14cc0 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
14ce0 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
14d00 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.".
14d20 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
14d40 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-
14d60 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
14d80 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))).......
14da0 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
14dc0 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)).......
14de0 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))........
14e00 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
14e20 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
14e40 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
14e60 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)).........
14e80 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
14ea0 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)))....
14ec0 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
14ee0 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.
14f00 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
14f20 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......
14f40 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..
14f60 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
14f80 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.(
14fa0 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).
14fc0 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
14fe0 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
15000 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")
15020 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
15040 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
15060 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-
15080 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-
150a0 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.
150c0 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
150e0 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
15100 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
15120 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
15140 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
15160 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
15180 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.
151a0 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
151c0 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
151e0 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
15200 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
15220 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
15240 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
15260 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
15280 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
152a0 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)
152c0 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>..
152e0 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
15300 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
15320 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
15340 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
15360 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.
15380 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
153a0 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
153c0 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
153e0 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:..
15400 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-
15420 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.
15440 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
15460 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
15480 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
154a0 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
154c0 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.
154e0 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
15500 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
15520 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
15540 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
15560 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:...\\=
15580 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
155a0 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
155c0 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\"..?!.\
155e0 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
15600 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
15620 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
15640 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
15660 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
15680 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
156a0 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
156c0 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,
156e0 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
15700 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
15720 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
15740 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-
15760 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
15780 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
157a0 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
157c0 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........
157e0 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)..
15800 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...............
15820 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
15840 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)).............
15860 20 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.(
15880 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))))....
158a0 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)))))
158c0 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
158e0 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...............
15900 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15920 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
159a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
159c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
159e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15a00 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.....
15a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15a60 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
15a80 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...
15aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b00 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...................
15b20 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...................
15b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15c00 54 68 69 73 20 69 73 20 64 6f 63 58 63 63 55 55 42 2e 69 6e 66 6f 2c 20 70 72 6f 64 75 63 65 64 This.is.docXccUUB.info,.produced
15c20 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
15c40 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
15c60 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
15c80 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
15ca0 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.
15cc0 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
15ce0 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
15d00 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
15d20 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
15d40 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;.
15d60 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
15d80 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
15da0 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
15dc0 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)...
15de0 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
15e00 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
15e20 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
15e40 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
15e60 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
15e80 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...
15ea0 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
15ec0 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
15ee0 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)...
15f00 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
15f20 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
15f40 69 6c 65 3a 20 64 6f 63 58 63 63 55 55 42 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 54 6f 70 2c ile:.docXccUUB.info,..Node:.Top,
15f60 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)
15f80 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.**************
15fa0 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
15fc0 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
15fe0 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
16000 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
16020 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......
16040 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
16060 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
16080 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
160a0 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
160c0 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
160e0 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,...
16100 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
16120 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
16140 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
16160 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
16180 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
161a0 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
161c0 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
161e0 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
16200 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........
16220 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.
16240 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
16260 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
16280 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
162a0 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
162c0 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
162e0 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
16300 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
16320 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.
16340 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
16360 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::
16380 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
163a0 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.
163c0 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
163e0 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.*.
16400 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
16420 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
16440 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::..............
16460 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
16480 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::........
164a0 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
164c0 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 58 63 63 .for.Emacs.29.1.....File:.docXcc
164e0 55 55 42 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 UUB.info,..Node:.Introduction,..
16500 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:.
16520 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.************
16540 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
16560 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
16580 58 63 63 55 55 42 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 XccUUB.info,..Node:.Overview,..N
165a0 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
165c0 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
165e0 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.
16600 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
16620 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
16640 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
16660 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
16680 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
166a0 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
166c0 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
166e0 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
16700 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
16720 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
16740 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
16760 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
16780 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 58 63 63 55 55 42 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 .....File:.docXccUUB.info,..Node
167a0 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
167c0 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.
167e0 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
16800 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.
16820 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
16840 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
16860 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.
16880 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
168a0 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
168c0 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
168e0 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
16900 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
16920 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.
16940 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.
16960 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
16980 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.
169a0 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
169c0 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.
169e0 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
16a00 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
16a20 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)..
16a40 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
16a60 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
16a80 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
16aa0 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
16ac0 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
16ae0 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.
16b00 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
16b20 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
16b40 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.
16b60 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
16b80 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
16ba0 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
16bc0 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
16be0 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
16c00 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
16c20 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.
16c40 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
16c60 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
16c80 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
16ca0 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.
16cc0 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.
16ce0 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
16d00 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
16d20 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
16d40 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
16d60 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
16d80 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
16da0 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..
16dc0 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.
16de0 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
16e00 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
16e20 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
16e40 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.
16e60 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
16e80 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
16ea0 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
16ec0 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
16ee0 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
16f00 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
16f20 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.
16f40 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
16f60 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
16f80 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
16fa0 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
16fc0 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
16fe0 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
17000 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
17020 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
17040 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
17060 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).....................;
17080 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'...--
170a0 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
170c0 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
170e0 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
17100 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
17120 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
17140 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
17160 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
17180 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
171a0 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
171c0 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
171e0 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
17200 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
17220 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.
17240 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-
17260 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
17280 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.
172a0 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
172c0 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
172e0 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
17300 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
17320 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
17340 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..
17360 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
17380 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
173a0 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
173c0 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
173e0 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
17400 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
17420 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
17440 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
17460 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.
17480 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
174a0 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
174c0 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
174e0 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
17500 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
17520 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
17540 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
17560 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
17580 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
175a0 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
175c0 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
175e0 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
17600 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
17620 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.
17640 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
17660 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
17680 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
176a0 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
176c0 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
176e0 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
17700 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.
17720 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
17740 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
17760 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.
17780 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
177a0 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
177c0 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
177e0 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
17800 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
17820 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.
17840 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
17860 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
17880 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>).....
178a0 46 69 6c 65 3a 20 64 6f 63 58 63 63 55 55 42 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 4c 69 6d File:.docXccUUB.info,..Node:.Lim
178c0 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
178e0 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.=====
17900 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
17920 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
17940 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
17960 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
17980 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
179a0 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
179c0 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.
179e0 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
17a00 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
17a20 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.
17a40 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
17a60 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
17a80 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
17aa0 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
17ac0 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
17ae0 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.
17b00 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
17b20 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
17b40 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.
17b60 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.
17b80 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.
17ba0 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.
17bc0 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
17be0 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.....
17c00 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
17c20 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
17c40 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
17c60 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
17c80 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
17ca0 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
17cc0 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
17ce0 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
17d00 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
17d20 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
17d40 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.
17d60 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
17d80 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
17da0 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
17dc0 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
17de0 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..
17e00 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
17e20 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
17e40 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
17e60 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
17e80 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
17ea0 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
17ec0 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.
17ee0 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
17f00 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
17f20 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
17f40 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.........
17f60 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
17f80 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
17fa0 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
17fc0 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
17fe0 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..........
18000 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
18020 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
18040 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
18060 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.
18080 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.
180a0 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.....
180c0 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
180e0 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
18100 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...
18120 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
18140 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
18160 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
18180 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.
181a0 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
181c0 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
181e0 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
18200 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
18220 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
18240 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
18260 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
18280 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
182a0 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.
182c0 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
182e0 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
18300 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
18320 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
18340 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
18360 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
18380 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
183a0 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.....
183c0 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
183e0 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
18400 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
18420 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
18440 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
18460 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
18480 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
184a0 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..
184c0 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
184e0 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.
18500 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.
18520 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
18540 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
18560 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......
18580 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.
185a0 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
185c0 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
185e0 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
18600 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
18620 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...
18640 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
18660 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
18680 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
186a0 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
186c0 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
186e0 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
18700 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
18720 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.....
18740 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
18760 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
18780 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
187a0 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
187c0 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
187e0 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
18800 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
18820 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
18840 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
18860 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
18880 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
188a0 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.
188c0 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
188e0 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
18900 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
18920 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.
18940 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
18960 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
18980 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
189a0 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
189c0 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
189e0 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.
18a00 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
18a20 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...
18a40 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
18a60 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
18a80 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
18aa0 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.
18ac0 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
18ae0 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
18b00 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
18b20 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
18b40 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
18b60 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
18b80 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...
18ba0 1f 0a 46 69 6c 65 3a 20 64 6f 63 58 63 63 55 55 42 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 53 ..File:.docXccUUB.info,..Node:.S
18bc0 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
18be0 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
18c00 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
18c20 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.
18c40 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.
18c60 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..
18c80 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::........
18ca0 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
18cc0 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::..
18ce0 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
18d00 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
18d20 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
18d40 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
18d60 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
18d80 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.
18da0 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::................
18dc0 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
18de0 63 73 20 32 39 2e 31 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 58 63 63 55 55 42 2e 69 6e 66 6f 2c cs.29.1....File:.docXccUUB.info,
18e00 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
18e20 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
18e40 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.
18e60 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.--------------------
18e80 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
18ea0 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
18ec0 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
18ee0 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
18f00 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
18f20 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....
18f40 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.
18f60 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
18f80 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
18fa0 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
18fc0 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
18fe0 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...,.
19000 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..
19020 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
19040 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
19060 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
19080 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
190a0 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
190c0 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
190e0 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
19100 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
19120 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
19140 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
19160 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
19180 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
191a0 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
191c0 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
191e0 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
19200 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
19220 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
19240 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...
19260 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
19280 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
192a0 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.
192c0 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.
192e0 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
19300 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
19320 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
19340 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........
19360 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..
19380 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......
193a0 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
193c0 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.
193e0 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..
19400 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
19420 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
19440 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
19460 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
19480 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
194a0 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
194c0 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
194e0 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..
19500 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
19520 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..
19540 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
19560 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
19580 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
195a0 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
195c0 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
195e0 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
19600 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.....
19620 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..........
19640 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
19660 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
19680 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
196a0 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
196c0 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..."...*
196e0 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::
19700 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
19720 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........*
19740 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::
19760 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-
19780 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
197a0 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.
197c0 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
197e0 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
19800 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...
19820 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-
19840 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
19860 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
19880 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.
198a0 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
198c0 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:
198e0 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
19900 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.
19920 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.
19940 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
19960 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
19980 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
199a0 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
199c0 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
199e0 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....
19a00 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
19a20 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
19a40 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
19a60 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
19a80 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.
19aa0 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
19ac0 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
19ae0 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
19b00 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....
19b20 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
19b40 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
19b60 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
19b80 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-
19ba0 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.
19bc0 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
19be0 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
19c00 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
19c20 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
19c40 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......
19c60 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
19c80 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
19ca0 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
19cc0 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
19ce0 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
19d00 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
19d20 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
19d40 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
19d60 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.
19d80 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
19da0 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
19dc0 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
19de0 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.
19e00 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.
19e20 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
19e40 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.......
19e60 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
19e80 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-
19ea0 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
19ec0 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.
19ee0 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
19f00 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.
19f20 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
19f40 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*..
19f60 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......
19f80 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
19fa0 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
19fc0 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.
19fe0 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
1a000 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
1a020 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
1a040 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
1a060 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
1a080 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
1a0a0 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
1a0c0 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
1a0e0 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.
1a100 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)................
1a120 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
1a140 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
1a160 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......
1a180 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
1a1a0 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.
1a1c0 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...
1a1e0 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
1a200 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
1a220 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
1a240 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
1a260 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
1a280 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
1a2a0 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
1a2c0 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.
1a2e0 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.
1a300 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.
1a320 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
1a340 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
1a360 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
1a380 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.
1a3a0 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
1a3c0 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
1a3e0 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.............(
1a400 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)........
1a420 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))......
1a440 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
1a460 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
1a480 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
1a4a0 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......
1a4c0 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
1a4e0 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....
1a500 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
1a520 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...
1a540 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
1a560 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
1a580 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..
1a5a0 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
1a5c0 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...
1a5e0 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
1a600 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
1a620 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
1a640 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
1a660 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:.......
1a680 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
1a6a0 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).............
1a6c0 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).............-............
1a6e0 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))........................
1a700 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)))).....
1a720 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
1a740 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
1a760 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
1a780 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
1a7a0 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
1a7c0 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
1a7e0 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
1a800 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
1a820 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
1a840 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
1a860 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
1a880 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
1a8a0 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,....
1a8c0 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
1a8e0 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
1a900 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
1a920 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
1a940 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).
1a960 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
1a980 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
1a9a0 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
1a9c0 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
1a9e0 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
1aa00 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-
1aa20 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
1aa40 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
1aa60 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
1aa80 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.----------
1aaa0 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
1aac0 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.
1aae0 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
1ab00 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
1ab20 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
1ab40 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
1ab60 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.
1ab80 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
1aba0 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
1abc0 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
1abe0 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
1ac00 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
1ac20 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.....
1ac40 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
1ac60 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
1ac80 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
1aca0 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
1acc0 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
1ace0 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.
1ad00 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
1ad20 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.
1ad40 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
1ad60 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
1ad80 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
1ada0 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
1adc0 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
1ade0 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.
1ae00 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
1ae20 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.-------------------------
1ae40 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
1ae60 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
1ae80 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
1aea0 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
1aec0 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
1aee0 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
1af00 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
1af20 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
1af40 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
1af60 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
1af80 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
1afa0 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............
1afc0 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
1afe0 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
1b000 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
1b020 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
1b040 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
1b060 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.
1b080 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
1b0a0 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
1b0c0 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
1b0e0 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
1b100 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
1b120 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.
1b140 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...........
1b160 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
1b180 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
1b1a0 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
1b1c0 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
1b1e0 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
1b200 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
1b220 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
1b240 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..
1b260 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...
1b280 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
1b2a0 2e 0a 0a 1f 0a 46 69 6c 65 3a 20 64 6f 63 58 63 63 55 55 42 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 .....File:.docXccUUB.info,..Node
1b2c0 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,
1b2e0 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
1b300 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.==============.
1b320 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.-------
1b340 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.
1b360 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
1b380 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
1b3a0 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
1b3c0 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
1b3e0 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
1b400 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
1b420 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....
1b440 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....
1b460 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
1b480 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
1b4a0 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
1b4c0 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,
1b4e0 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...
1b500 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
1b520 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
1b540 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
1b560 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..
1b580 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
1b5a0 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
1b5c0 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
1b5e0 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:........
1b600 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
1b620 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
1b640 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.
1b660 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
1b680 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
1b6a0 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
1b6c0 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.
1b6e0 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...
1b700 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.
1b720 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........
1b740 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-...
1b760 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
1b780 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
1b7a0 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
1b7c0 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
1b7e0 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
1b800 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
1b820 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.
1b840 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
1b860 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.
1b880 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...
1b8a0 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
1b8c0 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
1b8e0 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
1b900 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
1b920 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
1b940 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.......
1b960 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
1b980 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
1b9a0 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
1b9c0 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
1b9e0 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
1ba00 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
1ba20 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:..
1ba40 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
1ba60 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.
1ba80 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"..
1baa0 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")........
1bac0 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
1bae0 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"
1bb00 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
1bb20 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").............
1bb40 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")....
1bb60 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")
1bb80 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
1bba0 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
1bbc0 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.
1bbe0 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
1bc00 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
1bc20 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......
1bc40 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
1bc60 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
1bc80 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
1bca0 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..
1bcc0 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
1bce0 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...,.
1bd00 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
1bd20 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............
1bd40 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
1bd60 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)..
1bd80 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
1bda0 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.
1bdc0 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.
1bde0 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
1be00 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
1be20 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
1be40 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
1be60 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
1be80 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
1bea0 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
1bec0 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
1bee0 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
1bf00 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
1bf20 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......
1bf40 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.
1bf60 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...
1bf80 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
1bfa0 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..
1bfc0 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
1bfe0 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
1c000 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
1c020 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
1c040 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
1c060 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
1c080 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
1c0a0 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
1c0c0 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
1c0e0 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
1c100 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
1c120 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.
1c140 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.
1c160 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
1c180 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......
1c1a0 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
1c1c0 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
1c1e0 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
1c200 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
1c220 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
1c240 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
1c260 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..../:....
1c280 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.
1c2a0 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,
1c2c0 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......
1c2e0 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
1c300 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
1c320 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
1c340 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.....
1c360 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.
1c380 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
1c3a0 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.(
1c3c0 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::....-
1c3e0 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
1c400 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
1c420 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.
1c440 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
1c460 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..../:..
1c480 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
1c4a0 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.(
1c4c0 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::)
1c4e0 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
1c500 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
1c520 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........
1c540 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
1c560 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/
1c580 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
1c5a0 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
1c5c0 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-
1c5e0 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"
1c600 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
1c620 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
1c640 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
1c660 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
1c680 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.
1c6a0 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
1c6c0 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
1c6e0 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.
1c700 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
1c720 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
1c740 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.
1c760 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
1c780 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
1c7a0 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
1c7c0 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
1c7e0 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
1c800 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
1c820 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.
1c840 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
1c860 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.......
1c880 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......
1c8a0 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.........
1c8c0 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
1c8e0 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
1c900 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
1c920 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.(
1c940 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
1c960 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..
1c980 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
1c9a0 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
1c9c0 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.....
1c9e0 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
1ca00 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.
1ca20 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....--
1ca40 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
1ca60 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
1ca80 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
1caa0 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
1cac0 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
1cae0 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.
1cb00 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
1cb20 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
1cb40 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
1cb60 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
1cb80 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.
1cba0 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...)
1cbc0 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
1cbe0 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-
1cc00 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
1cc20 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
1cc40 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
1cc60 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..
1cc80 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
1cca0 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
1ccc0 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.......
1cce0 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
1cd00 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
1cd20 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
1cd40 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
1cd60 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:.
1cd80 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
1cda0 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.
1cdc0 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
1cde0 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
1ce00 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.(
1ce20 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
1ce40 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
1ce60 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..
1ce80 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
1cea0 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*....
1cec0 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-.
1cee0 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...,.
1cf00 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
1cf20 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
1cf40 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........
1cf60 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
1cf80 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.
1cfa0 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
1cfc0 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
1cfe0 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
1d000 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
1d020 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....
1d040 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
1d060 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
1d080 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
1d0a0 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
1d0c0 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
1d0e0 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
1d100 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
1d120 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
1d140 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
1d160 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
1d180 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
1d1a0 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"
1d1c0 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
1d1e0 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.
1d200 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
1d220 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
1d240 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
1d260 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
1d280 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::)
1d2a0 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
1d2c0 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
1d2e0 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
1d300 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
1d320 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
1d340 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
1d360 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
1d380 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
1d3a0 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
1d3c0 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........
1d3e0 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
1d400 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..
1d420 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
1d440 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.
1d460 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
1d480 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
1d4a0 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
1d4c0 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
1d4e0 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
1d500 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.
1d520 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
1d540 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
1d560 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
1d580 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
1d5a0 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.
1d5c0 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
1d5e0 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
1d600 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
1d620 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.
1d640 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
1d660 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
1d680 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
1d6a0 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...
1d6c0 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
1d6e0 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
1d700 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
1d720 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
1d740 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
1d760 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
1d780 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.........
1d7a0 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::
1d7c0 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-
1d7e0 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._
1d800 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
1d820 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
1d840 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
1d860 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
1d880 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
1d8a0 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
1d8c0 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
1d8e0 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:
1d900 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
1d920 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
1d940 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.....
1d960 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
1d980 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::....
1d9a0 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
1d9c0 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
1d9e0 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
1da00 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
1da20 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
1da40 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
1da60 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
1da80 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
1daa0 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
1dac0 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
1dae0 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.....
1db00 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
1db20 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....
1db40 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
1db60 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
1db80 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
1dba0 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
1dbc0 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.......
1dbe0 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
1dc00 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
1dc20 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.
1dc40 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
1dc60 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........
1dc80 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:
1dca0 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
1dcc0 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
1dce0 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
1dd00 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
1dd20 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
1dd40 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
1dd60 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
1dd80 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
1dda0 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
1ddc0 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
1dde0 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
1de00 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...........
1de20 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
1de40 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
1de60 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
1de80 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
1dea0 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).....
1dec0 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
1dee0 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
1df00 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
1df20 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
1df40 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.--------------
1df60 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
1df80 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
1dfa0 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
1dfc0 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
1dfe0 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
1e000 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.
1e020 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.......
1e040 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
1e060 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.
1e080 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
1e0a0 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
1e0c0 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
1e0e0 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
1e100 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
1e120 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
1e140 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
1e160 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
1e180 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
1e1a0 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
1e1c0 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+
1e1e0 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
1e200 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.
1e220 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
1e240 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
1e260 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
1e280 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.
1e2a0 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.............(
1e2c0 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")...........
1e2e0 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".......
1e300 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
1e320 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
1e340 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,.
1e360 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
1e380 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.......
1e3a0 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...,..
1e3c0 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
1e3e0 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
1e400 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
1e420 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.
1e440 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.
1e460 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::...
1e480 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...,
1e4a0 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
1e4c0 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..
1e4e0 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
1e500 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
1e520 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
1e540 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
1e560 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
1e580 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
1e5a0 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...
1e5c0 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
1e5e0 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
1e600 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
1e620 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
1e640 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
1e660 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
1e680 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
1e6a0 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
1e6c0 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
1e6e0 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
1e700 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
1e720 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
1e740 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
1e760 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,.
1e780 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
1e7a0 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
1e7c0 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
1e7e0 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
1e800 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.
1e820 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....
1e840 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
1e860 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
1e880 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.
1e8a0 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.
1e8c0 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
1e8e0 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
1e900 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
1e920 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
1e940 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
1e960 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
1e980 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
1e9a0 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
1e9c0 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
1e9e0 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,
1ea00 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.
1ea20 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
1ea40 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
1ea60 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.
1ea80 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
1eaa0 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
1eac0 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
1eae0 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
1eb00 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.
1eb20 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
1eb40 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
1eb60 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
1eb80 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
1eba0 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
1ebc0 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
1ebe0 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
1ec00 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
1ec20 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
1ec40 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
1ec60 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
1ec80 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
1eca0 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.
1ecc0 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
1ece0 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
1ed00 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....
1ed20 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
1ed40 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
1ed60 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
1ed80 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....
1eda0 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.
1edc0 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
1ede0 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
1ee00 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
1ee20 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.
1ee40 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
1ee60 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
1ee80 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.
1eea0 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
1eec0 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
1eee0 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
1ef00 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]+...........
1ef20 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::.
1ef40 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
1ef60 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
1ef80 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
1efa0 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
1efc0 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
1efe0 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
1f000 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
1f020 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
1f040 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::.....
1f060 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
1f080 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
1f0a0 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
1f0c0 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-
1f0e0 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
1f100 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
1f120 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.
1f140 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
1f160 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.
1f180 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]+...........
1f1a0 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::.
1f1c0 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
1f1e0 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.
1f200 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...
1f220 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.------
1f240 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
1f260 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
1f280 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
1f2a0 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..
1f2c0 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
1f2e0 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..
1f300 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
1f320 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.
1f340 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
1f360 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
1f380 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...
1f3a0 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...
1f3c0 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
1f3e0 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.......
1f400 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
1f420 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
1f440 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
1f460 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
1f480 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
1f4a0 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....
1f4c0 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.
1f4e0 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
1f500 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
1f520 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
1f540 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
1f560 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.
1f580 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...........
1f5a0 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-
1f5c0 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
1f5e0 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
1f600 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.
1f620 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 58 63 63 55 :core.package).....File:.docXccU
1f640 55 42 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 UB.info,..Node:.Emacs.27.1,..Nex
1f660 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
1f680 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.=
1f6a0 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
1f6c0 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.-----------------------..
1f6e0 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
1f700 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
1f720 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
1f740 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
1f760 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
1f780 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
1f7a0 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
1f7c0 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.
1f7e0 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
1f800 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.
1f820 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
1f840 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
1f860 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
1f880 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
1f8a0 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
1f8c0 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
1f8e0 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
1f900 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
1f920 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
1f940 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
1f960 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:
1f980 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
1f9a0 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
1f9c0 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.
1f9e0 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...
1fa00 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
1fa20 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
1fa40 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
1fa60 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.....
1fa80 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
1faa0 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
1fac0 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......
1fae0 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
1fb00 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.
1fb20 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
1fb40 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:.
1fb60 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
1fb80 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
1fba0 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
1fbc0 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
1fbe0 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.
1fc00 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
1fc20 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
1fc40 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
1fc60 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
1fc80 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
1fca0 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....
1fcc0 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
1fce0 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.
1fd00 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
1fd20 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
1fd40 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.
1fd60 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
1fd80 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
1fda0 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
1fdc0 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...
1fde0 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
1fe00 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
1fe20 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
1fe40 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
1fe60 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
1fe80 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
1fea0 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
1fec0 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
1fee0 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
1ff00 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
1ff20 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
1ff40 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
1ff60 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
1ff80 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
1ffa0 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
1ffc0 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....
1ffe0 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
20000 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.
20020 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
20040 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....
20060 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.
20080 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
200a0 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
200c0 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
200e0 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
20100 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
20120 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
20140 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
20160 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....
20180 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
201a0 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......
201c0 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
201e0 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........
20200 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
20220 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.
20240 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
20260 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
20280 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
202a0 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
202c0 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
202e0 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.
20300 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
20320 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..
20340 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
20360 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
20380 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
203a0 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)).........
203c0 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
203e0 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
20400 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
20420 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,......
20440 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
20460 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
20480 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.
204a0 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.
204c0 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
204e0 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...........
20500 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
20520 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
20540 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:.
20560 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.
20580 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.
205a0 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
205c0 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..
205e0 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
20600 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
20620 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
20640 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
20660 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
20680 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
206a0 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
206c0 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
206e0 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......
20700 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.......
20720 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
20740 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.....
20760 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
20780 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
207a0 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.
207c0 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
207e0 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
20800 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
20820 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
20840 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
20860 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
20880 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
208a0 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....
208c0 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
208e0 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.
20900 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
20920 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
20940 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
20960 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...
20980 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
209a0 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
209c0 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
209e0 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
20a00 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
20a20 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
20a40 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........
20a60 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
20a80 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
20aa0 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...
20ac0 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
20ae0 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.....
20b00 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...:.....
20b20 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-
20b40 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
20b60 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
20b80 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.
20ba0 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
20bc0 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.........
20be0 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
20c00 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....
20c20 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
20c40 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
20c60 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
20c80 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
20ca0 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
20cc0 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
20ce0 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.
20d00 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
20d20 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:........
20d40 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
20d60 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))."
20d80 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
20da0 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)
20dc0 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::.
20de0 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
20e00 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..
20e20 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
20e40 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
20e60 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
20e80 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
20ea0 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
20ec0 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
20ee0 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.
20f00 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
20f20 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.
20f40 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
20f60 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
20f80 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
20fa0 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.
20fc0 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..
20fe0 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
21000 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.
21020 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..
21040 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
21060 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..
21080 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
210a0 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.
210c0 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
210e0 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.......
21100 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
21120 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
21140 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
21160 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.
21180 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.
211a0 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.
211c0 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
211e0 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
21200 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
21220 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
21240 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
21260 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
21280 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
212a0 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.
212c0 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
212e0 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
21300 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
21320 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...
21340 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.
21360 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..
21380 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.*
213a0 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
213c0 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....
213e0 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
21400 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
21420 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
21440 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
21460 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:.
21480 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
214a0 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
214c0 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
214e0 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.
21500 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.
21520 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
21540 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
21560 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-
21580 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
215a0 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
215c0 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
215e0 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
21600 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......
21620 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
21640 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.
21660 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.
21680 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....
216a0 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
216c0 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..
216e0 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
21700 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
21720 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
21740 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
21760 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
21780 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
217a0 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
217c0 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....
217e0 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
21800 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....
21820 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
21840 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
21860 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
21880 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....--.
218a0 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
218c0 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
218e0 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.
21900 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.
21920 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
21940 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...
21960 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
21980 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
219a0 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
219c0 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
219e0 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.
21a00 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
21a20 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
21a40 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
21a60 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
21a80 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
21aa0 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
21ac0 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
21ae0 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
21b00 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
21b20 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
21b40 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
21b60 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
21b80 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.
21ba0 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
21bc0 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
21be0 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.
21c00 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.
21c20 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
21c40 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.
21c60 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..
21c80 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
21ca0 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
21cc0 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
21ce0 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......
21d00 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.
21d20 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
21d40 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
21d60 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
21d80 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
21da0 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
21dc0 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
21de0 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
21e00 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
21e20 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...
21e40 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
21e60 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
21e80 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
21ea0 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......
21ec0 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
21ee0 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
21f00 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
21f20 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
21f40 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.....
21f60 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.
21f80 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
21fa0 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
21fc0 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........
21fe0 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
22000 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
22020 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.....
22040 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
22060 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
22080 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
220a0 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
220c0 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
220e0 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
22100 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
22120 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
22140 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..
22160 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
22180 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.....
221a0 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
221c0 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.
221e0 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...
22200 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
22220 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
22240 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
22260 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
22280 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
222a0 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
222c0 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
222e0 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.
22300 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
22320 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
22340 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
22360 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
22380 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
223a0 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
223c0 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
223e0 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.
22400 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
22420 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
22440 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
22460 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
22480 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..
224a0 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
224c0 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
224e0 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
22500 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.......
22520 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...),
22540 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
22560 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
22580 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
225a0 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
225c0 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......
225e0 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
22600 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,
22620 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
22640 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....
22660 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
22680 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:.
226a0 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....
226c0 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
226e0 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.
22700 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
22720 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
22740 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)...
22760 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
22780 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
227a0 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:........
227c0 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
227e0 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....
22800 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
22820 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
22840 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.
22860 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
22880 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:...........
228a0 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
228c0 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)
228e0 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
22900 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
22920 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)..............................
22940 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))..
22960 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
22980 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.
229a0 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....
229c0 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
229e0 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.
22a00 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
22a20 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
22a40 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)........................
22a60 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
22a80 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))..
22aa0 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.
22ac0 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
22ae0 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
22b00 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
22b20 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")
22b40 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
22b60 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
22b80 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
22ba0 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))......
22bc0 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.(
22be0 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).....
22c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
22c20 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)).........
22c40 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
22c60 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
22c80 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
22ca0 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.
22cc0 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,....
22ce0 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....
22d00 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")........
22d20 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.
22d40 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
22d60 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
22d80 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.
22da0 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.
22dc0 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................(
22de0 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
22e00 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
22e20 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
22e40 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.
22e60 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
22e80 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
22ea0 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
22ec0 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.
22ee0 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
22f00 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
22f20 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
22f40 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
22f60 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.
22f80 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.
22fa0 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,.
22fc0 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
22fe0 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
23000 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.----------------------
23020 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
23040 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
23060 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
23080 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
230a0 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
230c0 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
230e0 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
23100 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.
23120 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
23140 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
23160 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.......
23180 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
231a0 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
231c0 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
231e0 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
23200 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
23220 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:.
23240 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
23260 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
23280 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
232a0 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
232c0 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.
232e0 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.
23300 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
23320 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
23340 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
23360 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
23380 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
233a0 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
233c0 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
233e0 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
23400 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
23420 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
23440 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
23460 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
23480 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
234a0 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
234c0 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
234e0 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
23500 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
23520 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
23540 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
23560 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.
23580 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
235a0 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-
235c0 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...
235e0 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
23600 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
23620 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.............(
23640 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"........
23660 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")...
23680 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
236a0 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
236c0 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.
236e0 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
23700 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
23720 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.
23740 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
23760 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
23780 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
237a0 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
237c0 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
237e0 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
23800 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
23820 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
23840 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
23860 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::...
23880 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
238a0 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
238c0 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
238e0 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.
23900 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
23920 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...
23940 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
23960 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
23980 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
239a0 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....
239c0 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
239e0 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
23a00 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
23a20 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
23a40 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...
23a60 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....................
23a80 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
23aa0 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....
23ac0 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...,....
23ae0 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..............
23b00 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
23b20 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
23b40 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
23b60 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..
23b80 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
23ba0 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
23bc0 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
23be0 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...,
23c00 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
23c20 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
23c40 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
23c60 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
23c80 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..
23ca0 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
23cc0 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..
23ce0 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..
23d00 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.
23d20 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...
23d40 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
23d60 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
23d80 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
23da0 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
23dc0 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...
23de0 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......
23e00 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
23e20 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
23e40 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..
23e60 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
23e80 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-
23ea0 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
23ec0 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
23ee0 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
23f00 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
23f20 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
23f40 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)....
23f60 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
23f80 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.&
23fa0 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
23fc0 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
23fe0 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
24000 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
24020 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
24040 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.
24060 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
24080 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
240a0 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
240c0 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...,
240e0 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
24100 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
24120 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
24140 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
24160 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
24180 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
241a0 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
241c0 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
241e0 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::......
24200 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
24220 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
24240 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..
24260 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.-----
24280 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
242a0 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
242c0 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
242e0 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
24300 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-*..........
24320 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
24340 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
24360 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.........
24380 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.
243a0 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
243c0 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..
243e0 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.
24400 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
24420 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
24440 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
24460 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..
24480 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
244a0 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
244c0 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
244e0 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
24500 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..........
24520 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
24540 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...
24560 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....
24580 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..
245a0 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...
245c0 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.....
245e0 46 69 6c 65 3a 20 64 6f 63 58 63 63 55 55 42 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 45 6d 61 File:.docXccUUB.info,..Node:.Ema
24600 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
24620 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
24640 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.
24660 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.------------
24680 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
246a0 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.
246c0 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.
246e0 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.
24700 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..
24720 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....
24740 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
24760 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..
24780 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
247a0 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...
247c0 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...
247e0 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.
24800 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.
24820 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
24840 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-
24860 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
24880 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.....
248a0 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
248c0 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
248e0 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
24900 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
24920 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
24940 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.
24960 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
24980 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
249a0 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.
249c0 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.
249e0 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....-
24a00 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..
24a20 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
24a40 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
24a60 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
24a80 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
24aa0 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
24ac0 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
24ae0 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
24b00 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
24b20 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.
24b40 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-
24b60 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.
24b80 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.
24ba0 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
24bc0 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-.
24be0 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
24c00 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
24c20 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......
24c40 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
24c60 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..
24c80 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
24ca0 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
24cc0 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
24ce0 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
24d00 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
24d20 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
24d40 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....--.
24d60 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
24d80 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
24da0 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..
24dc0 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
24de0 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
24e00 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
24e20 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
24e40 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-.
24e60 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
24e80 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-
24ea0 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
24ec0 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
24ee0 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
24f00 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
24f20 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
24f40 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
24f60 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
24f80 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".
24fa0 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.
24fc0 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.
24fe0 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
25000 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
25020 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.
25040 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
25060 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
25080 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
250a0 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
250c0 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
250e0 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
25100 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
25120 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
25140 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,
25160 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......
25180 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
251a0 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
251c0 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
251e0 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
25200 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
25220 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
25240 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
25260 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
25280 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
252a0 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
252c0 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
252e0 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-
25300 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.
25320 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..
25340 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,.
25360 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
25380 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
253a0 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....
253c0 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
253e0 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
25400 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...
25420 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
25440 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
25460 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...
25480 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
254a0 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
254c0 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
254e0 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:.
25500 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
25520 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
25540 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...
25560 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.....
25580 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
255a0 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.....
255c0 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
255e0 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
25600 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
25620 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
25640 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
25660 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..
25680 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....
256a0 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
256c0 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
256e0 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
25700 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.
25720 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...
25740 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
25760 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....
25780 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
257a0 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
257c0 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
257e0 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.
25800 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
25820 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
25840 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,.
25860 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
25880 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
258a0 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
258c0 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
258e0 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
25900 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
25920 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
25940 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...
25960 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
25980 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
259a0 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
259c0 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"
259e0 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
25a00 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
25a20 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
25a40 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.........
25a60 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
25a80 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
25aa0 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
25ac0 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
25ae0 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
25b00 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
25b20 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
25b40 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
25b60 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-..
25b80 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
25ba0 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
25bc0 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,
25be0 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
25c00 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
25c20 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:.
25c40 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....
25c60 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....
25c80 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
25ca0 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
25cc0 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
25ce0 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
25d00 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
25d20 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...
25d40 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
25d60 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
25d80 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
25da0 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
25dc0 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.
25de0 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
25e00 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
25e20 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
25e40 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..
25e60 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
25e80 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
25ea0 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
25ec0 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.
25ee0 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.....
25f00 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
25f20 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
25f40 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
25f60 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
25f80 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.........
25fa0 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
25fc0 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
25fe0 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.
26000 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
26020 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
26040 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
26060 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
26080 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
260a0 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.
260c0 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
260e0 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...
26100 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
26120 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.
26140 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
26160 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
26180 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
261a0 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
261c0 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
261e0 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.......
26200 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
26220 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
26240 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
26260 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:..........
26280 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
262a0 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))....
262c0 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::
262e0 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
26300 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
26320 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
26340 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
26360 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
26380 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
263a0 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
263c0 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)
263e0 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
26400 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....
26420 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
26440 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..
26460 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.
26480 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.
264a0 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.
264c0 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
264e0 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...
26500 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
26520 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
26540 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...
26560 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
26580 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
265a0 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
265c0 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
265e0 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
26600 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
26620 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
26640 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
26660 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.
26680 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
266a0 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
266c0 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
266e0 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
26700 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
26720 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
26740 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
26760 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
26780 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.
267a0 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
267c0 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
267e0 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
26800 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
26820 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
26840 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
26860 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
26880 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
268a0 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,.
268c0 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)
268e0 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:.
26900 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
26920 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
26940 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
26960 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.
26980 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
269a0 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
269c0 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
269e0 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....
26a00 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
26a20 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
26a40 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
26a60 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
26a80 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
26aa0 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
26ac0 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
26ae0 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.
26b00 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.
26b20 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
26b40 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
26b60 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
26b80 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
26ba0 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.....
26bc0 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
26be0 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
26c00 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
26c20 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
26c40 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
26c60 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
26c80 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
26ca0 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-
26cc0 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
26ce0 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
26d00 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
26d20 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
26d40 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.
26d60 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
26d80 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
26da0 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"
26dc0 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"..
26de0 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
26e00 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")................
26e20 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
26e40 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")
26e60 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"...
26e80 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
26ea0 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.
26ec0 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
26ee0 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
26f00 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
26f20 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...)......
26f40 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
26f60 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....--.
26f80 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
26fa0 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
26fc0 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
26fe0 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
27000 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.
27020 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
27040 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........
27060 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...
27080 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
270a0 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.
270c0 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
270e0 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
27100 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.
27120 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::
27140 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
27160 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.
27180 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.
271a0 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..
271c0 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
271e0 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
27200 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..
27220 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
27240 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
27260 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
27280 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
272a0 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):."
272c0 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
272e0 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
27300 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.
27320 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
27340 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
27360 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
27380 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:..........
273a0 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
273c0 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
273e0 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
27400 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
27420 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...
27440 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
27460 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
27480 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
274a0 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..
274c0 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
274e0 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
27500 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.
27520 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
27540 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
27560 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
27580 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
275a0 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
275c0 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
275e0 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.
27600 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
27620 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
27640 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
27660 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:
27680 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
276a0 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
276c0 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
276e0 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
27700 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
27720 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..
27740 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
27760 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
27780 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
277a0 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
277c0 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
277e0 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:.
27800 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
27820 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
27840 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
27860 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.
27880 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...,.
278a0 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
278c0 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
278e0 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
27900 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
27920 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.....
27940 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
27960 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....
27980 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.
279a0 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
279c0 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.
279e0 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.
27a00 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...
27a20 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-
27a40 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
27a60 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...
27a80 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....
27aa0 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....
27ac0 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
27ae0 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...
27b00 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
27b20 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
27b40 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
27b60 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
27b80 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
27ba0 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
27bc0 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
27be0 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
27c00 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
27c20 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
27c40 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..
27c60 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
27c80 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")..
27ca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
27cc0 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"))..
27ce0 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
27d00 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
27d20 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.
27d40 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
27d60 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
27d80 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
27da0 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.
27dc0 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.
27de0 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.
27e00 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
27e20 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
27e40 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
27e60 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
27e80 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
27ea0 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
27ec0 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
27ee0 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
27f00 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
27f20 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
27f40 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
27f60 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
27f80 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...............
27fa0 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
27fc0 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.
27fe0 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...........
28000 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,.
28020 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
28040 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................
28060 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
28080 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..
280a0 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
280c0 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
280e0 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
28100 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
28120 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
28140 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
28160 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
28180 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-
281a0 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
281c0 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
281e0 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
28200 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.
28220 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..
28240 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
28260 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
28280 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
282a0 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
282c0 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.
282e0 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.
28300 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
28320 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
28340 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
28360 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
28380 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.
283a0 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.....
283c0 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
283e0 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.
28400 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
28420 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
28440 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
28460 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
28480 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
284a0 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
284c0 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
284e0 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
28500 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
28520 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
28540 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
28560 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:.
28580 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......
285a0 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.
285c0 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..
285e0 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
28600 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
28620 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.......--.
28640 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-
28660 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
28680 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.
286a0 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
286c0 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
286e0 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....
28700 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
28720 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....
28740 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...
28760 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.
28780 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
287a0 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
287c0 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
287e0 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
28800 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
28820 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
28840 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.
28860 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
28880 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
288a0 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
288c0 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.---------------------
288e0 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
28900 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
28920 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
28940 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.
28960 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
28980 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
289a0 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
289c0 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.
289e0 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
28a00 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
28a20 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...
28a40 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.
28a60 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
28a80 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
28aa0 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....(
28ac0 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
28ae0 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
28b00 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
28b20 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
28b40 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
28b60 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
28b80 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...
28ba0 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..
28bc0 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
28be0 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
28c00 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
28c20 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
28c40 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....
28c60 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
28c80 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
28ca0 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
28cc0 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.
28ce0 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
28d00 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
28d20 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
28d40 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
28d60 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
28d80 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
28da0 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
28dc0 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
28de0 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
28e00 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.-----------------
28e20 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
28e40 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
28e60 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:..
28e80 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
28ea0 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
28ec0 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
28ee0 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
28f00 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...
28f20 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.......
28f40 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..
28f60 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
28f80 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
28fa0 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
28fc0 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.......
28fe0 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
29000 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
29020 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
29040 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-
29060 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
29080 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
290a0 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..........
290c0 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....
290e0 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.....
29100 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
29120 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
29140 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.......
29160 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
29180 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....
291a0 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
291c0 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
291e0 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
29200 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........
29220 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
29240 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
29260 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
29280 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.....
292a0 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
292c0 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
292e0 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
29300 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
29320 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
29340 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.
29360 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
29380 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
293a0 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..........
293c0 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
293e0 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.
29400 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
29420 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
29440 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 58 63 63 55 55 42 n....library.....File:.docXccUUB
29460 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:
29480 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
294a0 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.
294c0 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.--------------
294e0 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
29500 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
29520 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
29540 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
29560 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
29580 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
295a0 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
295c0 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
295e0 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.....
29600 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
29620 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.
29640 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
29660 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
29680 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
296a0 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......
296c0 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....
296e0 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
29700 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
29720 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
29740 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.
29760 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.
29780 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.
297a0 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
297c0 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
297e0 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
29800 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...
29820 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
29840 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
29860 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
29880 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.
298a0 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.,
298c0 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.
298e0 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
29900 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
29920 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
29940 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
29960 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
29980 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:.
299a0 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
299c0 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
299e0 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..
29a00 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...
29a20 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
29a40 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
29a60 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.
29a80 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
29aa0 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
29ac0 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
29ae0 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
29b00 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
29b20 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
29b40 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
29b60 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.
29b80 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
29ba0 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
29bc0 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
29be0 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
29c00 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
29c20 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...
29c40 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
29c60 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.
29c80 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
29ca0 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
29cc0 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
29ce0 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
29d00 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
29d20 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..
29d40 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
29d60 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
29d80 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
29da0 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...)....--
29dc0 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
29de0 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
29e00 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....
29e20 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...
29e40 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....
29e60 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......
29e80 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
29ea0 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
29ec0 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.........
29ee0 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
29f00 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....
29f20 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.
29f40 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...
29f60 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
29f80 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..
29fa0 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
29fc0 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
29fe0 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
2a000 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
2a020 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,.
2a040 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
2a060 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
2a080 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
2a0a0 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.
2a0c0 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.
2a0e0 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.
2a100 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
2a120 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)......
2a140 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
2a160 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....
2a180 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
2a1a0 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.
2a1c0 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
2a1e0 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.
2a200 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,....
2a220 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.........
2a240 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
2a260 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..
2a280 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
2a2a0 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
2a2c0 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
2a2e0 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
2a300 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
2a320 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
2a340 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
2a360 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
2a380 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.....
2a3a0 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.
2a3c0 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::).)....
2a3e0 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
2a400 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
2a420 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.
2a440 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.........
2a460 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.
2a480 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.
2a4a0 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.......
2a4c0 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.
2a4e0 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
2a500 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
2a520 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.
2a540 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.
2a560 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.
2a580 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.
2a5a0 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
2a5c0 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
2a5e0 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
2a600 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
2a620 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
2a640 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
2a660 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
2a680 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
2a6a0 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
2a6c0 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.........
2a6e0 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............
2a700 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)......
2a720 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
2a740 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.
2a760 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
2a780 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
2a7a0 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
2a7c0 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-
2a7e0 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
2a800 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
2a820 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.&
2a840 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
2a860 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
2a880 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
2a8a0 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
2a8c0 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..
2a8e0 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
2a900 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...
2a920 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.
2a940 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
2a960 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.
2a980 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
2a9a0 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
2a9c0 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
2a9e0 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
2aa00 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
2aa20 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
2aa40 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.
2aa60 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))............
2aa80 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))
2aaa0 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.
2aac0 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
2aae0 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
2ab00 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.
2ab20 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
2ab40 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...
2ab60 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
2ab80 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.
2aba0 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
2abc0 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
2abe0 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
2ac00 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
2ac20 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
2ac40 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
2ac60 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
2ac80 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
2aca0 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..
2acc0 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
2ace0 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.
2ad00 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
2ad20 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
2ad40 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
2ad60 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
2ad80 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.
2ada0 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
2adc0 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
2ade0 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.
2ae00 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.
2ae20 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
2ae40 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
2ae60 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
2ae80 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
2aea0 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
2aec0 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....
2aee0 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
2af00 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...
2af20 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.
2af40 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...
2af60 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
2af80 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
2afa0 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
2afc0 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
2afe0 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
2b000 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
2b020 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......
2b040 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
2b060 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
2b080 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
2b0a0 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
2b0c0 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
2b0e0 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
2b100 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
2b120 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
2b140 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
2b160 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
2b180 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
2b1a0 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
2b1c0 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...
2b1e0 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
2b200 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
2b220 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
2b240 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
2b260 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
2b280 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
2b2a0 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......
2b2c0 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
2b2e0 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
2b300 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
2b320 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
2b340 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
2b360 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.
2b380 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
2b3a0 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
2b3c0 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
2b3e0 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.
2b400 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
2b420 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
2b440 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.
2b460 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
2b480 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
2b4a0 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
2b4c0 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.
2b4e0 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.
2b500 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
2b520 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
2b540 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
2b560 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
2b580 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
2b5a0 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
2b5c0 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
2b5e0 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.
2b600 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
2b620 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
2b640 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
2b660 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.
2b680 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
2b6a0 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.
2b6c0 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
2b6e0 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
2b700 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
2b720 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.
2b740 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
2b760 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....
2b780 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..
2b7a0 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
2b7c0 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....
2b7e0 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...
2b800 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))...
2b820 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)........
2b840 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)).........
2b860 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)...........(
2b880 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))..............
2b8a0 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
2b8c0 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.
2b8e0 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
2b900 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
2b920 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.
2b940 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
2b960 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
2b980 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
2b9a0 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
2b9c0 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..
2b9e0 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
2ba00 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
2ba20 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..
2ba40 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
2ba60 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
2ba80 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
2baa0 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
2bac0 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...
2bae0 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-
2bb00 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
2bb20 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
2bb40 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
2bb60 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
2bb80 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
2bba0 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
2bbc0 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
2bbe0 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,.
2bc00 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
2bc20 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
2bc40 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
2bc60 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.
2bc80 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
2bca0 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
2bcc0 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
2bce0 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.
2bd00 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
2bd20 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
2bd40 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
2bd60 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........
2bd80 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
2bda0 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).
2bdc0 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
2bde0 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
2be00 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
2be20 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
2be40 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.
2be60 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
2be80 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
2bea0 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
2bec0 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
2bee0 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
2bf00 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
2bf20 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.
2bf40 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
2bf60 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
2bf80 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
2bfa0 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.
2bfc0 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-
2bfe0 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
2c000 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
2c020 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
2c040 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
2c060 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
2c080 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
2c0a0 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
2c0c0 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...
2c0e0 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..
2c100 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.
2c120 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.
2c140 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
2c160 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
2c180 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
2c1a0 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.
2c1c0 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
2c1e0 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
2c200 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
2c220 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
2c240 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
2c260 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..........
2c280 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
2c2a0 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...
2c2c0 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
2c2e0 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
2c300 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
2c320 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
2c340 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
2c360 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)..
2c380 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
2c3a0 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
2c3c0 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...............
2c3e0 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.
2c400 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
2c420 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
2c440 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.
2c460 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
2c480 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
2c4a0 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
2c4c0 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
2c4e0 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...............
2c500 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....
2c520 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
2c540 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.
2c560 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..
2c580 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
2c5a0 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............
2c5c0 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..............
2c5e0 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
2c600 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...
2c620 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..........
2c640 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
2c660 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
2c680 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...
2c6a0 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
2c6c0 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
2c6e0 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
2c700 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....""..........
2c720 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)....
2c740 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
2c760 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
2c780 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
2c7a0 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.
2c7c0 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
2c7e0 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
2c800 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
2c820 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......
2c840 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.
2c860 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
2c880 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
2c8a0 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..
2c8c0 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
2c8e0 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
2c900 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
2c920 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
2c940 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
2c960 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
2c980 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
2c9a0 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.....
2c9c0 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.
2c9e0 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...
2ca00 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
2ca20 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
2ca40 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
2ca60 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
2ca80 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
2caa0 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
2cac0 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,.
2cae0 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
2cb00 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
2cb20 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
2cb40 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..
2cb60 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
2cb80 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
2cba0 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
2cbc0 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
2cbe0 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
2cc00 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
2cc20 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
2cc40 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
2cc60 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
2cc80 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.
2cca0 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
2ccc0 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
2cce0 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
2cd00 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
2cd20 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.
2cd40 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
2cd60 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
2cd80 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
2cda0 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
2cdc0 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
2cde0 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:.
2ce00 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
2ce20 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.
2ce40 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
2ce60 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...
2ce80 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
2cea0 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.
2cec0 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
2cee0 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.
2cf00 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
2cf20 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
2cf40 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
2cf60 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
2cf80 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
2cfa0 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
2cfc0 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,
2cfe0 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
2d000 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
2d020 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.
2d040 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
2d060 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
2d080 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
2d0a0 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
2d0c0 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
2d0e0 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
2d100 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.....
2d120 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
2d140 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.
2d160 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
2d180 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
2d1a0 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
2d1c0 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
2d1e0 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....
2d200 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
2d220 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-
2d240 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
2d260 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
2d280 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
2d2a0 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
2d2c0 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...
2d2e0 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
2d300 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
2d320 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")...............
2d340 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")........
2d360 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
2d380 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")."/")...........
2d3a0 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
2d3c0 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
2d3e0 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
2d400 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
2d420 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
2d440 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
2d460 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,......
2d480 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
2d4a0 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
2d4c0 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
2d4e0 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.
2d500 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
2d520 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-
2d540 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...
2d560 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
2d580 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
2d5a0 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
2d5c0 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.
2d5e0 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
2d600 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
2d620 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
2d640 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
2d660 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.
2d680 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,.
2d6a0 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
2d6c0 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,....
2d6e0 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
2d700 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
2d720 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
2d740 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-..
2d760 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.
2d780 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)
2d7a0 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
2d7c0 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
2d7e0 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....
2d800 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
2d820 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
2d840 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
2d860 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
2d880 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..
2d8a0 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
2d8c0 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
2d8e0 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.....
2d900 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
2d920 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
2d940 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
2d960 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.
2d980 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
2d9a0 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...
2d9c0 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,
2d9e0 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
2da00 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
2da20 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.
2da40 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
2da60 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
2da80 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
2daa0 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
2dac0 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
2dae0 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
2db00 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
2db20 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
2db40 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
2db60 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
2db80 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
2dba0 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.
2dbc0 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
2dbe0 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
2dc00 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.
2dc20 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..
2dc40 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.
2dc60 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..........
2dc80 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.
2dca0 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..
2dcc0 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.
2dce0 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....
2dd00 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..
2dd20 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..
2dd40 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>.............
2dd60 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
2dd80 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....
2dda0 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.
2ddc0 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
2dde0 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
2de00 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
2de20 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.
2de40 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
2de60 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...,....
2de80 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..
2dea0 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
2dec0 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
2dee0 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
2df00 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
2df20 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
2df40 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
2df60 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
2df80 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..
2dfa0 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
2dfc0 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
2dfe0 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-
2e000 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
2e020 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
2e040 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...
2e060 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
2e080 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
2e0a0 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,.
2e0c0 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
2e0e0 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.
2e100 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
2e120 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.
2e140 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
2e160 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...
2e180 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
2e1a0 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
2e1c0 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
2e1e0 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
2e200 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
2e220 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
2e240 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.
2e260 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
2e280 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.
2e2a0 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
2e2c0 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
2e2e0 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
2e300 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
2e320 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.
2e340 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
2e360 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
2e380 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.
2e3a0 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
2e3c0 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
2e3e0 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....
2e400 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
2e420 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
2e440 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.
2e460 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
2e480 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.
2e4a0 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
2e4c0 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
2e4e0 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
2e500 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.
2e520 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
2e540 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
2e560 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............
2e580 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)
2e5a0 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
2e5c0 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
2e5e0 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
2e600 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:
2e620 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...
2e640 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
2e660 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
2e680 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............
2e6a0 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).
2e6c0 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-
2e6e0 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
2e700 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
2e720 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
2e740 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
2e760 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
2e780 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
2e7a0 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
2e7c0 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
2e7e0 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..
2e800 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
2e820 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
2e840 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
2e860 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
2e880 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").......
2e8a0 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
2e8c0 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
2e8e0 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...
2e900 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
2e920 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
2e940 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.
2e960 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
2e980 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
2e9a0 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
2e9c0 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
2e9e0 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
2ea00 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
2ea20 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
2ea40 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
2ea60 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
2ea80 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.
2eaa0 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
2eac0 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
2eae0 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
2eb00 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
2eb20 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.
2eb40 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.
2eb60 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
2eb80 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
2eba0 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
2ebc0 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
2ebe0 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
2ec00 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
2ec20 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
2ec40 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
2ec60 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:.
2ec80 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
2eca0 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").......
2ecc0 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...........
2ece0 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
2ed00 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")........
2ed20 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)
2ed40 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::....--
2ed60 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
2ed80 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....
2eda0 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.
2edc0 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
2ede0 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
2ee00 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
2ee20 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
2ee40 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.
2ee60 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
2ee80 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
2eea0 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
2eec0 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
2eee0 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....
2ef00 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
2ef20 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
2ef40 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...
2ef60 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
2ef80 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
2efa0 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.
2efc0 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
2efe0 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.
2f000 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......
2f020 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
2f040 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
2f060 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
2f080 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
2f0a0 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
2f0c0 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
2f0e0 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...
2f100 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....
2f120 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....
2f140 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
2f160 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.
2f180 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
2f1a0 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
2f1c0 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
2f1e0 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
2f200 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..
2f220 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...
2f240 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
2f260 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.
2f280 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
2f2a0 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
2f2c0 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
2f2e0 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......
2f300 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
2f320 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
2f340 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.............
2f360 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
2f380 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".....................[
2f3a0 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]...........
2f3c0 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
2f3e0 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
2f400 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
2f420 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
2f440 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
2f460 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
2f480 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.
2f4a0 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..
2f4c0 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......
2f4e0 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
2f500 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:.........
2f520 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
2f540 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
2f560 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
2f580 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
2f5a0 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
2f5c0 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
2f5e0 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
2f600 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......
2f620 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
2f640 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.
2f660 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..........
2f680 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
2f6a0 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
2f6c0 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...
2f6e0 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..
2f700 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
2f720 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
2f740 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.
2f760 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.............
2f780 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
2f7a0 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...........
2f7c0 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
2f7e0 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
2f800 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.
2f820 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..
2f840 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
2f860 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
2f880 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
2f8a0 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
2f8c0 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....
2f8e0 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.
2f900 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.
2f920 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
2f940 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
2f960 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..............(
2f980 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::)....
2f9a0 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
2f9c0 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
2f9e0 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......
2fa00 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
2fa20 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
2fa40 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
2fa60 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...
2fa80 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
2faa0 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
2fac0 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)...
2fae0 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
2fb00 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.
2fb20 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.
2fb40 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.
2fb60 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
2fb80 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..
2fba0 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
2fbc0 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,.
2fbe0 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.....
2fc00 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
2fc20 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
2fc40 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
2fc60 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
2fc80 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
2fca0 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
2fcc0 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
2fce0 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.
2fd00 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:.....
2fd20 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
2fd40 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-
2fd60 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
2fd80 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
2fda0 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
2fdc0 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.
2fde0 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
2fe00 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....
2fe20 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
2fe40 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
2fe60 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
2fe80 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
2fea0 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
2fec0 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.
2fee0 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....
2ff00 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
2ff20 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..
2ff40 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
2ff60 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
2ff80 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
2ffa0 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....
2ffc0 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
2ffe0 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
30000 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
30020 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
30040 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
30060 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
30080 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
300a0 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
300c0 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
300e0 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
30100 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
30120 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...
30140 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
30160 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
30180 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
301a0 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
301c0 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..
301e0 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
30200 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;.
30220 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
30240 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
30260 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
30280 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....
302a0 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....
302c0 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
302e0 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
30300 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
30320 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..
30340 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
30360 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
30380 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
303a0 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.
303c0 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
303e0 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...,......
30400 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
30420 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....
30440 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
30460 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
30480 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
304a0 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
304c0 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).............
304e0 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"))......
30500 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")
30520 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
30540 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.
30560 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.(+....)))................
30580 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
305a0 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
305c0 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)........
305e0 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.(+....)))...
30600 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
30620 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).
30640 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
30660 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
30680 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
306a0 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.
306c0 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.
306e0 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
30700 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...
30720 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
30740 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
30760 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
30780 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
307a0 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
307c0 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
307e0 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.....
30800 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
30820 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
30840 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
30860 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-
30880 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
308a0 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.
308c0 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
308e0 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
30900 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......
30920 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
30940 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
30960 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
30980 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
309a0 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
309c0 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.
309e0 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
30a00 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
30a20 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
30a40 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
30a60 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
30a80 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
30aa0 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
30ac0 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
30ae0 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..........
30b00 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
30b20 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.
30b40 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
30b60 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)).........
30b80 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)))..
30ba0 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.,
30bc0 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
30be0 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.,
30c00 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-
30c20 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
30c40 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
30c60 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)....)
30c80 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....
30ca0 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
30cc0 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
30ce0 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
30d00 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
30d20 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-
30d40 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.
30d60 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..
30d80 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.
30da0 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
30dc0 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
30de0 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.
30e00 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...
30e20 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:...
30e40 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.
30e60 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
30e80 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
30ea0 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...................
30ec0 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
30ee0 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.--------------
30f00 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
30f20 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
30f40 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
30f60 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
30f80 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
30fa0 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
30fc0 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...
30fe0 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.
31000 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
31020 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
31040 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
31060 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
31080 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
310a0 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.
310c0 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
310e0 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
31100 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
31120 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
31140 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
31160 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
31180 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
311a0 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.
311c0 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
311e0 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.
31200 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
31220 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
31240 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
31260 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.
31280 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
312a0 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.
312c0 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
312e0 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-
31300 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.
31320 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
31340 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
31360 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
31380 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
313a0 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.
313c0 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
313e0 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
31400 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
31420 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....
31440 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
31460 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
31480 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....
314a0 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.
314c0 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
314e0 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
31500 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-
31520 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
31540 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
31560 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
31580 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
315a0 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
315c0 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.
315e0 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
31600 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........
31620 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
31640 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
31660 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-
31680 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
316a0 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.
316c0 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
316e0 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
31700 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
31720 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
31740 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
31760 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
31780 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
317a0 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.
317c0 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.....
317e0 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
31800 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-...
31820 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.
31840 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
31860 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
31880 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:
318a0 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
318c0 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
318e0 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..
31900 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.
31920 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....
31940 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
31960 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
31980 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
319a0 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
319c0 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
319e0 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
31a00 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....
31a20 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
31a40 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.
31a60 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
31a80 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
31aa0 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
31ac0 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
31ae0 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.......
31b00 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
31b20 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
31b40 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
31b60 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....-
31b80 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
31ba0 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
31bc0 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.
31be0 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.
31c00 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
31c20 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
31c40 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..
31c60 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
31c80 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.
31ca0 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
31cc0 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
31ce0 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
31d00 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
31d20 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.......
31d40 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.(
31d60 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
31d80 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
31da0 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......
31dc0 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-
31de0 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
31e00 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
31e20 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
31e40 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
31e60 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.
31e80 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.
31ea0 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
31ec0 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
31ee0 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
31f00 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......
31f20 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
31f40 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
31f60 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.
31f80 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
31fa0 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
31fc0 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
31fe0 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....--
32000 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
32020 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
32040 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.
32060 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
32080 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
320a0 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.
320c0 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
320e0 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
32100 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.....
32120 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
32140 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
32160 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
32180 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....
321a0 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::.
321c0 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
321e0 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.
32200 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
32220 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.-------------------------.
32240 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
32260 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
32280 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
322a0 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............
322c0 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
322e0 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
32300 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
32320 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.
32340 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
32360 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
32380 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...........
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 70 69 78 65 6c 2d 77 69 .The.function....string-pixel-wi
323c0 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-
323e0 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....
32400 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.
32420 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
32440 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
32460 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
32480 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
324a0 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
324c0 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
324e0 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
32500 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
32520 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
32540 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
32560 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
32580 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
325a0 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
325c0 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.
325e0 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
32600 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.......
32620 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
32640 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 58 63 63 ion.information.....File:.docXcc
32660 55 55 42 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 UUB.info,..Node:.Development,..N
32680 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
326a0 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.***
326c0 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.
326e0 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
32700 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
32720 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
32740 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
32760 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
32780 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
327a0 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
327c0 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
327e0 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.
32800 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
32820 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
32840 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>).....
32860 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.
32880 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
328a0 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
328c0 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
328e0 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
32900 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
32920 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.
32940 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
32960 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
32980 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
329a0 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
329c0 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.
329e0 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.
32a00 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
32a20 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
32a40 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.
32a60 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
32a80 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
32aa0 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..
32ac0 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
32ae0 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
32b00 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.
32b20 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
32b40 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
32b60 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
32b80 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
32ba0 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
32bc0 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.
32be0 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
32c00 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
32c20 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
32c40 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
32c60 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
32c80 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
32ca0 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.
32cc0 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.
32ce0 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
32d00 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:.
32d20 64 6f 63 58 63 63 55 55 42 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 46 75 6e 63 74 69 6f 6e 20 docXccUUB.info,..Node:.Function.
32d40 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
32d60 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
32d80 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.**********
32da0 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
32dc0 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
32de0 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.......
32e00 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:.....
32e20 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
32e40 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
32e60 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 :...............................
32e80 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)
32ea0 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*:....................
32ec0 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...........(
32ee0 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:...
32f00 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...
32f20 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:...
32f40 20 20 20 20 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
32f60 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
32f80 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:......................
32fa0 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.
32fc0 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:
32fe0 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........
33000 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:....
33020 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.
33040 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-
33060 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:...................
33080 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).
330a0 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:...
330c0 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
330e0 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
33100 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....
33120 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
33140 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
33160 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
33180 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:.........................
331a0 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
331c0 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:.........
331e0 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.........
33200 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:
33220 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
33240 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
33260 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
33280 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).*
332a0 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:..................
332c0 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
332e0 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:......
33300 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.....
33320 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:
33340 20 20 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.
33360 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
33380 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:.......
333a0 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
333c0 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:...............
333e0 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...............
33400 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-
33420 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.
33440 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
33460 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
33480 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).*.
334a0 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:...
334c0 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
334e0 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
33500 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......
33520 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
33540 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
33560 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
33580 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:.........
335a0 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
335c0 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-
335e0 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...........
33600 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
33620 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..
33640 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
33660 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
33680 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
336a0 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:......
336c0 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
336e0 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:..
33700 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.......
33720 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
33740 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
33760 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
33780 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:................
337a0 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)
337c0 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:........
337e0 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...........(
33800 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
33820 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...
33840 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
33860 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
33880 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
338a0 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:...........
338c0 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.
338e0 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:........
33900 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........
33920 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
33940 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.
33960 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-
33980 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:...............
339a0 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).
339c0 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:.
339e0 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
33a00 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
33a20 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....
33a40 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.
33a60 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
33a80 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
33aa0 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:...................
33ac0 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..
33ae0 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:......
33b00 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.........
33b20 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:.
33b40 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
33b60 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:..
33b80 20 20 20 20 20 20 20 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
33ba0 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).*
33bc0 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:........................
33be0 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
33c00 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:...
33c20 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.....
33c40 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-
33c60 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.
33c80 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
33ca0 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:...................
33cc0 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
33ce0 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:..........
33d00 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..........
33d20 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:
33d40 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.
33d60 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
33d80 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
33da0 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).*.
33dc0 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:.............
33de0 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
33e00 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:...
33e20 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......
33e40 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
33e60 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
33e80 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
33ea0 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:................
33ec0 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
33ee0 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:..........
33f00 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...........
33f20 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:.
33f40 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..
33f60 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
33f80 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
33fa0 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
33fc0 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:...................
33fe0 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
34000 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:............
34020 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.......
34040 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
34060 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
34080 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
340a0 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:.........
340c0 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)
340e0 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:...........
34100 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...........(
34120 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:...
34140 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...
34160 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:......
34180 20 20 20 20 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
341a0 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
341c0 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:....
341e0 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.
34200 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:.............
34220 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........
34240 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
34260 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.
34280 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
342a0 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:....................
342c0 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).
342e0 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:...
34300 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
34320 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
34340 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....
34360 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
34380 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
343a0 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
343c0 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:....
343e0 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
34400 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:..
34420 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.........
34440 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
34460 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
34480 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
344a0 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
344c0 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).*
344e0 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:..........
34500 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
34520 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
34540 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.....
34560 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
34580 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.
345a0 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
345c0 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:..
345e0 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
34600 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:.......
34620 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..........
34640 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
34660 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.
34680 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
346a0 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
346c0 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).*.
346e0 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:.............
34700 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
34720 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:.......
34740 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......
34760 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
34780 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
347a0 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-
347c0 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:....................
347e0 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
34800 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:.
34820 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...........
34840 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:...
34860 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..
34880 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-
348a0 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
348c0 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
348e0 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:.................
34900 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
34920 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:......
34940 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.......
34960 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-
34980 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
349a0 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
349c0 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:.........
349e0 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)
34a00 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:.....................
34a20 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...........(
34a40 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:.......
34a60 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...
34a80 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
34aa0 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
34ac0 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
34ae0 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:....................
34b00 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.
34b20 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
34b40 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........
34b60 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
34b80 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.
34ba0 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
34bc0 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:.................
34be0 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).
34c00 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:.......................
34c20 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
34c40 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:
34c60 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....
34c80 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-
34ca0 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
34cc0 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
34ce0 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:..................
34d00 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
34d20 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:...................
34d40 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.........
34d60 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*:.........
34d80 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
34da0 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
34dc0 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
34de0 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).*
34e00 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:................
34e20 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
34e40 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:...
34e60 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.....
34e80 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:...
34ea0 20 20 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.
34ec0 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-
34ee0 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:........................
34f00 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
34f20 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:......
34f40 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..........
34f60 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:
34f80 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.
34fa0 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
34fc0 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
34fe0 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).*.
35000 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:............
35020 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
35040 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:......
35060 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......
35080 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
350a0 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
350c0 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
350e0 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:.......................
35100 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
35120 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:.................
35140 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...........
35160 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:.
35180 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..
351a0 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<:..
351c0 20 20 20 20 20 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
351e0 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
35200 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=:.........................
35220 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
35240 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>:................
35260 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.......
35280 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
352a0 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
352c0 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
352e0 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:...................
35300 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)
35320 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:..............
35340 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...........(
35360 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:.....
35380 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...
353a0 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
353c0 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
353e0 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
35400 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:....................
35420 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.
35440 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:......
35460 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........
35480 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
354a0 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.
354c0 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
354e0 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:.......................
35500 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).
35520 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:..........
35540 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
35560 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
35580 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....
355a0 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
355c0 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
355e0 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
35600 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:............................
35620 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..
35640 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:......
35660 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.........
35680 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:...
356a0 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
356c0 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
356e0 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
35700 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).*
35720 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:.....................
35740 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
35760 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-
35780 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.....
357a0 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:.......
357c0 20 20 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.
357e0 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
35800 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:................
35820 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
35840 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:....................
35860 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..........
35880 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:..........
358a0 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.
358c0 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:.
358e0 20 20 20 20 20 20 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
35900 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).*.
35920 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:..
35940 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
35960 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
35980 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......
359a0 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:
359c0 20 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
359e0 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
35a00 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:.............
35a20 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
35a40 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:................
35a60 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...........
35a80 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
35aa0 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..
35ac0 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
35ae0 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
35b00 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
35b20 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:.......................
35b40 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
35b60 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:..........
35b80 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.......
35ba0 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
35bc0 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
35be0 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
35c00 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:.............
35c20 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)
35c40 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:....
35c60 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...........(
35c80 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:........
35ca0 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...
35cc0 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
35ce0 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
35d00 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
35d20 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:..............
35d40 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.
35d60 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:.
35d80 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........
35da0 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:
35dc0 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.
35de0 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-
35e00 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:..............
35e20 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).
35e40 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:..................
35e60 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
35e80 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:..
35ea0 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....
35ec0 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
35ee0 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
35f00 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
35f20 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:......................
35f40 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
35f60 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:...............
35f80 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.........
35fa0 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:..
35fc0 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
35fe0 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
36000 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
36020 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).*
36040 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:..................
36060 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
36080 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:..
360a0 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.....
360c0 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
360e0 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.
36100 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
36120 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:..................
36140 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
36160 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:......................
36180 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..........
361a0 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
361c0 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.
361e0 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
36200 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
36220 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).*.
36240 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:...
36260 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
36280 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:....
362a0 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......
362c0 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
362e0 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
36300 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
36320 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:........................
36340 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
36360 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:................
36380 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...........
363a0 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:......
363c0 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..
363e0 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
36400 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
36420 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
36440 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:..................
36460 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
36480 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
364a0 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.......
364c0 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:......
364e0 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
36500 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
36520 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*:............................
36540 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)
36560 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:...................
36580 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...........(
365a0 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
365c0 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...
365e0 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
36600 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
36620 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
36640 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:.............
36660 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.
36680 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
366a0 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........
366c0 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
366e0 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.
36700 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
36720 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:.......................
36740 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).
36760 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:.............
36780 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
367a0 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
367c0 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....
367e0 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
36800 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
36820 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
36840 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:..........
36860 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..
36880 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:
368a0 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.........
368c0 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
368e0 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
36900 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:....
36920 20 20 20 20 20 20 20 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
36940 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)..
36960 1f 0a 46 69 6c 65 3a 20 64 6f 63 58 63 63 55 55 42 2e 69 6e 66 6f 2c 20 20 4e 6f 64 65 3a 20 56 ..File:.docXccUUB.info,..Node:.V
36980 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
369a0 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
369c0 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.**********************
369e0 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
36a00 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:..........................
36a20 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
36a40 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:............
36a60 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..........
36a80 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:...
36aa0 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.
36ac0 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
36ae0 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
36b00 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).*.
36b20 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:.............
36b40 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
36b60 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
36b80 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......
36ba0 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
36bc0 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
36be0 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
36c00 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
36c20 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
36c40 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
36c60 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
36c80 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
36ca0 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
36cc0 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:.
36ce0 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
36d00 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
36d20 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
36d40 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
36d60 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:........
36d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36e00 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.......
36e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36e60 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
36e80 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...
36ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36f00 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...................
36f20 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...................
36f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
36fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37000 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
37020 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
37040 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)
37060 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
37080 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
370a0 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
370c0 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
370e0 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
37100 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
37120 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.;;
37140 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
37160 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
37180 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")).
371a0 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
371c0 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.
371e0 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
37200 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
37220 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
37240 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
37260 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
37280 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
372a0 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
372c0 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
372e0 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
37300 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
37320 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
37340 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.
37360 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.;;.
37380 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
373a0 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
373c0 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
373e0 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
37400 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
37420 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/>...;;
37440 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.
37460 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
37480 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
374a0 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
374c0 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.
374e0 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.
37500 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.
37520 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
37540 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.;
37560 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
37580 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
375a0 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
375c0 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
375e0 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
37600 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
37620 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
37640 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
37660 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
37680 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.
376a0 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
376c0 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
376e0 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
37700 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
37720 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...
37740 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
37760 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
37780 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.;;
377a0 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...;;
377c0 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
377e0 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.;
37800 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
37820 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
37840 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
37860 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.
37880 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
378a0 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
378c0 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
378e0 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
37900 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.().....
37920 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
37940 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)
37960 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)))).
37980 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
379a0 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.
379c0 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
379e0 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
37a00 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.
37a20 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.
37a40 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
37a60 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
37a80 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
37aa0 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
37ac0 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.
37ae0 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.
37b00 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
37b20 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
37b40 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
37b60 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.
37b80 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.
37ba0 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
37bc0 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
37be0 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
37c00 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))))...
37c20 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
37c40 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.
37c60 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
37c80 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
37ca0 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
37cc0 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
37ce0 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.
37d00 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
37d20 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
37d40 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
37d60 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
37d80 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
37da0 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
37dc0 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
37de0 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
37e00 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.
37e20 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
37e40 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.
37e60 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..
37e80 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
37ea0 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
37ec0 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
37ee0 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.
37f00 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
37f20 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
37f40 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).,
37f60 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).;;;.
37f80 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.............
37fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
37fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
38000 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.............
38020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
38040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
38060 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
38080 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...
380a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
380c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
380e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
38100 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...................
38120 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...................
38140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
38160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
38180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
381a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
381c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
381e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
38200 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
38220 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
38240 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
38260 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
38280 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
382a0 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
382c0 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
382e0 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
38300 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
38320 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
38340 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,.
38360 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
38380 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
383a0 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
383c0 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.
383e0 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
38400 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
38420 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)..........
38440 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
38460 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........................
38480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
384a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
384c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
384e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
38500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
38520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
38540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
38560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
38580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
385a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
385c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
385e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
38600 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....
38620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
38640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
38660 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
38680 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...
386a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
386c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
386e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
38700 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...................
38720 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...................
38740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
38760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
38780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
387a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
387c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
387e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
38800 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
38820 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
38840 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
38860 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
38880 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
388a0 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
388c0 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
388e0 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.
38900 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.;
38920 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,.
38940 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,
38960 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
38980 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
389a0 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
389c0 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
389e0 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
38a00 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
38a20 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.
38a40 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
38a60 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
38a80 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
38aa0 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.
38ac0 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
38ae0 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
38b00 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
38b20 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
38b40 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.
38b60 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
38b80 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".
38ba0 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
38bc0 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
38be0 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
38c00 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
38c20 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:
38c40 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
38c60 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
38c80 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
38ca0 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
38cc0 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
38ce0 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-
38d00 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
38d20 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..
38d40 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
38d60 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
38d80 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
38da0 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
38dc0 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
38de0 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
38e00 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
38e20 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
38e40 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
38e60 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
38e80 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
38ea0 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
38ec0 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
38ee0 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..
38f00 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
38f20 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
38f40 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
38f60 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.
38f80 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
38fa0 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)...................
38fc0 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))).....(
38fe0 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.
39000 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
39020 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
39040 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-
39060 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
39080 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
390a0 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
390c0 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
390e0 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
39100 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
39120 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
39140 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
39160 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)......
39180 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)...
391a0 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)).
391c0 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
391e0 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))))
39200 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
39220 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
39240 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
39260 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."..
39280 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.
392a0 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
392c0 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
392e0 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
39300 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
39320 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
39340 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
39360 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>
39380 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
393a0 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
393c0 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
393e0 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
39400 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
39420 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)..
39440 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))
39460 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
39480 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)))
394a0 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
394c0 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
394e0 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
39500 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>..."
39520 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
39540 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..
39560 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
39580 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
395a0 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
395c0 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
395e0 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.
39600 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.
39620 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.((
39640 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....
39660 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
39680 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
396a0 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)).........................."\
396c0 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
396e0 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.........................
39700 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.
39720 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))...............
39740 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
39760 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
39780 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...
397a0 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))).
397c0 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
397e0 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...........................
39800 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..............
39820 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
39840 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))........
39860 20 20 20 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
39880 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
398a0 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
398c0 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).
398e0 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
39900 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
39920 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
39940 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).;;.
39960 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
39980 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
399a0 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
399c0 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
399e0 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
39a00 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.
39a20 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
39a40 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
39a60 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))))).
39a80 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
39aa0 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
39ac0 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
39ae0 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
39b00 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
39b20 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
39b40 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
39b60 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
39b80 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)...
39ba0 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
39bc0 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.
39be0 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.(
39c00 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
39c20 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
39c40 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
39c60 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
39c80 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
39ca0 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
39cc0 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
39ce0 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)))....
39d00 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
39d20 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))...
39d40 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
39d60 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-
39d80 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
39da0 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
39dc0 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
39de0 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
39e00 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
39e20 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,.
39e40 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
39e60 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
39e80 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
39ea0 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
39ec0 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
39ee0 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.[
39f00 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.
39f20 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
39f40 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
39f60 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
39f80 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
39fa0 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.(
39fc0 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
39fe0 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........
3a000 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
3a020 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
3a040 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.(
3a060 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)))
3a080 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
3a0a0 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
3a0c0 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)))......
3a0e0 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.(=.
3a100 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
3a120 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)))..........;;
3a140 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)
3a160 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
3a180 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))))..........;;.....
3a1a0 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:[[
3a1c0 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
3a1e0 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:
3a200 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:]
3a220 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:]]\\{
3a240 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\\}
3a260 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\\}\
3a280 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\\}\\)\\
3a2a0 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\\}\\)\\|\\(
3a2c0 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:[
3a2e0 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
3a300 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\\}\\)\\)\\'"........
3a320 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-.(
3a340 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
3a360 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)))))...........
3a380 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
3a3a0 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
3a3c0 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
3a3e0 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
3a400 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)...............
3a420 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
3a440 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))
3a460 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........
3a480 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:"..........;;.
3a4a0 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))."/"....
3a4c0 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)
3a4e0 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.(**
3a500 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).
3a520 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:]]
3a540 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
3a560 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\\
3a580 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).........
3a5a0 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
3a5c0 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)..
3a5e0 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.(*.(-
3a600 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.
3a620 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
3a640 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.
3a660 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)................
3a680 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)
3a6a0 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)))).....
3a6c0 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
3a6e0 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
3a700 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.(
3a720 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
3a740 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
3a760 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
3a780 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[
3a7a0 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
3a7c0 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.........;;........;;.
3a7e0 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
3a800 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.
3a820 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
3a840 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
3a860 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
3a880 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..........
3a8a0 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)....
3a8c0 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."-"."
3a8e0 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.
3a900 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))).
3a920 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 .........;;................(:.".
3a940 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)))..........;;.......
3a960 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."-"."+")).(+.
3a980 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)))..........;;....."/".(*.
3a9a0 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.(?
3a9c0 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."-"."+"))..........;;......
3a9e0 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).(?.".".(*
3aa00 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)))..........;;...........
3aa20 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))).........
3aa40 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."-"
3aa60 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)))..........;;..
3aa80 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)..........;;....
3aaa0 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."-"."+"))........
3aac0 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)
3aae0 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)))..........;;.
3ab00 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))
3ab20 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".
3ab40 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)))....
3ab60 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
3ab80 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:]]*\\([+-]?\\(?:[[:
3aba0 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:]]*\\)
3abc0 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[+-]
3abe0 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:]]
3ac00 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:]]+\\(?:\
3ac20 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
3ac40 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:]]+\\
3ac60 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:]]*\\([+-]?\\(?:[
3ac80 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:]]*\
3aca0 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[+
3acc0 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:]]+\\)?\\)\\'"......
3ace0 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
3ad00 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
3ad20 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)))..........
3ad40 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
3ad60 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
3ad80 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.(*.(
3ada0 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
3adc0 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
3ade0 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)....
3ae00 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
3ae20 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)......................(<=
3ae40 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)).............
3ae60 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
3ae80 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
3aea0 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
3aec0 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
3aee0 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
3af00 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
3af20 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,.
3af40 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
3af60 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
3af80 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.
3afa0 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.'
3afc0 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
3afe0 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
3b000 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)))
3b020 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
3b040 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))).?-)."\
3b060 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..
3b080 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
3b0a0 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
3b0c0 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
3b0e0 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>.
3b100 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
3b120 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.
3b140 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-
3b160 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.
3b180 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
3b1a0 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
3b1c0 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
3b1e0 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
3b200 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
3b220 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
3b240 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.
3b260 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-
3b280 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
3b2a0 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
3b2c0 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
3b2e0 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
3b300 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
3b320 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
3b340 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
3b360 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)
3b380 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))....
3b3a0 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
3b3c0 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........
3b3e0 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
3b400 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).................
3b420 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)
3b440 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
3b460 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)
3b480 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)))))..
3b4a0 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
3b4c0 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).;
3b4e0 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
3b500 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.
3b520 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.
3b540 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
3b560 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
3b580 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
3b5a0 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
3b5c0 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
3b5e0 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
3b600 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
3b620 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
3b640 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
3b660 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
3b680 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
3b6a0 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
3b6c0 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
3b6e0 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
3b700 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)).....(
3b720 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
3b740 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
3b760 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
3b780 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
3b7a0 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>..."
3b7c0 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
3b7e0 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
3b800 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
3b820 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
3b840 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
3b860 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
3b880 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
3b8a0 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
3b8c0 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
3b8e0 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.
3b900 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.
3b920 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
3b940 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
3b960 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
3b980 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
3b9a0 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)))
3b9c0 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-
3b9e0 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
3ba00 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
3ba20 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>...
3ba40 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
3ba60 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
3ba80 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
3baa0 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
3bac0 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.
3bae0 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
3bb00 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
3bb20 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
3bb40 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
3bb60 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
3bb80 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
3bba0 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")
3bbc0 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
3bbe0 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-
3bc00 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.
3bc20 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.(
3bc40 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..
3bc60 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
3bc80 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
3bca0 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
3bcc0 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
3bce0 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
3bd00 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)..........
3bd20 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
3bd40 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
3bd60 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
3bd80 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)))........
3bda0 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)).....
3bdc0 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
3bde0 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
3be00 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
3be20 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-
3be40 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
3be60 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
3be80 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
3bea0 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
3bec0 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.
3bee0 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
3bf00 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
3bf20 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'...
3bf40 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
3bf60 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
3bf80 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
3bfa0 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.
3bfc0 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
3bfe0 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
3c000 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.`\\(...\\)
3c020 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
3c040 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....`\\\
3c060 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.`\\'....`\\?
3c080 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
3c0a0 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
3c0c0 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
3c0e0 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
3c100 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......
3c120 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))......
3c140 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
3c160 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))
3c180 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
3c1a0 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.
3c1c0 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
3c1e0 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)......
3c200 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))..
3c220 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
3c240 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
3c260 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)........
3c280 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))).
3c2a0 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
3c2c0 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
3c2e0 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.
3c300 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
3c320 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.
3c340 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
3c360 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
3c380 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.......
3c3a0 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
3c3c0 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
3c3e0 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
3c400 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.(&
3c420 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
3c440 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.
3c460 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
3c480 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
3c4a0 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.
3c4c0 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.
3c4e0 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).
3c500 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
3c520 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
3c540 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.(
3c560 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..........
3c580 20 20 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
3c5a0 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."~/")...............
3c5c0 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
3c5e0 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...................
3c600 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
3c620 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 ")..............................
3c640 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/")).................
3c660 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.
3c680 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
3c6a0 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))))..............."/"
3c6c0 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
3c6e0 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).;;
3c700 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
3c720 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."..
3c740 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)
3c760 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
3c780 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)..................`
3c7a0 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
3c7c0 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)))..............
3c7e0 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.,@
3c800 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
3c820 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
3c840 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.
3c860 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
3c880 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'
3c8a0 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
3c8c0 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
3c8e0 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...
3c900 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
3c920 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).;;.<
3c940 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>..
3c960 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-
3c980 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
3c9a0 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
3c9c0 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
3c9e0 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
3ca00 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
3ca20 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>.
3ca40 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
3ca60 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
3ca80 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
3caa0 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
3cac0 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
3cae0 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\
3cb00 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
3cb20 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]+\\|[
3cb40 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]+$"......""......(
3cb60 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
3cb80 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
3cba0 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).;
3cbc0 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>..."
3cbe0 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
3cc00 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
3cc20 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
3cc40 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
3cc60 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.".
3cc80 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.
3cca0 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
3ccc0 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
3cce0 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
3cd00 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
3cd20 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-
3cd40 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-
3cd60 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
3cd80 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
3cda0 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
3cdc0 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
3cde0 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..
3ce00 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
3ce20 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
3ce40 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
3ce60 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.
3ce80 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
3cea0 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
3cec0 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
3cee0 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."
3cf00 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).....
3cf20 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
3cf40 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
3cf60 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
3cf80 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).
3cfa0 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
3cfc0 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
3cfe0 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.?
3d000 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......
3d020 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).......
3d040 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
3d060 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
3d080 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.(
3d0a0 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-
3d0c0 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
3d0e0 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."
3d100 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).
3d120 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
3d140 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.
3d160 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
3d180 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
3d1a0 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
3d1c0 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
3d1e0 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',
3d200 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.
3d220 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
3d240 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
3d260 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
3d280 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.
3d2a0 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.
3d2c0 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
3d2e0 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.
3d300 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
3d320 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
3d340 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)....
3d360 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
3d380 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))).....
3d3a0 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
3d3c0 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))))........
3d3e0 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))......
3d400 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
3d420 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)
3d440 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
3d460 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.(
3d480 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
3d4a0 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).
3d4c0 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))...............
3d4e0 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.
3d500 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
3d520 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........
3d540 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
3d560 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")).......
3d580 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
3d5a0 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)...........
3d5c0 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)....
3d5e0 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..
3d600 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.`
3d620 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
3d640 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)..............
3d660 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................
3d680 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).........
3d6a0 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
3d6c0 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))))))).......
3d6e0 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)..........
3d700 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..................((
3d720 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).........
3d740 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.....
3d760 20 20 20 20 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
3d780 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).........................
3d7a0 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
3d7c0 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
3d7e0 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)
3d800 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
3d820 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)................
3d840 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
3d860 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
3d880 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.((
3d8a0 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)))............
3d8c0 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........
3d8e0 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
3d900 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.................
3d920 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
3d940 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)).....................
3d960 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
3d980 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..........................
3d9a0 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
3d9c0 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)))).....................
3d9e0 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..............
3da00 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)))..
3da20 20 20 20 20 20 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
3da40 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.'
3da60 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)))).........
3da80 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
3daa0 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
3dac0 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.
3dae0 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"))).....
3db00 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
3db20 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))).................
3db40 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
3db60 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)..........................
3db80 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
3dba0 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))))))....................
3dbc0 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))))....
3dbe0 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
3dc00 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).............
3dc20 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
3dc40 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))...
3dc60 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.
3dc80 20 20 20 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
3dca0 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)....................
3dcc0 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)...
3dce0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
3dd00 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
3dd20 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 ))))............................
3dd40 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))))..............
3dd60 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
3dd80 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
3dda0 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.(
3ddc0 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))))..................((
3dde0 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*)
3de00 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
3de20 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)).......
3de40 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
3de60 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))))...........
3de80 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
3dea0 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.(
3dec0 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)))...............
3dee0 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)......
3df00 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
3df20 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))...................
3df40 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))................
3df60 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.
3df80 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))))).............
3dfa0 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))))))
3dfc0 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
3dfe0 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
3e000 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
3e020 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..........
3e040 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
3e060 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)
3e080 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
3e0a0 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
3e0c0 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)))))...
3e0e0 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.............
3e100 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)........
3e120 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
3e140 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)
3e160 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)))
3e180 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..(
3e1a0 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
3e1c0 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
3e1e0 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
3e200 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.
3e220 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
3e240 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
3e260 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
3e280 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
3e2a0 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\"
3e2c0 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
3e2e0 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
3e300 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.
3e320 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
3e340 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'."...
3e360 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
3e380 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....
3e3a0 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."").......(
3e3c0 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"))......((
3e3e0 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
3e400 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
3e420 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
3e440 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.
3e460 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)).....
3e480 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
3e4a0 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))
3e4c0 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
3e4e0 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
3e500 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
3e520 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
3e540 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.
3e560 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
3e580 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
3e5a0 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
3e5c0 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
3e5e0 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
3e600 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
3e620 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-
3e640 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
3e660 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
3e680 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))))
3e6a0 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
3e6c0 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
3e6e0 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
3e700 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
3e720 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
3e740 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
3e760 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-----
3e780 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.
3e7a0 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
3e7c0 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
3e7e0 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
3e800 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
3e820 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
3e840 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.-
3e860 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.
3e880 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
3e8a0 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
3e8c0 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.
3e8e0 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.
3e900 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)...
3e920 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
3e940 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
3e960 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
3e980 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)....;;.
3e9a0 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........
3e9c0 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
3e9e0 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)
3ea00 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..
3ea20 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
3ea40 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
3ea60 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
3ea80 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)...;;.#
3eaa0 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.........
3eac0 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.
3eae0 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
3eb00 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)...
3eb20 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))
3eb40 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
3eb60 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.(
3eb80 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))....(
3eba0 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)).?
3ebc0 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
3ebe0 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
3ec00 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
3ec20 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)
3ec40 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
3ec60 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
3ec80 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.(
3eca0 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
3ecc0 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
3ece0 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
3ed00 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.(
3ed20 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
3ed40 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
3ed60 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
3ed80 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.
3eda0 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
3edc0 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.
3ede0 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
3ee00 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."...;;
3ee20 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
3ee40 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...;
3ee60 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...
3ee80 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.
3eea0 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
3eec0 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
3eee0 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
3ef00 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...............
3ef20 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
3ef40 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)))).....
3ef60 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
3ef80 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
3efa0 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
3efc0 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-
3efe0 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)
3f000 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
3f020 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.
3f040 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)..
3f060 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
3f080 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
3f0a0 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
3f0c0 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.#'
3f0e0 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
3f100 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
3f120 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
3f140 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
3f160 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
3f180 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
3f1a0 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
3f1c0 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'
3f1e0 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
3f200 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
3f220 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
3f240 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
3f260 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.
3f280 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.
3f2a0 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
3f2c0 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
3f2e0 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
3f300 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
3f320 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
3f340 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-
3f360 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.
3f380 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.
3f3a0 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
3f3c0 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
3f3e0 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
3f400 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.
3f420 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.
3f440 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
3f460 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.
3f480 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
3f4a0 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
3f4c0 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
3f4e0 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
3f500 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....
3f520 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))
3f540 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)
3f560 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.
3f580 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.
3f5a0 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
3f5c0 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
3f5e0 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.
3f600 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
3f620 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.;;.
3f640 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
3f660 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
3f680 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\"
3f6a0 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
3f6c0 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
3f6e0 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
3f700 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
3f720 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
3f740 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.
3f760 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
3f780 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
3f7a0 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
3f7c0 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),.
3f7e0 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
3f800 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
3f820 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
3f840 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
3f860 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
3f880 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.
3f8a0 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).
3f8c0 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
3f8e0 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
3f900 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
3f920 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),...
3f940 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
3f960 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....;
3f980 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
3f9a0 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
3f9c0 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))...
3f9e0 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)).........
3fa00 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
3fa20 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
3fa40 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
3fa60 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
3fa80 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
3faa0 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
3fac0 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.........
3fae0 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.
3fb00 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
3fb20 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.
3fb40 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))
3fb60 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
3fb80 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
3fba0 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
3fbc0 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
3fbe0 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
3fc00 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
3fc20 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
3fc40 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,.
3fc60 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
3fc80 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
3fca0 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
3fcc0 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
3fce0 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
3fd00 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
3fd20 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.
3fd40 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
3fd60 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
3fd80 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
3fda0 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
3fdc0 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........
3fde0 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
3fe00 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.
3fe20 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
3fe40 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
3fe60 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
3fe80 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
3fea0 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.".
3fec0 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..
3fee0 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
3ff00 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))........
3ff20 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...
3ff40 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
3ff60 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
3ff80 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))
3ffa0 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.
3ffc0 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
3ffe0 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
40000 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
40020 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
40040 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',.
40060 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
40080 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.
400a0 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
400c0 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
400e0 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
40100 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
40120 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
40140 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
40160 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
40180 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
401a0 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
401c0 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
401e0 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
40200 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.
40220 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.
40240 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
40260 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.:
40280 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
402a0 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
402c0 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
402e0 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
40300 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
40320 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
40340 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-
40360 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
40380 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.
403a0 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
403c0 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-
403e0 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
40400 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
40420 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...................
40440 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)))....
40460 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
40480 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...........
404a0 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
404c0 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))
404e0 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..
40500 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-
40520 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
40540 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
40560 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
40580 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
405a0 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..
405c0 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.
405e0 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
40600 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
40620 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
40640 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
40660 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
40680 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.
406a0 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
406c0 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
406e0 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
40700 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
40720 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
40740 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
40760 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
40780 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>..."
407a0 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
407c0 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
407e0 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
40800 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
40820 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.
40840 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.
40860 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.
40880 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
408a0 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
408c0 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
408e0 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
40900 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
40920 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
40940 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)......
40960 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
40980 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
409a0 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
409c0 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
409e0 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:
40a00 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
40a20 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.
40a40 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
40a60 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
40a80 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
40aa0 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
40ac0 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
40ae0 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
40b00 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.
40b20 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.(
40b40 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
40b60 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
40b80 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.
40ba0 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
40bc0 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))).....
40be0 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).......
40c00 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).
40c20 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
40c40 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
40c60 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
40c80 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).;
40ca0 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
40cc0 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
40ce0 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
40d00 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
40d20 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.
40d40 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
40d60 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.(
40d80 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))......
40da0 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
40dc0 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
40de0 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)))...
40e00 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
40e20 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
40e40 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
40e60 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
40e80 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
40ea0 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
40ec0 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
40ee0 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
40f00 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
40f20 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
40f40 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.().
40f60 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
40f80 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
40fa0 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.
40fc0 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
40fe0 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',
41000 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.
41020 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
41040 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.
41060 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
41080 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
410a0 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.`
410c0 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
410e0 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
41100 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
41120 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.
41140 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....((
41160 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.
41180 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
411a0 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
411c0 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)))..;
411e0 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
41200 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
41220 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
41240 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
41260 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
41280 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.;
412a0 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>..
412c0 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
412e0 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....
41300 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
41320 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
41340 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
41360 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
41380 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.'
413a0 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
413c0 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....
413e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41400 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....
41420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41460 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
41480 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...
414a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
414c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
414e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41500 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...................
41520 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...................
41540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
415a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
415c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
415e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
41600 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
41620 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
41640 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
41660 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
41680 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
416a0 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
416c0 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
416e0 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.
41700 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.;
41720 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,.
41740 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,
41760 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
41780 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
417a0 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
417c0 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
417e0 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
41800 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
41820 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.
41840 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
41860 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
41880 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
418a0 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.
418c0 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
418e0 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
41900 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
41920 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
41940 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.
41960 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
41980 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".
419a0 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
419c0 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
419e0 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
41a00 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
41a20 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
41a40 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
41a60 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
41a80 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
41aa0 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
41ac0 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
41ae0 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)).
41b00 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.(
41b20 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
41b40 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
41b60 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)))...
41b80 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..
41ba0 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
41bc0 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
41be0 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..
41c00 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
41c20 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
41c40 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
41c60 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))..........
41c80 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
41ca0 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))...
41cc0 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)))
41ce0 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)))..
41d00 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
41d20 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)))
41d40 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..(
41d60 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
41d80 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
41da0 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.
41dc0 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-
41de0 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
41e00 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
41e20 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
41e40 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
41e60 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
41e80 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-
41ea0 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)).............?\\.?/))......
41ec0 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))))
41ee0 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
41f00 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.
41f20 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
41f40 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.
41f60 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
41f80 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
41fa0 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
41fc0 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
41fe0 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
42000 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
42020 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
42040 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
42060 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:...`
42080 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
420a0 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
420c0 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
420e0 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\\='....`
42100 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
42120 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\
42140 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.
42160 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..
42180 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
421a0 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
421c0 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
421e0 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
42200 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
42220 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
42240 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
42260 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
42280 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
422a0 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
422c0 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
422e0 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
42300 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
42320 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
42340 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
42360 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
42380 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>..(
423a0 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
423c0 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.(
423e0 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
42400 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
42420 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
42440 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
42460 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
42480 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
424a0 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
424c0 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
424e0 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)
42500 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
42520 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
42540 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-
42560 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
42580 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
425a0 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
425c0 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
425e0 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
42600 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
42620 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
42640 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
42660 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:
42680 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
426a0 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
426c0 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
426e0 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
42700 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
42720 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
42740 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.(
42760 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
42780 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..
427a0 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
427c0 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)
427e0 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
42800 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.
42820 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).;;
42840 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
42860 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
42880 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
428a0 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*
428c0 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
428e0 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
42900 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
42920 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
42940 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
42960 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
42980 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
429a0 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
429c0 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
429e0 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
42a00 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
42a20 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
42a40 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
42a60 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
42a80 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,
42aa0 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.\
42ac0 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
42ae0 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.
42b00 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
42b20 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
42b40 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)
42b60 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
42b80 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).........................
42ba0 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
42bc0 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)])]....................
42be0 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
42c00 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)
42c20 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
42c40 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
42c60 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
42c80 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).
42ca0 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
42cc0 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
42ce0 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.,(
42d00 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
42d20 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
42d40 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
42d60 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
42d80 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
42da0 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.
42dc0 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
42de0 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
42e00 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
42e20 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
42e40 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
42e60 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.
42e80 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
42ea0 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.
42ec0 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
42ee0 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
42f00 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
42f20 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
42f40 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))
42f60 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
42f80 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.(
42fa0 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
42fc0 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
42fe0 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
43000 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
43020 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
43040 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).;
43060 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>...
43080 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
430a0 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.
430c0 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.....
430e0 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)...
43100 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
43120 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))
43140 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
43160 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
43180 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).
431a0 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.[&
431c0 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)])))
431e0 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)))....
43200 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)).....
43220 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).........(
43240 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
43260 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
43280 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
432a0 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).........................
432c0 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
432e0 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
43300 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
43320 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.
43340 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
43360 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.
43380 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
433a0 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
433c0 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.(+.
433e0 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.`-'
43400 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
43420 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
43440 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
43460 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
43480 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
434a0 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
434c0 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
434e0 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))))...
43500 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
43520 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
43540 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
43560 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
43580 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
435a0 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.())).
435c0 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)......
435e0 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)))
43600 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.
43620 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.(
43640 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).....................
43660 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
43680 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)))))....
436a0 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)).....
436c0 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)))..
436e0 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)
43700 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
43720 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
43740 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
43760 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.
43780 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
437a0 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)
437c0 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)...
437e0 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))..
43800 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)))
43820 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))).
43840 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
43860 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
43880 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
438a0 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
438c0 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.
438e0 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
43900 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
43920 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.
43940 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.
43960 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
43980 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)
439a0 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.
439c0 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
439e0 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......
43a00 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
43a20 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
43a40 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.......
43a60 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
43a80 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
43aa0 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
43ac0 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..
43ae0 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)..............
43b00 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
43b20 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))).......
43b40 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).
43b60 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
43b80 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)).........
43ba0 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.
43bc0 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)))))
43be0 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
43c00 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
43c20 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..............................
43c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43e00 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...
43e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43e60 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
43e80 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...
43ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43f00 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...................
43f20 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...................
43f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
43fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44000 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
44020 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
44040 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
44060 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
44080 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.
440a0 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
440c0 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
440e0 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
44100 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
44120 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
44140 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
44160 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
44180 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.'("
441a0 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
441c0 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")...
441e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44200 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....
44220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44260 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
44280 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...
442a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
442c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
442e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44300 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...................
44320 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...................
44340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
443a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
443c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
443e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
44400 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
44420 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
44440 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
44460 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
44480 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
444a0 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
444c0 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
444e0 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.
44500 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.;
44520 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,.
44540 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,
44560 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
44580 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
445a0 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
445c0 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
445e0 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
44600 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
44620 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.
44640 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
44660 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
44680 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
446a0 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.
446c0 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
446e0 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
44700 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
44720 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
44740 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.
44760 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
44780 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".
447a0 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
447c0 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
447e0 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
44800 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
44820 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.
44840 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
44860 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
44880 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
448a0 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......
448c0 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
448e0 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
44900 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.
44920 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."
44940 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
44960 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
44980 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
449a0 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
449c0 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
449e0 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
44a00 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.
44a20 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
44a40 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
44a60 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
44a80 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
44aa0 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.
44ac0 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
44ae0 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
44b00 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
44b20 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.
44b40 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.
44b60 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
44b80 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.......(
44ba0 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).......
44bc0 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.(
44be0 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
44c00 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
44c20 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)))...
44c40 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)..
44c60 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.
44c80 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)).........
44ca0 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)))
44cc0 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
44ce0 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.(
44d00 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
44d20 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
44d40 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
44d60 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
44d80 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
44da0 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.
44dc0 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))........
44de0 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))...
44e00 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
44e20 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
44e40 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
44e60 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.
44e80 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
44ea0 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
44ec0 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
44ee0 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
44f00 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
44f20 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).
44f40 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)
44f60 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.(
44f80 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))...............
44fa0 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.(
44fc0 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>..
44fe0 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
45000 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,
45020 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.
45040 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
45060 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
45080 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))
450a0 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.(
450c0 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
450e0 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)))
45100 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-
45120 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.(
45140 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
45160 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
45180 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
451a0 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
451c0 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
451e0 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.
45200 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."...
45220 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
45240 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
45260 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))
45280 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
452a0 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).;;.<
452c0 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
452e0 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.".
45300 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
45320 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
45340 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
45360 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
45380 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.
453a0 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
453c0 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))....
453e0 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
45400 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
45420 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.
45440 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
45460 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:
45480 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
454a0 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
454c0 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
454e0 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
45500 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
45520 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
45540 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))
45560 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).
45580 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
455a0 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))..........
455c0 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)...
455e0 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
45600 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
45620 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.
45640 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
45660 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
45680 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
456a0 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
456c0 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
456e0 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.
45700 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
45720 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.......
45740 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).........
45760 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
45780 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
457a0 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
457c0 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)))))))..;;;;
457e0 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
45800 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
45820 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--
45840 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.
45860 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).......
45880 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
458a0 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
458c0 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..........
458e0 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
45900 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.,
45920 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
45940 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.,
45960 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.
45980 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
459a0 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............................
459c0 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)...............
459e0 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....
45a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
45a20 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)
45a40 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
45a60 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
45a80 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
45aa0 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))))..;;
45ac0 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
45ae0 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).;;.
45b00 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
45b20 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
45b40 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
45b60 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
45b80 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.
45ba0 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
45bc0 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
45be0 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
45c00 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
45c20 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
45c40 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
45c60 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
45c80 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
45ca0 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
45cc0 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
45ce0 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'
45d00 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.
45d20 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-
45d40 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
45d60 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-
45d80 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
45da0 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
45dc0 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.
45de0 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
45e00 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
45e20 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.
45e40 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.
45e60 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
45e80 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.
45ea0 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
45ec0 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
45ee0 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.
45f00 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
45f20 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
45f40 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
45f60 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
45f80 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-
45fa0 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
45fc0 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
45fe0 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)
46000 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
46020 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
46040 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
46060 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
46080 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
460a0 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
460c0 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.
460e0 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
46100 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
46120 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,
46140 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.
46160 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.
46180 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
461a0 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.
461c0 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
461e0 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
46200 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..
46220 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
46240 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
46260 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
46280 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
462a0 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).;;.<
462c0 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
462e0 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
46300 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
46320 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
46340 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
46360 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
46380 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.
463a0 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,
463c0 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
463e0 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
46400 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
46420 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
46440 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
46460 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.
46480 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.
464a0 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
464c0 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
464e0 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
46500 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
46520 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-
46540 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
46560 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
46580 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
465a0 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."..
465c0 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
465e0 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..
46600 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."")).
46620 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)...........
46640 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
46660 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.(
46680 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
466a0 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
466c0 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.........
466e0 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
46700 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
46720 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)))...........
46740 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
46760 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.....................
46780 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
467a0 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..........................
467c0 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)
467e0 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 ................................
46800 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)))).........
46820 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
46840 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............
46860 20 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.
46880 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")))....................
468a0 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)))).........
468c0 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)
468e0 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)
46900 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
46920 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
46940 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)).......
46960 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
46980 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)))).
469a0 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
469c0 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>...
469e0 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
46a00 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
46a20 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
46a40 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
46a60 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.
46a80 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
46aa0 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
46ac0 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.
46ae0 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
46b00 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
46b20 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
46b40 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
46b60 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)
46b80 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
46ba0 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
46bc0 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
46be0 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
46c00 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
46c20 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
46c40 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).......
46c60 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)
46c80 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
46ca0 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
46cc0 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).
46ce0 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
46d00 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
46d20 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))....
46d40 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.
46d60 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
46d80 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)).........
46da0 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
46dc0 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)))..................
46de0 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))......
46e00 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.
46e20 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
46e40 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
46e60 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
46e80 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
46ea0 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
46ec0 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
46ee0 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
46f00 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
46f20 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.
46f40 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
46f60 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
46f80 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
46fa0 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
46fc0 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]...)"..
46fe0 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
47000 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))
47020 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.
47040 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
47060 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
47080 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).
470a0 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
470c0 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
470e0 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
47100 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
47120 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
47140 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
47160 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."...(
47180 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
471a0 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
471c0 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))).....
471e0 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
47200 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
47220 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
47240 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
47260 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.
47280 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)))..
472a0 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)))))
472c0 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.().;
472e0 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>..."
47300 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
47320 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)
47340 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
47360 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).;;.
47380 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>.
473a0 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
473c0 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
473e0 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
47400 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
47420 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
47440 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
47460 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
47480 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
474a0 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
474c0 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
474e0 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
47500 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
47520 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
47540 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
47560 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
47580 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.
475a0 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.
475c0 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
475e0 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)))..(
47600 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
47620 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
47640 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
47660 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
47680 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,.
476a0 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.
476c0 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
476e0 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.
47700 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
47720 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
47740 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)"..
47760 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)).
47780 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
477a0 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....
477c0 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).(
477e0 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
47800 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
47820 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
47840 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.
47860 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
47880 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
478a0 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
478c0 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
478e0 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
47900 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
47920 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........
47940 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
47960 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
47980 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
479a0 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))))
479c0 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
479e0 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:
47a00 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
47a20 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
47a40 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>.
47a60 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
47a80 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
47aa0 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
47ac0 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.
47ae0 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
47b00 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
47b20 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
47b40 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
47b60 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
47b80 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
47ba0 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
47bc0 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
47be0 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
47c00 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
47c20 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
47c40 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
47c60 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
47c80 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.((
47ca0 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
47cc0 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.'
47ce0 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
47d00 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.
47d20 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))....
47d40 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)).
47d60 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
47d80 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
47da0 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
47dc0 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.
47de0 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
47e00 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
47e20 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
47e40 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
47e60 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
47e80 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)
47ea0 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
47ec0 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
47ee0 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
47f00 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
47f20 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,
47f40 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
47f60 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.
47f80 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
47fa0 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.
47fc0 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-
47fe0 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
48000 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
48020 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
48040 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
48060 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
48080 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.
480a0 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
480c0 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..
480e0 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
48100 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.
48120 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
48140 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'..
48160 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...
48180 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
481a0 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..
481c0 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.
481e0 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
48200 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
48220 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
48240 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
48260 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......
48280 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-
482a0 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
482c0 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
482e0 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
48300 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)............
48320 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..................
48340 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))..........
48360 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)
48380 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
483a0 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
483c0 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
483e0 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).............
48400 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...
48420 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
48440 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)..............
48460 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
48480 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..........................(
484a0 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))))
484c0 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-
484e0 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)....
48500 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..........
48520 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
48540 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)...........
48560 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)))..
48580 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
485a0 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)....
485c0 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
485e0 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.....................
48600 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
48620 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)......................
48640 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))).............
48660 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
48680 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).......................(
486a0 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
486c0 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.
486e0 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).......
48700 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.(
48720 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)))................
48740 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).
48760 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
48780 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........................
487a0 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))....
487c0 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.(
487e0 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)).........
48800 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
48820 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))).........................
48840 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
48860 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.(
48880 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
488a0 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
488c0 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
488e0 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
48900 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
48920 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
48940 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
48960 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
48980 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
489a0 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
489c0 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.
489e0 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
48a00 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.
48a20 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
48a40 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)))....
48a60 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
48a80 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)........
48aa0 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))..(
48ac0 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-
48ae0 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
48b00 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
48b20 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
48b40 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
48b60 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
48b80 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
48ba0 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
48bc0 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
48be0 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
48c00 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
48c20 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
48c40 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>..
48c60 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
48c80 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
48ca0 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
48cc0 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
48ce0 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
48d00 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-
48d20 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
48d40 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
48d60 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
48d80 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
48da0 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
48dc0 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
48de0 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....
48e00 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............
48e20 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-
48e40 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
48e60 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)........
48e80 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
48ea0 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.%
48ec0 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")............................`
48ee0 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..............
48f00 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.
48f20 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)...........................
48f40 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
48f60 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...........................
48f80 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'"..
48fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
48fc0 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.
48fe0 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)))))................
49000 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.",.")
49020 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-
49040 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"))..
49060 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
49080 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-
490a0 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-
490c0 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
490e0 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).
49100 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
49120 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
49140 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.
49160 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)).......
49180 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-
491a0 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....
491c0 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
491e0 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
49200 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
49220 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........................((
49240 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)............
49260 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.(
49280 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
492a0 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)))...........................
492c0 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
492e0 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))).............
49300 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)..................
49320 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).........
49340 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
49360 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
49380 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)))).........................
493a0 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))...
493c0 20 20 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.
493e0 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
49400 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
49420 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))))...
49440 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
49460 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)))...................
49480 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
494a0 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
494c0 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
494e0 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
49500 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-
49520 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
49540 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-
49560 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
49580 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
495a0 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-
495c0 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))
495e0 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
49600 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))..;;;;.
49620 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
49640 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).;;.<
49660 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>..
49680 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
496a0 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
496c0 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
496e0 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
49700 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
49720 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
49740 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
49760 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-
49780 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
497a0 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)
497c0 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
497e0 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.().;
49800 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
49820 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.
49840 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
49860 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).
49880 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
498a0 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.(
498c0 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>..
498e0 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
49900 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
49920 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))).
49940 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.()
49960 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>...
49980 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
499a0 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
499c0 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-
499e0 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.
49a00 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-
49a20 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
49a40 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
49a60 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.
49a80 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
49aa0 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*"
49ac0 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
49ae0 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
49b00 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
49b20 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-
49b40 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
49b60 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..........
49b80 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
49ba0 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))...
49bc0 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
49be0 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
49c00 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))
49c20 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
49c40 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
49c60 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).
49c80 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
49ca0 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
49cc0 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
49ce0 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
49d00 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
49d20 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
49d40 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.
49d60 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
49d80 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
49da0 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
49dc0 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
49de0 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
49e00 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
49e20 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
49e40 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
49e60 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
49e80 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
49ea0 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
49ec0 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
49ee0 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
49f00 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
49f20 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
49f40 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
49f60 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.
49f80 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-
49fa0 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
49fc0 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.
49fe0 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.
4a000 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
4a020 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
4a040 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.
4a060 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
4a080 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
4a0a0 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))...........
4a0c0 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)))....
4a0e0 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
4a100 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
4a120 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)........
4a140 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
4a160 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.
4a180 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
4a1a0 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
4a1c0 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
4a1e0 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.,
4a200 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))...
4a220 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
4a240 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
4a260 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)...............
4a280 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
4a2a0 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
4a2c0 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
4a2e0 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
4a300 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.;;.<
4a320 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
4a340 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>.........................
4a360 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
4a380 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
4a3a0 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
4a3c0 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
4a3e0 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
4a400 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
4a420 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
4a440 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
4a460 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
4a480 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
4a4a0 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
4a4c0 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
4a4e0 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.(
4a500 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-
4a520 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...........
4a540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4a560 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).....
4a580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4a5a0 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
4a5c0 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)......................
4a5e0 20 20 20 20 20 20 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
4a600 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
4a620 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
4a640 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)))
4a660 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.
4a680 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
4a6a0 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
4a6c0 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)........
4a6e0 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)...
4a700 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.
4a720 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))....
4a740 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.
4a760 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...........
4a780 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
4a7a0 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)...................(
4a7c0 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)..................
4a7e0 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)).............
4a800 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)))..
4a820 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))...
4a840 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...............
4a860 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.
4a880 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
4a8a0 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)))
4a8c0 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.
4a8e0 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
4a900 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)).
4a920 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..........
4a940 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)))..
4a960 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
4a980 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
4a9a0 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
4a9c0 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
4a9e0 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
4aa00 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).;;.
4aa20 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
4aa40 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
4aa60 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
4aa80 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
4aaa0 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.
4aac0 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
4aae0 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
4ab00 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
4ab20 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).
4ab40 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
4ab60 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
4ab80 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-
4aba0 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..
4abc0 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)...........
4abe0 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
4ac00 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
4ac20 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.(
4ac40 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
4ac60 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
4ac80 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.
4aca0 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'."..
4acc0 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
4ace0 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
4ad00 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.
4ad20 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
4ad40 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
4ad60 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
4ad80 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)."\\(/\\|\\'\\
4ada0 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
4adc0 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..
4ade0 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
4ae00 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
4ae20 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
4ae40 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
4ae60 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.........................
4ae80 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
4aea0 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)............................
4aec0 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.....................
4aee0 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))
4af00 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
4af20 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-
4af40 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>...
4af60 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
4af80 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
4afa0 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
4afc0 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'
4afe0 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
4b000 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
4b020 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
4b040 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-
4b060 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)
4b080 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
4b0a0 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)...............
4b0c0 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
4b0e0 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
4b100 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
4b120 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
4b140 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
4b160 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
4b180 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:...
4b1a0 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-
4b1c0 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)
4b1e0 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)).....
4b200 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
4b220 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
4b240 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.
4b260 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).....
4b280 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
4b2a0 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
4b2c0 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
4b2e0 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
4b300 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.(
4b320 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)
4b340 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
4b360 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)))..
4b380 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.(
4b3a0 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)))......
4b3c0 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
4b3e0 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
4b400 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.........
4b420 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
4b440 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
4b460 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."").""...................;;
4b480 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
4b4a0 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...............
4b4c0 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.................
4b4e0 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))........
4b500 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)...........(
4b520 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
4b540 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
4b560 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
4b580 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
4b5a0 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
4b5c0 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
4b5e0 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
4b600 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
4b620 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
4b640 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
4b660 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
4b680 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
4b6a0 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
4b6c0 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
4b6e0 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
4b700 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
4b720 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.
4b740 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.
4b760 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.
4b780 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
4b7a0 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.
4b7c0 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
4b7e0 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
4b800 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."...(
4b820 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
4b840 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))..........(
4b860 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
4b880 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
4b8a0 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
4b8c0 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.
4b8e0 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)..
4b900 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
4b920 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
4b940 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
4b960 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....
4b980 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
4b9a0 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
4b9c0 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
4b9e0 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
4ba00 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
4ba20 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.
4ba40 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
4ba60 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.
4ba80 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
4baa0 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
4bac0 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.
4bae0 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
4bb00 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
4bb20 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).
4bb40 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
4bb60 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
4bb80 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
4bba0 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.
4bbc0 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
4bbe0 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
4bc00 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
4bc20 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
4bc40 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
4bc60 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
4bc80 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,
4bca0 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.
4bcc0 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.
4bce0 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;
4bd00 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
4bd20 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."...(
4bd40 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
4bd60 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)))......
4bd80 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
4bda0 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-
4bdc0 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))......
4bde0 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.........
4be00 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
4be20 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)................
4be40 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
4be60 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)))).......
4be80 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
4bea0 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
4bec0 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-
4bee0 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
4bf00 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
4bf20 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-
4bf40 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
4bf60 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
4bf80 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
4bfa0 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
4bfc0 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
4bfe0 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
4c000 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
4c020 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
4c040 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
4c060 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.
4c080 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
4c0a0 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
4c0c0 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
4c0e0 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
4c100 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
4c120 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
4c140 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.
4c160 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'
4c180 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
4c1a0 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
4c1c0 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
4c1e0 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
4c200 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.........
4c220 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')..
4c240 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.
4c260 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
4c280 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
4c2a0 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)...
4c2c0 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
4c2e0 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
4c300 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
4c320 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
4c340 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,
4c360 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
4c380 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
4c3a0 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
4c3c0 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
4c3e0 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))
4c400 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))
4c420 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)...
4c440 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."\\`[^.]+\\(.
4c460 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
4c480 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...
4c4a0 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..........
4c4c0 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-\
4c4e0 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-\\)?")
4c500 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
4c520 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."."))..............
4c540 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
4c560 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.....
4c580 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.......
4c5a0 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
4c5c0 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)........
4c5e0 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
4c600 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))))..............(
4c620 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).
4c640 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)..............................
4c660 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
4c680 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.....................
4c6a0 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).
4c6c0 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))...........................
4c6e0 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
4c700 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...................
4c720 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
4c740 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).......................
4c760 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
4c780 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))))...................
4c7a0 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."\\`
4c7c0 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).......
4c7e0 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
4c800 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>...............
4c820 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......
4c840 20 20 20 20 20 20 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
4c860 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.....................
4c880 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
4c8a0 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)...................
4c8c0 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)).
4c8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4c900 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
4c920 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...................
4c940 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\\
4c960 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\\)\\'"...
4c980 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))...
4c9a0 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.........
4c9c0 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))).....
4c9e0 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
4ca00 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
4ca20 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
4ca40 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
4ca60 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
4ca80 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
4caa0 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
4cac0 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
4cae0 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
4cb00 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
4cb20 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
4cb40 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
4cb60 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
4cb80 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
4cba0 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.
4cbc0 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
4cbe0 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
4cc00 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)
4cc20 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
4cc40 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)....
4cc60 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
4cc80 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)..................
4cca0 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
4ccc0 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
4cce0 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))...........
4cd00 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))...
4cd20 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
4cd40 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))...............
4cd60 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)..
4cd80 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.
4cda0 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>"...........
4cdc0 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\
4cde0 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).........
4ce00 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
4ce20 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.(
4ce40 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)))......
4ce60 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
4ce80 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)............
4cea0 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))...........
4cec0 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]+\\
4cee0 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
4cf00 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
4cf20 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)))).......
4cf40 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
4cf60 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)))))..........
4cf80 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."^<<.+>>$"
4cfa0 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
4cfc0 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.
4cfe0 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])........................
4d000 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
4d020 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).................
4d040 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].
4d060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4d080 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
4d0a0 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...............................
4d0c0 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
4d0e0 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))...................
4d100 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])
4d120 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 )...............................
4d140 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"
4d160 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
4d180 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]-\\)*\\)
4d1a0 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)..............
4d1c0 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.................
4d1e0 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
4d200 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)................
4d220 20 20 20 20 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
4d240 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))).............
4d260 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..
4d280 20 20 20 20 20 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 ............................."\\
4d2a0 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\
4d2c0 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\\)$"......................
4d2e0 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))))...............
4d300 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)
4d320 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.
4d340 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."^;;".
4d360 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
4d380 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))).
4d3a0 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..............
4d3c0 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
4d3e0 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)).................
4d400 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
4d420 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).....................
4d440 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.............
4d460 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.....
4d480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4d4a0 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).............
4d4c0 20 20 20 20 20 20 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 ..............................'(
4d4e0 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).....
4d500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4d520 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-
4d540 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).............................
4d560 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).(?
4d580 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))))))................
4d5a0 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))
4d5c0 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
4d5e0 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)))...........
4d600 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."^\
4d620 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).....................
4d640 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))....
4d660 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.(
4d680 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)).....................
4d6a0 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)))
4d6c0 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
4d6e0 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").("
4d700 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")....................
4d720 20 20 20 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
4d740 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")........
4d760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4d780 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"..."
4d7a0 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 .").............................
4d7c0 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
4d7e0 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
4d800 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)))
4d820 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
4d840 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)...
4d860 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)).
4d880 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.(
4d8a0 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))).
4d8c0 20 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
4d8e0 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)))...........
4d900 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.
4d920 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.(
4d940 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)......................
4d960 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))...........
4d980 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
4d9a0 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).............
4d9c0 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
4d9e0 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))............
4da00 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
4da20 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))........
4da40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4da60 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)))).......
4da80 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.
4daa0 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)........................
4dac0 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
4dae0 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"...........
4db00 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
4db20 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))....
4db40 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.(/=.
4db60 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
4db80 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)..........................
4dba0 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
4dbc0 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,........................
4dbe0 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
4dc00 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 ,...............................
4dc20 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.
4dc40 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)....................
4dc60 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."[@-_
4dc80 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))....................
4dca0 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.(
4dcc0 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).......................
4dce0 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.(
4dd00 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)))))............
4dd20 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................
4dd40 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
4dd60 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)))))))))........
4dd80 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
4dda0 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))..
4ddc0 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.
4dde0 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
4de00 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
4de20 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
4de40 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
4de60 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
4de80 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'...
4dea0 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.
4dec0 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
4dee0 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
4df00 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
4df20 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
4df40 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
4df60 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
4df80 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
4dfa0 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
4dfc0 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
4dfe0 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
4e000 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,....
4e020 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
4e040 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.
4e060 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
4e080 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
4e0a0 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
4e0c0 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
4e0e0 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
4e100 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...
4e120 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
4e140 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'),.
4e160 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
4e180 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
4e1a0 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
4e1c0 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
4e1e0 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'.)"...(
4e200 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
4e220 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
4e240 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
4e260 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)))...(
4e280 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
4e2a0 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
4e2c0 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
4e2e0 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
4e300 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
4e320 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.
4e340 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
4e360 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
4e380 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
4e3a0 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
4e3c0 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
4e3e0 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.
4e400 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
4e420 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
4e440 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.
4e460 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
4e480 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
4e4a0 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
4e4c0 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
4e4e0 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
4e500 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>...
4e520 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
4e540 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
4e560 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
4e580 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-
4e5a0 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
4e5c0 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'
4e5e0 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.
4e600 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
4e620 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.
4e640 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
4e660 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...
4e680 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.
4e6a0 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
4e6c0 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
4e6e0 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-
4e700 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
4e720 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
4e740 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
4e760 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
4e780 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
4e7a0 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
4e7c0 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
4e7e0 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
4e800 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'
4e820 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
4e840 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
4e860 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:
4e880 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
4e8a0 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
4e8c0 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
4e8e0 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.
4e900 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
4e920 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
4e940 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
4e960 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-
4e980 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
4e9a0 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
4e9c0 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
4e9e0 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
4ea00 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
4ea20 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
4ea40 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
4ea60 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
4ea80 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.".
4eaa0 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-
4eac0 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
4eae0 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
4eb00 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
4eb20 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.
4eb40 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.
4eb60 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
4eb80 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
4eba0 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
4ebc0 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...
4ebe0 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..
4ec00 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
4ec20 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
4ec40 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
4ec60 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
4ec80 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
4eca0 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
4ecc0 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
4ece0 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
4ed00 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
4ed20 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
4ed40 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
4ed60 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
4ed80 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
4eda0 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
4edc0 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
4ede0 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
4ee00 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
4ee20 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
4ee40 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
4ee60 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
4ee80 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
4eea0 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
4eec0 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
4eee0 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
4ef00 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
4ef20 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
4ef40 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
4ef60 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
4ef80 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
4efa0 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
4efc0 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
4efe0 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
4f000 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
4f020 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....(
4f040 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."
4f060 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
4f080 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
4f0a0 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
4f0c0 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.........
4f0e0 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
4f100 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,
4f120 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
4f140 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
4f160 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..
4f180 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
4f1a0 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
4f1c0 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
4f1e0 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
4f200 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))...
4f220 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
4f240 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
4f260 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
4f280 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
4f2a0 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
4f2c0 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
4f2e0 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
4f300 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.
4f320 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
4f340 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
4f360 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
4f380 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
4f3a0 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
4f3c0 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
4f3e0 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.
4f400 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.
4f420 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
4f440 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
4f460 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
4f480 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
4f4a0 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.
4f4c0 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.
4f4e0 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.
4f500 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."...
4f520 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.
4f540 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
4f560 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
4f580 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-
4f5a0 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
4f5c0 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.
4f5e0 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,
4f600 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,
4f620 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
4f640 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
4f660 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
4f680 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
4f6a0 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
4f6c0 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
4f6e0 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:
4f700 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.&
4f720 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
4f740 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
4f760 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
4f780 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'..
4f7a0 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
4f7c0 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,.
4f7e0 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.
4f800 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
4f820 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...
4f840 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
4f860 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
4f880 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.
4f8a0 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
4f8c0 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
4f8e0 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
4f900 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
4f920 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
4f940 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
4f960 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,
4f980 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.
4f9a0 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
4f9c0 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
4f9e0 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
4fa00 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
4fa20 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
4fa40 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
4fa60 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
4fa80 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.
4faa0 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
4fac0 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
4fae0 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
4fb00 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
4fb20 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.
4fb40 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
4fb60 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
4fb80 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
4fba0 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
4fbc0 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
4fbe0 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
4fc00 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
4fc20 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
4fc40 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
4fc60 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
4fc80 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
4fca0 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
4fcc0 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
4fce0 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
4fd00 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.
4fd20 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
4fd40 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
4fd60 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
4fd80 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
4fda0 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)................
4fdc0 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))............
4fde0 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
4fe00 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
4fe20 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-
4fe40 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
4fe60 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.
4fe80 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).
4fea0 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
4fec0 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.
4fee0 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
4ff00 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.
4ff20 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
4ff40 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.
4ff60 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
4ff80 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
4ffa0 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
4ffc0 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
4ffe0 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
50000 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
50020 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
50040 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)))..
50060 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
50080 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
500a0 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
500c0 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
500e0 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
50100 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.
50120 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
50140 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.
50160 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
50180 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
501a0 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
501c0 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
501e0 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
50200 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
50220 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
50240 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
50260 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
50280 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."..
502a0 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-
502c0 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
502e0 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
50300 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
50320 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
50340 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
50360 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
50380 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.
503a0 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
503c0 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
503e0 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
50400 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
50420 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
50440 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
50460 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..........
50480 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
504a0 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
504c0 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-
504e0 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
50500 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
50520 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
50540 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
50560 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
50580 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
505a0 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.
505c0 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....
505e0 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.
50600 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
50620 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
50640 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........
50660 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
50680 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
506a0 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.
506c0 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
506e0 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.(
50700 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
50720 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,.............
50740 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
50760 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
50780 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.
507a0 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
507c0 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
507e0 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.
50800 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
50820 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
50840 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.
50860 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
50880 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
508a0 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.
508c0 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..
508e0 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.....
50900 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
50920 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
50940 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)))....
50960 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
50980 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
509a0 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
509c0 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)).....
509e0 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
50a00 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...
50a20 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
50a40 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
50a60 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
50a80 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)).........
50aa0 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
50ac0 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
50ae0 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
50b00 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))...........
50b20 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
50b40 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.
50b60 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
50b80 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
50ba0 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
50bc0 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
50be0 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
50c00 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
50c20 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.
50c40 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
50c60 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
50c80 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
50ca0 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
50cc0 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))...................
50ce0 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))......
50d00 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
50d20 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
50d40 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.........
50d60 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
50d80 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
50da0 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.
50dc0 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
50de0 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
50e00 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
50e20 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
50e40 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
50e60 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
50e80 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.
50ea0 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.(
50ec0 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
50ee0 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
50f00 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
50f20 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
50f40 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
50f60 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)..........
50f80 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))....
50fa0 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
50fc0 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
50fe0 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
51000 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
51020 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.
51040 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
51060 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
51080 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.
510a0 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.
510c0 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
510e0 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.
51100 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
51120 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.
51140 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
51160 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
51180 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.
511a0 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
511c0 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.
511e0 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
51200 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
51220 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
51240 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
51260 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.
51280 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
512a0 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
512c0 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
512e0 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.
51300 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
51320 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
51340 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
51360 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.
51380 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
513a0 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
513c0 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
513e0 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.
51400 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
51420 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
51440 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
51460 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
51480 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
514a0 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'..
514c0 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
514e0 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
51500 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
51520 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
51540 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
51560 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.
51580 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.
515a0 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
515c0 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).
515e0 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
51600 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.................(
51620 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))............
51640 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))
51660 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
51680 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........
516a0 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
516c0 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..........(
516e0 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
51700 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.:
51720 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))
51740 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
51760 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
51780 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.(%.(
517a0 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
517c0 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
517e0 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
51800 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)
51820 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
51840 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
51860 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
51880 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
518a0 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
518c0 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'.
518e0 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'".................
51900 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).........
51920 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)))))....
51940 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
51960 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).........
51980 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.:
519a0 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.',
519c0 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)
519e0 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....
51a00 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
51a20 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
51a40 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
51a60 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))......................(
51a80 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.
51aa0 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
51ac0 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
51ae0 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.
51b00 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
51b20 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...............(
51b40 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).
51b60 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
51b80 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.
51ba0 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..............,
51bc0 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
51be0 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
51c00 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..
51c20 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
51c40 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
51c60 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
51c80 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."...:
51ca0 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)...
51cc0 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).
51ce0 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
51d00 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
51d20 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.
51d40 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
51d60 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
51d80 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)........................
51da0 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
51dc0 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))................
51de0 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
51e00 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)).......................
51e20 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)))..................
51e40 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.
51e60 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
51e80 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
51ea0 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
51ec0 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.((
51ee0 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
51f00 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
51f20 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)...........
51f40 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
51f60 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
51f80 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
51fa0 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
51fc0 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
51fe0 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
52000 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
52020 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
52040 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
52060 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
52080 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
520a0 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.\\='
520c0 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
520e0 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
52100 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
52120 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
52140 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
52160 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."`"."..."..............
52180 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."'".
521a0 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
521c0 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)....
521e0 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
52200 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)))..;;;
52220 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-
52240 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
52260 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
52280 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
522a0 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
522c0 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
522e0 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.
52300 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
52320 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....
52340 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.........'
52360 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
52380 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
523a0 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
523c0 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
523e0 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
52400 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
52420 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
52440 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
52460 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
52480 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
524a0 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
524c0 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
524e0 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.
52500 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'.".
52520 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.
52540 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.............
52560 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
52580 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
525a0 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
525c0 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
525e0 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).'
52600 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))..(
52620 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
52640 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
52660 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
52680 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
526a0 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
526c0 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
526e0 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
52700 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
52720 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
52740 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.
52760 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
52780 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
527a0 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
527c0 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
527e0 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
52800 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
52820 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
52840 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..(
52860 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
52880 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
528a0 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
528c0 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
528e0 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
52900 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
52920 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
52940 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
52960 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
52980 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
529a0 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
529c0 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.
529e0 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)."/")...................
52a00 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
52a20 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
52a40 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
52a60 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
52a80 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.
52aa0 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
52ac0 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
52ae0 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
52b00 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
52b20 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
52b40 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
52b60 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
52b80 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
52ba0 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...
52bc0 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
52be0 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
52c00 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
52c20 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))...........(
52c40 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))).
52c60 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
52c80 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
52ca0 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)))...
52cc0 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
52ce0 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
52d00 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
52d20 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.
52d40 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
52d60 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."
52d80 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
52da0 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.
52dc0 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-
52de0 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).
52e00 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
52e20 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
52e40 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
52e60 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
52e80 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
52ea0 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
52ec0 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
52ee0 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.
52f00 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)))).
52f20 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.
52f40 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).
52f60 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>..
52f80 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
52fa0 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
52fc0 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
52fe0 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
53000 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
53020 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
53040 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
53060 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.
53080 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
530a0 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.
530c0 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,
530e0 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
53100 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-
53120 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
53140 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)).
53160 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
53180 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)))....
531a0 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
531c0 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
531e0 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
53200 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'.
53220 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
53240 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.(
53260 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.
53280 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
532a0 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
532c0 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
532e0 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
53300 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.(
53320 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...
53340 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
53360 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
53380 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
533a0 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
533c0 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)).........................
533e0 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)
53400 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
53420 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
53440 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........................
53460 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
53480 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)))))..;;;
534a0 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
534c0 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
534e0 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
53500 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
53520 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
53540 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
53560 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
53580 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.
535a0 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
535c0 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
535e0 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
53600 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
53620 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
53640 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
53660 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
53680 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
536a0 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.
536c0 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
536e0 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.............
53700 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,
53720 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...............
53740 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
53760 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
53780 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
537a0 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
537c0 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
537e0 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
53800 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
53820 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
53840 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
53860 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
53880 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
538a0 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'................
538c0 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..
538e0 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................
53900 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
53920 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
53940 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-
53960 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................
53980 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
539a0 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.......
539c0 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
539e0 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
53a00 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
53a20 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
53a40 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'.".
53a60 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
53a80 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)))..
53aa0 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)...(
53ac0 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
53ae0 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
53b00 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.
53b20 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
53b40 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
53b60 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.(
53b80 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
53ba0 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))).........;
53bc0 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.
53be0 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'....
53c00 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
53c20 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
53c40 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))).......
53c60 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)))
53c80 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.(
53ca0 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
53cc0 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))).........(
53ce0 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
53d00 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
53d20 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
53d40 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
53d60 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.
53d80 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
53da0 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
53dc0 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
53de0 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................
53e00 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.............
53e20 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.
53e40 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
53e60 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)).........................
53e80 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
53ea0 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......................
53ec0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
53ee0 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)).......
53f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
53f20 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
53f40 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 ?").............................
53f60 20 20 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
53f80 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)...........................
53fa0 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")..
53fc0 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."
53fe0 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
54000 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
54020 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))............
54040 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.'
54060 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
54080 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 )............................(,(
540a0 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
540c0 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)............................
540e0 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
54100 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)..................
54120 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
54140 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
54160 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..............
54180 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
541a0 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)...............
541c0 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))...........
541e0 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..............
54200 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-
54220 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))))).......
54240 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..............
54260 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
54280 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
542a0 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
542c0 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.......
542e0 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-
54300 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))................
54320 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)))
54340 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.....
54360 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.........
54380 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
543a0 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).............
543c0 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))))
543e0 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-
54400 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)
54420 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-
54440 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
54460 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
54480 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
544a0 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
544c0 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
544e0 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
54500 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..
54520 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
54540 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
54560 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
54580 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
545a0 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-
545c0 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
545e0 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
54600 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
54620 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
54640 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
54660 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
54680 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
546a0 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
546c0 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"))))).
546e0 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....
54700 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))..;;
54720 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
54740 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
54760 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
54780 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..
547a0 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
547c0 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
547e0 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'.
54800 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
54820 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."..
54840 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
54860 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
54880 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%}:.
548a0 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
548c0 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
548e0 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:.
54900 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:
54920 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")...
54940 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
54960 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
54980 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.
549a0 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
549c0 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)).......
549e0 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-
54a00 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
54a20 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
54a40 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".......................
54a60 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.
54a80 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
54aa0 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
54ac0 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......................
54ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
54b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 ................................