summaryrefslogtreecommitdiff
path: root/lisp/sort.elc
blob: 3d6931a789dea05844a3675c4b8d3b41f8e4d76f (plain)
ofshex dumpascii
0000 0a 28 70 72 6f 76 69 64 65 20 28 71 75 6f 74 65 20 73 6f 72 74 29 29 0a 0a 28 64 65 66 75 6e 20 .(provide.(quote.sort))..(defun.
0020 73 6f 72 74 2d 73 75 62 72 20 28 72 65 76 65 72 73 65 20 6e 65 78 74 72 65 63 66 75 6e 20 65 6e sort-subr.(reverse.nextrecfun.en
0040 64 72 65 63 66 75 6e 20 26 6f 70 74 69 6f 6e 61 6c 20 73 74 61 72 74 6b 65 79 66 75 6e 20 65 6e drecfun.&optional.startkeyfun.en
0060 64 6b 65 79 66 75 6e 29 20 22 5c 0a 47 65 6e 65 72 61 6c 20 74 65 78 74 20 73 6f 72 74 69 6e 67 dkeyfun)."\.General.text.sorting
0080 20 72 6f 75 74 69 6e 65 20 74 6f 20 64 69 76 69 64 65 20 62 75 66 66 65 72 20 69 6e 74 6f 20 72 .routine.to.divide.buffer.into.r
00a0 65 63 6f 72 64 73 20 61 6e 64 20 73 6f 72 74 20 74 68 65 6d 2e 0a 41 72 67 75 6d 65 6e 74 73 20 ecords.and.sort.them..Arguments.
00c0 61 72 65 20 52 45 56 45 52 53 45 20 4e 45 58 54 52 45 43 46 55 4e 20 45 4e 44 52 45 43 46 55 4e are.REVERSE.NEXTRECFUN.ENDRECFUN
00e0 20 26 6f 70 74 69 6f 6e 61 6c 20 53 54 41 52 54 4b 45 59 46 55 4e 20 45 4e 44 4b 45 59 46 55 4e .&optional.STARTKEYFUN.ENDKEYFUN
0100 2e 0a 0a 57 65 20 63 6f 6e 73 69 64 65 72 20 74 68 69 73 20 70 6f 72 74 69 6f 6e 20 6f 66 20 74 ...We.consider.this.portion.of.t
0120 68 65 20 62 75 66 66 65 72 20 74 6f 20 62 65 20 64 69 76 69 64 65 64 20 69 6e 74 6f 20 64 69 73 he.buffer.to.be.divided.into.dis
0140 6a 6f 69 6e 74 20 70 69 65 63 65 73 0a 63 61 6c 6c 65 64 20 73 6f 72 74 20 72 65 63 6f 72 64 73 joint.pieces.called.sort.records
0160 2e 20 20 41 20 70 6f 72 74 69 6f 6e 20 6f 66 20 65 61 63 68 20 73 6f 72 74 20 72 65 63 6f 72 64 ...A.portion.of.each.sort.record
0180 20 28 70 65 72 68 61 70 73 20 61 6c 6c 20 6f 66 20 69 74 29 0a 69 73 20 64 65 73 69 67 6e 61 74 .(perhaps.all.of.it).is.designat
01a0 65 64 20 61 73 20 74 68 65 20 73 6f 72 74 20 6b 65 79 2e 20 20 54 68 65 20 72 65 63 6f 72 64 73 ed.as.the.sort.key...The.records
01c0 20 61 72 65 20 72 65 61 72 72 61 6e 67 65 64 20 69 6e 20 74 68 65 20 62 75 66 66 65 72 0a 69 6e .are.rearranged.in.the.buffer.in
01e0 20 6f 72 64 65 72 20 62 79 20 74 68 65 69 72 20 73 6f 72 74 20 6b 65 79 73 2e 20 20 54 68 65 20 .order.by.their.sort.keys...The.
0200 72 65 63 6f 72 64 73 20 6d 61 79 20 6f 72 20 6d 61 79 20 6e 6f 74 20 62 65 20 63 6f 6e 74 69 67 records.may.or.may.not.be.contig
0220 75 6f 75 73 2e 0a 0a 55 73 75 61 6c 6c 79 20 74 68 65 20 72 65 63 6f 72 64 73 20 61 72 65 20 72 uous...Usually.the.records.are.r
0240 65 61 72 72 61 6e 67 65 64 20 69 6e 20 6f 72 64 65 72 20 6f 66 20 61 73 63 65 6e 64 69 6e 67 20 earranged.in.order.of.ascending.
0260 73 6f 72 74 20 6b 65 79 2e 0a 49 66 20 52 45 56 45 52 53 45 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c sort.key..If.REVERSE.is.non-nil,
0280 20 74 68 65 79 20 61 72 65 20 72 65 61 72 72 61 6e 67 65 64 20 69 6e 20 6f 72 64 65 72 20 6f 66 .they.are.rearranged.in.order.of
02a0 20 64 65 73 63 65 6e 64 69 6e 67 20 73 6f 72 74 20 6b 65 79 2e 0a 0a 54 68 65 20 6e 65 78 74 20 .descending.sort.key...The.next.
02c0 66 6f 75 72 20 61 72 67 75 6d 65 6e 74 73 20 61 72 65 20 66 75 6e 63 74 69 6f 6e 73 20 74 6f 20 four.arguments.are.functions.to.
02e0 62 65 20 63 61 6c 6c 65 64 20 74 6f 20 6d 6f 76 65 20 70 6f 69 6e 74 0a 61 63 72 6f 73 73 20 61 be.called.to.move.point.across.a
0300 20 73 6f 72 74 20 72 65 63 6f 72 64 2e 20 20 54 68 65 79 20 77 69 6c 6c 20 62 65 20 63 61 6c 6c .sort.record...They.will.be.call
0320 65 64 20 6d 61 6e 79 20 74 69 6d 65 73 20 66 72 6f 6d 20 77 69 74 68 69 6e 20 73 6f 72 74 2d 73 ed.many.times.from.within.sort-s
0340 75 62 72 2e 0a 0a 4e 45 58 54 52 45 43 46 55 4e 20 69 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 ubr...NEXTRECFUN.is.called.with.
0360 70 6f 69 6e 74 20 61 74 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 70 72 65 76 69 6f 75 73 point.at.the.end.of.the.previous
0380 20 72 65 63 6f 72 64 2e 0a 49 74 20 6d 6f 76 65 73 20 70 6f 69 6e 74 20 74 6f 20 74 68 65 20 73 .record..It.moves.point.to.the.s
03a0 74 61 72 74 20 6f 66 20 74 68 65 20 6e 65 78 74 20 72 65 63 6f 72 64 2e 0a 54 68 65 20 66 69 72 tart.of.the.next.record..The.fir
03c0 73 74 20 72 65 63 6f 72 64 20 69 73 20 61 73 73 75 6d 65 64 20 74 6f 20 73 74 61 72 74 20 61 74 st.record.is.assumed.to.start.at
03e0 20 74 68 65 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 70 6f 69 6e 74 20 77 68 65 6e 20 73 6f 72 74 .the.position.of.point.when.sort
0400 2d 73 75 62 72 0a 69 73 20 63 61 6c 6c 65 64 2e 0a 0a 45 4e 44 52 45 43 46 55 4e 20 69 73 20 69 -subr.is.called...ENDRECFUN.is.i
0420 73 20 63 61 6c 6c 65 64 20 77 69 74 68 20 70 6f 69 6e 74 20 77 69 74 68 69 6e 20 74 68 65 20 72 s.called.with.point.within.the.r
0440 65 63 6f 72 64 2e 0a 49 74 20 73 68 6f 75 6c 64 20 6d 6f 76 65 20 70 6f 69 6e 74 20 74 6f 20 74 ecord..It.should.move.point.to.t
0460 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 72 65 63 6f 72 64 2e 0a 0a 53 54 41 52 54 4b 45 59 46 he.end.of.the.record...STARTKEYF
0480 55 4e 20 6d 61 79 20 6d 6f 76 65 73 20 66 72 6f 6d 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 74 UN.may.moves.from.the.start.of.t
04a0 68 65 20 72 65 63 6f 72 64 20 74 6f 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 74 68 65 20 6b 65 he.record.to.the.start.of.the.ke
04c0 79 2e 0a 49 74 20 6d 61 79 20 72 65 74 75 72 6e 20 65 69 74 68 65 72 20 72 65 74 75 72 6e 20 61 y..It.may.return.either.return.a
04e0 20 6e 6f 6e 2d 6e 69 6c 20 76 61 6c 75 65 20 74 6f 20 62 65 20 75 73 65 64 20 61 73 20 74 68 65 .non-nil.value.to.be.used.as.the
0500 20 6b 65 79 2c 20 6f 72 0a 65 6c 73 65 20 74 68 65 20 6b 65 79 20 77 69 6c 6c 20 62 65 20 74 68 .key,.or.else.the.key.will.be.th
0520 65 20 73 75 62 73 74 72 69 6e 67 20 62 65 74 77 65 65 6e 20 74 68 65 20 76 61 6c 75 65 73 20 6f e.substring.between.the.values.o
0540 66 20 70 6f 69 6e 74 20 61 66 74 65 72 0a 53 54 41 52 54 4b 45 59 46 55 4e 20 61 6e 64 20 45 4e f.point.after.STARTKEYFUN.and.EN
0560 44 4b 45 59 46 55 4e 20 61 72 65 20 63 61 6c 6c 65 64 2e 20 20 49 66 20 53 54 41 52 54 4b 45 59 DKEYFUN.are.called...If.STARTKEY
0580 46 55 4e 20 69 73 20 6e 69 6c 2c 20 74 68 65 20 6b 65 79 0a 73 74 61 72 74 73 20 61 74 20 74 68 FUN.is.nil,.the.key.starts.at.th
05a0 65 20 62 65 67 69 6e 6e 69 6e 67 20 6f 66 20 74 68 65 20 72 65 63 6f 72 64 2e 0a 0a 45 4e 44 4b e.beginning.of.the.record...ENDK
05c0 45 59 46 55 4e 20 6d 6f 76 65 73 20 66 72 6f 6d 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 74 68 EYFUN.moves.from.the.start.of.th
05e0 65 20 73 6f 72 74 20 6b 65 79 20 74 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 20 73 6f 72 e.sort.key.to.the.end.of.the.sor
0600 74 20 6b 65 79 2e 0a 45 4e 44 52 45 43 46 55 4e 20 6d 61 79 20 62 65 20 6e 69 6c 20 69 66 20 53 t.key..ENDRECFUN.may.be.nil.if.S
0620 54 41 52 54 4b 45 59 46 55 4e 20 72 65 74 75 72 6e 73 20 61 20 76 61 6c 75 65 20 6f 72 20 69 66 TARTKEYFUN.returns.a.value.or.if
0640 20 69 74 20 77 6f 75 6c 64 20 62 65 20 74 68 65 0a 73 61 6d 65 20 61 73 20 45 4e 44 52 45 43 46 .it.would.be.the.same.as.ENDRECF
0660 55 4e 2e 22 20 28 62 79 74 65 2d 63 6f 64 65 20 22 8a c9 ca 21 88 cb 09 0a 0b 0c 24 18 c7 08 21 UN.".(byte-code."...!......$...!
0680 1d 08 3f 83 19 00 c6 82 7d 00 0e 07 86 23 00 cc 08 21 89 10 88 c9 cd 21 88 ce cf 21 83 4c 00 cf ..?.....}....#...!.....!...!.L..
06a0 08 d0 08 40 40 21 83 3c 00 d1 82 48 00 08 40 40 3a 83 47 00 d2 82 48 00 d3 5c 22 82 67 00 d4 08 ...@@!.<...H..@@:.G...H..\".g...
06c0 d0 08 40 40 21 83 5a 00 d5 82 66 00 08 40 40 3a 83 65 00 d6 82 66 00 d7 5c 22 89 10 88 0e 07 85 ..@@!.Z...f..@@:.e...f..\"......
06e0 74 00 cc 08 21 89 10 88 c9 d8 21 88 d9 08 0d 5c 22 2a 88 c9 da 21 29 87 22 20 5b 73 6f 72 74 2d t...!.....!....\"*...!).".[sort-
0700 6c 69 73 74 73 20 6e 65 78 74 72 65 63 66 75 6e 20 65 6e 64 72 65 63 66 75 6e 20 73 74 61 72 74 lists.nextrecfun.endrecfun.start
0720 6b 65 79 66 75 6e 20 65 6e 64 6b 65 79 66 75 6e 20 6f 6c 64 20 6e 69 6c 20 72 65 76 65 72 73 65 keyfun.endkeyfun.old.nil.reverse
0740 20 74 20 6d 65 73 73 61 67 65 20 22 46 69 6e 64 69 6e 67 20 73 6f 72 74 20 6b 65 79 73 2e 2e 2e .t.message."Finding.sort.keys...
0760 22 20 73 6f 72 74 2d 62 75 69 6c 64 2d 6c 69 73 74 73 20 6e 72 65 76 65 72 73 65 20 22 53 6f 72 ".sort-build-lists.nreverse."Sor
0780 74 69 6e 67 20 72 65 63 6f 72 64 73 2e 2e 2e 22 20 66 62 6f 75 6e 64 70 20 73 6f 72 74 63 61 72 ting.records...".fboundp.sortcar
07a0 20 6e 75 6d 62 65 72 70 20 3c 20 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6c 65 73 73 .numberp.<.buffer-substring-less
07c0 70 20 73 74 72 69 6e 67 3c 20 73 6f 72 74 20 28 6c 61 6d 62 64 61 20 28 61 20 62 29 20 28 62 79 p.string<.sort.(lambda.(a.b).(by
07e0 74 65 2d 63 6f 64 65 20 22 08 40 09 40 57 87 22 20 5b 61 20 62 5d 20 32 29 29 20 28 6c 61 6d 62 te-code.".@.@W.".[a.b].2)).(lamb
0800 64 61 20 28 61 20 62 29 20 28 62 79 74 65 2d 63 6f 64 65 20 22 c2 08 40 09 40 5c 22 87 22 20 5b da.(a.b).(byte-code."..@.@\".".[
0820 61 20 62 20 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6c 65 73 73 70 5d 20 33 29 29 20 a.b.buffer-substring-lessp].3)).
0840 28 6c 61 6d 62 64 61 20 28 61 20 62 29 20 28 62 79 74 65 2d 63 6f 64 65 20 22 c2 08 40 09 40 5c (lambda.(a.b).(byte-code."..@.@\
0860 22 87 22 20 5b 61 20 62 20 73 74 72 69 6e 67 3c 5d 20 33 29 29 20 22 52 65 6f 72 64 65 72 69 6e ".".[a.b.string<].3))."Reorderin
0880 67 20 62 75 66 66 65 72 2e 2e 2e 22 20 73 6f 72 74 2d 72 65 6f 72 64 65 72 2d 62 75 66 66 65 72 g.buffer...".sort-reorder-buffer
08a0 20 22 52 65 6f 72 64 65 72 69 6e 67 20 62 75 66 66 65 72 2e 2e 2e 20 44 6f 6e 65 22 5d 20 31 35 ."Reordering.buffer....Done"].15
08c0 29 29 0a 0a 28 64 65 66 75 6e 20 73 6f 72 74 2d 62 75 69 6c 64 2d 6c 69 73 74 73 20 28 6e 65 78 ))..(defun.sort-build-lists.(nex
08e0 74 72 65 63 66 75 6e 20 65 6e 64 72 65 63 66 75 6e 20 73 74 61 72 74 6b 65 79 66 75 6e 20 65 6e trecfun.endrecfun.startkeyfun.en
0900 64 6b 65 79 66 75 6e 29 20 28 62 79 74 65 2d 63 6f 64 65 20 22 c1 c1 c1 c1 1c 1b 1a 18 6d 3f 85 dkeyfun).(byte-code."........m?.
0920 75 00 60 89 12 88 c1 89 13 88 c4 c8 8d 89 14 88 0b c1 89 13 88 86 3a 00 0d 83 2d 00 c9 0d 21 82 u.`...................:...-...!.
0940 3a 00 0e 06 85 3a 00 c9 0e 06 21 88 c7 89 13 88 0c 85 62 00 0c 3a 85 51 00 ca 0c 40 0a 5c 22 85 :....:....!.......b..:.Q...@.\".
0960 51 00 ca 0c 41 60 5c 22 83 5a 00 0c 0c 42 82 5e 00 0c 0a 60 45 08 42 89 10 88 0b 3f 85 71 00 0e Q...A`\".Z...B.^...`E.B....?.q..
0980 06 85 71 00 c9 0e 06 21 88 82 08 00 88 08 2c 87 22 20 5b 73 6f 72 74 2d 6c 69 73 74 73 20 6e 69 ..q....!......,.".[sort-lists.ni
09a0 6c 20 73 74 61 72 74 2d 72 65 63 20 64 6f 6e 65 20 6b 65 79 20 65 6e 64 72 65 63 66 75 6e 20 6e l.start-rec.done.key.endrecfun.n
09c0 65 78 74 72 65 63 66 75 6e 20 74 20 28 62 79 74 65 2d 63 6f 64 65 20 22 08 85 07 00 c6 08 21 86 extrecfun.t.(byte-code."......!.
09e0 29 00 60 19 c6 0a 86 16 00 0b c5 89 14 88 21 88 c7 c8 21 83 24 00 09 60 42 82 28 00 c9 09 60 5c ).`...........!...!.$..`B.(...`\
0a00 22 29 87 22 20 5b 73 74 61 72 74 6b 65 79 66 75 6e 20 73 74 61 72 74 20 65 6e 64 6b 65 79 66 75 ").".[startkeyfun.start.endkeyfu
0a20 6e 20 65 6e 64 72 65 63 66 75 6e 20 64 6f 6e 65 20 74 20 66 75 6e 63 61 6c 6c 20 66 62 6f 75 6e n.endrecfun.done.t.funcall.fboun
0a40 64 70 20 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 2d 6c 65 73 73 70 20 62 75 66 66 65 72 dp.buffer-substring-lessp.buffer
0a60 2d 73 75 62 73 74 72 69 6e 67 5d 20 36 29 20 66 75 6e 63 61 6c 6c 20 65 71 75 61 6c 5d 20 38 29 -substring].6).funcall.equal].8)
0a80 29 0a 0a 28 64 65 66 75 6e 20 73 6f 72 74 2d 72 65 6f 72 64 65 72 2d 62 75 66 66 65 72 20 28 73 )..(defun.sort-reorder-buffer.(s
0aa0 6f 72 74 2d 6c 69 73 74 73 20 6f 6c 64 29 20 28 62 79 74 65 2d 63 6f 64 65 20 22 c1 65 65 64 1c ort-lists.old).(byte-code.".eed.
0ac0 1b 1a 18 0d 85 3b 00 64 62 88 c7 70 0a c8 0e 06 40 38 23 88 64 62 88 c7 70 c8 0d 40 38 c9 0d 40 .....;.db..p....@8#.db..p..@8..@
0ae0 38 23 88 c9 0e 06 40 38 12 0d 41 15 0e 06 41 89 16 06 88 82 08 00 88 64 62 88 c7 70 0a 0c 23 88 8#....@8..A...A........db..p..#.
0b00 ca 0b 0c 5c 22 2c 87 22 20 5b 69 6e 68 69 62 69 74 2d 71 75 69 74 20 74 20 6c 61 73 74 20 6d 69 ...\",.".[inhibit-quit.t.last.mi
0b20 6e 20 6d 61 78 20 73 6f 72 74 2d 6c 69 73 74 73 20 6f 6c 64 20 69 6e 73 65 72 74 2d 62 75 66 66 n.max.sort-lists.old.insert-buff
0b40 65 72 2d 73 75 62 73 74 72 69 6e 67 20 31 20 32 20 64 65 6c 65 74 65 2d 72 65 67 69 6f 6e 5d 20 er-substring.1.2.delete-region].
0b60 37 29 29 0a 0a 28 64 65 66 75 6e 20 73 6f 72 74 2d 6c 69 6e 65 73 20 28 72 65 76 65 72 73 65 20 7))..(defun.sort-lines.(reverse.
0b80 62 65 67 20 65 6e 64 29 20 22 5c 0a 53 6f 72 74 20 6c 69 6e 65 73 20 69 6e 20 72 65 67 69 6f 6e beg.end)."\.Sort.lines.in.region
0ba0 20 61 6c 70 68 61 62 65 74 69 63 61 6c 6c 79 3b 20 61 72 67 75 6d 65 6e 74 20 6d 65 61 6e 73 20 .alphabetically;.argument.means.
0bc0 64 65 73 63 65 6e 64 69 6e 67 20 6f 72 64 65 72 2e 0a 43 61 6c 6c 65 64 20 66 72 6f 6d 20 61 20 descending.order..Called.from.a.
0be0 70 72 6f 67 72 61 6d 2c 20 74 68 65 72 65 20 61 72 65 20 74 68 72 65 65 20 61 72 67 75 6d 65 6e program,.there.are.three.argumen
0c00 74 73 3a 0a 52 45 56 45 52 53 45 20 28 6e 6f 6e 2d 6e 69 6c 20 6d 65 61 6e 73 20 72 65 76 65 72 ts:.REVERSE.(non-nil.means.rever
0c20 73 65 20 6f 72 64 65 72 29 2c 20 42 45 47 20 61 6e 64 20 45 4e 44 20 28 72 65 67 69 6f 6e 20 74 se.order),.BEG.and.END.(region.t
0c40 6f 20 73 6f 72 74 29 2e 22 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 0a 72 22 29 20 28 62 o.sort).".(interactive."P.r").(b
0c60 79 74 65 2d 63 6f 64 65 20 22 c3 88 8c c4 08 09 5c 22 88 65 62 88 c5 0a c6 c7 23 29 87 22 20 5b yte-code."......\".eb.....#).".[
0c80 62 65 67 20 65 6e 64 20 72 65 76 65 72 73 65 20 6e 69 6c 20 6e 61 72 72 6f 77 2d 74 6f 2d 72 65 beg.end.reverse.nil.narrow-to-re
0ca0 67 69 6f 6e 20 73 6f 72 74 2d 73 75 62 72 20 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 65 6e 64 2d gion.sort-subr.forward-line.end-
0cc0 6f 66 2d 6c 69 6e 65 5d 20 35 29 29 0a 0a 28 64 65 66 75 6e 20 73 6f 72 74 2d 70 61 72 61 67 72 of-line].5))..(defun.sort-paragr
0ce0 61 70 68 73 20 28 72 65 76 65 72 73 65 20 62 65 67 20 65 6e 64 29 20 22 5c 0a 53 6f 72 74 20 70 aphs.(reverse.beg.end)."\.Sort.p
0d00 61 72 61 67 72 61 70 68 73 20 69 6e 20 72 65 67 69 6f 6e 20 61 6c 70 68 61 62 65 74 69 63 61 6c aragraphs.in.region.alphabetical
0d20 6c 79 3b 20 61 72 67 75 6d 65 6e 74 20 6d 65 61 6e 73 20 64 65 73 63 65 6e 64 69 6e 67 20 6f 72 ly;.argument.means.descending.or
0d40 64 65 72 2e 0a 43 61 6c 6c 65 64 20 66 72 6f 6d 20 61 20 70 72 6f 67 72 61 6d 2c 20 74 68 65 72 der..Called.from.a.program,.ther
0d60 65 20 61 72 65 20 74 68 72 65 65 20 61 72 67 75 6d 65 6e 74 73 3a 0a 52 45 56 45 52 53 45 20 28 e.are.three.arguments:.REVERSE.(
0d80 6e 6f 6e 2d 6e 69 6c 20 6d 65 61 6e 73 20 72 65 76 65 72 73 65 20 6f 72 64 65 72 29 2c 20 42 45 non-nil.means.reverse.order),.BE
0da0 47 20 61 6e 64 20 45 4e 44 20 28 72 65 67 69 6f 6e 20 74 6f 20 73 6f 72 74 29 2e 22 20 28 69 6e G.and.END.(region.to.sort).".(in
0dc0 74 65 72 61 63 74 69 76 65 20 22 50 0a 72 22 29 20 28 62 79 74 65 2d 63 6f 64 65 20 22 c3 88 8c teractive."P.r").(byte-code."...
0de0 c4 08 09 5c 22 88 65 62 88 c5 0a c6 c7 23 29 87 22 20 5b 62 65 67 20 65 6e 64 20 72 65 76 65 72 ...\".eb.....#).".[beg.end.rever
0e00 73 65 20 6e 69 6c 20 6e 61 72 72 6f 77 2d 74 6f 2d 72 65 67 69 6f 6e 20 73 6f 72 74 2d 73 75 62 se.nil.narrow-to-region.sort-sub
0e20 72 20 28 6c 61 6d 62 64 61 20 6e 69 6c 20 28 62 79 74 65 2d 63 6f 64 65 20 22 c0 c1 21 87 22 20 r.(lambda.nil.(byte-code."..!.".
0e40 5b 73 6b 69 70 2d 63 68 61 72 73 2d 66 6f 72 77 61 72 64 20 22 0a 20 09 0c 22 5d 20 32 29 29 20 [skip-chars-forward."...."].2)).
0e60 66 6f 72 77 61 72 64 2d 70 61 72 61 67 72 61 70 68 5d 20 35 29 29 0a 0a 28 64 65 66 75 6e 20 73 forward-paragraph].5))..(defun.s
0e80 6f 72 74 2d 70 61 67 65 73 20 28 72 65 76 65 72 73 65 20 62 65 67 20 65 6e 64 29 20 22 5c 0a 53 ort-pages.(reverse.beg.end)."\.S
0ea0 6f 72 74 20 70 61 67 65 73 20 69 6e 20 72 65 67 69 6f 6e 20 61 6c 70 68 61 62 65 74 69 63 61 6c ort.pages.in.region.alphabetical
0ec0 6c 79 3b 20 61 72 67 75 6d 65 6e 74 20 6d 65 61 6e 73 20 64 65 73 63 65 6e 64 69 6e 67 20 6f 72 ly;.argument.means.descending.or
0ee0 64 65 72 2e 0a 43 61 6c 6c 65 64 20 66 72 6f 6d 20 61 20 70 72 6f 67 72 61 6d 2c 20 74 68 65 72 der..Called.from.a.program,.ther
0f00 65 20 61 72 65 20 74 68 72 65 65 20 61 72 67 75 6d 65 6e 74 73 3a 0a 52 45 56 45 52 53 45 20 28 e.are.three.arguments:.REVERSE.(
0f20 6e 6f 6e 2d 6e 69 6c 20 6d 65 61 6e 73 20 72 65 76 65 72 73 65 20 6f 72 64 65 72 29 2c 20 42 45 non-nil.means.reverse.order),.BE
0f40 47 20 61 6e 64 20 45 4e 44 20 28 72 65 67 69 6f 6e 20 74 6f 20 73 6f 72 74 29 2e 22 20 28 69 6e G.and.END.(region.to.sort).".(in
0f60 74 65 72 61 63 74 69 76 65 20 22 50 0a 72 22 29 20 28 62 79 74 65 2d 63 6f 64 65 20 22 c3 88 8c teractive."P.r").(byte-code."...
0f80 c4 08 09 5c 22 88 65 62 88 c5 0a c6 c7 23 29 87 22 20 5b 62 65 67 20 65 6e 64 20 72 65 76 65 72 ...\".eb.....#).".[beg.end.rever
0fa0 73 65 20 6e 69 6c 20 6e 61 72 72 6f 77 2d 74 6f 2d 72 65 67 69 6f 6e 20 73 6f 72 74 2d 73 75 62 se.nil.narrow-to-region.sort-sub
0fc0 72 20 28 6c 61 6d 62 64 61 20 6e 69 6c 20 28 62 79 74 65 2d 63 6f 64 65 20 22 c0 c1 21 87 22 20 r.(lambda.nil.(byte-code."..!.".
0fe0 5b 73 6b 69 70 2d 63 68 61 72 73 2d 66 6f 72 77 61 72 64 20 22 0a 22 5d 20 32 29 29 20 66 6f 72 [skip-chars-forward."."].2)).for
1000 77 61 72 64 2d 70 61 67 65 5d 20 35 29 29 0a 0a 28 64 65 66 76 61 72 20 73 6f 72 74 2d 66 69 65 ward-page].5))..(defvar.sort-fie
1020 6c 64 73 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 20 6e 69 6c 29 0a 0a 28 69 66 20 73 6f 72 74 2d lds-syntax-table.nil)..(if.sort-
1040 66 69 65 6c 64 73 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 20 6e 69 6c 20 28 6c 65 74 20 28 28 74 fields-syntax-table.nil.(let.((t
1060 61 62 6c 65 20 28 6d 61 6b 65 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 29 29 20 28 69 20 30 29 29 able.(make-syntax-table)).(i.0))
1080 20 28 77 68 69 6c 65 20 28 3c 20 69 20 32 35 36 29 20 28 6d 6f 64 69 66 79 2d 73 79 6e 74 61 78 .(while.(<.i.256).(modify-syntax
10a0 2d 65 6e 74 72 79 20 69 20 22 77 22 20 74 61 62 6c 65 29 20 28 73 65 74 71 20 69 20 28 31 2b 20 -entry.i."w".table).(setq.i.(1+.
10c0 69 29 29 29 20 28 6d 6f 64 69 66 79 2d 73 79 6e 74 61 78 2d 65 6e 74 72 79 20 33 32 20 22 20 22 i))).(modify-syntax-entry.32."."
10e0 20 74 61 62 6c 65 29 20 28 6d 6f 64 69 66 79 2d 73 79 6e 74 61 78 2d 65 6e 74 72 79 20 39 20 22 .table).(modify-syntax-entry.9."
1100 20 22 20 74 61 62 6c 65 29 20 28 6d 6f 64 69 66 79 2d 73 79 6e 74 61 78 2d 65 6e 74 72 79 20 31 .".table).(modify-syntax-entry.1
1120 30 20 22 20 22 20 74 61 62 6c 65 29 20 28 73 65 74 71 20 73 6f 72 74 2d 66 69 65 6c 64 73 2d 73 0.".".table).(setq.sort-fields-s
1140 79 6e 74 61 78 2d 74 61 62 6c 65 20 74 61 62 6c 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 73 6f 72 yntax-table.table)))..(defun.sor
1160 74 2d 6e 75 6d 65 72 69 63 2d 66 69 65 6c 64 73 20 28 66 69 65 6c 64 20 62 65 67 20 65 6e 64 29 t-numeric-fields.(field.beg.end)
1180 20 22 5c 0a 53 6f 72 74 20 6c 69 6e 65 73 20 69 6e 20 72 65 67 69 6f 6e 20 6e 75 6d 65 72 69 63 ."\.Sort.lines.in.region.numeric
11a0 61 6c 6c 79 20 62 79 20 74 68 65 20 41 52 47 74 68 20 66 69 65 6c 64 20 6f 66 20 65 61 63 68 20 ally.by.the.ARGth.field.of.each.
11c0 6c 69 6e 65 2e 0a 46 69 65 6c 64 73 20 61 72 65 20 73 65 70 61 72 61 74 65 64 20 62 79 20 77 68 line..Fields.are.separated.by.wh
11e0 69 74 65 73 70 61 63 65 20 61 6e 64 20 6e 75 6d 62 65 72 65 64 20 66 72 6f 6d 20 31 20 75 70 2e itespace.and.numbered.from.1.up.
1200 0a 53 70 65 63 69 66 69 65 64 20 66 69 65 6c 64 20 6d 75 73 74 20 63 6f 6e 74 61 69 6e 20 61 20 .Specified.field.must.contain.a.
1220 6e 75 6d 62 65 72 20 69 6e 20 65 61 63 68 20 6c 69 6e 65 20 6f 66 20 74 68 65 20 72 65 67 69 6f number.in.each.line.of.the.regio
1240 6e 2e 0a 57 69 74 68 20 61 20 6e 65 67 61 74 69 76 65 20 61 72 67 2c 20 73 6f 72 74 73 20 62 79 n..With.a.negative.arg,.sorts.by
1260 20 74 68 65 20 2d 41 52 47 27 74 68 20 66 69 65 6c 64 2c 20 69 6e 20 72 65 76 65 72 73 65 20 6f .the.-ARG'th.field,.in.reverse.o
1280 72 64 65 72 2e 0a 43 61 6c 6c 65 64 20 66 72 6f 6d 20 61 20 70 72 6f 67 72 61 6d 2c 20 74 68 65 rder..Called.from.a.program,.the
12a0 72 65 20 61 72 65 20 74 68 72 65 65 20 61 72 67 75 6d 65 6e 74 73 3a 0a 46 49 45 4c 44 2c 20 42 re.are.three.arguments:.FIELD,.B
12c0 45 47 20 61 6e 64 20 45 4e 44 2e 20 20 42 45 47 20 61 6e 64 20 45 4e 44 20 73 70 65 63 69 66 79 EG.and.END...BEG.and.END.specify
12e0 20 72 65 67 69 6f 6e 20 74 6f 20 73 6f 72 74 2e 22 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 .region.to.sort.".(interactive."
1300 70 0a 72 22 29 20 28 62 79 74 65 2d 63 6f 64 65 20 22 c3 88 c4 08 09 0a c5 c3 25 87 22 20 5b 66 p.r").(byte-code."........%.".[f
1320 69 65 6c 64 20 62 65 67 20 65 6e 64 20 6e 69 6c 20 73 6f 72 74 2d 66 69 65 6c 64 73 2d 31 20 28 ield.beg.end.nil.sort-fields-1.(
1340 6c 61 6d 62 64 61 20 6e 69 6c 20 28 62 79 74 65 2d 63 6f 64 65 20 22 c1 08 53 21 88 c2 c3 60 8a lambda.nil.(byte-code."..S!...`.
1360 c4 c5 21 88 60 29 5c 22 21 87 22 20 5b 66 69 65 6c 64 20 73 6f 72 74 2d 73 6b 69 70 2d 66 69 65 ..!.`)\"!.".[field.sort-skip-fie
1380 6c 64 73 20 73 74 72 69 6e 67 2d 74 6f 2d 69 6e 74 20 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 lds.string-to-int.buffer-substri
13a0 6e 67 20 73 6b 69 70 2d 63 68 61 72 73 2d 66 6f 72 77 61 72 64 20 22 2d 30 2d 39 22 5d 20 36 29 ng.skip-chars-forward."-0-9"].6)
13c0 29 5d 20 36 29 29 0a 0a 28 64 65 66 75 6e 20 73 6f 72 74 2d 66 69 65 6c 64 73 20 28 66 69 65 6c )].6))..(defun.sort-fields.(fiel
13e0 64 20 62 65 67 20 65 6e 64 29 20 22 5c 0a 53 6f 72 74 20 6c 69 6e 65 73 20 69 6e 20 72 65 67 69 d.beg.end)."\.Sort.lines.in.regi
1400 6f 6e 20 6c 65 78 69 63 6f 67 72 61 70 68 69 63 61 6c 6c 79 20 62 79 20 74 68 65 20 41 52 47 74 on.lexicographically.by.the.ARGt
1420 68 20 66 69 65 6c 64 20 6f 66 20 65 61 63 68 20 6c 69 6e 65 2e 0a 46 69 65 6c 64 73 20 61 72 65 h.field.of.each.line..Fields.are
1440 20 73 65 70 61 72 61 74 65 64 20 62 79 20 77 68 69 74 65 73 70 61 63 65 20 61 6e 64 20 6e 75 6d .separated.by.whitespace.and.num
1460 62 65 72 65 64 20 66 72 6f 6d 20 31 20 75 70 2e 0a 57 69 74 68 20 61 20 6e 65 67 61 74 69 76 65 bered.from.1.up..With.a.negative
1480 20 61 72 67 2c 20 73 6f 72 74 73 20 62 79 20 74 68 65 20 2d 41 52 47 27 74 68 20 66 69 65 6c 64 .arg,.sorts.by.the.-ARG'th.field
14a0 2c 20 69 6e 20 72 65 76 65 72 73 65 20 6f 72 64 65 72 2e 0a 43 61 6c 6c 65 64 20 66 72 6f 6d 20 ,.in.reverse.order..Called.from.
14c0 61 20 70 72 6f 67 72 61 6d 2c 20 74 68 65 72 65 20 61 72 65 20 74 68 72 65 65 20 61 72 67 75 6d a.program,.there.are.three.argum
14e0 65 6e 74 73 3a 0a 46 49 45 4c 44 2c 20 42 45 47 20 61 6e 64 20 45 4e 44 2e 20 20 42 45 47 20 61 ents:.FIELD,.BEG.and.END...BEG.a
1500 6e 64 20 45 4e 44 20 73 70 65 63 69 66 79 20 72 65 67 69 6f 6e 20 74 6f 20 73 6f 72 74 2e 22 20 nd.END.specify.region.to.sort.".
1520 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 70 0a 72 22 29 20 28 62 79 74 65 2d 63 6f 64 65 20 22 (interactive."p.r").(byte-code."
1540 c3 88 c4 08 09 0a c5 c6 25 87 22 20 5b 66 69 65 6c 64 20 62 65 67 20 65 6e 64 20 6e 69 6c 20 73 ........%.".[field.beg.end.nil.s
1560 6f 72 74 2d 66 69 65 6c 64 73 2d 31 20 28 6c 61 6d 62 64 61 20 6e 69 6c 20 28 62 79 74 65 2d 63 ort-fields-1.(lambda.nil.(byte-c
1580 6f 64 65 20 22 c2 08 53 21 88 c1 87 22 20 5b 66 69 65 6c 64 20 6e 69 6c 20 73 6f 72 74 2d 73 6b ode."..S!...".[field.nil.sort-sk
15a0 69 70 2d 66 69 65 6c 64 73 5d 20 32 29 29 20 28 6c 61 6d 62 64 61 20 6e 69 6c 20 28 62 79 74 65 ip-fields].2)).(lambda.nil.(byte
15c0 2d 63 6f 64 65 20 22 c0 c1 21 87 22 20 5b 73 6b 69 70 2d 63 68 61 72 73 2d 66 6f 72 77 61 72 64 -code."..!.".[skip-chars-forward
15e0 20 22 5e 20 09 0a 22 5d 20 32 29 29 5d 20 36 29 29 0a 0a 28 64 65 66 75 6e 20 73 6f 72 74 2d 66 ."^..."].2))].6))..(defun.sort-f
1600 69 65 6c 64 73 2d 31 20 28 66 69 65 6c 64 20 62 65 67 20 65 6e 64 20 73 74 61 72 74 6b 65 79 66 ields-1.(field.beg.end.startkeyf
1620 75 6e 20 65 6e 64 6b 65 79 66 75 6e 29 20 28 62 79 74 65 2d 63 6f 64 65 20 22 09 c8 57 c9 20 1a un.endkeyfun).(byte-code."..W...
1640 18 ca cb 09 09 5b 23 89 11 88 cc 8e 8c cd 0b 0c 5c 22 88 65 62 88 ce 0d 21 88 cf 08 d0 d1 0e 06 .....[#.........\".eb...!.......
1660 0e 07 25 29 29 2a 87 22 20 5b 72 65 76 65 72 73 65 20 66 69 65 6c 64 20 74 62 6c 20 62 65 67 20 ..%))*.".[reverse.field.tbl.beg.
1680 65 6e 64 20 73 6f 72 74 2d 66 69 65 6c 64 73 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 20 73 74 61 end.sort-fields-syntax-table.sta
16a0 72 74 6b 65 79 66 75 6e 20 65 6e 64 6b 65 79 66 75 6e 20 30 20 73 79 6e 74 61 78 2d 74 61 62 6c rtkeyfun.endkeyfun.0.syntax-tabl
16c0 65 20 6d 61 78 20 31 20 28 28 62 79 74 65 2d 63 6f 64 65 20 22 c1 08 21 87 22 20 5b 74 62 6c 20 e.max.1.((byte-code."..!.".[tbl.
16e0 73 65 74 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 5d 20 32 29 29 20 6e 61 72 72 6f 77 2d 74 6f 2d set-syntax-table].2)).narrow-to-
1700 72 65 67 69 6f 6e 20 73 65 74 2d 73 79 6e 74 61 78 2d 74 61 62 6c 65 20 73 6f 72 74 2d 73 75 62 region.set-syntax-table.sort-sub
1720 72 20 66 6f 72 77 61 72 64 2d 6c 69 6e 65 20 65 6e 64 2d 6f 66 2d 6c 69 6e 65 5d 20 31 30 29 29 r.forward-line.end-of-line].10))
1740 0a 0a 28 64 65 66 75 6e 20 73 6f 72 74 2d 73 6b 69 70 2d 66 69 65 6c 64 73 20 28 6e 29 20 28 62 ..(defun.sort-skip-fields.(n).(b
1760 79 74 65 2d 63 6f 64 65 20 22 8a c2 c3 21 88 60 29 18 c4 09 21 88 60 08 56 85 1e 00 c5 c6 c7 8a yte-code."...!.`)...!.`.V.......
1780 c8 20 88 60 29 08 5c 22 5c 22 88 c9 ca 21 29 87 22 20 5b 65 6f 6c 20 6e 20 65 6e 64 2d 6f 66 2d ...`).\"\"...!).".[eol.n.end-of-
17a0 6c 69 6e 65 20 31 20 66 6f 72 77 61 72 64 2d 77 6f 72 64 20 65 72 72 6f 72 20 22 4c 69 6e 65 20 line.1.forward-word.error."Line.
17c0 68 61 73 20 74 6f 6f 20 66 65 77 20 66 69 65 6c 64 73 3a 20 25 73 22 20 62 75 66 66 65 72 2d 73 has.too.few.fields:.%s".buffer-s
17e0 75 62 73 74 72 69 6e 67 20 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 73 6b 69 70 2d ubstring.beginning-of-line.skip-
1800 63 68 61 72 73 2d 66 6f 72 77 61 72 64 20 22 20 09 22 5d 20 38 29 29 0a 0a 28 64 65 66 75 6e 20 chars-forward.".."].8))..(defun.
1820 73 6f 72 74 2d 72 65 67 65 78 70 2d 66 69 65 6c 64 73 20 28 72 65 76 65 72 73 65 20 72 65 63 6f sort-regexp-fields.(reverse.reco
1840 72 64 2d 72 65 67 65 78 70 20 6b 65 79 2d 72 65 67 65 78 70 20 62 65 67 20 65 6e 64 29 20 22 5c rd-regexp.key-regexp.beg.end)."\
1860 0a 53 6f 72 74 20 74 68 65 20 72 65 67 69 6f 6e 20 6c 65 78 69 63 6f 67 72 61 70 68 69 63 61 6c .Sort.the.region.lexicographical
1880 6c 79 20 61 73 20 73 70 65 63 69 66 65 64 20 62 79 20 52 45 43 4f 52 44 2d 52 45 47 45 58 50 20 ly.as.specifed.by.RECORD-REGEXP.
18a0 61 6e 64 20 4b 45 59 2e 0a 52 45 43 4f 52 44 2d 52 45 47 45 58 50 20 73 70 65 63 69 66 69 65 73 and.KEY..RECORD-REGEXP.specifies
18c0 20 74 68 65 20 74 65 78 74 75 61 6c 20 75 6e 69 74 73 20 77 68 69 63 68 20 73 68 6f 75 6c 64 20 .the.textual.units.which.should.
18e0 62 65 20 73 6f 72 74 65 64 2e 0a 20 20 46 6f 72 20 65 78 61 6d 70 6c 65 2c 20 74 6f 20 73 6f 72 be.sorted....For.example,.to.sor
1900 74 20 6c 69 6e 65 73 20 52 45 43 4f 52 44 2d 52 45 47 45 58 50 20 77 6f 75 6c 64 20 62 65 20 5c t.lines.RECORD-REGEXP.would.be.\
1920 22 5e 2e 2a 24 5c 22 0a 4b 45 59 20 73 70 65 63 69 66 69 65 73 20 74 68 65 20 70 61 72 74 20 6f "^.*$\".KEY.specifies.the.part.o
1940 66 20 65 61 63 68 20 72 65 63 6f 72 64 20 28 69 65 20 65 61 63 68 20 6d 61 74 63 68 20 66 6f 72 f.each.record.(ie.each.match.for
1960 20 52 45 43 4f 52 44 2d 52 45 47 45 58 50 29 0a 20 20 69 73 20 74 6f 20 62 65 20 75 73 65 64 20 .RECORD-REGEXP)...is.to.be.used.
1980 66 6f 72 20 73 6f 72 74 69 6e 67 2e 0a 20 20 49 66 20 69 74 20 69 73 20 5c 22 5c 5c 64 69 67 69 for.sorting....If.it.is.\"\\digi
19a0 74 5c 22 20 74 68 65 6e 20 74 68 65 20 64 69 67 69 74 27 74 68 20 5c 22 5c 5c 28 2e 2e 2e 5c 5c t\".then.the.digit'th.\"\\(...\\
19c0 29 5c 22 20 6d 61 74 63 68 20 66 69 65 6c 64 20 66 72 6f 6d 0a 20 20 52 45 43 4f 52 44 2d 52 45 )\".match.field.from...RECORD-RE
19e0 47 45 58 50 20 69 73 20 75 73 65 64 2e 0a 20 20 49 66 20 69 74 20 69 73 20 5c 22 5c 5c 26 5c 22 GEXP.is.used....If.it.is.\"\\&\"
1a00 20 74 68 65 6e 20 74 68 65 20 77 68 6f 6c 65 20 72 65 63 6f 72 64 20 69 73 20 75 73 65 64 2e 0a .then.the.whole.record.is.used..
1a20 20 20 4f 74 68 65 72 77 69 73 65 2c 20 69 74 20 69 73 20 61 20 72 65 67 75 6c 61 72 2d 65 78 70 ..Otherwise,.it.is.a.regular-exp
1a40 72 65 73 73 69 6f 6e 20 66 6f 72 20 77 68 69 63 68 20 74 6f 20 73 65 61 72 63 68 20 77 69 74 68 ression.for.which.to.search.with
1a60 69 6e 20 74 68 65 20 72 65 63 6f 72 64 2e 0a 49 66 20 61 20 6d 61 74 63 68 20 66 6f 72 20 4b 45 in.the.record..If.a.match.for.KE
1a80 59 20 69 73 20 6e 6f 74 20 66 6f 75 6e 64 20 77 69 74 68 69 6e 20 61 20 72 65 63 6f 72 64 20 74 Y.is.not.found.within.a.record.t
1aa0 68 65 6e 20 74 68 61 74 20 72 65 63 6f 72 64 20 69 73 20 69 67 6e 6f 72 65 64 2e 0a 0a 57 69 74 hen.that.record.is.ignored...Wit
1ac0 68 20 61 20 6e 65 67 61 74 69 76 65 20 70 72 65 66 69 78 20 61 72 67 20 73 6f 72 74 73 20 69 6e h.a.negative.prefix.arg.sorts.in
1ae0 20 72 65 76 65 72 73 65 20 6f 72 64 65 72 2e 0a 0a 46 6f 72 20 65 78 61 6d 70 6c 65 3a 20 74 6f .reverse.order...For.example:.to
1b00 20 73 6f 72 74 20 6c 69 6e 65 73 20 69 6e 20 74 68 65 20 72 65 67 69 6f 6e 20 62 79 20 74 68 65 .sort.lines.in.the.region.by.the
1b20 20 66 69 72 73 74 20 77 6f 72 64 20 6f 6e 20 65 61 63 68 20 6c 69 6e 65 0a 20 73 74 61 72 74 69 .first.word.on.each.line..starti
1b40 6e 67 20 77 69 74 68 20 74 68 65 20 6c 65 74 74 65 72 20 5c 22 66 5c 22 2c 0a 20 52 45 43 4f 52 ng.with.the.letter.\"f\",..RECOR
1b60 44 2d 52 45 47 45 58 50 20 77 6f 75 6c 64 20 62 65 20 5c 22 5e 2e 2a 24 5c 22 20 61 6e 64 20 4b D-REGEXP.would.be.\"^.*$\".and.K
1b80 45 59 20 5c 22 5c 5c 3c 66 5c 5c 77 2a 5c 5c 3e 5c 22 22 20 28 69 6e 74 65 72 61 63 74 69 76 65 EY.\"\\<f\\w*\\>\"".(interactive
1ba0 20 22 50 0a 73 52 65 67 65 78 70 20 73 70 65 63 69 66 79 69 6e 67 20 72 65 63 6f 72 64 73 20 74 ."P.sRegexp.specifying.records.t
1bc0 6f 20 73 6f 72 74 3a 20 0a 73 52 65 67 65 78 70 20 73 70 65 63 69 66 79 69 6e 67 20 6b 65 79 20 o.sort:..sRegexp.specifying.key.
1be0 77 69 74 68 69 6e 20 72 65 63 6f 72 64 3a 20 0a 72 22 29 20 28 62 79 74 65 2d 63 6f 64 65 20 22 within.record:..r").(byte-code."
1c00 c6 88 c7 08 c8 5c 22 86 0d 00 c7 08 c9 5c 22 83 16 00 ca 89 10 82 24 00 cb cc 08 5c 22 85 24 00 .....\"......\".......$....\".$.
1c20 08 cd 48 ce 5a 89 10 88 8c cf 09 0a 5c 22 88 65 62 88 c6 1b d0 0c 21 88 60 89 13 88 d1 ca 21 62 ..H.Z.......\".eb.....!.`.....!b
1c40 88 d2 0d d3 d4 d5 24 29 29 87 22 20 5b 6b 65 79 2d 72 65 67 65 78 70 20 62 65 67 20 65 6e 64 20 ......$)).".[key-regexp.beg.end.
1c60 73 6f 72 74 2d 72 65 67 65 78 70 2d 72 65 63 6f 72 64 2d 65 6e 64 20 72 65 63 6f 72 64 2d 72 65 sort-regexp-record-end.record-re
1c80 67 65 78 70 20 72 65 76 65 72 73 65 20 6e 69 6c 20 65 71 75 61 6c 20 22 22 20 22 5c 5c 26 22 20 gexp.reverse.nil.equal.""."\\&".
1ca0 30 20 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 22 5c 5c 60 5c 5c 5c 5c 5b 31 2d 39 5d 5c 5c 27 22 0.string-match."\\`\\\\[1-9]\\'"
1cc0 20 31 20 34 38 20 6e 61 72 72 6f 77 2d 74 6f 2d 72 65 67 69 6f 6e 20 72 65 2d 73 65 61 72 63 68 .1.48.narrow-to-region.re-search
1ce0 2d 66 6f 72 77 61 72 64 20 6d 61 74 63 68 2d 62 65 67 69 6e 6e 69 6e 67 20 73 6f 72 74 2d 73 75 -forward.match-beginning.sort-su
1d00 62 72 20 28 6c 61 6d 62 64 61 20 6e 69 6c 20 28 62 79 74 65 2d 63 6f 64 65 20 22 c3 08 c1 c4 23 br.(lambda.nil.(byte-code."....#
1d20 85 14 00 c5 c6 21 89 12 85 14 00 c7 c6 21 62 87 22 20 5b 72 65 63 6f 72 64 2d 72 65 67 65 78 70 .....!.......!b.".[record-regexp
1d40 20 6e 69 6c 20 73 6f 72 74 2d 72 65 67 65 78 70 2d 72 65 63 6f 72 64 2d 65 6e 64 20 72 65 2d 73 .nil.sort-regexp-record-end.re-s
1d60 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 6d 6f 76 65 20 6d 61 74 63 68 2d 65 6e 64 20 30 20 6d earch-forward.move.match-end.0.m
1d80 61 74 63 68 2d 62 65 67 69 6e 6e 69 6e 67 5d 20 34 29 29 20 28 6c 61 6d 62 64 61 20 6e 69 6c 20 atch-beginning].4)).(lambda.nil.
1da0 28 62 79 74 65 2d 63 6f 64 65 20 22 08 62 87 22 20 5b 73 6f 72 74 2d 72 65 67 65 78 70 2d 72 65 (byte-code.".b.".[sort-regexp-re
1dc0 63 6f 72 64 2d 65 6e 64 5d 20 31 29 29 20 28 6c 61 6d 62 64 61 20 6e 69 6c 20 28 62 79 74 65 2d cord-end].1)).(lambda.nil.(byte-
1de0 63 6f 64 65 20 22 c5 18 c6 09 21 83 0e 00 09 89 10 82 20 00 c7 09 0a c3 23 83 1c 00 c5 89 10 82 code."....!.............#.......
1e00 20 00 c8 c9 c4 5c 22 88 c4 ca cb 8f 29 87 22 20 5b 6e 20 6b 65 79 2d 72 65 67 65 78 70 20 73 6f .....\".....).".[n.key-regexp.so
1e20 72 74 2d 72 65 67 65 78 70 2d 72 65 63 6f 72 64 2d 65 6e 64 20 74 20 6e 69 6c 20 30 20 6e 75 6d rt-regexp-record-end.t.nil.0.num
1e40 62 65 72 70 20 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 74 68 72 6f 77 20 6b 65 79 berp.re-search-forward.throw.key
1e60 20 28 62 79 74 65 2d 63 6f 64 65 20 22 c1 c2 21 83 10 00 c3 08 21 c4 08 21 42 82 18 00 c5 c3 08 .(byte-code."..!.....!..!B......
1e80 21 c4 08 21 5c 22 87 22 20 5b 6e 20 66 62 6f 75 6e 64 70 20 62 75 66 66 65 72 2d 73 75 62 73 74 !..!\".".[n.fboundp.buffer-subst
1ea0 72 69 6e 67 2d 6c 65 73 73 70 20 6d 61 74 63 68 2d 62 65 67 69 6e 6e 69 6e 67 20 6d 61 74 63 68 ring-lessp.match-beginning.match
1ec0 2d 65 6e 64 20 62 75 66 66 65 72 2d 73 75 62 73 74 72 69 6e 67 5d 20 38 29 20 28 28 65 72 72 6f -end.buffer-substring].8).((erro
1ee0 72 20 28 62 79 74 65 2d 63 6f 64 65 20 22 c1 c2 c0 5c 22 87 22 20 5b 6e 69 6c 20 74 68 72 6f 77 r.(byte-code."...\".".[nil.throw
1f00 20 6b 65 79 5d 20 33 29 29 29 5d 20 36 29 29 5d 20 31 31 29 29 0a 0a 28 64 65 66 75 6e 20 73 6f .key].3)))].6))].11))..(defun.so
1f20 72 74 2d 63 6f 6c 75 6d 6e 73 20 28 72 65 76 65 72 73 65 20 26 6f 70 74 69 6f 6e 61 6c 20 62 65 rt-columns.(reverse.&optional.be
1f40 67 20 65 6e 64 29 20 22 5c 0a 53 6f 72 74 20 6c 69 6e 65 73 20 69 6e 20 72 65 67 69 6f 6e 20 61 g.end)."\.Sort.lines.in.region.a
1f60 6c 70 68 61 62 65 74 69 63 61 6c 6c 79 20 62 79 20 61 20 63 65 72 74 61 69 6e 20 72 61 6e 67 65 lphabetically.by.a.certain.range
1f80 20 6f 66 20 63 6f 6c 75 6d 6e 73 2e 0a 46 6f 72 20 74 68 65 20 70 75 72 70 6f 73 65 20 6f 66 20 .of.columns..For.the.purpose.of.
1fa0 74 68 69 73 20 63 6f 6d 6d 61 6e 64 2c 20 74 68 65 20 72 65 67 69 6f 6e 20 69 6e 63 6c 75 64 65 this.command,.the.region.include
1fc0 73 0a 74 68 65 20 65 6e 74 69 72 65 20 6c 69 6e 65 20 74 68 61 74 20 70 6f 69 6e 74 20 69 73 20 s.the.entire.line.that.point.is.
1fe0 69 6e 20 61 6e 64 20 74 68 65 20 65 6e 74 69 72 65 20 6c 69 6e 65 20 74 68 65 20 6d 61 72 6b 20 in.and.the.entire.line.the.mark.
2000 69 73 20 69 6e 2e 0a 54 68 65 20 63 6f 6c 75 6d 6e 20 70 6f 73 69 74 69 6f 6e 73 20 6f 66 20 70 is.in..The.column.positions.of.p
2020 6f 69 6e 74 20 61 6e 64 20 6d 61 72 6b 20 62 6f 75 6e 64 20 74 68 65 20 72 61 6e 67 65 20 6f 66 oint.and.mark.bound.the.range.of
2040 20 63 6f 6c 75 6d 6e 73 20 74 6f 20 73 6f 72 74 20 6f 6e 2e 0a 41 20 70 72 65 66 69 78 20 61 72 .columns.to.sort.on..A.prefix.ar
2060 67 75 6d 65 6e 74 20 6d 65 61 6e 73 20 73 6f 72 74 20 69 6e 74 6f 20 72 65 76 65 72 73 65 20 6f gument.means.sort.into.reverse.o
2080 72 64 65 72 2e 0a 0a 4e 6f 74 65 20 74 68 61 74 20 73 6f 72 74 2d 63 6f 6c 75 6d 6e 73 20 75 73 rder...Note.that.sort-columns.us
20a0 65 73 20 74 68 65 20 73 6f 72 74 20 75 74 69 6c 69 74 79 20 70 72 6f 67 72 61 6d 20 61 6e 64 20 es.the.sort.utility.program.and.
20c0 74 68 65 72 65 66 6f 72 65 0a 63 61 6e 6e 6f 74 20 77 6f 72 6b 20 6f 6e 20 74 65 78 74 20 63 6f therefore.cannot.work.on.text.co
20e0 6e 74 61 69 6e 69 6e 67 20 54 41 42 20 63 68 61 72 61 63 74 65 72 73 2e 20 20 55 73 65 20 4d 2d ntaining.TAB.characters...Use.M-
2100 78 20 75 6e 74 61 62 69 66 79 0a 74 6f 20 63 6f 6e 76 65 72 74 20 74 61 62 73 20 74 6f 20 73 70 x.untabify.to.convert.tabs.to.sp
2120 61 63 65 73 20 62 65 66 6f 72 65 20 73 6f 72 74 69 6e 67 2e 22 20 28 69 6e 74 65 72 61 63 74 69 aces.before.sorting.".(interacti
2140 76 65 20 22 50 0a 72 22 29 20 28 62 79 74 65 2d 63 6f 64 65 20 22 c9 88 8a c9 c9 c9 c9 c9 c9 1d ve."P.r").(byte-code."..........
2160 1c 1b 1a 19 18 0e 06 0e 07 5e 62 88 69 89 12 88 cb 20 88 60 89 10 88 0e 06 0e 07 5d 62 88 69 89 .........^b.i......`.......]b.i.
2180 13 88 cc 20 88 60 89 11 88 0a 0b 5e 89 14 88 0a 0b 5d 89 15 88 cd ce 08 c8 23 85 4a 00 cf d0 21 .....`.....^.....].......#.J...!
21a0 88 d1 08 09 d2 c8 c8 c9 0e 0a 83 5b 00 d3 82 5c 5c 00 d4 d5 0c 50 d6 0d 50 26 09 2e 06 29 87 22 ...........[...\\....P..P&...)."
21c0 20 5b 62 65 67 31 20 65 6e 64 31 20 63 6f 6c 2d 62 65 67 31 20 63 6f 6c 2d 65 6e 64 31 20 63 6f .[beg1.end1.col-beg1.col-end1.co
21e0 6c 2d 73 74 61 72 74 20 63 6f 6c 2d 65 6e 64 20 62 65 67 20 65 6e 64 20 74 20 6e 69 6c 20 72 65 l-start.col-end.beg.end.t.nil.re
2200 76 65 72 73 65 20 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 66 6f 72 77 61 72 64 2d verse.beginning-of-line.forward-
2220 6c 69 6e 65 20 73 65 61 72 63 68 2d 62 61 63 6b 77 61 72 64 20 22 09 22 20 65 72 72 6f 72 20 22 line.search-backward.".".error."
2240 73 6f 72 74 2d 63 6f 6c 75 6d 6e 73 20 64 6f 65 73 20 6e 6f 74 20 77 6f 72 6b 20 77 69 74 68 20 sort-columns.does.not.work.with.
2260 74 61 62 73 2e 20 20 55 73 65 20 4d 2d 78 20 75 6e 74 61 62 69 66 79 2e 22 20 63 61 6c 6c 2d 70 tabs...Use.M-x.untabify.".call-p
2280 72 6f 63 65 73 73 2d 72 65 67 69 6f 6e 20 22 73 6f 72 74 22 20 22 2d 72 74 0a 22 20 22 2d 74 0a rocess-region."sort"."-rt."."-t.
22a0 22 20 22 2b 30 2e 22 20 22 2d 30 2e 22 5d 20 31 35 29 29 0a "."+0."."-0."].15)).