summaryrefslogtreecommitdiff
path: root/.localrepo/hydra-0.15.0.tar
blob: 068801dae492c0c57f663c89eef95747436d8b46 (plain)
ofshex dumpascii
0000 68 79 64 72 61 2d 30 2e 31 35 2e 30 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 hydra-0.15.0/...................
0020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0060 00 00 00 00 30 30 30 30 37 35 35 00 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 00 30 30 30 30 ....0000755.0000000.0000000.0000
0080 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 31 33 34 33 00 20 35 00 00 00 0000000.00000000000.011343..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 68 79 64 72 61 2d 30 2e 31 35 2e 30 2f 74 61 72 67 65 74 73 2f 00 00 00 00 00 00 00 00 00 00 00 hydra-0.15.0/targets/...........
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 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
0280 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 30 31 34 00 20 35 00 00 00 0000000.00000000000.013014..5...
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 68 79 64 72 61 2d 30 2e 31 35 2e 30 2f 74 61 72 67 65 74 73 2f 68 79 64 72 61 2d 69 6e 69 74 2e hydra-0.15.0/targets/hydra-init.
0420 65 6c 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 el..............................
0440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0460 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
0480 30 30 30 32 30 30 34 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 35 34 30 32 00 20 30 00 00 00 0002004.00000000000.015402..0...
04a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
04c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
04e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0500 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...................
0520 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...................
0540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
05a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
05c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
05e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0600 3b 3b 3b 20 68 79 64 72 61 2d 74 65 73 74 2e 65 6c 20 2d 2d 2d 20 62 61 72 65 20 68 79 64 72 61 ;;;.hydra-test.el.---.bare.hydra
0620 20 69 6e 69 74 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 35 20 20 46 72 .init..;;.Copyright.(C).2015..Fr
0640 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 2e 0a 0a 3b 3b ee.Software.Foundation,.Inc...;;
0660 20 41 75 74 68 6f 72 3a 20 4f 6c 65 68 20 4b 72 65 68 65 6c 0a 0a 3b 3b 20 54 68 69 73 20 66 69 .Author:.Oleh.Krehel..;;.This.fi
0680 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 47 4e 55 20 45 6d 61 63 73 2e 0a 0a 3b 3b 20 47 4e 55 le.is.part.of.GNU.Emacs...;;.GNU
06a0 20 45 6d 61 63 73 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e .Emacs.is.free.software:.you.can
06c0 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 3b .redistribute.it.and/or.modify.;
06e0 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 20 ;.it.under.the.terms.of.the.GNU.
0700 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 73 General.Public.License.as.publis
0720 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 6e hed.by.;;.the.Free.Software.Foun
0740 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 20 dation,.either.version.3.of.the.
0760 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 20 License,.or.;;.(at.your.option).
0780 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 47 4e 55 20 45 6d 61 63 73 any.later.version...;;.GNU.Emacs
07a0 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 74 68 61 74 .is.distributed.in.the.hope.that
07c0 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 49 54 48 4f .it.will.be.useful,.;;.but.WITHO
07e0 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 6e 20 74 68 UT.ANY.WARRANTY;.without.even.th
0800 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 43 48 41 4e e.implied.warranty.of.;;.MERCHAN
0820 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 52 54 49 43 TABILITY.or.FITNESS.FOR.A.PARTIC
0840 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 55 20 47 65 ULAR.PURPOSE...See.the.;;.GNU.Ge
0860 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 65 20 64 65 neral.Public.License.for.more.de
0880 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 65 63 65 69 tails...;;.You.should.have.recei
08a0 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 6c 20 50 75 ved.a.copy.of.the.GNU.General.Pu
08c0 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 47 4e 55 20 45 blic.License.;;.along.with.GNU.E
08e0 6d 61 63 73 2e 20 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 macs...If.not,.see.<http://www.g
0900 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 28 61 64 64 2d 74 6f 2d 6c 69 73 74 nu.org/licenses/>...(add-to-list
0920 20 27 6c 6f 61 64 2d 70 61 74 68 20 64 65 66 61 75 6c 74 2d 64 69 72 65 63 74 6f 72 79 29 0a 28 .'load-path.default-directory).(
0940 72 65 71 75 69 72 65 20 27 68 79 64 72 61 29 0a 28 73 65 74 71 20 68 79 64 72 61 2d 65 78 61 6d require.'hydra).(setq.hydra-exam
0960 70 6c 65 73 2d 76 65 72 62 61 74 69 6d 20 74 29 0a 28 72 65 71 75 69 72 65 20 27 68 79 64 72 61 ples-verbatim.t).(require.'hydra
0980 2d 65 78 61 6d 70 6c 65 73 29 0a 28 72 65 71 75 69 72 65 20 27 68 79 64 72 61 2d 74 65 73 74 29 -examples).(require.'hydra-test)
09a0 0a 28 6d 61 70 63 20 23 27 62 79 74 65 2d 63 6f 6d 70 69 6c 65 2d 66 69 6c 65 20 27 28 22 68 79 .(mapc.#'byte-compile-file.'("hy
09c0 64 72 61 2e 65 6c 22 20 22 68 79 64 72 61 2d 65 78 61 6d 70 6c 65 73 2e 65 6c 22 20 22 68 79 64 dra.el"."hydra-examples.el"."hyd
09e0 72 61 2d 6f 78 2e 65 6c 22 20 22 68 79 64 72 61 2d 74 65 73 74 2e 65 6c 22 20 22 6c 76 2e 65 6c ra-ox.el"."hydra-test.el"."lv.el
0a00 22 29 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 ")).............................
0a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0a60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c00 68 79 64 72 61 2d 30 2e 31 35 2e 30 2f 68 79 64 72 61 2d 6f 78 2e 65 6c 00 00 00 00 00 00 00 00 hydra-0.15.0/hydra-ox.el........
0c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0c60 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
0c80 30 30 31 30 30 36 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 34 31 35 00 20 30 00 00 00 0010060.00000000000.013415..0...
0ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d00 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...................
0d20 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...................
0d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0e00 3b 3b 3b 20 68 79 64 72 61 2d 6f 78 2e 65 6c 20 2d 2d 2d 20 4f 72 67 20 6d 6f 64 65 20 65 78 70 ;;;.hydra-ox.el.---.Org.mode.exp
0e20 6f 72 74 20 77 69 64 67 65 74 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 69 6e 20 48 79 64 72 61 0a ort.widget.implemented.in.Hydra.
0e40 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 30 31 35 20 20 46 72 65 65 20 53 6f 66 .;;.Copyright.(C).2015..Free.Sof
0e60 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 41 75 74 68 6f tware.Foundation,.Inc...;;.Autho
0e80 72 3a 20 4f 6c 65 68 20 4b 72 65 68 65 6c 0a 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 r:.Oleh.Krehel..;;.This.file.is.
0ea0 70 61 72 74 20 6f 66 20 47 4e 55 20 45 6d 61 63 73 2e 0a 0a 3b 3b 20 47 4e 55 20 45 6d 61 63 73 part.of.GNU.Emacs...;;.GNU.Emacs
0ec0 20 69 73 20 66 72 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 .is.free.software:.you.can.redis
0ee0 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 3b 3b 20 69 74 20 75 tribute.it.and/or.modify.;;.it.u
0f00 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 20 47 65 6e 65 72 61 nder.the.terms.of.the.GNU.Genera
0f20 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 73 68 65 64 20 62 79 l.Public.License.as.published.by
0f40 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 6e 64 61 74 69 6f 6e .;;.the.Free.Software.Foundation
0f60 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 20 4c 69 63 65 6e 73 ,.either.version.3.of.the.Licens
0f80 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 20 61 6e 79 20 6c 61 e,.or.;;.(at.your.option).any.la
0fa0 74 65 72 20 76 65 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 47 4e 55 20 45 6d 61 63 73 20 69 73 20 64 69 ter.version...;;.GNU.Emacs.is.di
0fc0 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 69 stributed.in.the.hope.that.it.wi
0fe0 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 59 ll.be.useful,.;;.but.WITHOUT.ANY
1000 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 6c .WARRANTY;.without.even.the.impl
1020 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 49 ied.warranty.of.;;.MERCHANTABILI
1040 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 50 TY.or.FITNESS.FOR.A.PARTICULAR.P
1060 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 20 URPOSE...See.the.;;.GNU.General.
1080 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 2e Public.License.for.more.details.
10a0 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 20 ..;;.You.should.have.received.a.
10c0 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 4c copy.of.the.GNU.General.Public.L
10e0 69 63 65 6e 73 65 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 47 4e 55 20 45 6d 61 63 73 2e 20 icense.;;.along.with.GNU.Emacs..
1100 20 49 66 20 6e 6f 74 2c 20 73 65 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 .If.not,.see.<http://www.gnu.org
1120 2f 6c 69 63 65 6e 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 3b 3b /licenses/>...;;;.Commentary:.;;
1140 0a 3b 3b 20 54 68 69 73 20 73 68 6f 77 73 20 68 6f 77 20 61 20 63 6f 6d 70 6c 65 78 20 64 69 73 .;;.This.shows.how.a.complex.dis
1160 70 61 74 63 68 20 6d 65 6e 75 20 63 61 6e 20 62 65 20 62 75 69 6c 74 20 77 69 74 68 20 48 79 64 patch.menu.can.be.built.with.Hyd
1180 72 61 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 68 79 64 72 61 29 ra...;;;.Code:..(require.'hydra)
11a0 0a 28 72 65 71 75 69 72 65 20 27 6f 72 67 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f .(require.'org).(declare-functio
11c0 6e 20 6f 72 67 2d 68 74 6d 6c 2d 65 78 70 6f 72 74 2d 61 73 2d 68 74 6d 6c 20 27 6f 78 2d 68 74 n.org-html-export-as-html.'ox-ht
11e0 6d 6c 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 6f 72 67 2d 68 74 6d 6c 2d 65 ml).(declare-function.org-html-e
1200 78 70 6f 72 74 2d 74 6f 2d 68 74 6d 6c 20 27 6f 78 2d 68 74 6d 6c 29 0a 28 64 65 63 6c 61 72 65 xport-to-html.'ox-html).(declare
1220 2d 66 75 6e 63 74 69 6f 6e 20 6f 72 67 2d 6c 61 74 65 78 2d 65 78 70 6f 72 74 2d 61 73 2d 6c 61 -function.org-latex-export-as-la
1240 74 65 78 20 27 6f 78 2d 6c 61 74 65 78 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e tex.'ox-latex).(declare-function
1260 20 6f 72 67 2d 6c 61 74 65 78 2d 65 78 70 6f 72 74 2d 74 6f 2d 6c 61 74 65 78 20 27 6f 78 2d 6c .org-latex-export-to-latex.'ox-l
1280 61 74 65 78 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 6f 72 67 2d 6c 61 74 65 atex).(declare-function.org-late
12a0 78 2d 65 78 70 6f 72 74 2d 74 6f 2d 70 64 66 20 27 6f 78 2d 6c 61 74 65 78 29 0a 28 64 65 63 6c x-export-to-pdf.'ox-latex).(decl
12c0 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 6f 72 67 2d 61 73 63 69 69 2d 65 78 70 6f 72 74 2d 61 73 are-function.org-ascii-export-as
12e0 2d 61 73 63 69 69 20 27 6f 78 2d 61 73 63 69 69 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 -ascii.'ox-ascii).(declare-funct
1300 69 6f 6e 20 6f 72 67 2d 61 73 63 69 69 2d 65 78 70 6f 72 74 2d 74 6f 2d 61 73 63 69 69 20 27 6f ion.org-ascii-export-to-ascii.'o
1320 78 2d 61 73 63 69 69 29 0a 0a 28 64 65 66 68 79 64 72 61 64 69 6f 20 68 79 64 72 61 2d 6f 78 20 x-ascii)..(defhydradio.hydra-ox.
1340 28 29 0a 20 20 28 62 6f 64 79 2d 6f 6e 6c 79 20 22 45 78 70 6f 72 74 20 6f 6e 6c 79 20 74 68 65 ()...(body-only."Export.only.the
1360 20 62 6f 64 79 2e 22 29 0a 20 20 28 65 78 70 6f 72 74 2d 73 63 6f 70 65 20 22 45 78 70 6f 72 74 .body.")...(export-scope."Export
1380 20 73 63 6f 70 65 2e 22 20 5b 62 75 66 66 65 72 20 73 75 62 74 72 65 65 5d 29 0a 20 20 28 61 73 .scope.".[buffer.subtree])...(as
13a0 79 6e 63 2d 65 78 70 6f 72 74 20 22 57 68 65 6e 20 6e 6f 6e 2d 6e 69 6c 2c 20 65 78 70 6f 72 74 ync-export."When.non-nil,.export
13c0 20 61 73 79 6e 63 2e 22 29 0a 20 20 28 76 69 73 69 62 6c 65 2d 6f 6e 6c 79 20 22 57 68 65 6e 20 .async.")...(visible-only."When.
13e0 6e 6f 6e 2d 6e 69 6c 2c 20 65 78 70 6f 72 74 20 76 69 73 69 62 6c 65 20 6f 6e 6c 79 22 29 0a 20 non-nil,.export.visible.only")..
1400 20 28 66 6f 72 63 65 2d 70 75 62 6c 69 73 68 69 6e 67 20 22 54 6f 67 67 6c 65 20 66 6f 72 63 65 .(force-publishing."Toggle.force
1420 20 70 75 62 6c 69 73 68 69 6e 67 22 29 29 0a 0a 28 64 65 66 68 79 64 72 61 20 68 79 64 72 61 2d .publishing"))..(defhydra.hydra-
1440 6f 78 2d 68 74 6d 6c 20 28 3a 63 6f 6c 6f 72 20 62 6c 75 65 29 0a 20 20 22 6f 78 2d 68 74 6d 6c ox-html.(:color.blue)..."ox-html
1460 22 0a 20 20 28 22 48 22 20 28 6f 72 67 2d 68 74 6d 6c 2d 65 78 70 6f 72 74 2d 61 73 2d 68 74 6d "...("H".(org-html-export-as-htm
1480 6c 0a 20 20 20 20 20 20 20 20 68 79 64 72 61 2d 6f 78 2f 61 73 79 6e 63 2d 65 78 70 6f 72 74 0a l.........hydra-ox/async-export.
14a0 20 20 20 20 20 20 20 20 28 65 71 20 68 79 64 72 61 2d 6f 78 2f 65 78 70 6f 72 74 2d 73 63 6f 70 ........(eq.hydra-ox/export-scop
14c0 65 20 27 73 75 62 74 72 65 65 29 0a 20 20 20 20 20 20 20 20 68 79 64 72 61 2d 6f 78 2f 76 69 73 e.'subtree).........hydra-ox/vis
14e0 69 62 6c 65 2d 6f 6e 6c 79 0a 20 20 20 20 20 20 20 20 68 79 64 72 61 2d 6f 78 2f 62 6f 64 79 2d ible-only.........hydra-ox/body-
1500 6f 6e 6c 79 29 0a 20 20 20 20 20 20 20 22 41 73 20 48 54 4d 4c 20 62 75 66 66 65 72 22 29 0a 20 only)........"As.HTML.buffer")..
1520 20 28 22 68 22 20 28 6f 72 67 2d 68 74 6d 6c 2d 65 78 70 6f 72 74 2d 74 6f 2d 68 74 6d 6c 0a 20 .("h".(org-html-export-to-html..
1540 20 20 20 20 20 20 20 68 79 64 72 61 2d 6f 78 2f 61 73 79 6e 63 2d 65 78 70 6f 72 74 0a 20 20 20 .......hydra-ox/async-export....
1560 20 20 20 20 20 28 65 71 20 68 79 64 72 61 2d 6f 78 2f 65 78 70 6f 72 74 2d 73 63 6f 70 65 20 27 .....(eq.hydra-ox/export-scope.'
1580 73 75 62 74 72 65 65 29 0a 20 20 20 20 20 20 20 20 68 79 64 72 61 2d 6f 78 2f 76 69 73 69 62 6c subtree).........hydra-ox/visibl
15a0 65 2d 6f 6e 6c 79 0a 20 20 20 20 20 20 20 20 68 79 64 72 61 2d 6f 78 2f 62 6f 64 79 2d 6f 6e 6c e-only.........hydra-ox/body-onl
15c0 79 29 20 22 41 73 20 48 54 4d 4c 20 66 69 6c 65 22 29 0a 20 20 28 22 6f 22 20 28 6f 72 67 2d 6f y)."As.HTML.file")...("o".(org-o
15e0 70 65 6e 2d 66 69 6c 65 0a 20 20 20 20 20 20 20 20 28 6f 72 67 2d 68 74 6d 6c 2d 65 78 70 6f 72 pen-file.........(org-html-expor
1600 74 2d 74 6f 2d 68 74 6d 6c 0a 20 20 20 20 20 20 20 20 20 68 79 64 72 61 2d 6f 78 2f 61 73 79 6e t-to-html..........hydra-ox/asyn
1620 63 2d 65 78 70 6f 72 74 0a 20 20 20 20 20 20 20 20 20 28 65 71 20 68 79 64 72 61 2d 6f 78 2f 65 c-export..........(eq.hydra-ox/e
1640 78 70 6f 72 74 2d 73 63 6f 70 65 20 27 73 75 62 74 72 65 65 29 0a 20 20 20 20 20 20 20 20 20 68 xport-scope.'subtree)..........h
1660 79 64 72 61 2d 6f 78 2f 76 69 73 69 62 6c 65 2d 6f 6e 6c 79 0a 20 20 20 20 20 20 20 20 20 68 79 ydra-ox/visible-only..........hy
1680 64 72 61 2d 6f 78 2f 62 6f 64 79 2d 6f 6e 6c 79 29 29 20 22 41 73 20 48 54 4d 4c 20 66 69 6c 65 dra-ox/body-only))."As.HTML.file
16a0 20 61 6e 64 20 6f 70 65 6e 22 29 0a 20 20 28 22 62 22 20 68 79 64 72 61 2d 6f 78 2f 62 6f 64 79 .and.open")...("b".hydra-ox/body
16c0 20 22 62 61 63 6b 22 29 0a 20 20 28 22 71 22 20 6e 69 6c 20 22 71 75 69 74 22 29 29 0a 0a 28 64 ."back")...("q".nil."quit"))..(d
16e0 65 66 68 79 64 72 61 20 68 79 64 72 61 2d 6f 78 2d 6c 61 74 65 78 20 28 3a 63 6f 6c 6f 72 20 62 efhydra.hydra-ox-latex.(:color.b
1700 6c 75 65 29 0a 20 20 22 6f 78 2d 6c 61 74 65 78 22 0a 20 20 28 22 4c 22 20 6f 72 67 2d 6c 61 74 lue)..."ox-latex"...("L".org-lat
1720 65 78 2d 65 78 70 6f 72 74 2d 61 73 2d 6c 61 74 65 78 20 22 41 73 20 4c 61 54 65 58 20 62 75 66 ex-export-as-latex."As.LaTeX.buf
1740 66 65 72 22 29 0a 20 20 28 22 6c 22 20 6f 72 67 2d 6c 61 74 65 78 2d 65 78 70 6f 72 74 2d 74 6f fer")...("l".org-latex-export-to
1760 2d 6c 61 74 65 78 20 22 41 73 20 4c 61 54 65 58 20 66 69 6c 65 22 29 0a 20 20 28 22 70 22 20 6f -latex."As.LaTeX.file")...("p".o
1780 72 67 2d 6c 61 74 65 78 2d 65 78 70 6f 72 74 2d 74 6f 2d 70 64 66 20 22 41 73 20 50 44 46 20 66 rg-latex-export-to-pdf."As.PDF.f
17a0 69 6c 65 22 29 0a 20 20 28 22 6f 22 20 28 6f 72 67 2d 6f 70 65 6e 2d 66 69 6c 65 20 28 6f 72 67 ile")...("o".(org-open-file.(org
17c0 2d 6c 61 74 65 78 2d 65 78 70 6f 72 74 2d 74 6f 2d 70 64 66 29 29 20 22 41 73 20 50 44 46 20 66 -latex-export-to-pdf))."As.PDF.f
17e0 69 6c 65 20 61 6e 64 20 6f 70 65 6e 22 29 0a 20 20 28 22 62 22 20 68 79 64 72 61 2d 6f 78 2f 62 ile.and.open")...("b".hydra-ox/b
1800 6f 64 79 20 22 62 61 63 6b 22 29 0a 20 20 28 22 71 22 20 6e 69 6c 20 22 71 75 69 74 22 29 29 0a ody."back")...("q".nil."quit")).
1820 0a 28 64 65 66 68 79 64 72 61 20 68 79 64 72 61 2d 6f 78 2d 74 65 78 74 20 28 3a 63 6f 6c 6f 72 .(defhydra.hydra-ox-text.(:color
1840 20 62 6c 75 65 29 0a 20 20 22 6f 78 2d 74 65 78 74 22 0a 20 20 28 22 41 22 20 28 6f 72 67 2d 61 .blue)..."ox-text"...("A".(org-a
1860 73 63 69 69 2d 65 78 70 6f 72 74 2d 61 73 2d 61 73 63 69 69 0a 20 20 20 20 20 20 20 20 6e 69 6c scii-export-as-ascii.........nil
1880 20 6e 69 6c 20 6e 69 6c 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 27 28 3a 61 73 63 69 69 2d 63 68 .nil.nil.nil.........'(:ascii-ch
18a0 61 72 73 65 74 20 61 73 63 69 69 29 29 0a 20 20 20 20 20 20 20 22 41 73 20 41 53 43 49 49 20 62 arset.ascii))........"As.ASCII.b
18c0 75 66 66 65 72 22 29 0a 0a 20 20 28 22 61 22 20 28 6f 72 67 2d 61 73 63 69 69 2d 65 78 70 6f 72 uffer")....("a".(org-ascii-expor
18e0 74 2d 74 6f 2d 61 73 63 69 69 0a 20 20 20 20 20 20 20 20 6e 69 6c 20 6e 69 6c 20 6e 69 6c 20 6e t-to-ascii.........nil.nil.nil.n
1900 69 6c 0a 20 20 20 20 20 20 20 20 27 28 3a 61 73 63 69 69 2d 63 68 61 72 73 65 74 20 61 73 63 69 il.........'(:ascii-charset.asci
1920 69 29 29 0a 20 20 20 20 20 20 20 22 41 73 20 41 53 43 49 49 20 66 69 6c 65 22 29 0a 20 20 28 22 i))........"As.ASCII.file")...("
1940 4c 22 20 28 6f 72 67 2d 61 73 63 69 69 2d 65 78 70 6f 72 74 2d 61 73 2d 61 73 63 69 69 0a 20 20 L".(org-ascii-export-as-ascii...
1960 20 20 20 20 20 20 6e 69 6c 20 6e 69 6c 20 6e 69 6c 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 27 28 ......nil.nil.nil.nil.........'(
1980 3a 61 73 63 69 69 2d 63 68 61 72 73 65 74 20 6c 61 74 69 6e 31 29 29 0a 20 20 20 20 20 20 20 22 :ascii-charset.latin1))........"
19a0 41 73 20 4c 61 74 69 6e 31 20 62 75 66 66 65 72 22 29 0a 20 20 28 22 6c 22 20 28 6f 72 67 2d 61 As.Latin1.buffer")...("l".(org-a
19c0 73 63 69 69 2d 65 78 70 6f 72 74 2d 74 6f 2d 61 73 63 69 69 0a 20 20 20 20 20 20 20 20 6e 69 6c scii-export-to-ascii.........nil
19e0 20 6e 69 6c 20 6e 69 6c 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 27 28 3a 61 73 63 69 69 2d 63 68 .nil.nil.nil.........'(:ascii-ch
1a00 61 72 73 65 74 20 6c 61 74 69 6e 31 29 29 0a 20 20 20 20 20 20 20 22 41 73 20 4c 61 74 69 6e 31 arset.latin1))........"As.Latin1
1a20 20 66 69 6c 65 22 29 0a 20 20 28 22 55 22 20 28 6f 72 67 2d 61 73 63 69 69 2d 65 78 70 6f 72 74 .file")...("U".(org-ascii-export
1a40 2d 61 73 2d 61 73 63 69 69 0a 20 20 20 20 20 20 20 20 6e 69 6c 20 6e 69 6c 20 6e 69 6c 20 6e 69 -as-ascii.........nil.nil.nil.ni
1a60 6c 0a 20 20 20 20 20 20 20 20 27 28 3a 61 73 63 69 69 2d 63 68 61 72 73 65 74 20 75 74 66 2d 38 l.........'(:ascii-charset.utf-8
1a80 29 29 0a 20 20 20 20 20 20 20 22 41 73 20 55 54 46 2d 38 20 62 75 66 66 65 72 22 29 0a 20 20 28 ))........"As.UTF-8.buffer")...(
1aa0 22 75 22 20 28 6f 72 67 2d 61 73 63 69 69 2d 65 78 70 6f 72 74 2d 74 6f 2d 61 73 63 69 69 0a 20 "u".(org-ascii-export-to-ascii..
1ac0 20 20 20 20 20 20 20 6e 69 6c 20 6e 69 6c 20 6e 69 6c 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 27 .......nil.nil.nil.nil.........'
1ae0 28 3a 61 73 63 69 69 2d 63 68 61 72 73 65 74 20 75 74 66 2d 38 29 29 0a 20 20 20 20 20 20 20 22 (:ascii-charset.utf-8))........"
1b00 41 73 20 55 54 46 2d 38 20 66 69 6c 65 22 29 0a 20 20 28 22 62 22 20 68 79 64 72 61 2d 6f 78 2f As.UTF-8.file")...("b".hydra-ox/
1b20 62 6f 64 79 20 22 62 61 63 6b 22 29 0a 20 20 28 22 71 22 20 6e 69 6c 20 22 71 75 69 74 22 29 29 body."back")...("q".nil."quit"))
1b40 0a 0a 28 64 65 66 68 79 64 72 61 20 68 79 64 72 61 2d 6f 78 20 28 29 0a 20 20 22 0a 5f 43 2d 62 ..(defhydra.hydra-ox.()..."._C-b
1b60 5f 20 42 6f 64 79 20 6f 6e 6c 79 3a 20 20 20 20 25 20 2d 31 35 60 68 79 64 72 61 2d 6f 78 2f 62 _.Body.only:....%.-15`hydra-ox/b
1b80 6f 64 79 2d 6f 6e 6c 79 5e 5e 5e 20 5f 43 2d 76 5f 20 56 69 73 69 62 6c 65 20 6f 6e 6c 79 3a 20 ody-only^^^._C-v_.Visible.only:.
1ba0 20 20 20 20 25 60 68 79 64 72 61 2d 6f 78 2f 76 69 73 69 62 6c 65 2d 6f 6e 6c 79 0a 5f 43 2d 73 ....%`hydra-ox/visible-only._C-s
1bc0 5f 20 45 78 70 6f 72 74 20 73 63 6f 70 65 3a 20 25 20 2d 31 35 60 68 79 64 72 61 2d 6f 78 2f 65 _.Export.scope:.%.-15`hydra-ox/e
1be0 78 70 6f 72 74 2d 73 63 6f 70 65 20 5f 43 2d 66 5f 20 46 6f 72 63 65 20 70 75 62 6c 69 73 68 69 xport-scope._C-f_.Force.publishi
1c00 6e 67 3a 20 25 60 68 79 64 72 61 2d 6f 78 2f 66 6f 72 63 65 2d 70 75 62 6c 69 73 68 69 6e 67 0a ng:.%`hydra-ox/force-publishing.
1c20 5f 43 2d 61 5f 20 41 73 79 6e 63 20 65 78 70 6f 72 74 3a 20 25 60 68 79 64 72 61 2d 6f 78 2f 61 _C-a_.Async.export:.%`hydra-ox/a
1c40 73 79 6e 63 2d 65 78 70 6f 72 74 0a 0a 22 0a 20 20 28 22 43 2d 62 22 20 28 68 79 64 72 61 2d 6f sync-export.."...("C-b".(hydra-o
1c60 78 2f 62 6f 64 79 2d 6f 6e 6c 79 29 20 6e 69 6c 29 0a 20 20 28 22 43 2d 76 22 20 28 68 79 64 72 x/body-only).nil)...("C-v".(hydr
1c80 61 2d 6f 78 2f 76 69 73 69 62 6c 65 2d 6f 6e 6c 79 29 20 6e 69 6c 29 0a 20 20 28 22 43 2d 73 22 a-ox/visible-only).nil)...("C-s"
1ca0 20 28 68 79 64 72 61 2d 6f 78 2f 65 78 70 6f 72 74 2d 73 63 6f 70 65 29 20 6e 69 6c 29 0a 20 20 .(hydra-ox/export-scope).nil)...
1cc0 28 22 43 2d 66 22 20 28 68 79 64 72 61 2d 6f 78 2f 66 6f 72 63 65 2d 70 75 62 6c 69 73 68 69 6e ("C-f".(hydra-ox/force-publishin
1ce0 67 29 20 6e 69 6c 29 0a 20 20 28 22 43 2d 61 22 20 28 68 79 64 72 61 2d 6f 78 2f 61 73 79 6e 63 g).nil)...("C-a".(hydra-ox/async
1d00 2d 65 78 70 6f 72 74 29 20 6e 69 6c 29 0a 20 20 28 22 68 22 20 68 79 64 72 61 2d 6f 78 2d 68 74 -export).nil)...("h".hydra-ox-ht
1d20 6d 6c 2f 62 6f 64 79 20 22 45 78 70 6f 72 74 20 74 6f 20 48 54 4d 4c 22 20 3a 65 78 69 74 20 74 ml/body."Export.to.HTML".:exit.t
1d40 29 0a 20 20 28 22 6c 22 20 68 79 64 72 61 2d 6f 78 2d 6c 61 74 65 78 2f 62 6f 64 79 20 22 45 78 )...("l".hydra-ox-latex/body."Ex
1d60 70 6f 72 74 20 74 6f 20 4c 61 54 65 58 22 20 3a 65 78 69 74 20 74 29 0a 20 20 28 22 74 22 20 68 port.to.LaTeX".:exit.t)...("t".h
1d80 79 64 72 61 2d 6f 78 2d 74 65 78 74 2f 62 6f 64 79 20 22 45 78 70 6f 72 74 20 74 6f 20 50 6c 61 ydra-ox-text/body."Export.to.Pla
1da0 69 6e 20 54 65 78 74 22 20 3a 65 78 69 74 20 74 29 0a 20 20 28 22 71 22 20 6e 69 6c 20 22 71 75 in.Text".:exit.t)...("q".nil."qu
1dc0 69 74 22 29 29 0a 0a 28 64 65 66 69 6e 65 2d 6b 65 79 20 6f 72 67 2d 6d 6f 64 65 2d 6d 61 70 20 it"))..(define-key.org-mode-map.
1de0 28 6b 62 64 20 22 43 2d 63 20 43 2d 2c 22 29 20 27 68 79 64 72 61 2d 6f 78 2f 62 6f 64 79 29 0a (kbd."C-c.C-,").'hydra-ox/body).
1e00 0a 28 70 72 6f 76 69 64 65 20 27 68 79 64 72 61 2d 6f 78 29 0a 0a 3b 3b 3b 20 68 79 64 72 61 2d .(provide.'hydra-ox)..;;;.hydra-
1e20 6f 78 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ox.el.ends.here.................
1e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2000 68 79 64 72 61 2d 30 2e 31 35 2e 30 2f 68 79 64 72 61 2e 65 6c 00 00 00 00 00 00 00 00 00 00 00 hydra-0.15.0/hydra.el...........
2020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2060 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
2080 30 31 36 34 34 37 33 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 30 31 33 00 20 30 00 00 00 0164473.00000000000.013013..0...
20a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
20e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2100 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...................
2120 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...................
2140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
21e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
2200 3b 3b 3b 20 68 79 64 72 61 2e 65 6c 20 2d 2d 2d 20 4d 61 6b 65 20 62 69 6e 64 69 6e 67 73 20 74 ;;;.hydra.el.---.Make.bindings.t
2220 68 61 74 20 73 74 69 63 6b 20 61 72 6f 75 6e 64 2e 20 2d 2a 2d 20 6c 65 78 69 63 61 6c 2d 62 69 hat.stick.around..-*-.lexical-bi
2240 6e 64 69 6e 67 3a 20 74 20 2d 2a 2d 0a 0a 3b 3b 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 20 32 nding:.t.-*-..;;.Copyright.(C).2
2260 30 31 35 2d 32 30 31 39 20 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 015-2019..Free.Software.Foundati
2280 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 4f 6c 65 68 20 4b 72 65 68 65 6c on,.Inc...;;.Author:.Oleh.Krehel
22a0 20 3c 6f 68 77 6f 65 6f 77 68 6f 40 67 6d 61 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20 4d 61 69 6e 74 61 .<ohwoeowho@gmail.com>.;;.Mainta
22c0 69 6e 65 72 3a 20 4f 6c 65 68 20 4b 72 65 68 65 6c 20 3c 6f 68 77 6f 65 6f 77 68 6f 40 67 6d 61 iner:.Oleh.Krehel.<ohwoeowho@gma
22e0 69 6c 2e 63 6f 6d 3e 0a 3b 3b 20 55 52 4c 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 il.com>.;;.URL:.https://github.c
2300 6f 6d 2f 61 62 6f 2d 61 62 6f 2f 68 79 64 72 61 0a 3b 3b 20 56 65 72 73 69 6f 6e 3a 20 30 2e 31 om/abo-abo/hydra.;;.Version:.0.1
2320 35 2e 30 0a 3b 3b 20 4b 65 79 77 6f 72 64 73 3a 20 62 69 6e 64 69 6e 67 73 0a 3b 3b 20 50 61 63 5.0.;;.Keywords:.bindings.;;.Pac
2340 6b 61 67 65 2d 52 65 71 75 69 72 65 73 3a 20 28 28 63 6c 2d 6c 69 62 20 22 30 2e 35 22 29 20 28 kage-Requires:.((cl-lib."0.5").(
2360 6c 76 20 22 30 22 29 29 0a 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f lv."0"))..;;.This.file.is.part.o
2380 66 20 47 4e 55 20 45 6d 61 63 73 2e 0a 0a 3b 3b 20 47 4e 55 20 45 6d 61 63 73 20 69 73 20 66 72 f.GNU.Emacs...;;.GNU.Emacs.is.fr
23a0 65 65 20 73 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 ee.software:.you.can.redistribut
23c0 65 20 69 74 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 e.it.and/or.modify.;;.it.under.t
23e0 68 65 20 74 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c he.terms.of.the.GNU.General.Publ
2400 69 63 20 4c 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 3b 3b 20 74 68 ic.License.as.published.by.;;.th
2420 65 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 e.Free.Software.Foundation,.eith
2440 65 72 20 76 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a er.version.3.of.the.License,.or.
2460 3b 3b 20 28 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 ;;.(at.your.option).any.later.ve
2480 72 73 69 6f 6e 2e 0a 0a 3b 3b 20 47 4e 55 20 45 6d 61 63 73 20 69 73 20 64 69 73 74 72 69 62 75 rsion...;;.GNU.Emacs.is.distribu
24a0 74 65 64 20 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 ted.in.the.hope.that.it.will.be.
24c0 75 73 65 66 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 useful,.;;.but.WITHOUT.ANY.WARRA
24e0 4e 54 59 3b 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 NTY;.without.even.the.implied.wa
2500 72 72 61 6e 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 rranty.of.;;.MERCHANTABILITY.or.
2520 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 FITNESS.FOR.A.PARTICULAR.PURPOSE
2540 2e 20 20 53 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 ...See.the.;;.GNU.General.Public
2560 20 4c 69 63 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 .License.for.more.details...;;.Y
2580 6f 75 20 73 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f ou.should.have.received.a.copy.o
25a0 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 65 6e 73 65 f.the.GNU.General.Public.License
25c0 0a 3b 3b 20 61 6c 6f 6e 67 20 77 69 74 68 20 47 4e 55 20 45 6d 61 63 73 2e 20 20 49 66 20 6e 6f .;;.along.with.GNU.Emacs...If.no
25e0 74 2c 20 73 65 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e t,.see.<http://www.gnu.org/licen
2600 73 65 73 2f 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 3b 3b 0a 3b 3b 20 54 68 ses/>...;;;.Commentary:.;;.;;.Th
2620 69 73 20 70 61 63 6b 61 67 65 20 63 61 6e 20 62 65 20 75 73 65 64 20 74 6f 20 74 69 65 20 72 65 is.package.can.be.used.to.tie.re
2640 6c 61 74 65 64 20 63 6f 6d 6d 61 6e 64 73 20 69 6e 74 6f 20 61 20 66 61 6d 69 6c 79 20 6f 66 0a lated.commands.into.a.family.of.
2660 3b 3b 20 73 68 6f 72 74 20 62 69 6e 64 69 6e 67 73 20 77 69 74 68 20 61 20 63 6f 6d 6d 6f 6e 20 ;;.short.bindings.with.a.common.
2680 70 72 65 66 69 78 20 2d 20 61 20 48 79 64 72 61 2e 0a 3b 3b 0a 3b 3b 20 4f 6e 63 65 20 79 6f 75 prefix.-.a.Hydra..;;.;;.Once.you
26a0 20 73 75 6d 6d 6f 6e 20 74 68 65 20 48 79 64 72 61 20 28 74 68 72 6f 75 67 68 20 74 68 65 20 70 .summon.the.Hydra.(through.the.p
26c0 72 65 66 69 78 65 64 20 62 69 6e 64 69 6e 67 29 2c 20 61 6c 6c 20 74 68 65 0a 3b 3b 20 68 65 61 refixed.binding),.all.the.;;.hea
26e0 64 73 20 63 61 6e 20 62 65 20 63 61 6c 6c 65 64 20 69 6e 20 73 75 63 63 65 73 73 69 6f 6e 20 77 ds.can.be.called.in.succession.w
2700 69 74 68 20 6f 6e 6c 79 20 61 20 73 68 6f 72 74 20 65 78 74 65 6e 73 69 6f 6e 2e 0a 3b 3b 20 54 ith.only.a.short.extension..;;.T
2720 68 65 20 48 79 64 72 61 20 69 73 20 76 61 6e 71 75 69 73 68 65 64 20 6f 6e 63 65 20 48 65 72 63 he.Hydra.is.vanquished.once.Herc
2740 75 6c 65 73 2c 20 61 6e 79 20 62 69 6e 64 69 6e 67 20 74 68 61 74 20 69 73 6e 27 74 20 74 68 65 ules,.any.binding.that.isn't.the
2760 0a 3b 3b 20 48 79 64 72 61 27 73 20 68 65 61 64 2c 20 61 72 72 69 76 65 73 2e 20 20 4e 6f 74 65 .;;.Hydra's.head,.arrives...Note
2780 20 74 68 61 74 20 48 65 72 63 75 6c 65 73 2c 20 62 65 73 69 64 65 73 20 76 61 6e 71 75 69 73 68 .that.Hercules,.besides.vanquish
27a0 69 6e 67 20 74 68 65 0a 3b 3b 20 48 79 64 72 61 2c 20 77 69 6c 6c 20 73 74 69 6c 6c 20 73 65 72 ing.the.;;.Hydra,.will.still.ser
27c0 76 65 20 68 69 73 20 6f 72 69 67 6e 61 6c 20 70 75 72 70 6f 73 65 2c 20 63 61 6c 6c 69 6e 67 20 ve.his.orignal.purpose,.calling.
27e0 68 69 73 20 70 72 6f 70 65 72 0a 3b 3b 20 63 6f 6d 6d 61 6e 64 2e 20 20 54 68 69 73 20 6d 61 6b his.proper.;;.command...This.mak
2800 65 73 20 74 68 65 20 48 79 64 72 61 20 76 65 72 79 20 73 65 61 6d 6c 65 73 73 2c 20 69 74 27 73 es.the.Hydra.very.seamless,.it's
2820 20 6c 69 6b 65 20 61 20 6d 69 6e 6f 72 0a 3b 3b 20 6d 6f 64 65 20 74 68 61 74 20 64 69 73 61 62 .like.a.minor.;;.mode.that.disab
2840 6c 65 73 20 69 74 73 65 6c 66 20 61 75 74 6f 6d 61 67 69 63 61 6c 6c 79 2e 0a 3b 3b 0a 3b 3b 20 les.itself.automagically..;;.;;.
2860 48 65 72 65 27 73 20 61 6e 20 65 78 61 6d 70 6c 65 20 48 79 64 72 61 2c 20 62 6f 75 6e 64 20 69 Here's.an.example.Hydra,.bound.i
2880 6e 20 74 68 65 20 67 6c 6f 62 61 6c 20 6d 61 70 20 28 79 6f 75 20 63 61 6e 20 75 73 65 20 61 6e n.the.global.map.(you.can.use.an
28a0 79 0a 3b 3b 20 6b 65 79 6d 61 70 20 69 6e 20 70 6c 61 63 65 20 6f 66 20 60 67 6c 6f 62 61 6c 2d y.;;.keymap.in.place.of.`global-
28c0 6d 61 70 27 29 3a 0a 3b 3b 0a 3b 3b 20 20 20 20 20 28 64 65 66 68 79 64 72 61 20 68 79 64 72 61 map'):.;;.;;.....(defhydra.hydra
28e0 2d 7a 6f 6f 6d 20 28 67 6c 6f 62 61 6c 2d 6d 61 70 20 22 3c 66 32 3e 22 29 0a 3b 3b 20 20 20 20 -zoom.(global-map."<f2>").;;....
2900 20 20 20 22 7a 6f 6f 6d 22 0a 3b 3b 20 20 20 20 20 20 20 28 22 67 22 20 74 65 78 74 2d 73 63 61 ..."zoom".;;.......("g".text-sca
2920 6c 65 2d 69 6e 63 72 65 61 73 65 20 22 69 6e 22 29 0a 3b 3b 20 20 20 20 20 20 20 28 22 6c 22 20 le-increase."in").;;.......("l".
2940 74 65 78 74 2d 73 63 61 6c 65 2d 64 65 63 72 65 61 73 65 20 22 6f 75 74 22 29 29 0a 3b 3b 0a 3b text-scale-decrease."out")).;;.;
2960 3b 20 49 74 20 61 6c 6c 6f 77 73 20 74 6f 20 73 74 61 72 74 20 61 20 63 6f 6d 6d 61 6e 64 20 63 ;.It.allows.to.start.a.command.c
2980 68 61 69 6e 20 65 69 74 68 65 72 20 6c 69 6b 65 20 74 68 69 73 3a 0a 3b 3b 20 22 3c 66 32 3e 20 hain.either.like.this:.;;."<f2>.
29a0 67 67 34 6c 6c 35 67 22 2c 20 6f 72 20 22 3c 66 32 3e 20 6c 67 6c 6c 67 22 2e 0a 3b 3b 0a 3b 3b gg4ll5g",.or."<f2>.lgllg"..;;.;;
29c0 20 48 65 72 65 27 73 20 61 6e 6f 74 68 65 72 20 61 70 70 72 6f 61 63 68 2c 20 77 68 65 6e 20 79 .Here's.another.approach,.when.y
29e0 6f 75 20 6a 75 73 74 20 77 61 6e 74 20 61 20 22 63 61 6c 6c 61 62 6c 65 20 6b 65 79 6d 61 70 22 ou.just.want.a."callable.keymap"
2a00 3a 0a 3b 3b 0a 3b 3b 20 20 20 20 20 28 64 65 66 68 79 64 72 61 20 68 79 64 72 61 2d 74 6f 67 67 :.;;.;;.....(defhydra.hydra-togg
2a20 6c 65 20 28 3a 63 6f 6c 6f 72 20 62 6c 75 65 29 0a 3b 3b 20 20 20 20 20 20 20 22 74 6f 67 67 6c le.(:color.blue).;;......."toggl
2a40 65 22 0a 3b 3b 20 20 20 20 20 20 20 28 22 61 22 20 61 62 62 72 65 76 2d 6d 6f 64 65 20 22 61 62 e".;;.......("a".abbrev-mode."ab
2a60 62 72 65 76 22 29 0a 3b 3b 20 20 20 20 20 20 20 28 22 64 22 20 74 6f 67 67 6c 65 2d 64 65 62 75 brev").;;.......("d".toggle-debu
2a80 67 2d 6f 6e 2d 65 72 72 6f 72 20 22 64 65 62 75 67 22 29 0a 3b 3b 20 20 20 20 20 20 20 28 22 66 g-on-error."debug").;;.......("f
2aa0 22 20 61 75 74 6f 2d 66 69 6c 6c 2d 6d 6f 64 65 20 22 66 69 6c 6c 22 29 0a 3b 3b 20 20 20 20 20 ".auto-fill-mode."fill").;;.....
2ac0 20 20 28 22 74 22 20 74 6f 67 67 6c 65 2d 74 72 75 6e 63 61 74 65 2d 6c 69 6e 65 73 20 22 74 72 ..("t".toggle-truncate-lines."tr
2ae0 75 6e 63 61 74 65 22 29 0a 3b 3b 20 20 20 20 20 20 20 28 22 77 22 20 77 68 69 74 65 73 70 61 63 uncate").;;.......("w".whitespac
2b00 65 2d 6d 6f 64 65 20 22 77 68 69 74 65 73 70 61 63 65 22 29 0a 3b 3b 20 20 20 20 20 20 20 28 22 e-mode."whitespace").;;.......("
2b20 71 22 20 6e 69 6c 20 22 63 61 6e 63 65 6c 22 29 29 0a 3b 3b 0a 3b 3b 20 54 68 69 73 20 62 69 6e q".nil."cancel")).;;.;;.This.bin
2b40 64 73 20 6e 6f 74 68 69 6e 67 20 73 6f 20 66 61 72 2c 20 62 75 74 20 69 66 20 79 6f 75 20 66 6f ds.nothing.so.far,.but.if.you.fo
2b60 6c 6c 6f 77 20 75 70 20 77 69 74 68 3a 0a 3b 3b 0a 3b 3b 20 20 20 20 20 28 67 6c 6f 62 61 6c 2d llow.up.with:.;;.;;.....(global-
2b80 73 65 74 2d 6b 65 79 20 28 6b 62 64 20 22 43 2d 63 20 43 2d 76 22 29 20 27 68 79 64 72 61 2d 74 set-key.(kbd."C-c.C-v").'hydra-t
2ba0 6f 67 67 6c 65 2f 62 6f 64 79 29 0a 3b 3b 0a 3b 3b 20 79 6f 75 20 77 69 6c 6c 20 68 61 76 65 20 oggle/body).;;.;;.you.will.have.
2bc0 62 6f 75 6e 64 20 22 43 2d 63 20 43 2d 76 20 61 22 2c 20 22 43 2d 63 20 43 2d 76 20 64 22 20 65 bound."C-c.C-v.a",."C-c.C-v.d".e
2be0 74 63 2e 0a 3b 3b 0a 3b 3b 20 4b 6e 6f 77 69 6e 67 20 74 68 61 74 20 60 64 65 66 68 79 64 72 61 tc..;;.;;.Knowing.that.`defhydra
2c00 27 20 64 65 66 69 6e 65 73 20 65 2e 67 2e 20 60 68 79 64 72 61 2d 74 6f 67 67 6c 65 2f 62 6f 64 '.defines.e.g..`hydra-toggle/bod
2c20 79 27 20 63 6f 6d 6d 61 6e 64 2c 0a 3b 3b 20 79 6f 75 20 63 61 6e 20 6e 65 73 74 20 48 79 64 72 y'.command,.;;.you.can.nest.Hydr
2c40 61 73 20 69 66 20 79 6f 75 20 77 69 73 68 2c 20 77 69 74 68 20 60 68 79 64 72 61 2d 74 6f 67 67 as.if.you.wish,.with.`hydra-togg
2c60 6c 65 2f 62 6f 64 79 27 20 70 6f 73 73 69 62 6c 79 0a 3b 3b 20 62 65 63 6f 6d 69 6e 67 20 61 20 le/body'.possibly.;;.becoming.a.
2c80 62 6c 75 65 20 68 65 61 64 20 6f 66 20 61 6e 6f 74 68 65 72 20 48 79 64 72 61 2e 0a 3b 3b 0a 3b blue.head.of.another.Hydra..;;.;
2ca0 3b 20 49 66 20 79 6f 75 20 77 61 6e 74 20 74 6f 20 6c 65 61 72 6e 20 61 6c 6c 20 69 6e 74 72 69 ;.If.you.want.to.learn.all.intri
2cc0 63 61 63 69 65 73 20 6f 66 20 75 73 69 6e 67 20 60 64 65 66 68 79 64 72 61 27 20 77 69 74 68 6f cacies.of.using.`defhydra'.witho
2ce0 75 74 0a 3b 3b 20 68 61 76 69 6e 67 20 74 6f 20 66 69 67 75 72 65 20 69 74 20 61 6c 6c 20 6f 75 ut.;;.having.to.figure.it.all.ou
2d00 74 20 66 72 6f 6d 20 74 68 69 73 20 73 6f 75 72 63 65 20 63 6f 64 65 2c 20 63 68 65 63 6b 20 6f t.from.this.source.code,.check.o
2d20 75 74 20 74 68 65 0a 3b 3b 20 77 69 6b 69 3a 20 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 ut.the.;;.wiki:.https://github.c
2d40 6f 6d 2f 61 62 6f 2d 61 62 6f 2f 68 79 64 72 61 2f 77 69 6b 69 2e 20 54 68 65 72 65 27 73 20 61 om/abo-abo/hydra/wiki..There's.a
2d60 20 77 65 61 6c 74 68 20 6f 66 0a 3b 3b 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 74 68 65 72 65 2e .wealth.of.;;.information.there.
2d80 20 45 76 65 72 79 6f 6e 65 20 69 73 20 77 65 6c 63 6f 6d 65 20 74 6f 20 62 72 69 6e 67 20 74 68 .Everyone.is.welcome.to.bring.th
2da0 65 20 65 78 69 73 74 69 6e 67 20 70 61 67 65 73 0a 3b 3b 20 75 70 20 74 6f 20 64 61 74 65 20 61 e.existing.pages.;;.up.to.date.a
2dc0 6e 64 20 61 64 64 20 6e 65 77 20 6f 6e 65 73 2e 0a 3b 3b 0a 3b 3b 20 41 64 64 69 74 69 6f 6e 61 nd.add.new.ones..;;.;;.Additiona
2de0 6c 6c 79 2c 20 74 68 65 20 66 69 6c 65 20 68 79 64 72 61 2d 65 78 61 6d 70 6c 65 73 2e 65 6c 20 lly,.the.file.hydra-examples.el.
2e00 73 65 72 76 65 73 20 74 6f 20 64 65 6d 6f 20 6d 6f 73 74 20 6f 66 20 74 68 65 0a 3b 3b 20 66 75 serves.to.demo.most.of.the.;;.fu
2e20 6e 63 74 69 6f 6e 61 6c 69 74 79 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 3b 3b 2a 20 52 65 71 75 nctionality...;;;.Code:.;;*.Requ
2e40 69 72 65 73 0a 28 72 65 71 75 69 72 65 20 27 63 6c 2d 6c 69 62 29 0a 28 72 65 71 75 69 72 65 20 ires.(require.'cl-lib).(require.
2e60 27 6c 76 29 0a 28 72 65 71 75 69 72 65 20 27 72 69 6e 67 29 0a 0a 28 64 65 66 76 61 72 20 68 79 'lv).(require.'ring)..(defvar.hy
2e80 64 72 61 2d 63 75 72 72 2d 6d 61 70 20 6e 69 6c 0a 20 20 22 54 68 65 20 6b 65 79 6d 61 70 20 6f dra-curr-map.nil..."The.keymap.o
2ea0 66 20 74 68 65 20 63 75 72 72 65 6e 74 20 48 79 64 72 61 20 63 61 6c 6c 65 64 2e 22 29 0a 0a 28 f.the.current.Hydra.called.")..(
2ec0 64 65 66 76 61 72 20 68 79 64 72 61 2d 63 75 72 72 2d 6f 6e 2d 65 78 69 74 20 6e 69 6c 0a 20 20 defvar.hydra-curr-on-exit.nil...
2ee0 22 54 68 65 20 6f 6e 2d 65 78 69 74 20 70 72 65 64 69 63 61 74 65 20 66 6f 72 20 74 68 65 20 63 "The.on-exit.predicate.for.the.c
2f00 75 72 72 65 6e 74 20 48 79 64 72 61 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 68 79 64 72 61 2d 63 urrent.Hydra.")..(defvar.hydra-c
2f20 75 72 72 2d 66 6f 72 65 69 67 6e 2d 6b 65 79 73 20 6e 69 6c 0a 20 20 22 54 68 65 20 63 75 72 72 urr-foreign-keys.nil..."The.curr
2f40 65 6e 74 20 3a 66 6f 72 65 69 67 6e 2d 6b 65 79 73 20 62 65 68 61 76 69 6f 72 2e 22 29 0a 0a 28 ent.:foreign-keys.behavior.")..(
2f60 64 65 66 76 61 72 20 68 79 64 72 61 2d 63 75 72 72 2d 62 6f 64 79 2d 66 6e 20 6e 69 6c 0a 20 20 defvar.hydra-curr-body-fn.nil...
2f80 22 54 68 65 20 63 75 72 72 65 6e 74 20 68 79 64 72 61 2d 2e 2e 2e 2f 62 6f 64 79 20 66 75 6e 63 "The.current.hydra-.../body.func
2fa0 74 69 6f 6e 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 68 79 64 72 61 2d 64 65 61 63 74 69 76 61 74 tion.")..(defvar.hydra-deactivat
2fc0 65 20 6e 69 6c 0a 20 20 22 49 66 20 61 20 48 79 64 72 61 20 68 65 61 64 20 73 65 74 73 20 74 68 e.nil..."If.a.Hydra.head.sets.th
2fe0 69 73 20 74 6f 20 74 2c 20 65 78 69 74 20 74 68 65 20 48 79 64 72 61 2e 0a 54 68 69 73 20 77 69 is.to.t,.exit.the.Hydra..This.wi
3000 6c 6c 20 62 65 20 64 6f 6e 65 20 65 76 65 6e 20 69 66 20 74 68 65 20 68 65 61 64 20 77 61 73 6e ll.be.done.even.if.the.head.wasn
3020 27 74 20 64 65 73 69 67 6e 61 74 65 64 20 66 6f 72 20 65 78 69 74 69 6e 67 2e 22 29 0a 0a 28 64 't.designated.for.exiting.")..(d
3040 65 66 76 61 72 20 68 79 64 72 61 2d 61 6d 61 72 61 6e 74 68 2d 77 61 72 6e 2d 6d 65 73 73 61 67 efvar.hydra-amaranth-warn-messag
3060 65 20 22 41 6e 20 61 6d 61 72 61 6e 74 68 20 48 79 64 72 61 20 63 61 6e 20 6f 6e 6c 79 20 65 78 e."An.amaranth.Hydra.can.only.ex
3080 69 74 20 74 68 72 6f 75 67 68 20 61 20 62 6c 75 65 20 68 65 61 64 22 0a 20 20 22 41 6d 61 72 61 it.through.a.blue.head"..."Amara
30a0 6e 74 68 20 57 61 72 6e 69 6e 67 20 6d 65 73 73 61 67 65 2e 20 20 53 68 6f 77 6e 20 77 68 65 6e nth.Warning.message...Shown.when
30c0 20 74 68 65 20 75 73 65 72 20 74 72 69 65 73 20 74 6f 20 70 72 65 73 73 20 61 6e 20 75 6e 62 6f .the.user.tries.to.press.an.unbo
30e0 75 6e 64 2f 6e 6f 6e 2d 65 78 69 74 20 6b 65 79 20 77 68 69 6c 65 20 69 6e 20 61 6e 20 61 6d 61 und/non-exit.key.while.in.an.ama
3100 72 61 6e 74 68 20 68 65 61 64 2e 22 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 73 65 74 2d ranth.head.")..(defun.hydra-set-
3120 74 72 61 6e 73 69 65 6e 74 2d 6d 61 70 20 28 6b 65 79 6d 61 70 20 6f 6e 2d 65 78 69 74 20 26 6f transient-map.(keymap.on-exit.&o
3140 70 74 69 6f 6e 61 6c 20 66 6f 72 65 69 67 6e 2d 6b 65 79 73 29 0a 20 20 22 53 65 74 20 4b 45 59 ptional.foreign-keys)..."Set.KEY
3160 4d 41 50 20 74 6f 20 74 68 65 20 68 69 67 68 65 73 74 20 70 72 69 6f 72 69 74 79 2e 0a 0a 43 61 MAP.to.the.highest.priority...Ca
3180 6c 6c 20 4f 4e 2d 45 58 49 54 20 77 68 65 6e 20 74 68 65 20 4b 45 59 4d 41 50 20 69 73 20 64 65 ll.ON-EXIT.when.the.KEYMAP.is.de
31a0 61 63 74 69 76 61 74 65 64 2e 0a 0a 46 4f 52 45 49 47 4e 2d 4b 45 59 53 20 64 65 74 65 72 6d 69 activated...FOREIGN-KEYS.determi
31c0 6e 65 73 20 74 68 65 20 64 65 61 63 74 69 76 61 74 69 6f 6e 20 62 65 68 61 76 69 6f 72 2c 20 77 nes.the.deactivation.behavior,.w
31e0 68 65 6e 20 61 20 63 6f 6d 6d 61 6e 64 0a 74 68 61 74 20 69 73 6e 27 74 20 69 6e 20 4b 45 59 4d hen.a.command.that.isn't.in.KEYM
3200 41 50 20 69 73 20 63 61 6c 6c 65 64 3a 0a 0a 6e 69 6c 3a 20 64 65 61 63 74 69 76 61 74 65 20 4b AP.is.called:..nil:.deactivate.K
3220 45 59 4d 41 50 20 61 6e 64 20 72 75 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 2e 0a 72 75 6e 3a 20 EYMAP.and.run.the.command..run:.
3240 6b 65 65 70 20 4b 45 59 4d 41 50 20 61 6e 64 20 72 75 6e 20 74 68 65 20 63 6f 6d 6d 61 6e 64 2e keep.KEYMAP.and.run.the.command.
3260 0a 77 61 72 6e 3a 20 6b 65 65 70 20 4b 45 59 4d 41 50 20 61 6e 64 20 69 73 73 75 65 20 61 20 77 .warn:.keep.KEYMAP.and.issue.a.w
3280 61 72 6e 69 6e 67 20 69 6e 73 74 65 61 64 20 6f 66 20 72 75 6e 6e 69 6e 67 20 74 68 65 20 63 6f arning.instead.of.running.the.co
32a0 6d 6d 61 6e 64 2e 22 0a 20 20 28 69 66 20 68 79 64 72 61 2d 64 65 61 63 74 69 76 61 74 65 0a 20 mmand."...(if.hydra-deactivate..
32c0 20 20 20 20 20 28 68 79 64 72 61 2d 6b 65 79 62 6f 61 72 64 2d 71 75 69 74 29 0a 20 20 20 20 28 .....(hydra-keyboard-quit).....(
32e0 73 65 74 71 20 68 79 64 72 61 2d 63 75 72 72 2d 6d 61 70 20 6b 65 79 6d 61 70 29 0a 20 20 20 20 setq.hydra-curr-map.keymap).....
3300 28 73 65 74 71 20 68 79 64 72 61 2d 63 75 72 72 2d 6f 6e 2d 65 78 69 74 20 6f 6e 2d 65 78 69 74 (setq.hydra-curr-on-exit.on-exit
3320 29 0a 20 20 20 20 28 73 65 74 71 20 68 79 64 72 61 2d 63 75 72 72 2d 66 6f 72 65 69 67 6e 2d 6b ).....(setq.hydra-curr-foreign-k
3340 65 79 73 20 66 6f 72 65 69 67 6e 2d 6b 65 79 73 29 0a 20 20 20 20 28 61 64 64 2d 68 6f 6f 6b 20 eys.foreign-keys).....(add-hook.
3360 27 70 72 65 2d 63 6f 6d 6d 61 6e 64 2d 68 6f 6f 6b 20 27 68 79 64 72 61 2d 2d 63 6c 65 61 72 66 'pre-command-hook.'hydra--clearf
3380 75 6e 29 0a 20 20 20 20 28 69 6e 74 65 72 6e 61 6c 2d 70 75 73 68 2d 6b 65 79 6d 61 70 20 6b 65 un).....(internal-push-keymap.ke
33a0 79 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 6c 6f 63 61 6c 2d ymap.'overriding-terminal-local-
33c0 6d 61 70 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 2d 63 6c 65 61 72 66 75 6e 20 28 map)))..(defun.hydra--clearfun.(
33e0 29 0a 20 20 22 44 69 73 61 62 6c 65 20 74 68 65 20 63 75 72 72 65 6e 74 20 48 79 64 72 61 20 75 )..."Disable.the.current.Hydra.u
3400 6e 6c 65 73 73 20 60 74 68 69 73 2d 63 6f 6d 6d 61 6e 64 27 20 69 73 20 61 20 68 65 61 64 2e 22 nless.`this-command'.is.a.head."
3420 0a 20 20 28 75 6e 6c 65 73 73 20 28 65 71 20 74 68 69 73 2d 63 6f 6d 6d 61 6e 64 20 27 68 79 64 ...(unless.(eq.this-command.'hyd
3440 72 61 2d 70 61 75 73 65 2d 72 65 73 75 6d 65 29 0a 20 20 20 20 28 77 68 65 6e 20 28 6f 72 0a 20 ra-pause-resume).....(when.(or..
3460 20 20 20 20 20 20 20 20 20 20 28 6d 65 6d 71 20 74 68 69 73 2d 63 6f 6d 6d 61 6e 64 20 27 28 68 ..........(memq.this-command.'(h
3480 61 6e 64 6c 65 2d 73 77 69 74 63 68 2d 66 72 61 6d 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 andle-switch-frame..............
34a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6b 65 79 62 6f 61 72 64 2d 71 75 69 74 ...................keyboard-quit
34c0 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6e 75 6c 6c 20 6f 76 65 72 72 69 64 69 6e 67 2d 74 ))............(null.overriding-t
34e0 65 72 6d 69 6e 61 6c 2d 6c 6f 63 61 6c 2d 6d 61 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6e erminal-local-map)............(n
3500 6f 74 20 28 6f 72 20 28 65 71 20 74 68 69 73 2d 63 6f 6d 6d 61 6e 64 0a 20 20 20 20 20 20 20 20 ot.(or.(eq.this-command.........
3520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 6f 6f 6b 75 70 2d 6b 65 79 20 68 79 64 72 ................(lookup-key.hydr
3540 61 2d 63 75 72 72 2d 6d 61 70 20 28 74 68 69 73 2d 73 69 6e 67 6c 65 2d 63 6f 6d 6d 61 6e 64 2d a-curr-map.(this-single-command-
3560 6b 65 79 73 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 6c 2d keys))).....................(cl-
3580 63 61 73 65 20 68 79 64 72 61 2d 63 75 72 72 2d 66 6f 72 65 69 67 6e 2d 6b 65 79 73 0a 20 20 20 case.hydra-curr-foreign-keys....
35a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 61 72 6e 0a 20 20 20 20 20 20 20 ...................(warn........
35c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 74 68 69 73 2d 63 6f 6d 6d 61 ................(setq.this-comma
35e0 6e 64 20 27 68 79 64 72 61 2d 61 6d 61 72 61 6e 74 68 2d 77 61 72 6e 29 29 0a 20 20 20 20 20 20 nd.'hydra-amaranth-warn)).......
3600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 72 75 6e 0a 20 20 20 20 20 20 20 20 20 20 20 ................(run............
3620 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)..................
3640 20 20 20 20 20 28 74 20 6e 69 6c 29 29 29 29 29 0a 20 20 20 20 20 20 28 68 79 64 72 61 2d 64 69 .....(t.nil))))).......(hydra-di
3660 73 61 62 6c 65 29 29 29 29 0a 0a 28 64 65 66 76 61 72 20 68 79 64 72 61 2d 2d 69 67 6e 6f 72 65 sable))))..(defvar.hydra--ignore
3680 20 6e 69 6c 0a 20 20 22 57 68 65 6e 20 6e 6f 6e 2d 6e 69 6c 2c 20 64 6f 6e 27 74 20 63 61 6c 6c .nil..."When.non-nil,.don't.call
36a0 20 60 68 79 64 72 61 2d 63 75 72 72 2d 6f 6e 2d 65 78 69 74 27 2e 22 29 0a 0a 28 64 65 66 76 61 .`hydra-curr-on-exit'.")..(defva
36c0 72 20 68 79 64 72 61 2d 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 2d 66 75 6e 63 74 69 6f 6e 20 6e r.hydra--input-method-function.n
36e0 69 6c 0a 20 20 22 53 74 6f 72 65 20 6f 76 65 72 72 69 64 64 65 6e 20 60 69 6e 70 75 74 2d 6d 65 il..."Store.overridden.`input-me
3700 74 68 6f 64 2d 66 75 6e 63 74 69 6f 6e 27 20 68 65 72 65 2e 22 29 0a 0a 28 64 65 66 75 6e 20 68 thod-function'.here.")..(defun.h
3720 79 64 72 61 2d 64 69 73 61 62 6c 65 20 28 29 0a 20 20 22 44 69 73 61 62 6c 65 20 74 68 65 20 63 ydra-disable.()..."Disable.the.c
3740 75 72 72 65 6e 74 20 48 79 64 72 61 2e 22 0a 20 20 28 73 65 74 71 20 68 79 64 72 61 2d 64 65 61 urrent.Hydra."...(setq.hydra-dea
3760 63 74 69 76 61 74 65 20 6e 69 6c 29 0a 20 20 28 72 65 6d 6f 76 65 2d 68 6f 6f 6b 20 27 70 72 65 ctivate.nil)...(remove-hook.'pre
3780 2d 63 6f 6d 6d 61 6e 64 2d 68 6f 6f 6b 20 27 68 79 64 72 61 2d 2d 63 6c 65 61 72 66 75 6e 29 0a -command-hook.'hydra--clearfun).
37a0 20 20 28 75 6e 6c 65 73 73 20 68 79 64 72 61 2d 2d 69 67 6e 6f 72 65 0a 20 20 20 20 28 69 66 20 ..(unless.hydra--ignore.....(if.
37c0 28 66 62 6f 75 6e 64 70 20 27 72 65 6d 6f 76 65 2d 66 75 6e 63 74 69 6f 6e 29 0a 20 20 20 20 20 (fboundp.'remove-function)......
37e0 20 20 20 28 72 65 6d 6f 76 65 2d 66 75 6e 63 74 69 6f 6e 20 69 6e 70 75 74 2d 6d 65 74 68 6f 64 ...(remove-function.input-method
3800 2d 66 75 6e 63 74 69 6f 6e 20 23 27 68 79 64 72 61 2d 2d 69 6d 66 29 0a 20 20 20 20 20 20 28 77 -function.#'hydra--imf).......(w
3820 68 65 6e 20 68 79 64 72 61 2d 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 2d 66 75 6e 63 74 69 6f 6e hen.hydra--input-method-function
3840 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 69 6e 70 75 74 2d 6d 65 74 68 6f 64 2d 66 75 6e 63 .........(setq.input-method-func
3860 74 69 6f 6e 20 68 79 64 72 61 2d 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 2d 66 75 6e 63 74 69 6f tion.hydra--input-method-functio
3880 6e 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 68 79 64 72 61 2d 2d 69 6e 70 75 74 2d 6d 65 n).........(setq.hydra--input-me
38a0 74 68 6f 64 2d 66 75 6e 63 74 69 6f 6e 20 6e 69 6c 29 29 29 29 0a 20 20 28 64 6f 6c 69 73 74 20 thod-function.nil))))...(dolist.
38c0 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 28 77 69 74 68 2d 73 (frame.(frame-list)).....(with-s
38e0 65 6c 65 63 74 65 64 2d 66 72 61 6d 65 20 66 72 61 6d 65 0a 20 20 20 20 20 20 28 77 68 65 6e 20 elected-frame.frame.......(when.
3900 6f 76 65 72 72 69 64 69 6e 67 2d 74 65 72 6d 69 6e 61 6c 2d 6c 6f 63 61 6c 2d 6d 61 70 0a 20 20 overriding-terminal-local-map...
3920 20 20 20 20 20 20 28 69 6e 74 65 72 6e 61 6c 2d 70 6f 70 2d 6b 65 79 6d 61 70 20 68 79 64 72 61 ......(internal-pop-keymap.hydra
3940 2d 63 75 72 72 2d 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 6c -curr-map.'overriding-terminal-l
3960 6f 63 61 6c 2d 6d 61 70 29 29 29 29 0a 20 20 28 75 6e 6c 65 73 73 20 68 79 64 72 61 2d 2d 69 67 ocal-map))))...(unless.hydra--ig
3980 6e 6f 72 65 0a 20 20 20 20 28 77 68 65 6e 20 68 79 64 72 61 2d 63 75 72 72 2d 6f 6e 2d 65 78 69 nore.....(when.hydra-curr-on-exi
39a0 74 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 6f 6e 2d 65 78 69 74 20 68 79 64 72 61 2d 63 75 72 t.......(let.((on-exit.hydra-cur
39c0 72 2d 6f 6e 2d 65 78 69 74 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 68 79 64 72 61 2d r-on-exit)).........(setq.hydra-
39e0 63 75 72 72 2d 6f 6e 2d 65 78 69 74 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 curr-on-exit.nil).........(funca
3a00 6c 6c 20 6f 6e 2d 65 78 69 74 29 29 29 29 29 0a 0a 28 75 6e 6c 65 73 73 20 28 66 62 6f 75 6e 64 ll.on-exit)))))..(unless.(fbound
3a20 70 20 27 69 6e 74 65 72 6e 61 6c 2d 70 75 73 68 2d 6b 65 79 6d 61 70 29 0a 20 20 28 64 65 66 75 p.'internal-push-keymap)...(defu
3a40 6e 20 69 6e 74 65 72 6e 61 6c 2d 70 75 73 68 2d 6b 65 79 6d 61 70 20 28 6b 65 79 6d 61 70 20 73 n.internal-push-keymap.(keymap.s
3a60 79 6d 62 6f 6c 29 0a 20 20 20 20 28 6c 65 74 20 28 28 6d 61 70 20 28 73 79 6d 62 6f 6c 2d 76 61 ymbol).....(let.((map.(symbol-va
3a80 6c 75 65 20 73 79 6d 62 6f 6c 29 29 29 0a 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 6d 65 6d lue.symbol))).......(unless.(mem
3aa0 71 20 6b 65 79 6d 61 70 20 6d 61 70 29 0a 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 6d q.keymap.map).........(unless.(m
3ac0 65 6d 71 20 27 61 64 64 2d 6b 65 79 6d 61 70 2d 77 69 74 6e 65 73 73 20 28 73 79 6d 62 6f 6c 2d emq.'add-keymap-witness.(symbol-
3ae0 76 61 6c 75 65 20 73 79 6d 62 6f 6c 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 6d value.symbol))...........(setq.m
3b00 61 70 20 28 6d 61 6b 65 2d 63 6f 6d 70 6f 73 65 64 2d 6b 65 79 6d 61 70 20 6e 69 6c 20 28 73 79 ap.(make-composed-keymap.nil.(sy
3b20 6d 62 6f 6c 2d 76 61 6c 75 65 20 73 79 6d 62 6f 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 mbol-value.symbol)))...........(
3b40 70 75 73 68 20 27 61 64 64 2d 6b 65 79 6d 61 70 2d 77 69 74 6e 65 73 73 20 28 63 64 72 20 6d 61 push.'add-keymap-witness.(cdr.ma
3b60 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 20 73 79 6d 62 6f 6c 20 6d 61 70 29 29 0a p))...........(set.symbol.map)).
3b80 20 20 20 20 20 20 20 20 28 70 75 73 68 20 6b 65 79 6d 61 70 20 28 63 64 72 20 6d 61 70 29 29 29 ........(push.keymap.(cdr.map)))
3ba0 29 29 29 0a 0a 28 75 6e 6c 65 73 73 20 28 66 62 6f 75 6e 64 70 20 27 69 6e 74 65 72 6e 61 6c 2d )))..(unless.(fboundp.'internal-
3bc0 70 6f 70 2d 6b 65 79 6d 61 70 29 0a 20 20 28 64 65 66 75 6e 20 69 6e 74 65 72 6e 61 6c 2d 70 6f pop-keymap)...(defun.internal-po
3be0 70 2d 6b 65 79 6d 61 70 20 28 6b 65 79 6d 61 70 20 73 79 6d 62 6f 6c 29 0a 20 20 20 20 28 6c 65 p-keymap.(keymap.symbol).....(le
3c00 74 20 28 28 6d 61 70 20 28 73 79 6d 62 6f 6c 2d 76 61 6c 75 65 20 73 79 6d 62 6f 6c 29 29 29 0a t.((map.(symbol-value.symbol))).
3c20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6d 65 6d 71 20 6b 65 79 6d 61 70 20 6d 61 70 29 0a 20 20 ......(when.(memq.keymap.map)...
3c40 20 20 20 20 20 20 28 73 65 74 66 20 28 63 64 72 20 6d 61 70 29 20 28 64 65 6c 71 20 6b 65 79 6d ......(setf.(cdr.map).(delq.keym
3c60 61 70 20 28 63 64 72 20 6d 61 70 29 29 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 74 61 69 ap.(cdr.map)))).......(let.((tai
3c80 6c 20 28 63 64 64 72 20 6d 61 70 29 29 29 0a 20 20 20 20 20 20 20 20 28 61 6e 64 20 28 6f 72 20 l.(cddr.map))).........(and.(or.
3ca0 28 6e 75 6c 6c 20 74 61 69 6c 29 20 28 6b 65 79 6d 61 70 70 20 74 61 69 6c 29 29 0a 20 20 20 20 (null.tail).(keymapp.tail)).....
3cc0 20 20 20 20 20 20 20 20 20 28 65 71 20 27 61 64 64 2d 6b 65 79 6d 61 70 2d 77 69 74 6e 65 73 73 .........(eq.'add-keymap-witness
3ce0 20 28 6e 74 68 20 31 20 6d 61 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 20 .(nth.1.map))..............(set.
3d00 73 79 6d 62 6f 6c 20 74 61 69 6c 29 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d symbol.tail))))))..(defun.hydra-
3d20 61 6d 61 72 61 6e 74 68 2d 77 61 72 6e 20 28 29 0a 20 20 22 49 73 73 75 65 20 61 20 77 61 72 6e amaranth-warn.()..."Issue.a.warn
3d40 69 6e 67 20 74 68 61 74 20 74 68 65 20 63 75 72 72 65 6e 74 20 69 6e 70 75 74 20 77 61 73 20 69 ing.that.the.current.input.was.i
3d60 67 6e 6f 72 65 64 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 6d 65 73 73 gnored."...(interactive)...(mess
3d80 61 67 65 20 68 79 64 72 61 2d 61 6d 61 72 61 6e 74 68 2d 77 61 72 6e 2d 6d 65 73 73 61 67 65 29 age.hydra-amaranth-warn-message)
3da0 29 0a 0a 3b 3b 2a 20 43 75 73 74 6f 6d 69 7a 65 0a 28 64 65 66 67 72 6f 75 70 20 68 79 64 72 61 )..;;*.Customize.(defgroup.hydra
3dc0 20 6e 69 6c 0a 20 20 22 4d 61 6b 65 20 62 69 6e 64 69 6e 67 73 20 74 68 61 74 20 73 74 69 63 6b .nil..."Make.bindings.that.stick
3de0 20 61 72 6f 75 6e 64 2e 22 0a 20 20 3a 67 72 6f 75 70 20 27 62 69 6e 64 69 6e 67 73 0a 20 20 3a .around."...:group.'bindings...:
3e00 70 72 65 66 69 78 20 22 68 79 64 72 61 2d 22 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 68 79 64 prefix."hydra-")..(defcustom.hyd
3e20 72 61 2d 69 73 2d 68 65 6c 70 66 75 6c 20 74 0a 20 20 22 57 68 65 6e 20 74 2c 20 64 69 73 70 6c ra-is-helpful.t..."When.t,.displ
3e40 61 79 20 61 20 68 69 6e 74 20 77 69 74 68 20 70 6f 73 73 69 62 6c 65 20 62 69 6e 64 69 6e 67 73 ay.a.hint.with.possible.bindings
3e60 20 69 6e 20 74 68 65 20 65 63 68 6f 20 61 72 65 61 2e 22 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f .in.the.echo.area."...:type.'boo
3e80 6c 65 61 6e 0a 20 20 3a 67 72 6f 75 70 20 27 68 79 64 72 61 29 0a 0a 28 64 65 66 63 75 73 74 6f lean...:group.'hydra)..(defcusto
3ea0 6d 20 68 79 64 72 61 2d 64 65 66 61 75 6c 74 2d 68 69 6e 74 20 22 22 0a 20 20 22 44 65 66 61 75 m.hydra-default-hint.""..."Defau
3ec0 6c 74 20 3a 68 69 6e 74 20 70 72 6f 70 65 72 74 79 20 74 6f 20 75 73 65 20 66 6f 72 20 68 65 61 lt.:hint.property.to.use.for.hea
3ee0 64 73 20 77 68 65 6e 20 6e 6f 74 20 73 70 65 63 69 66 69 65 64 20 69 6e 0a 74 68 65 20 62 6f 64 ds.when.not.specified.in.the.bod
3f00 79 20 6f 72 20 74 68 65 20 68 65 61 64 2e 22 0a 20 20 3a 74 79 70 65 20 27 73 65 78 70 0a 20 20 y.or.the.head."...:type.'sexp...
3f20 3a 67 72 6f 75 70 20 27 68 79 64 72 61 29 0a 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f :group.'hydra)..(declare-functio
3f40 6e 20 70 6f 73 66 72 61 6d 65 2d 73 68 6f 77 20 22 70 6f 73 66 72 61 6d 65 22 29 0a 28 64 65 63 n.posframe-show."posframe").(dec
3f60 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 70 6f 73 66 72 61 6d 65 2d 68 69 64 65 20 22 70 6f 73 lare-function.posframe-hide."pos
3f80 66 72 61 6d 65 22 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e 63 74 69 6f 6e 20 70 6f 73 66 72 61 frame").(declare-function.posfra
3fa0 6d 65 2d 70 6f 73 68 61 6e 64 6c 65 72 2d 77 69 6e 64 6f 77 2d 63 65 6e 74 65 72 20 22 70 6f 73 me-poshandler-window-center."pos
3fc0 66 72 61 6d 65 22 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 70 6f 73 66 72 61 6d 65 2d 73 frame")..(defun.hydra-posframe-s
3fe0 68 6f 77 20 28 73 74 72 29 0a 20 20 28 72 65 71 75 69 72 65 20 27 70 6f 73 66 72 61 6d 65 29 0a how.(str)...(require.'posframe).
4000 20 20 28 70 6f 73 66 72 61 6d 65 2d 73 68 6f 77 0a 20 20 20 22 20 2a 68 79 64 72 61 2d 70 6f 73 ..(posframe-show....".*hydra-pos
4020 66 72 61 6d 65 2a 22 0a 20 20 20 3a 73 74 72 69 6e 67 20 73 74 72 0a 20 20 20 3a 70 6f 73 68 61 frame*"....:string.str....:posha
4040 6e 64 6c 65 72 20 23 27 70 6f 73 66 72 61 6d 65 2d 70 6f 73 68 61 6e 64 6c 65 72 2d 77 69 6e 64 ndler.#'posframe-poshandler-wind
4060 6f 77 2d 63 65 6e 74 65 72 29 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 70 6f 73 66 72 61 ow-center))..(defun.hydra-posfra
4080 6d 65 2d 68 69 64 65 20 28 29 0a 20 20 28 70 6f 73 66 72 61 6d 65 2d 68 69 64 65 20 22 20 2a 68 me-hide.()...(posframe-hide.".*h
40a0 79 64 72 61 2d 70 6f 73 66 72 61 6d 65 2a 22 29 29 0a 0a 28 64 65 66 76 61 72 20 68 79 64 72 61 ydra-posframe*"))..(defvar.hydra
40c0 2d 68 69 6e 74 2d 64 69 73 70 6c 61 79 2d 61 6c 69 73 74 0a 20 20 28 6c 69 73 74 20 28 6c 69 73 -hint-display-alist...(list.(lis
40e0 74 20 27 6c 76 20 23 27 6c 76 2d 6d 65 73 73 61 67 65 20 23 27 6c 76 2d 64 65 6c 65 74 65 2d 77 t.'lv.#'lv-message.#'lv-delete-w
4100 69 6e 64 6f 77 29 0a 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 27 6d 65 73 73 61 67 65 20 23 27 indow).........(list.'message.#'
4120 6d 65 73 73 61 67 65 20 28 6c 61 6d 62 64 61 20 28 29 20 28 6d 65 73 73 61 67 65 20 22 22 29 29 message.(lambda.().(message.""))
4140 29 0a 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 27 70 6f 73 66 72 61 6d 65 20 23 27 68 79 64 72 ).........(list.'posframe.#'hydr
4160 61 2d 70 6f 73 66 72 61 6d 65 2d 73 68 6f 77 20 23 27 68 79 64 72 61 2d 70 6f 73 66 72 61 6d 65 a-posframe-show.#'hydra-posframe
4180 2d 68 69 64 65 29 29 0a 20 20 22 53 74 6f 72 65 20 74 68 65 20 66 75 6e 63 74 69 6f 6e 73 20 66 -hide))..."Store.the.functions.f
41a0 6f 72 20 60 68 79 64 72 61 2d 68 69 6e 74 2d 64 69 73 70 6c 61 79 2d 74 79 70 65 27 2e 22 29 0a or.`hydra-hint-display-type'.").
41c0 0a 28 64 65 66 63 75 73 74 6f 6d 20 68 79 64 72 61 2d 68 69 6e 74 2d 64 69 73 70 6c 61 79 2d 74 .(defcustom.hydra-hint-display-t
41e0 79 70 65 20 27 6c 76 0a 20 20 22 54 68 65 20 75 74 69 6c 69 74 79 20 74 6f 20 73 68 6f 77 20 68 ype.'lv..."The.utility.to.show.h
4200 79 64 72 61 20 68 69 6e 74 22 0a 20 20 3a 74 79 70 65 20 27 28 63 68 6f 69 63 65 0a 20 20 20 20 ydra.hint"...:type.'(choice.....
4220 20 20 20 20 20 20 28 63 6f 6e 73 74 20 6d 65 73 73 61 67 65 29 0a 20 20 20 20 20 20 20 20 20 20 ......(const.message)...........
4240 28 63 6f 6e 73 74 20 6c 76 29 0a 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 74 20 70 6f 73 66 (const.lv)...........(const.posf
4260 72 61 6d 65 29 29 0a 20 20 3a 67 72 6f 75 70 20 27 68 79 64 72 61 29 0a 0a 28 64 65 66 69 6e 65 rame))...:group.'hydra)..(define
4280 2d 6f 62 73 6f 6c 65 74 65 2d 76 61 72 69 61 62 6c 65 2d 61 6c 69 61 73 0a 20 20 20 20 27 68 79 -obsolete-variable-alias.....'hy
42a0 64 72 61 2d 6c 76 20 27 68 79 64 72 61 2d 68 69 6e 74 2d 64 69 73 70 6c 61 79 2d 74 79 70 65 20 dra-lv.'hydra-hint-display-type.
42c0 22 30 2e 31 34 2e 30 22 0a 20 20 20 20 22 55 73 65 20 65 69 74 68 65 72 20 60 68 79 64 72 61 2d "0.14.0"....."Use.either.`hydra-
42e0 68 69 6e 74 2d 64 69 73 70 6c 61 79 2d 74 79 70 65 27 20 6f 72 20 60 68 79 64 72 61 2d 73 65 74 hint-display-type'.or.`hydra-set
4300 2d 70 72 6f 70 65 72 74 79 27 20 3a 76 65 72 62 6f 73 69 74 79 2e 22 29 0a 0a 28 64 65 66 63 75 -property'.:verbosity.")..(defcu
4320 73 74 6f 6d 20 68 79 64 72 61 2d 6c 76 20 74 0a 20 20 22 57 68 65 6e 20 6e 6f 6e 2d 6e 69 6c 2c stom.hydra-lv.t..."When.non-nil,
4340 20 60 6c 76 2d 6d 65 73 73 61 67 65 27 20 28 6e 6f 74 20 60 6d 65 73 73 61 67 65 27 29 20 77 69 .`lv-message'.(not.`message').wi
4360 6c 6c 20 62 65 20 75 73 65 64 20 74 6f 20 64 69 73 70 6c 61 79 20 68 69 6e 74 73 2e 22 0a 20 20 ll.be.used.to.display.hints."...
4380 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 68 79 64 72 :type.'boolean)..(defcustom.hydr
43a0 61 2d 76 65 72 62 6f 73 65 20 6e 69 6c 0a 20 20 22 57 68 65 6e 20 6e 6f 6e 2d 6e 69 6c 2c 20 68 a-verbose.nil..."When.non-nil,.h
43c0 79 64 72 61 20 77 69 6c 6c 20 69 73 73 75 65 20 73 6f 6d 65 20 6e 6f 6e 20 65 73 73 65 6e 74 69 ydra.will.issue.some.non.essenti
43e0 61 6c 20 73 74 79 6c 65 20 77 61 72 6e 69 6e 67 73 2e 22 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f al.style.warnings."...:type.'boo
4400 6c 65 61 6e 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 68 79 64 72 61 2d 6b 65 79 2d 66 6f 72 6d lean)..(defcustom.hydra-key-form
4420 61 74 2d 73 70 65 63 20 22 25 73 22 0a 20 20 22 44 65 66 61 75 6c 74 20 60 66 6f 72 6d 61 74 27 at-spec."%s"..."Default.`format'
4440 2d 73 74 79 6c 65 20 73 70 65 63 69 66 69 65 72 20 66 6f 72 20 5f 61 5f 20 20 73 79 6e 74 61 78 -style.specifier.for._a_..syntax
4460 20 69 6e 20 64 6f 63 73 74 72 69 6e 67 73 2e 0a 57 68 65 6e 20 6e 69 6c 2c 20 79 6f 75 20 63 61 .in.docstrings..When.nil,.you.ca
4480 6e 20 73 70 65 63 69 66 79 20 79 6f 75 72 20 6f 77 6e 20 61 74 20 65 61 63 68 20 6c 6f 63 61 74 n.specify.your.own.at.each.locat
44a0 69 6f 6e 20 6c 69 6b 65 20 74 68 69 73 3a 20 5f 20 35 61 5f 2e 22 0a 20 20 3a 74 79 70 65 20 27 ion.like.this:._.5a_."...:type.'
44c0 73 74 72 69 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 68 79 64 72 61 2d 64 6f 63 2d 66 6f string)..(defcustom.hydra-doc-fo
44e0 72 6d 61 74 2d 73 70 65 63 20 22 25 73 22 0a 20 20 22 44 65 66 61 75 6c 74 20 60 66 6f 72 6d 61 rmat-spec."%s"..."Default.`forma
4500 74 27 2d 73 74 79 6c 65 20 73 70 65 63 69 66 69 65 72 20 66 6f 72 20 3f 61 3f 20 20 73 79 6e 74 t'-style.specifier.for.?a?..synt
4520 61 78 20 69 6e 20 64 6f 63 73 74 72 69 6e 67 73 2e 22 0a 20 20 3a 74 79 70 65 20 27 73 74 72 69 ax.in.docstrings."...:type.'stri
4540 6e 67 29 0a 0a 28 64 65 66 63 75 73 74 6f 6d 20 68 79 64 72 61 2d 6c 6f 6f 6b 2d 66 6f 72 2d 72 ng)..(defcustom.hydra-look-for-r
4560 65 6d 61 70 20 6e 69 6c 0a 20 20 22 57 68 65 6e 20 6e 6f 6e 2d 6e 69 6c 2c 20 68 79 64 72 61 20 emap.nil..."When.non-nil,.hydra.
4580 62 69 6e 64 69 6e 67 20 62 65 68 61 76 65 73 20 61 73 20 6b 65 79 6d 61 70 20 62 69 6e 64 69 6e binding.behaves.as.keymap.bindin
45a0 67 20 77 69 74 68 20 5b 72 65 6d 61 70 5d 2e 0a 57 68 65 6e 20 63 61 6c 6c 69 6e 67 20 61 20 68 g.with.[remap]..When.calling.a.h
45c0 65 61 64 20 77 69 74 68 20 61 20 73 69 6d 70 6c 65 20 63 6f 6d 6d 61 6e 64 2c 20 68 79 64 72 61 ead.with.a.simple.command,.hydra
45e0 20 77 69 6c 6c 20 6c 6f 6f 6b 75 70 20 66 6f 72 20 61 20 70 6f 74 65 6e 74 69 61 6c 0a 72 65 6d .will.lookup.for.a.potential.rem
4600 61 70 20 63 6f 6d 6d 61 6e 64 20 61 63 63 6f 72 64 69 6e 67 20 74 6f 20 74 68 65 20 63 75 72 72 ap.command.according.to.the.curr
4620 65 6e 74 20 61 63 74 69 76 65 20 6b 65 79 6d 61 70 20 61 6e 64 20 63 61 6c 6c 20 69 74 20 69 6e ent.active.keymap.and.call.it.in
4640 73 74 65 61 64 20 69 66 0a 66 6f 75 6e 64 22 0a 20 20 3a 74 79 70 65 20 27 62 6f 6f 6c 65 61 6e stead.if.found"...:type.'boolean
4660 29 0a 0a 28 6d 61 6b 65 2d 6f 62 73 6f 6c 65 74 65 2d 76 61 72 69 61 62 6c 65 0a 20 27 68 79 64 )..(make-obsolete-variable..'hyd
4680 72 61 2d 6b 65 79 2d 66 6f 72 6d 61 74 2d 73 70 65 63 0a 20 22 53 69 6e 63 65 20 74 68 65 20 64 ra-key-format-spec.."Since.the.d
46a0 6f 63 73 74 72 69 6e 67 73 20 61 72 65 20 61 6c 69 67 6e 65 64 20 62 79 20 68 61 6e 64 20 61 6e ocstrings.are.aligned.by.hand.an
46c0 79 77 61 79 2c 20 74 68 69 73 20 69 73 6e 27 74 20 76 65 72 79 20 75 73 65 66 75 6c 2e 22 0a 20 yway,.this.isn't.very.useful."..
46e0 22 30 2e 31 33 2e 31 22 29 0a 0a 28 64 65 66 66 61 63 65 20 68 79 64 72 61 2d 66 61 63 65 2d 72 "0.13.1")..(defface.hydra-face-r
4700 65 64 0a 20 20 27 28 28 74 20 28 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 23 46 46 30 30 30 30 22 ed...'((t.(:foreground."#FF0000"
4720 20 3a 62 6f 6c 64 20 74 29 29 29 0a 20 20 22 52 65 64 20 48 79 64 72 61 20 68 65 61 64 73 20 64 .:bold.t)))..."Red.Hydra.heads.d
4740 6f 6e 27 74 20 65 78 69 74 20 74 68 65 20 48 79 64 72 61 2e 0a 45 76 65 72 79 20 6f 74 68 65 72 on't.exit.the.Hydra..Every.other
4760 20 63 6f 6d 6d 61 6e 64 20 65 78 69 74 73 20 74 68 65 20 48 79 64 72 61 2e 22 0a 20 20 3a 67 72 .command.exits.the.Hydra."...:gr
4780 6f 75 70 20 27 68 79 64 72 61 29 0a 0a 28 64 65 66 66 61 63 65 20 68 79 64 72 61 2d 66 61 63 65 oup.'hydra)..(defface.hydra-face
47a0 2d 62 6c 75 65 0a 20 20 27 28 28 28 28 63 6c 61 73 73 20 63 6f 6c 6f 72 29 20 28 62 61 63 6b 67 -blue...'((((class.color).(backg
47c0 72 6f 75 6e 64 20 6c 69 67 68 74 29 29 0a 20 20 20 20 20 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 round.light))......:foreground."
47e0 23 30 30 30 30 46 46 22 20 3a 62 6f 6c 64 20 74 29 0a 20 20 20 20 28 28 28 63 6c 61 73 73 20 63 #0000FF".:bold.t).....(((class.c
4800 6f 6c 6f 72 29 20 28 62 61 63 6b 67 72 6f 75 6e 64 20 64 61 72 6b 29 29 0a 20 20 20 20 20 3a 66 olor).(background.dark))......:f
4820 6f 72 65 67 72 6f 75 6e 64 20 22 23 38 61 63 36 66 32 22 20 3a 62 6f 6c 64 20 74 29 29 0a 20 20 oreground."#8ac6f2".:bold.t))...
4840 22 42 6c 75 65 20 48 79 64 72 61 20 68 65 61 64 73 20 65 78 69 74 20 74 68 65 20 48 79 64 72 61 "Blue.Hydra.heads.exit.the.Hydra
4860 2e 0a 45 76 65 72 79 20 6f 74 68 65 72 20 63 6f 6d 6d 61 6e 64 20 65 78 69 74 73 20 61 73 20 77 ..Every.other.command.exits.as.w
4880 65 6c 6c 2e 22 29 0a 0a 28 64 65 66 66 61 63 65 20 68 79 64 72 61 2d 66 61 63 65 2d 61 6d 61 72 ell.")..(defface.hydra-face-amar
48a0 61 6e 74 68 0a 20 20 27 28 28 74 20 28 3a 66 6f 72 65 67 72 6f 75 6e 64 20 22 23 45 35 32 42 35 anth...'((t.(:foreground."#E52B5
48c0 30 22 20 3a 62 6f 6c 64 20 74 29 29 29 0a 20 20 22 41 6d 61 72 61 6e 74 68 20 62 6f 64 79 20 68 0".:bold.t)))..."Amaranth.body.h
48e0 61 73 20 72 65 64 20 68 65 61 64 73 20 61 6e 64 20 77 61 72 6e 73 20 6f 6e 20 69 6e 74 65 72 63 as.red.heads.and.warns.on.interc
4900 65 70 74 69 6e 67 20 6e 6f 6e 2d 68 65 61 64 73 2e 0a 45 78 69 74 61 62 6c 65 20 6f 6e 6c 79 20 epting.non-heads..Exitable.only.
4920 74 68 72 6f 75 67 68 20 61 20 62 6c 75 65 20 68 65 61 64 2e 22 29 0a 0a 28 64 65 66 66 61 63 65 through.a.blue.head.")..(defface
4940 20 68 79 64 72 61 2d 66 61 63 65 2d 70 69 6e 6b 0a 20 20 27 28 28 74 20 28 3a 66 6f 72 65 67 72 .hydra-face-pink...'((t.(:foregr
4960 6f 75 6e 64 20 22 23 46 46 36 45 42 34 22 20 3a 62 6f 6c 64 20 74 29 29 29 0a 20 20 22 50 69 6e ound."#FF6EB4".:bold.t)))..."Pin
4980 6b 20 62 6f 64 79 20 68 61 73 20 72 65 64 20 68 65 61 64 73 20 61 6e 64 20 72 75 6e 73 20 69 6e k.body.has.red.heads.and.runs.in
49a0 74 65 72 63 65 70 74 65 64 20 6e 6f 6e 2d 68 65 61 64 73 2e 0a 45 78 69 74 61 62 6c 65 20 6f 6e tercepted.non-heads..Exitable.on
49c0 6c 79 20 74 68 72 6f 75 67 68 20 61 20 62 6c 75 65 20 68 65 61 64 2e 22 29 0a 0a 28 64 65 66 66 ly.through.a.blue.head.")..(deff
49e0 61 63 65 20 68 79 64 72 61 2d 66 61 63 65 2d 74 65 61 6c 0a 20 20 27 28 28 74 20 28 3a 66 6f 72 ace.hydra-face-teal...'((t.(:for
4a00 65 67 72 6f 75 6e 64 20 22 23 33 36 37 35 38 38 22 20 3a 62 6f 6c 64 20 74 29 29 29 0a 20 20 22 eground."#367588".:bold.t)))..."
4a20 54 65 61 6c 20 62 6f 64 79 20 68 61 73 20 62 6c 75 65 20 68 65 61 64 73 20 61 6e 64 20 77 61 72 Teal.body.has.blue.heads.and.war
4a40 6e 73 20 6f 6e 20 69 6e 74 65 72 63 65 70 74 69 6e 67 20 6e 6f 6e 2d 68 65 61 64 73 2e 0a 45 78 ns.on.intercepting.non-heads..Ex
4a60 69 74 61 62 6c 65 20 6f 6e 6c 79 20 74 68 72 6f 75 67 68 20 61 20 62 6c 75 65 20 68 65 61 64 2e itable.only.through.a.blue.head.
4a80 22 29 0a 0a 3b 3b 2a 20 46 6f 6e 74 69 66 69 63 61 74 69 6f 6e 0a 28 64 65 66 75 6e 20 68 79 64 ")..;;*.Fontification.(defun.hyd
4aa0 72 61 2d 61 64 64 2d 66 6f 6e 74 2d 6c 6f 63 6b 20 28 29 0a 20 20 22 46 6f 6e 74 69 66 79 20 60 ra-add-font-lock.()..."Fontify.`
4ac0 64 65 66 68 79 64 72 61 27 20 73 74 61 74 65 6d 65 6e 74 73 2e 22 0a 20 20 28 66 6f 6e 74 2d 6c defhydra'.statements."...(font-l
4ae0 6f 63 6b 2d 61 64 64 2d 6b 65 79 77 6f 72 64 73 0a 20 20 20 27 65 6d 61 63 73 2d 6c 69 73 70 2d ock-add-keywords....'emacs-lisp-
4b00 6d 6f 64 65 0a 20 20 20 27 28 28 22 28 5c 5c 28 64 65 66 68 79 64 72 61 5c 5c 29 5c 5c 5f 3e 20 mode....'(("(\\(defhydra\\)\\_>.
4b20 2b 5c 5c 28 2e 2a 3f 5c 5c 29 5c 5c 5f 3e 22 0a 20 20 20 20 20 20 28 31 20 66 6f 6e 74 2d 6c 6f +\\(.*?\\)\\_>".......(1.font-lo
4b40 63 6b 2d 6b 65 79 77 6f 72 64 2d 66 61 63 65 29 0a 20 20 20 20 20 20 28 32 20 66 6f 6e 74 2d 6c ck-keyword-face).......(2.font-l
4b60 6f 63 6b 2d 74 79 70 65 2d 66 61 63 65 29 29 0a 20 20 20 20 20 28 22 28 5c 5c 28 64 65 66 68 79 ock-type-face))......("(\\(defhy
4b80 64 72 61 64 69 6f 5c 5c 29 5c 5c 5f 3e 20 2b 5c 5c 28 2e 2a 3f 5c 5c 29 5c 5c 5f 3e 22 0a 20 20 dradio\\)\\_>.+\\(.*?\\)\\_>"...
4ba0 20 20 20 20 28 31 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 6b 65 79 77 6f 72 64 2d 66 61 63 65 29 0a 20 ....(1.font-lock-keyword-face)..
4bc0 20 20 20 20 20 28 32 20 66 6f 6e 74 2d 6c 6f 63 6b 2d 74 79 70 65 2d 66 61 63 65 29 29 29 29 29 .....(2.font-lock-type-face)))))
4be0 0a 0a 3b 3b 2a 20 46 69 6e 64 20 46 75 6e 63 74 69 6f 6e 0a 28 65 76 61 6c 2d 61 66 74 65 72 2d ..;;*.Find.Function.(eval-after-
4c00 6c 6f 61 64 20 27 66 69 6e 64 2d 66 75 6e 63 0a 20 20 27 28 64 65 66 61 64 76 69 63 65 20 66 69 load.'find-func...'(defadvice.fi
4c20 6e 64 2d 66 75 6e 63 74 69 6f 6e 2d 73 65 61 72 63 68 2d 66 6f 72 2d 73 79 6d 62 6f 6c 0a 20 20 nd-function-search-for-symbol...
4c40 20 20 28 61 72 6f 75 6e 64 20 68 79 64 72 61 2d 61 72 6f 75 6e 64 2d 66 69 6e 64 2d 66 75 6e 63 ..(around.hydra-around-find-func
4c60 74 69 6f 6e 2d 73 65 61 72 63 68 2d 66 6f 72 2d 73 79 6d 62 6f 6c 2d 61 64 76 69 63 65 0a 20 20 tion-search-for-symbol-advice...
4c80 20 20 20 28 73 79 6d 62 6f 6c 20 74 79 70 65 20 6c 69 62 72 61 72 79 29 20 61 63 74 69 76 61 74 ...(symbol.type.library).activat
4ca0 65 29 0a 20 20 20 20 22 4e 61 76 69 67 61 74 65 20 74 6f 20 68 79 64 72 61 73 20 77 69 74 68 20 e)....."Navigate.to.hydras.with.
4cc0 60 66 69 6e 64 2d 66 75 6e 63 74 69 6f 6e 2d 73 65 61 72 63 68 2d 66 6f 72 2d 73 79 6d 62 6f 6c `find-function-search-for-symbol
4ce0 27 2e 22 0a 20 20 20 20 61 64 2d 64 6f 2d 69 74 0a 20 20 20 20 3b 3b 20 54 68 65 20 6f 72 69 67 '.".....ad-do-it.....;;.The.orig
4d00 6e 69 61 6c 20 66 75 6e 63 74 69 6f 6e 20 72 65 74 75 72 6e 73 20 28 63 6f 6e 73 20 28 63 75 72 nial.function.returns.(cons.(cur
4d20 72 65 6e 74 2d 62 75 66 66 65 72 29 20 28 70 6f 69 6e 74 29 29 0a 20 20 20 20 3b 3b 20 69 66 20 rent-buffer).(point)).....;;.if.
4d40 69 74 20 66 6f 75 6e 64 20 74 68 65 20 70 6f 69 6e 74 2e 0a 20 20 20 20 28 75 6e 6c 65 73 73 20 it.found.the.point......(unless.
4d60 28 63 64 72 20 61 64 2d 72 65 74 75 72 6e 2d 76 61 6c 75 65 29 0a 20 20 20 20 20 20 28 77 69 74 (cdr.ad-return-value).......(wit
4d80 68 2d 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 20 28 66 69 6e 64 2d 66 69 6c 65 2d 6e 6f 73 65 h-current-buffer.(find-file-nose
4da0 6c 65 63 74 20 6c 69 62 72 61 72 79 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 73 6e 20 lect.library).........(let.((sn.
4dc0 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 73 79 6d 62 6f 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 (symbol-name.symbol)))..........
4de0 20 28 77 68 65 6e 20 28 61 6e 64 20 28 6e 75 6c 6c 20 74 79 70 65 29 0a 20 20 20 20 20 20 20 20 .(when.(and.(null.type).........
4e00 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 5c 5c 60 5c .............(string-match."\\`\
4e20 5c 28 68 79 64 72 61 2d 5b 61 2d 7a 2d 41 2d 5a 30 2d 39 5d 2b 5c 5c 29 2f 5c 5c 28 2e 2a 5c 5c \(hydra-[a-z-A-Z0-9]+\\)/\\(.*\\
4e40 29 5c 5c 27 22 20 73 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 )\\'".sn)......................(
4e60 72 65 2d 73 65 61 72 63 68 2d 66 6f 72 77 61 72 64 20 28 63 6f 6e 63 61 74 20 22 28 64 65 66 68 re-search-forward.(concat."(defh
4e80 79 64 72 61 20 22 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 20 73 6e 29 29 0a 20 20 20 20 ydra.".(match-string.1.sn)).....
4ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
4ec0 20 20 20 20 6e 69 6c 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 ....nil.t)).............(goto-ch
4ee0 61 72 20 28 6d 61 74 63 68 2d 62 65 67 69 6e 6e 69 6e 67 20 30 29 29 29 0a 20 20 20 20 20 20 20 ar.(match-beginning.0)))........
4f00 20 20 20 28 63 6f 6e 73 20 28 63 75 72 72 65 6e 74 2d 62 75 66 66 65 72 29 20 28 70 6f 69 6e 74 ...(cons.(current-buffer).(point
4f20 29 29 29 29 29 29 29 0a 0a 3b 3b 2a 20 55 6e 69 76 65 72 73 61 6c 20 41 72 67 75 6d 65 6e 74 0a )))))))..;;*.Universal.Argument.
4f40 28 64 65 66 76 61 72 20 68 79 64 72 61 2d 62 61 73 65 2d 6d 61 70 0a 20 20 28 6c 65 74 20 28 28 (defvar.hydra-base-map...(let.((
4f60 6d 61 70 20 28 6d 61 6b 65 2d 73 70 61 72 73 65 2d 6b 65 79 6d 61 70 29 29 29 0a 20 20 20 20 28 map.(make-sparse-keymap))).....(
4f80 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 5b 3f 5c 43 2d 75 5d 20 27 68 79 64 72 61 2d 2d 75 define-key.map.[?\C-u].'hydra--u
4fa0 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b niversal-argument).....(define-k
4fc0 65 79 20 6d 61 70 20 5b 3f 2d 5d 20 27 68 79 64 72 61 2d 2d 6e 65 67 61 74 69 76 65 2d 61 72 67 ey.map.[?-].'hydra--negative-arg
4fe0 75 6d 65 6e 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 5b 3f 30 5d 20 ument).....(define-key.map.[?0].
5000 27 68 79 64 72 61 2d 2d 64 69 67 69 74 2d 61 72 67 75 6d 65 6e 74 29 0a 20 20 20 20 28 64 65 66 'hydra--digit-argument).....(def
5020 69 6e 65 2d 6b 65 79 20 6d 61 70 20 5b 3f 31 5d 20 27 68 79 64 72 61 2d 2d 64 69 67 69 74 2d 61 ine-key.map.[?1].'hydra--digit-a
5040 72 67 75 6d 65 6e 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 5b 3f 32 rgument).....(define-key.map.[?2
5060 5d 20 27 68 79 64 72 61 2d 2d 64 69 67 69 74 2d 61 72 67 75 6d 65 6e 74 29 0a 20 20 20 20 28 64 ].'hydra--digit-argument).....(d
5080 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 5b 3f 33 5d 20 27 68 79 64 72 61 2d 2d 64 69 67 69 74 efine-key.map.[?3].'hydra--digit
50a0 2d 61 72 67 75 6d 65 6e 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 5b -argument).....(define-key.map.[
50c0 3f 34 5d 20 27 68 79 64 72 61 2d 2d 64 69 67 69 74 2d 61 72 67 75 6d 65 6e 74 29 0a 20 20 20 20 ?4].'hydra--digit-argument).....
50e0 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 5b 3f 35 5d 20 27 68 79 64 72 61 2d 2d 64 69 67 (define-key.map.[?5].'hydra--dig
5100 69 74 2d 61 72 67 75 6d 65 6e 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 it-argument).....(define-key.map
5120 20 5b 3f 36 5d 20 27 68 79 64 72 61 2d 2d 64 69 67 69 74 2d 61 72 67 75 6d 65 6e 74 29 0a 20 20 .[?6].'hydra--digit-argument)...
5140 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 5b 3f 37 5d 20 27 68 79 64 72 61 2d 2d 64 ..(define-key.map.[?7].'hydra--d
5160 69 67 69 74 2d 61 72 67 75 6d 65 6e 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d igit-argument).....(define-key.m
5180 61 70 20 5b 3f 38 5d 20 27 68 79 64 72 61 2d 2d 64 69 67 69 74 2d 61 72 67 75 6d 65 6e 74 29 0a ap.[?8].'hydra--digit-argument).
51a0 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 5b 3f 39 5d 20 27 68 79 64 72 61 2d ....(define-key.map.[?9].'hydra-
51c0 2d 64 69 67 69 74 2d 61 72 67 75 6d 65 6e 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 -digit-argument).....(define-key
51e0 20 6d 61 70 20 5b 6b 70 2d 30 5d 20 27 68 79 64 72 61 2d 2d 64 69 67 69 74 2d 61 72 67 75 6d 65 .map.[kp-0].'hydra--digit-argume
5200 6e 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 5b 6b 70 2d 31 5d 20 27 nt).....(define-key.map.[kp-1].'
5220 68 79 64 72 61 2d 2d 64 69 67 69 74 2d 61 72 67 75 6d 65 6e 74 29 0a 20 20 20 20 28 64 65 66 69 hydra--digit-argument).....(defi
5240 6e 65 2d 6b 65 79 20 6d 61 70 20 5b 6b 70 2d 32 5d 20 27 68 79 64 72 61 2d 2d 64 69 67 69 74 2d ne-key.map.[kp-2].'hydra--digit-
5260 61 72 67 75 6d 65 6e 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 5b 6b argument).....(define-key.map.[k
5280 70 2d 33 5d 20 27 68 79 64 72 61 2d 2d 64 69 67 69 74 2d 61 72 67 75 6d 65 6e 74 29 0a 20 20 20 p-3].'hydra--digit-argument)....
52a0 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 5b 6b 70 2d 34 5d 20 27 68 79 64 72 61 2d 2d .(define-key.map.[kp-4].'hydra--
52c0 64 69 67 69 74 2d 61 72 67 75 6d 65 6e 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 digit-argument).....(define-key.
52e0 6d 61 70 20 5b 6b 70 2d 35 5d 20 27 68 79 64 72 61 2d 2d 64 69 67 69 74 2d 61 72 67 75 6d 65 6e map.[kp-5].'hydra--digit-argumen
5300 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 5b 6b 70 2d 36 5d 20 27 68 t).....(define-key.map.[kp-6].'h
5320 79 64 72 61 2d 2d 64 69 67 69 74 2d 61 72 67 75 6d 65 6e 74 29 0a 20 20 20 20 28 64 65 66 69 6e ydra--digit-argument).....(defin
5340 65 2d 6b 65 79 20 6d 61 70 20 5b 6b 70 2d 37 5d 20 27 68 79 64 72 61 2d 2d 64 69 67 69 74 2d 61 e-key.map.[kp-7].'hydra--digit-a
5360 72 67 75 6d 65 6e 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 5b 6b 70 rgument).....(define-key.map.[kp
5380 2d 38 5d 20 27 68 79 64 72 61 2d 2d 64 69 67 69 74 2d 61 72 67 75 6d 65 6e 74 29 0a 20 20 20 20 -8].'hydra--digit-argument).....
53a0 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d 61 70 20 5b 6b 70 2d 39 5d 20 27 68 79 64 72 61 2d 2d 64 (define-key.map.[kp-9].'hydra--d
53c0 69 67 69 74 2d 61 72 67 75 6d 65 6e 74 29 0a 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6d igit-argument).....(define-key.m
53e0 61 70 20 5b 6b 70 2d 73 75 62 74 72 61 63 74 5d 20 27 68 79 64 72 61 2d 2d 6e 65 67 61 74 69 76 ap.[kp-subtract].'hydra--negativ
5400 65 2d 61 72 67 75 6d 65 6e 74 29 0a 20 20 20 20 6d 61 70 29 0a 20 20 22 4b 65 79 6d 61 70 20 74 e-argument).....map)..."Keymap.t
5420 68 61 74 20 61 6c 6c 20 48 79 64 72 61 73 20 69 6e 68 65 72 69 74 2e 20 20 53 65 65 20 60 75 6e hat.all.Hydras.inherit...See.`un
5440 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 2d 6d 61 70 27 2e 22 29 0a 0a 28 64 65 66 75 6e iversal-argument-map'.")..(defun
5460 20 68 79 64 72 61 2d 2d 75 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d 65 6e 74 20 28 61 72 67 29 .hydra--universal-argument.(arg)
5480 0a 20 20 22 46 6f 72 77 61 72 64 20 74 6f 20 28 60 75 6e 69 76 65 72 73 61 6c 2d 61 72 67 75 6d ..."Forward.to.(`universal-argum
54a0 65 6e 74 27 20 41 52 47 29 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a ent'.ARG)."...(interactive."P").
54c0 20 20 28 73 65 74 71 20 70 72 65 66 69 78 2d 61 72 67 20 28 69 66 20 28 63 6f 6e 73 70 20 61 72 ..(setq.prefix-arg.(if.(consp.ar
54e0 67 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 6c 69 73 74 20 g)........................(list.
5500 28 2a 20 34 20 28 63 61 72 20 61 72 67 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (*.4.(car.arg)))................
5520 20 20 20 20 20 20 28 69 66 20 28 65 71 20 61 72 67 20 27 2d 29 0a 20 20 20 20 20 20 20 20 20 20 ......(if.(eq.arg.'-)...........
5540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 2d 34 29 0a 20 20 20 20 20 20 20 ...............(list.-4)........
5560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 28 34 29 29 29 29 29 0a 0a 28 64 65 66 75 6e ................'(4)))))..(defun
5580 20 68 79 64 72 61 2d 2d 64 69 67 69 74 2d 61 72 67 75 6d 65 6e 74 20 28 61 72 67 29 0a 20 20 22 .hydra--digit-argument.(arg)..."
55a0 46 6f 72 77 61 72 64 20 74 6f 20 28 60 64 69 67 69 74 2d 61 72 67 75 6d 65 6e 74 27 20 41 52 47 Forward.to.(`digit-argument'.ARG
55c0 29 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 20 28 6c 65 74 2a 20 )."...(interactive."P")...(let*.
55e0 28 28 63 68 61 72 20 28 69 66 20 28 69 6e 74 65 67 65 72 70 20 6c 61 73 74 2d 63 6f 6d 6d 61 6e ((char.(if.(integerp.last-comman
5600 64 2d 65 76 65 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 61 73 74 d-event)....................last
5620 2d 63 6f 6d 6d 61 6e 64 2d 65 76 65 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -command-event..................
5640 28 67 65 74 20 6c 61 73 74 2d 63 6f 6d 6d 61 6e 64 2d 65 76 65 6e 74 20 27 61 73 63 69 69 2d 63 (get.last-command-event.'ascii-c
5660 68 61 72 61 63 74 65 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 64 69 67 69 74 20 28 2d 20 28 haracter)))..........(digit.(-.(
5680 6c 6f 67 61 6e 64 20 63 68 61 72 20 3f 5c 31 37 37 29 20 3f 30 29 29 29 0a 20 20 20 20 28 73 65 logand.char.?\177).?0))).....(se
56a0 74 71 20 70 72 65 66 69 78 2d 61 72 67 20 28 63 6f 6e 64 20 28 28 69 6e 74 65 67 65 72 70 20 61 tq.prefix-arg.(cond.((integerp.a
56c0 72 67 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 rg).............................
56e0 28 2b 20 28 2a 20 61 72 67 20 31 30 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (+.(*.arg.10)...................
5700 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 3c 20 61 72 67 20 30 29 0a 20 20 20 20 20 .............(if.(<.arg.0)......
5720 20 20 20 20 20 20 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 2d ..............................(-
5740 20 64 69 67 69 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 .digit).........................
5760 20 20 20 20 20 20 20 20 20 64 69 67 69 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........digit)))...............
5780 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 61 72 67 20 27 2d 29 0a 20 20 20 20 20 20 .............((eq.arg.'-).......
57a0 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 7a 65 72 6f 70 ......................(if.(zerop
57c0 20 64 69 67 69 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 .digit).........................
57e0 20 20 20 20 20 20 20 20 27 2d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........'-......................
5800 20 20 20 20 20 20 20 20 20 28 2d 20 64 69 67 69 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 .........(-.digit)))............
5820 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..............
5840 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 69 67 69 74 29 29 29 29 29 0a 0a 28 64 65 66 75 ...............digit)))))..(defu
5860 6e 20 68 79 64 72 61 2d 2d 6e 65 67 61 74 69 76 65 2d 61 72 67 75 6d 65 6e 74 20 28 61 72 67 29 n.hydra--negative-argument.(arg)
5880 0a 20 20 22 46 6f 72 77 61 72 64 20 74 6f 20 28 60 6e 65 67 61 74 69 76 65 2d 61 72 67 75 6d 65 ..."Forward.to.(`negative-argume
58a0 6e 74 27 20 41 52 47 29 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 50 22 29 0a 20 nt'.ARG)."...(interactive."P")..
58c0 20 28 73 65 74 71 20 70 72 65 66 69 78 2d 61 72 67 20 28 63 6f 6e 64 20 28 28 69 6e 74 65 67 65 .(setq.prefix-arg.(cond.((intege
58e0 72 70 20 61 72 67 29 20 28 2d 20 61 72 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 rp.arg).(-.arg))................
5900 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 61 72 67 20 27 2d 29 20 6e 69 6c 29 0a 20 20 20 20 ..........((eq.arg.'-).nil).....
5920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 27 2d 29 29 29 29 0a 0a .....................(t.'-))))..
5940 3b 3b 2a 20 52 65 70 65 61 74 0a 28 64 65 66 76 61 72 20 68 79 64 72 61 2d 72 65 70 65 61 74 2d ;;*.Repeat.(defvar.hydra-repeat-
5960 2d 70 72 65 66 69 78 2d 61 72 67 20 6e 69 6c 0a 20 20 22 50 72 65 66 69 78 20 61 72 67 20 74 6f -prefix-arg.nil..."Prefix.arg.to
5980 20 75 73 65 20 77 69 74 68 20 60 68 79 64 72 61 2d 72 65 70 65 61 74 27 2e 22 29 0a 0a 28 64 65 .use.with.`hydra-repeat'.")..(de
59a0 66 76 61 72 20 68 79 64 72 61 2d 72 65 70 65 61 74 2d 2d 63 6f 6d 6d 61 6e 64 20 6e 69 6c 0a 20 fvar.hydra-repeat--command.nil..
59c0 20 22 43 6f 6d 6d 61 6e 64 20 74 6f 20 75 73 65 20 77 69 74 68 20 60 68 79 64 72 61 2d 72 65 70 ."Command.to.use.with.`hydra-rep
59e0 65 61 74 27 2e 22 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 72 65 70 65 61 74 20 28 26 6f eat'.")..(defun.hydra-repeat.(&o
5a00 70 74 69 6f 6e 61 6c 20 61 72 67 29 0a 20 20 22 52 65 70 65 61 74 20 6c 61 73 74 20 63 6f 6d 6d ptional.arg)..."Repeat.last.comm
5a20 61 6e 64 20 77 69 74 68 20 6c 61 73 74 20 70 72 65 66 69 78 20 61 72 67 2e 0a 57 68 65 6e 20 41 and.with.last.prefix.arg..When.A
5a40 52 47 20 69 73 20 6e 6f 6e 2d 6e 69 6c 2c 20 75 73 65 20 74 68 61 74 20 69 6e 73 74 65 61 64 2e RG.is.non-nil,.use.that.instead.
5a60 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 70 22 29 0a 20 20 28 69 66 20 28 65 71 20 "...(interactive."p")...(if.(eq.
5a80 61 72 67 20 31 29 0a 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 73 74 72 69 6e 67 2d 6d 61 74 arg.1).......(unless.(string-mat
5aa0 63 68 20 22 68 79 64 72 61 2d 72 65 70 65 61 74 24 22 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 ch."hydra-repeat$".(symbol-name.
5ac0 6c 61 73 74 2d 63 6f 6d 6d 61 6e 64 29 29 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 68 79 64 last-command)).........(setq.hyd
5ae0 72 61 2d 72 65 70 65 61 74 2d 2d 63 6f 6d 6d 61 6e 64 20 6c 61 73 74 2d 63 6f 6d 6d 61 6e 64 29 ra-repeat--command.last-command)
5b00 0a 20 20 20 20 20 20 20 20 28 73 65 74 71 20 68 79 64 72 61 2d 72 65 70 65 61 74 2d 2d 70 72 65 .........(setq.hydra-repeat--pre
5b20 66 69 78 2d 61 72 67 20 6c 61 73 74 2d 70 72 65 66 69 78 2d 61 72 67 29 29 0a 20 20 20 20 28 73 fix-arg.last-prefix-arg)).....(s
5b40 65 74 71 20 68 79 64 72 61 2d 72 65 70 65 61 74 2d 2d 70 72 65 66 69 78 2d 61 72 67 20 61 72 67 etq.hydra-repeat--prefix-arg.arg
5b60 29 29 0a 20 20 28 73 65 74 71 20 63 75 72 72 65 6e 74 2d 70 72 65 66 69 78 2d 61 72 67 20 68 79 ))...(setq.current-prefix-arg.hy
5b80 64 72 61 2d 72 65 70 65 61 74 2d 2d 70 72 65 66 69 78 2d 61 72 67 29 0a 20 20 28 66 75 6e 63 61 dra-repeat--prefix-arg)...(funca
5ba0 6c 6c 20 68 79 64 72 61 2d 72 65 70 65 61 74 2d 2d 63 6f 6d 6d 61 6e 64 29 29 0a 0a 3b 3b 2a 20 ll.hydra-repeat--command))..;;*.
5bc0 4d 69 73 63 20 69 6e 74 65 72 6e 61 6c 73 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 2d 63 61 6c Misc.internals.(defun.hydra--cal
5be0 6c 61 62 6c 65 70 20 28 78 29 0a 20 20 22 54 65 73 74 20 69 66 20 58 20 69 73 20 63 61 6c 6c 61 lablep.(x)..."Test.if.X.is.calla
5c00 62 6c 65 2e 22 0a 20 20 28 6f 72 20 28 66 75 6e 63 74 69 6f 6e 70 20 78 29 0a 20 20 20 20 20 20 ble."...(or.(functionp.x).......
5c20 28 61 6e 64 20 28 63 6f 6e 73 70 20 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 6d 71 20 (and.(consp.x)............(memq.
5c40 28 63 61 72 20 78 29 20 27 28 66 75 6e 63 74 69 6f 6e 20 71 75 6f 74 65 29 29 29 29 29 0a 0a 28 (car.x).'(function.quote)))))..(
5c60 64 65 66 75 6e 20 68 79 64 72 61 2d 2d 6d 61 6b 65 2d 63 61 6c 6c 61 62 6c 65 20 28 78 29 0a 20 defun.hydra--make-callable.(x)..
5c80 20 22 47 65 6e 65 72 61 74 65 20 61 20 63 61 6c 6c 61 62 6c 65 20 73 79 6d 62 6f 6c 20 66 72 6f ."Generate.a.callable.symbol.fro
5ca0 6d 20 58 2e 0a 49 66 20 58 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 73 79 6d 62 6f 6c 20 6f m.X..If.X.is.a.function.symbol.o
5cc0 72 20 61 20 6c 61 6d 62 64 61 2c 20 72 65 74 75 72 6e 20 69 74 2e 20 20 4f 74 68 65 72 77 69 73 r.a.lambda,.return.it...Otherwis
5ce0 65 2c 20 69 74 0a 73 68 6f 75 6c 64 20 62 65 20 61 20 73 69 6e 67 6c 65 20 73 74 61 74 65 6d 65 e,.it.should.be.a.single.stateme
5d00 6e 74 2e 20 20 57 72 61 70 20 69 74 20 69 6e 20 61 6e 20 69 6e 74 65 72 61 63 74 69 76 65 20 6c nt...Wrap.it.in.an.interactive.l
5d20 61 6d 62 64 61 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28 6f 72 20 28 73 79 6d 62 6f 6c 70 20 78 29 ambda."...(cond.((or.(symbolp.x)
5d40 20 28 66 75 6e 63 74 69 6f 6e 70 20 78 29 29 0a 20 20 20 20 20 20 20 20 20 78 29 0a 20 20 20 20 .(functionp.x))..........x).....
5d60 20 20 20 20 28 28 61 6e 64 20 28 63 6f 6e 73 70 20 78 29 20 28 65 71 20 28 63 61 72 20 78 29 20 ....((and.(consp.x).(eq.(car.x).
5d80 27 66 75 6e 63 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 61 64 72 20 78 29 29 0a 20 'function))..........(cadr.x))..
5da0 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 60 28 6c 61 6d 62 64 61 20 28 29 0a 20 .......(t..........`(lambda.()..
5dc0 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 20 20 20 20 20 ...........(interactive)........
5de0 20 20 20 20 20 2c 78 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 70 6c 69 73 74 2d .....,x))))..(defun.hydra-plist-
5e00 67 65 74 2d 64 65 66 61 75 6c 74 20 28 70 6c 69 73 74 20 70 72 6f 70 20 64 65 66 61 75 6c 74 29 get-default.(plist.prop.default)
5e20 0a 20 20 22 45 78 74 72 61 63 74 20 61 20 76 61 6c 75 65 20 66 72 6f 6d 20 61 20 70 72 6f 70 65 ..."Extract.a.value.from.a.prope
5e40 72 74 79 20 6c 69 73 74 2e 0a 50 4c 49 53 54 20 69 73 20 61 20 70 72 6f 70 65 72 74 79 20 6c 69 rty.list..PLIST.is.a.property.li
5e60 73 74 2c 20 77 68 69 63 68 20 69 73 20 61 20 6c 69 73 74 20 6f 66 20 74 68 65 20 66 6f 72 6d 0a st,.which.is.a.list.of.the.form.
5e80 5c 28 50 52 4f 50 31 20 56 41 4c 55 45 31 20 50 52 4f 50 32 20 56 41 4c 55 45 32 2e 2e 2e 29 2e \(PROP1.VALUE1.PROP2.VALUE2...).
5ea0 0a 0a 52 65 74 75 72 6e 20 74 68 65 20 76 61 6c 75 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 ..Return.the.value.corresponding
5ec0 20 74 6f 20 50 52 4f 50 2c 20 6f 72 20 44 45 46 41 55 4c 54 20 69 66 20 50 52 4f 50 20 69 73 20 .to.PROP,.or.DEFAULT.if.PROP.is.
5ee0 6e 6f 74 0a 6f 6e 65 20 6f 66 20 74 68 65 20 70 72 6f 70 65 72 74 69 65 73 20 6f 6e 20 74 68 65 not.one.of.the.properties.on.the
5f00 20 6c 69 73 74 2e 22 0a 20 20 28 69 66 20 28 6d 65 6d 71 20 70 72 6f 70 20 70 6c 69 73 74 29 0a .list."...(if.(memq.prop.plist).
5f20 20 20 20 20 20 20 28 70 6c 69 73 74 2d 67 65 74 20 70 6c 69 73 74 20 70 72 6f 70 29 0a 20 20 20 ......(plist-get.plist.prop)....
5f40 20 64 65 66 61 75 6c 74 29 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 2d 68 65 61 64 2d 70 .default))..(defun.hydra--head-p
5f60 72 6f 70 65 72 74 79 20 28 68 20 70 72 6f 70 20 26 6f 70 74 69 6f 6e 61 6c 20 64 65 66 61 75 6c roperty.(h.prop.&optional.defaul
5f80 74 29 0a 20 20 22 52 65 74 75 72 6e 20 66 6f 72 20 48 79 64 72 61 20 68 65 61 64 20 48 20 74 68 t)..."Return.for.Hydra.head.H.th
5fa0 65 20 76 61 6c 75 65 20 6f 66 20 70 72 6f 70 65 72 74 79 20 50 52 4f 50 2e 0a 52 65 74 75 72 6e e.value.of.property.PROP..Return
5fc0 20 44 45 46 41 55 4c 54 20 69 66 20 50 52 4f 50 20 69 73 20 6e 6f 74 20 69 6e 20 48 2e 22 0a 20 .DEFAULT.if.PROP.is.not.in.H."..
5fe0 20 28 68 79 64 72 61 2d 70 6c 69 73 74 2d 67 65 74 2d 64 65 66 61 75 6c 74 20 28 63 6c 2d 63 64 .(hydra-plist-get-default.(cl-cd
6000 64 64 72 20 68 29 20 70 72 6f 70 20 64 65 66 61 75 6c 74 29 29 0a 0a 28 64 65 66 75 6e 20 68 79 ddr.h).prop.default))..(defun.hy
6020 64 72 61 2d 2d 68 65 61 64 2d 73 65 74 2d 70 72 6f 70 65 72 74 79 20 28 68 20 70 72 6f 70 20 76 dra--head-set-property.(h.prop.v
6040 61 6c 75 65 29 0a 20 20 22 49 6e 20 68 79 64 72 61 20 48 65 61 64 20 48 2c 20 73 65 74 20 61 20 alue)..."In.hydra.Head.H,.set.a.
6060 70 72 6f 70 65 72 74 79 20 50 52 4f 50 20 74 6f 20 74 68 65 20 76 61 6c 75 65 20 56 41 4c 55 45 property.PROP.to.the.value.VALUE
6080 2e 22 0a 20 20 28 63 6f 6e 73 20 28 63 61 72 20 68 29 20 28 70 6c 69 73 74 2d 70 75 74 20 28 63 ."...(cons.(car.h).(plist-put.(c
60a0 64 72 20 68 29 20 70 72 6f 70 20 76 61 6c 75 65 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 dr.h).prop.value)))..(defun.hydr
60c0 61 2d 2d 68 65 61 64 2d 68 61 73 2d 70 72 6f 70 65 72 74 79 20 28 68 20 70 72 6f 70 29 0a 20 20 a--head-has-property.(h.prop)...
60e0 22 52 65 74 75 72 6e 20 6e 6f 6e 20 6e 69 6c 20 69 66 20 68 65 61 64 73 20 48 20 68 61 73 20 74 "Return.non.nil.if.heads.H.has.t
6100 68 65 20 70 72 6f 70 65 72 74 79 20 50 52 4f 50 2e 22 0a 20 20 28 70 6c 69 73 74 2d 6d 65 6d 62 he.property.PROP."...(plist-memb
6120 65 72 20 28 63 64 72 20 68 29 20 70 72 6f 70 29 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d er.(cdr.h).prop))..(defun.hydra-
6140 2d 62 6f 64 79 2d 66 6f 72 65 69 67 6e 2d 6b 65 79 73 20 28 62 6f 64 79 29 0a 20 20 22 52 65 74 -body-foreign-keys.(body)..."Ret
6160 75 72 6e 20 77 68 61 74 20 42 4f 44 59 20 64 6f 65 73 20 77 69 74 68 20 61 20 6e 6f 6e 2d 68 65 urn.what.BODY.does.with.a.non-he
6180 61 64 20 62 69 6e 64 69 6e 67 2e 22 0a 20 20 28 6f 72 0a 20 20 20 28 70 6c 69 73 74 2d 67 65 74 ad.binding."...(or....(plist-get
61a0 20 28 63 64 64 72 20 62 6f 64 79 29 20 3a 66 6f 72 65 69 67 6e 2d 6b 65 79 73 29 0a 20 20 20 28 .(cddr.body).:foreign-keys)....(
61c0 6c 65 74 20 28 28 63 6f 6c 6f 72 20 28 70 6c 69 73 74 2d 67 65 74 20 28 63 64 64 72 20 62 6f 64 let.((color.(plist-get.(cddr.bod
61e0 79 29 20 3a 63 6f 6c 6f 72 29 29 29 0a 20 20 20 20 20 28 63 6c 2d 63 61 73 65 20 63 6f 6c 6f 72 y).:color)))......(cl-case.color
6200 0a 20 20 20 20 20 20 20 28 28 61 6d 61 72 61 6e 74 68 20 74 65 61 6c 29 20 27 77 61 72 6e 29 0a ........((amaranth.teal).'warn).
6220 20 20 20 20 20 20 20 28 70 69 6e 6b 20 27 72 75 6e 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 .......(pink.'run)))))..(defun.h
6240 79 64 72 61 2d 2d 62 6f 64 79 2d 65 78 69 74 20 28 62 6f 64 79 29 0a 20 20 22 52 65 74 75 72 6e ydra--body-exit.(body)..."Return
6260 20 74 68 65 20 65 78 69 74 20 62 65 68 61 76 69 6f 72 20 6f 66 20 42 4f 44 59 2e 22 0a 20 20 28 .the.exit.behavior.of.BODY."...(
6280 6f 72 0a 20 20 20 28 70 6c 69 73 74 2d 67 65 74 20 28 63 64 64 72 20 62 6f 64 79 29 20 3a 65 78 or....(plist-get.(cddr.body).:ex
62a0 69 74 29 0a 20 20 20 28 6c 65 74 20 28 28 63 6f 6c 6f 72 20 28 70 6c 69 73 74 2d 67 65 74 20 28 it)....(let.((color.(plist-get.(
62c0 63 64 64 72 20 62 6f 64 79 29 20 3a 63 6f 6c 6f 72 29 29 29 0a 20 20 20 20 20 28 63 6c 2d 63 61 cddr.body).:color)))......(cl-ca
62e0 73 65 20 63 6f 6c 6f 72 0a 20 20 20 20 20 20 20 28 28 62 6c 75 65 20 74 65 61 6c 29 20 74 29 0a se.color........((blue.teal).t).
6300 20 20 20 20 20 20 20 28 74 20 6e 69 6c 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 .......(t.nil)))))..(defun.hydra
6320 2d 2d 6e 6f 72 6d 61 6c 69 7a 65 2d 62 6f 64 79 20 28 62 6f 64 79 29 0a 20 20 22 50 75 74 20 42 --normalize-body.(body)..."Put.B
6340 4f 44 59 20 69 6e 20 61 20 6e 6f 72 6d 61 6c 69 7a 65 64 20 66 6f 72 6d 61 74 2e 0a 41 64 64 20 ODY.in.a.normalized.format..Add.
6360 3a 65 78 69 74 20 61 6e 64 20 3a 66 6f 72 65 69 67 6e 2d 6b 65 79 73 20 69 66 20 74 68 65 79 20 :exit.and.:foreign-keys.if.they.
6380 61 72 65 20 6e 6f 74 20 74 68 65 72 65 2e 0a 52 65 6d 6f 76 65 20 3a 63 6f 6c 6f 72 20 6b 65 79 are.not.there..Remove.:color.key
63a0 2e 20 41 6e 64 20 73 6f 72 74 20 74 68 65 20 70 6c 69 73 74 20 61 6c 70 68 61 62 65 74 69 63 61 ..And.sort.the.plist.alphabetica
63c0 6c 6c 79 2e 22 0a 20 20 28 6c 65 74 20 28 28 70 6c 69 73 74 20 28 63 64 64 72 20 62 6f 64 79 29 lly."...(let.((plist.(cddr.body)
63e0 29 29 0a 20 20 20 20 28 70 6c 69 73 74 2d 70 75 74 20 70 6c 69 73 74 20 3a 65 78 69 74 20 28 68 )).....(plist-put.plist.:exit.(h
6400 79 64 72 61 2d 2d 62 6f 64 79 2d 65 78 69 74 20 62 6f 64 79 29 29 0a 20 20 20 20 28 70 6c 69 73 ydra--body-exit.body)).....(plis
6420 74 2d 70 75 74 20 70 6c 69 73 74 20 3a 66 6f 72 65 69 67 6e 2d 6b 65 79 73 20 28 68 79 64 72 61 t-put.plist.:foreign-keys.(hydra
6440 2d 2d 62 6f 64 79 2d 66 6f 72 65 69 67 6e 2d 6b 65 79 73 20 62 6f 64 79 29 29 0a 20 20 20 20 28 --body-foreign-keys.body)).....(
6460 6c 65 74 2a 20 28 28 61 6c 69 73 74 30 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 28 6b 20 76 29 let*.((alist0.(cl-loop.for.(k.v)
6480 20 6f 6e 20 70 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .on.plist.......................
64a0 62 79 20 23 27 63 64 64 72 20 63 6f 6c 6c 65 63 74 20 28 63 6f 6e 73 20 6b 20 76 29 29 29 0a 20 by.#'cddr.collect.(cons.k.v)))..
64c0 20 20 20 20 20 20 20 20 20 20 28 61 6c 69 73 74 31 20 28 61 73 73 71 2d 64 65 6c 65 74 65 2d 61 ..........(alist1.(assq-delete-a
64e0 6c 6c 20 3a 63 6f 6c 6f 72 20 61 6c 69 73 74 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 61 ll.:color.alist0))............(a
6500 6c 69 73 74 32 20 28 63 6c 2d 73 6f 72 74 20 61 6c 69 73 74 31 20 23 27 73 74 72 69 6e 67 3c 0a list2.(cl-sort.alist1.#'string<.
6520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 6b 65 79 ............................:key
6540 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 28 63 61 72 20 78 .(lambda.(x).(symbol-name.(car.x
6560 29 29 29 29 29 29 0a 20 20 20 20 20 20 28 61 70 70 65 6e 64 20 28 6c 69 73 74 20 28 63 61 72 20 )))))).......(append.(list.(car.
6580 62 6f 64 79 29 20 28 63 61 64 72 20 62 6f 64 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 body).(cadr.body))..............
65a0 20 28 63 6c 2d 6d 61 70 63 61 6e 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 6c 69 73 74 20 28 63 .(cl-mapcan.(lambda.(x).(list.(c
65c0 61 72 20 78 29 20 28 63 64 72 20 78 29 29 29 20 61 6c 69 73 74 32 29 29 29 29 29 0a 0a 28 64 65 ar.x).(cdr.x))).alist2)))))..(de
65e0 66 61 6c 69 61 73 20 27 68 79 64 72 61 2d 2d 69 6d 66 20 23 27 6c 69 73 74 29 0a 0a 28 64 65 66 falias.'hydra--imf.#'list)..(def
6600 75 6e 20 68 79 64 72 61 2d 64 65 66 61 75 6c 74 2d 70 72 65 20 28 29 0a 20 20 22 44 65 66 61 75 un.hydra-default-pre.()..."Defau
6620 6c 74 20 73 65 74 75 70 20 74 68 61 74 20 68 61 70 70 65 6e 73 20 69 6e 20 65 61 63 68 20 68 65 lt.setup.that.happens.in.each.he
6640 61 64 20 62 65 66 6f 72 65 20 3a 70 72 65 2e 22 0a 20 20 28 77 68 65 6e 20 28 65 71 20 69 6e 70 ad.before.:pre."...(when.(eq.inp
6660 75 74 2d 6d 65 74 68 6f 64 2d 66 75 6e 63 74 69 6f 6e 20 27 6b 65 79 2d 63 68 6f 72 64 2d 69 6e ut-method-function.'key-chord-in
6680 70 75 74 2d 6d 65 74 68 6f 64 29 0a 20 20 20 20 28 69 66 20 28 66 62 6f 75 6e 64 70 20 27 61 64 put-method).....(if.(fboundp.'ad
66a0 64 2d 66 75 6e 63 74 69 6f 6e 29 0a 20 20 20 20 20 20 20 20 28 61 64 64 2d 66 75 6e 63 74 69 6f d-function).........(add-functio
66c0 6e 20 3a 6f 76 65 72 72 69 64 65 20 69 6e 70 75 74 2d 6d 65 74 68 6f 64 2d 66 75 6e 63 74 69 6f n.:override.input-method-functio
66e0 6e 20 23 27 68 79 64 72 61 2d 2d 69 6d 66 29 0a 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 68 79 n.#'hydra--imf).......(unless.hy
6700 64 72 61 2d 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 dra--input-method-function......
6720 20 20 20 28 73 65 74 71 20 68 79 64 72 61 2d 2d 69 6e 70 75 74 2d 6d 65 74 68 6f 64 2d 66 75 6e ...(setq.hydra--input-method-fun
6740 63 74 69 6f 6e 20 69 6e 70 75 74 2d 6d 65 74 68 6f 64 2d 66 75 6e 63 74 69 6f 6e 29 0a 20 20 20 ction.input-method-function)....
6760 20 20 20 20 20 28 73 65 74 71 20 69 6e 70 75 74 2d 6d 65 74 68 6f 64 2d 66 75 6e 63 74 69 6f 6e .....(setq.input-method-function
6780 20 6e 69 6c 29 29 29 29 29 0a 0a 28 64 65 66 76 61 72 20 68 79 64 72 61 2d 74 69 6d 65 6f 75 74 .nil)))))..(defvar.hydra-timeout
67a0 2d 74 69 6d 65 72 20 28 74 69 6d 65 72 2d 63 72 65 61 74 65 29 0a 20 20 22 54 69 6d 65 72 20 66 -timer.(timer-create)..."Timer.f
67c0 6f 72 20 60 68 79 64 72 61 2d 74 69 6d 65 6f 75 74 27 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 68 or.`hydra-timeout'.")..(defvar.h
67e0 79 64 72 61 2d 6d 65 73 73 61 67 65 2d 74 69 6d 65 72 20 28 74 69 6d 65 72 2d 63 72 65 61 74 65 ydra-message-timer.(timer-create
6800 29 0a 20 20 22 54 69 6d 65 72 20 66 6f 72 20 74 68 65 20 68 69 6e 74 2e 22 29 0a 0a 28 64 65 66 )..."Timer.for.the.hint.")..(def
6820 76 61 72 20 68 79 64 72 61 2d 2d 77 6f 72 6b 2d 61 72 6f 75 6e 64 2d 64 65 64 69 63 61 74 65 64 var.hydra--work-around-dedicated
6840 20 74 0a 20 20 22 57 68 65 6e 20 6e 6f 6e 2d 6e 69 6c 2c 20 61 73 73 75 6d 65 20 74 68 65 72 65 .t..."When.non-nil,.assume.there
6860 27 73 20 6e 6f 20 62 75 67 20 69 6e 20 60 70 6f 70 2d 74 6f 2d 62 75 66 66 65 72 27 2e 0a 60 70 's.no.bug.in.`pop-to-buffer'..`p
6880 6f 70 2d 74 6f 2d 62 75 66 66 65 72 27 20 73 68 6f 75 6c 64 20 6e 6f 74 20 73 65 6c 65 63 74 20 op-to-buffer'.should.not.select.
68a0 61 20 64 65 64 69 63 61 74 65 64 20 77 69 6e 64 6f 77 2e 22 29 0a 0a 28 64 65 66 75 6e 20 68 79 a.dedicated.window.")..(defun.hy
68c0 64 72 61 2d 6b 65 79 62 6f 61 72 64 2d 71 75 69 74 20 28 29 0a 20 20 22 51 75 69 74 74 69 6e 67 dra-keyboard-quit.()..."Quitting
68e0 20 66 75 6e 63 74 69 6f 6e 20 73 69 6d 69 6c 61 72 20 74 6f 20 60 6b 65 79 62 6f 61 72 64 2d 71 .function.similar.to.`keyboard-q
6900 75 69 74 27 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 68 79 64 72 61 2d uit'."...(interactive)...(hydra-
6920 64 69 73 61 62 6c 65 29 0a 20 20 28 63 61 6e 63 65 6c 2d 74 69 6d 65 72 20 68 79 64 72 61 2d 74 disable)...(cancel-timer.hydra-t
6940 69 6d 65 6f 75 74 2d 74 69 6d 65 72 29 0a 20 20 28 63 61 6e 63 65 6c 2d 74 69 6d 65 72 20 68 79 imeout-timer)...(cancel-timer.hy
6960 64 72 61 2d 6d 65 73 73 61 67 65 2d 74 69 6d 65 72 29 0a 20 20 28 73 65 74 71 20 68 79 64 72 61 dra-message-timer)...(setq.hydra
6980 2d 63 75 72 72 2d 6d 61 70 20 6e 69 6c 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 61 6e 64 20 68 79 -curr-map.nil)...(unless.(and.hy
69a0 64 72 61 2d 2d 69 67 6e 6f 72 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 75 6c 6c dra--ignore................(null
69c0 20 68 79 64 72 61 2d 2d 77 6f 72 6b 2d 61 72 6f 75 6e 64 2d 64 65 64 69 63 61 74 65 64 29 29 0a .hydra--work-around-dedicated)).
69e0 20 20 20 20 28 66 75 6e 63 61 6c 6c 0a 20 20 20 20 20 28 6e 74 68 20 32 20 28 61 73 73 6f 63 20 ....(funcall......(nth.2.(assoc.
6a00 68 79 64 72 61 2d 68 69 6e 74 2d 64 69 73 70 6c 61 79 2d 74 79 70 65 20 68 79 64 72 61 2d 68 69 hydra-hint-display-type.hydra-hi
6a20 6e 74 2d 64 69 73 70 6c 61 79 2d 61 6c 69 73 74 29 29 29 29 0a 20 20 6e 69 6c 29 0a 0a 28 64 65 nt-display-alist))))...nil)..(de
6a40 66 76 61 72 20 68 79 64 72 61 2d 68 65 61 64 2d 66 6f 72 6d 61 74 20 22 5b 25 73 5d 3a 20 22 0a fvar.hydra-head-format."[%s]:.".
6a60 20 20 22 54 68 65 20 66 6f 72 6d 61 74 74 65 72 20 66 6f 72 20 65 61 63 68 20 68 65 61 64 20 6f .."The.formatter.for.each.head.o
6a80 66 20 61 20 70 6c 61 69 6e 20 64 6f 63 73 74 72 69 6e 67 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 f.a.plain.docstring.")..(defvar.
6aa0 68 79 64 72 61 2d 6b 65 79 2d 64 6f 63 2d 66 75 6e 63 74 69 6f 6e 20 27 68 79 64 72 61 2d 6b 65 hydra-key-doc-function.'hydra-ke
6ac0 79 2d 64 6f 63 2d 66 75 6e 63 74 69 6f 6e 2d 64 65 66 61 75 6c 74 0a 20 20 22 54 68 65 20 66 75 y-doc-function-default..."The.fu
6ae0 6e 63 74 69 6f 6e 20 66 6f 72 20 66 6f 72 6d 61 74 74 69 6e 67 20 6b 65 79 2d 64 6f 63 20 70 61 nction.for.formatting.key-doc.pa
6b00 69 72 73 2e 22 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 6b 65 79 2d 64 6f 63 2d 66 75 6e irs.")..(defun.hydra-key-doc-fun
6b20 63 74 69 6f 6e 2d 64 65 66 61 75 6c 74 20 28 6b 65 79 20 6b 65 79 2d 77 69 64 74 68 20 64 6f 63 ction-default.(key.key-width.doc
6b40 20 64 6f 63 2d 77 69 64 74 68 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 20 28 28 65 71 75 61 6c 20 .doc-width)...(cond.....((equal.
6b60 6b 65 79 20 22 20 22 29 20 28 66 6f 72 6d 61 74 20 28 66 6f 72 6d 61 74 20 22 25 25 2d 25 64 73 key.".").(format.(format."%%-%ds
6b80 22 20 28 2b 20 33 20 6b 65 79 2d 77 69 64 74 68 20 64 6f 63 2d 77 69 64 74 68 29 29 20 64 6f 63 ".(+.3.key-width.doc-width)).doc
6ba0 29 29 0a 20 20 20 20 28 28 6c 69 73 74 70 20 64 6f 63 29 0a 20 20 20 20 20 60 28 66 6f 72 6d 61 )).....((listp.doc)......`(forma
6bc0 74 20 2c 28 66 6f 72 6d 61 74 20 22 25 25 25 64 73 3a 20 25 25 25 64 73 22 20 6b 65 79 2d 77 69 t.,(format."%%%ds:.%%%ds".key-wi
6be0 64 74 68 20 28 2d 20 2d 31 20 64 6f 63 2d 77 69 64 74 68 29 29 20 2c 6b 65 79 20 2c 64 6f 63 29 dth.(-.-1.doc-width)).,key.,doc)
6c00 29 0a 20 20 20 20 28 74 20 28 66 6f 72 6d 61 74 20 28 66 6f 72 6d 61 74 20 22 25 25 25 64 73 3a ).....(t.(format.(format."%%%ds:
6c20 20 25 25 25 64 73 22 20 6b 65 79 2d 77 69 64 74 68 20 28 2d 20 2d 31 20 64 6f 63 2d 77 69 64 74 .%%%ds".key-width.(-.-1.doc-widt
6c40 68 29 29 20 6b 65 79 20 64 6f 63 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 2d 74 h)).key.doc))))..(defun.hydra--t
6c60 6f 2d 73 74 72 69 6e 67 20 28 78 29 0a 20 20 28 69 66 20 28 73 74 72 69 6e 67 70 20 78 29 0a 20 o-string.(x)...(if.(stringp.x)..
6c80 20 20 20 20 20 78 0a 20 20 20 20 28 65 76 61 6c 20 78 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 79 .....x.....(eval.x)))..(defun.hy
6ca0 64 72 61 2d 2d 65 76 61 6c 2d 61 6e 64 2d 66 6f 72 6d 61 74 20 28 78 29 0a 20 20 28 6c 65 74 20 dra--eval-and-format.(x)...(let.
6cc0 28 28 73 74 72 20 28 68 79 64 72 61 2d 2d 74 6f 2d 73 74 72 69 6e 67 20 28 63 64 72 20 78 29 29 ((str.(hydra--to-string.(cdr.x))
6ce0 29 29 0a 20 20 20 20 28 66 6f 72 6d 61 74 0a 20 20 20 20 20 28 69 66 20 28 3e 20 28 6c 65 6e 67 )).....(format......(if.(>.(leng
6d00 74 68 20 73 74 72 29 20 30 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 68 79 64 72 th.str).0)..........(concat.hydr
6d20 61 2d 68 65 61 64 2d 66 6f 72 6d 61 74 20 73 74 72 29 0a 20 20 20 20 20 20 20 22 25 73 22 29 0a a-head-format.str)........"%s").
6d40 20 20 20 20 20 28 63 61 72 20 78 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 2d 68 .....(car.x))))..(defun.hydra--h
6d60 69 6e 74 2d 68 65 61 64 73 2d 77 6f 63 6f 6c 20 28 62 6f 64 79 20 68 65 61 64 73 29 0a 20 20 22 int-heads-wocol.(body.heads)..."
6d80 47 65 6e 65 72 61 74 65 20 61 20 68 69 6e 74 20 66 6f 72 20 74 68 65 20 65 63 68 6f 20 61 72 65 Generate.a.hint.for.the.echo.are
6da0 61 2e 0a 42 4f 44 59 2c 20 61 6e 64 20 48 45 41 44 53 20 61 72 65 20 70 61 72 61 6d 65 74 65 72 a..BODY,.and.HEADS.are.parameter
6dc0 73 20 74 6f 20 60 64 65 66 68 79 64 72 61 27 2e 0a 57 6f 72 6b 73 20 66 6f 72 20 68 65 61 64 73 s.to.`defhydra'..Works.for.heads
6de0 20 77 69 74 68 6f 75 74 20 61 20 70 72 6f 70 65 72 74 79 20 3a 63 6f 6c 75 6d 6e 2e 22 0a 20 20 .without.a.property.:column."...
6e00 28 6c 65 74 20 28 61 6c 69 73 74 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 68 20 68 65 61 64 (let.(alist).....(dolist.(h.head
6e20 73 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 76 61 6c 20 28 61 73 73 6f 63 20 28 63 61 64 72 s).......(let.((val.(assoc.(cadr
6e40 20 68 29 20 61 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 70 73 74 72 20 28 68 .h).alist)).............(pstr.(h
6e60 79 64 72 61 2d 66 6f 6e 74 69 66 79 2d 68 65 61 64 20 68 20 62 6f 64 79 29 29 29 0a 20 20 20 20 ydra-fontify-head.h.body))).....
6e80 20 20 20 20 28 69 66 20 76 61 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 28 63 ....(if.val.............(setf.(c
6ea0 61 64 72 20 76 61 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 63 adr.val)...................(conc
6ec0 61 74 20 28 63 61 64 72 20 76 61 6c 29 20 22 20 22 20 70 73 74 72 29 29 0a 20 20 20 20 20 20 20 at.(cadr.val).".".pstr))........
6ee0 20 20 20 28 70 75 73 68 0a 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 28 63 61 64 72 20 ...(push............(cons.(cadr.
6f00 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 73 20 70 73 74 72 20 28 h)..................(cons.pstr.(
6f20 63 6c 2d 63 61 64 64 72 20 68 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 61 6c 69 73 74 29 29 cl-caddr.h)))............alist))
6f40 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 6b 65 79 73 20 28 6e 72 65 76 65 72 73 65 20 28 6d 61 )).....(let.((keys.(nreverse.(ma
6f60 70 63 61 72 20 23 27 63 64 72 20 61 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 6e pcar.#'cdr.alist)))...........(n
6f80 2d 63 6f 6c 73 20 28 70 6c 69 73 74 2d 67 65 74 20 28 63 64 64 72 20 62 6f 64 79 29 20 3a 63 6f -cols.(plist-get.(cddr.body).:co
6fa0 6c 75 6d 6e 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 72 65 73 29 0a 20 20 20 20 20 20 28 73 65 lumns))...........res).......(se
6fc0 74 71 20 72 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 6e 2d 63 6f 6c 73 0a 20 20 tq.res.............(if.n-cols...
6fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6e 2d 72 6f 77 73 20 28 31 2b 20 ..............(let.((n-rows.(1+.
7000 28 2f 20 28 6c 65 6e 67 74 68 20 6b 65 79 73 29 20 6e 2d 63 6f 6c 73 29 29 29 0a 20 20 20 20 20 (/.(length.keys).n-cols)))......
7020 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 78 2d 6b 65 79 2d 6c 65 6e 20 28 61 .................(max-key-len.(a
7040 70 70 6c 79 20 23 27 6d 61 78 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 pply.#'max.(mapcar.(lambda.(x).(
7060 6c 65 6e 67 74 68 20 28 63 61 72 20 78 29 29 29 20 6b 65 79 73 29 29 29 0a 20 20 20 20 20 20 20 length.(car.x))).keys)))........
7080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 78 2d 64 6f 63 2d 6c 65 6e 20 28 61 70 70 ...............(max-doc-len.(app
70a0 6c 79 20 23 27 6d 61 78 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 78 29 0a 20 20 20 ly.#'max.(mapcar.(lambda.(x)....
70c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
70e0 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 65 6e 67 74 68 20 28 .......................(length.(
7100 68 79 64 72 61 2d 2d 74 6f 2d 73 74 72 69 6e 67 20 28 63 64 72 20 78 29 29 29 29 20 6b 65 79 73 hydra--to-string.(cdr.x)))).keys
7120 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 63 6f 6e 63 61 74 0a ))))...................`(concat.
7140 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 6e 22 0a 20 20 20 20 20 20 20 ...................."\n"........
7160 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 69 64 65 6e 74 69 .............(mapconcat.#'identi
7180 74 79 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 ty..............................
71a0 20 20 28 6d 61 70 63 61 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..(mapcar.......................
71c0 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 78 29 0a 20 20 20 20 20 20 20 20 20 20 ..........(lambda.(x)...........
71e0 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 6f 6e 63 ........................(mapconc
7200 61 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 20 20 20 20 at..............................
7220 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ......(lambda.(y)...............
7240 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 6e 64 20 79 0a 20 20 .......................(and.y...
7260 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
7280 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 68 79 64 72 61 2d 6b 65 79 2d 64 6f 63 2d 66 ........(funcall.hydra-key-doc-f
72a0 75 6e 63 74 69 6f 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 unction.........................
72c0 20 20 20 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 72 20 ...........................(car.
72e0 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 20 20 20 y)..............................
7300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 6d 61 78 2d 6b 65 79 2d 6c ......................,max-key-l
7320 65 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 20 en..............................
7340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 79 64 72 61 2d 2d 74 6f ......................(hydra--to
7360 2d 73 74 72 69 6e 67 20 28 63 64 72 20 79 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -string.(cdr.y))................
7380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
73a0 20 20 20 20 2c 6d 61 78 2d 64 6f 63 2d 6c 65 6e 29 29 29 20 78 20 22 22 29 29 0a 20 20 20 20 20 ....,max-doc-len))).x.""))......
73c0 20 20 20 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 2c 28 68 79 ...........................',(hy
73e0 64 72 61 2d 2d 6d 61 74 72 69 78 20 6b 65 79 73 20 6e 2d 63 6f 6c 73 20 6e 2d 72 6f 77 73 29 29 dra--matrix.keys.n-cols.n-rows))
7400 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 ................................
7420 22 5c 6e 22 29 29 29 0a 0a 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 63 6f 6e 63 61 74 "\n"))).................`(concat
7440 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 0a 20 20 20 20 .................(mapconcat.....
7460 20 20 20 20 20 20 20 20 20 20 20 20 20 23 27 68 79 64 72 61 2d 2d 65 76 61 6c 2d 61 6e 64 2d 66 .............#'hydra--eval-and-f
7480 6f 72 6d 61 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 2c 6b 65 79 73 0a 20 20 ormat..................',keys...
74a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 2c 20 22 29 0a 20 20 20 20 20 20 20 20 20 20 20 ...............",.")............
74c0 20 20 20 20 20 2c 28 69 66 20 6b 65 79 73 20 22 2e 22 20 22 22 29 29 29 29 0a 20 20 20 20 20 20 .....,(if.keys."."."")))).......
74e0 28 69 66 20 28 63 6c 2d 65 76 65 72 79 20 23 27 73 74 72 69 6e 67 70 0a 20 20 20 20 20 20 20 20 (if.(cl-every.#'stringp.........
7500 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 27 63 64 64 72 20 61 6c 69 73 74 29 ............(mapcar.'cddr.alist)
7520 29 0a 20 20 20 20 20 20 20 20 20 20 28 65 76 61 6c 20 72 65 73 29 0a 20 20 20 20 20 20 20 20 72 )...........(eval.res).........r
7540 65 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 2d 68 69 6e 74 20 28 62 6f 64 79 es))))..(defun.hydra--hint.(body
7560 20 68 65 61 64 73 29 0a 20 20 22 47 65 6e 65 72 61 74 65 20 61 20 68 69 6e 74 20 66 6f 72 20 74 .heads)..."Generate.a.hint.for.t
7580 68 65 20 65 63 68 6f 20 61 72 65 61 2e 0a 42 4f 44 59 2c 20 61 6e 64 20 48 45 41 44 53 20 61 72 he.echo.area..BODY,.and.HEADS.ar
75a0 65 20 70 61 72 61 6d 65 74 65 72 73 20 74 6f 20 60 64 65 66 68 79 64 72 61 27 2e 22 0a 20 20 28 e.parameters.to.`defhydra'."...(
75c0 6c 65 74 2a 20 28 28 73 6f 72 74 65 64 2d 68 65 61 64 73 20 28 68 79 64 72 61 2d 2d 73 6f 72 74 let*.((sorted-heads.(hydra--sort
75e0 2d 68 65 61 64 73 20 28 68 79 64 72 61 2d 2d 6e 6f 72 6d 61 6c 69 7a 65 2d 68 65 61 64 73 20 68 -heads.(hydra--normalize-heads.h
7600 65 61 64 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 68 65 61 64 73 2d 77 2d 63 6f 6c 20 28 63 eads)))..........(heads-w-col.(c
7620 6c 2d 72 65 6d 6f 76 65 2d 69 66 2d 6e 6f 74 20 28 6c 61 6d 62 64 61 20 28 68 65 61 64 73 29 20 l-remove-if-not.(lambda.(heads).
7640 28 68 79 64 72 61 2d 2d 68 65 61 64 2d 70 72 6f 70 65 72 74 79 20 28 6e 74 68 20 30 20 68 65 61 (hydra--head-property.(nth.0.hea
7660 64 73 29 20 3a 63 6f 6c 75 6d 6e 29 29 20 73 6f 72 74 65 64 2d 68 65 61 64 73 29 29 0a 20 20 20 ds).:column)).sorted-heads))....
7680 20 20 20 20 20 20 28 68 65 61 64 73 2d 77 6f 2d 63 6f 6c 20 28 63 6c 2d 72 65 6d 6f 76 65 2d 69 ......(heads-wo-col.(cl-remove-i
76a0 66 20 28 6c 61 6d 62 64 61 20 28 68 65 61 64 73 29 20 28 68 79 64 72 61 2d 2d 68 65 61 64 2d 70 f.(lambda.(heads).(hydra--head-p
76c0 72 6f 70 65 72 74 79 20 28 6e 74 68 20 30 20 68 65 61 64 73 29 20 3a 63 6f 6c 75 6d 6e 29 29 20 roperty.(nth.0.heads).:column)).
76e0 73 6f 72 74 65 64 2d 68 65 61 64 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 68 69 6e 74 2d 77 2d sorted-heads))..........(hint-w-
7700 63 6f 6c 20 28 77 68 65 6e 20 68 65 61 64 73 2d 77 2d 63 6f 6c 0a 20 20 20 20 20 20 20 20 20 20 col.(when.heads-w-col...........
7720 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 79 64 72 61 2d 2d 68 69 6e 74 2d 66 72 6f 6d 2d 6d .............(hydra--hint-from-m
7740 61 74 72 69 78 20 62 6f 64 79 20 28 68 79 64 72 61 2d 2d 67 65 6e 65 72 61 74 65 2d 6d 61 74 72 atrix.body.(hydra--generate-matr
7760 69 78 20 68 65 61 64 73 2d 77 2d 63 6f 6c 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 68 69 6e ix.heads-w-col))))..........(hin
7780 74 2d 77 6f 2d 63 6f 6c 20 28 77 68 65 6e 20 68 65 61 64 73 2d 77 6f 2d 63 6f 6c 0a 20 20 20 20 t-wo-col.(when.heads-wo-col.....
77a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 79 64 72 61 2d 2d 68 69 6e 74 ....................(hydra--hint
77c0 2d 68 65 61 64 73 2d 77 6f 63 6f 6c 20 62 6f 64 79 20 28 63 61 72 20 68 65 61 64 73 2d 77 6f 2d -heads-wocol.body.(car.heads-wo-
77e0 63 6f 6c 29 29 29 29 29 0a 20 20 20 20 28 69 66 20 28 6e 75 6c 6c 20 68 69 6e 74 2d 77 2d 63 6f col))))).....(if.(null.hint-w-co
7800 6c 29 0a 20 20 20 20 20 20 20 20 68 69 6e 74 2d 77 6f 2d 63 6f 6c 0a 20 20 20 20 20 20 28 69 66 l).........hint-wo-col.......(if
7820 20 28 73 74 72 69 6e 67 70 20 68 69 6e 74 2d 77 6f 2d 63 6f 6c 29 0a 20 20 20 20 20 20 20 20 20 .(stringp.hint-wo-col)..........
7840 20 60 28 63 6f 6e 63 61 74 20 2c 40 68 69 6e 74 2d 77 2d 63 6f 6c 20 2c 68 69 6e 74 2d 77 6f 2d .`(concat.,@hint-w-col.,hint-wo-
7860 63 6f 6c 29 0a 20 20 20 20 20 20 20 20 60 28 63 6f 6e 63 61 74 20 2c 40 68 69 6e 74 2d 77 2d 63 col).........`(concat.,@hint-w-c
7880 6f 6c 20 2c 40 28 63 64 72 20 68 69 6e 74 2d 77 6f 2d 63 6f 6c 29 29 29 29 29 29 0a 0a 28 64 65 ol.,@(cdr.hint-wo-col))))))..(de
78a0 66 76 61 72 20 68 79 64 72 61 2d 66 6f 6e 74 69 66 79 2d 68 65 61 64 2d 66 75 6e 63 74 69 6f 6e fvar.hydra-fontify-head-function
78c0 20 6e 69 6c 0a 20 20 22 50 6f 73 73 69 62 6c 65 20 72 65 70 6c 61 63 65 6d 65 6e 74 20 66 6f 72 .nil..."Possible.replacement.for
78e0 20 60 68 79 64 72 61 2d 66 6f 6e 74 69 66 79 2d 68 65 61 64 2d 64 65 66 61 75 6c 74 27 2e 22 29 .`hydra-fontify-head-default'.")
7900 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 66 6f 6e 74 69 66 79 2d 68 65 61 64 2d 64 65 66 61 ..(defun.hydra-fontify-head-defa
7920 75 6c 74 20 28 68 65 61 64 20 62 6f 64 79 29 0a 20 20 22 50 72 6f 64 75 63 65 20 61 20 70 72 65 ult.(head.body)..."Produce.a.pre
7940 74 74 79 20 73 74 72 69 6e 67 20 66 72 6f 6d 20 48 45 41 44 20 61 6e 64 20 42 4f 44 59 2e 0a 48 tty.string.from.HEAD.and.BODY..H
7960 45 41 44 27 73 20 62 69 6e 64 69 6e 67 20 69 73 20 72 65 74 75 72 6e 65 64 20 61 73 20 61 20 73 EAD's.binding.is.returned.as.a.s
7980 74 72 69 6e 67 20 77 69 74 68 20 61 20 63 6f 6c 6f 72 65 64 20 66 61 63 65 2e 22 0a 20 20 28 6c tring.with.a.colored.face."...(l
79a0 65 74 2a 20 28 28 66 6f 72 65 69 67 6e 2d 6b 65 79 73 20 28 68 79 64 72 61 2d 2d 62 6f 64 79 2d et*.((foreign-keys.(hydra--body-
79c0 66 6f 72 65 69 67 6e 2d 6b 65 79 73 20 62 6f 64 79 29 29 0a 20 20 20 20 20 20 20 20 20 28 68 65 foreign-keys.body))..........(he
79e0 61 64 2d 65 78 69 74 20 28 68 79 64 72 61 2d 2d 68 65 61 64 2d 70 72 6f 70 65 72 74 79 20 68 65 ad-exit.(hydra--head-property.he
7a00 61 64 20 3a 65 78 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 68 65 61 64 2d 63 6f 6c 6f 72 0a ad.:exit))..........(head-color.
7a20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 68 65 61 64 2d 65 78 69 74 0a 20 20 20 20 20 20 20 20 ..........(if.head-exit.........
7a40 20 20 20 20 20 20 28 69 66 20 28 65 71 20 66 6f 72 65 69 67 6e 2d 6b 65 79 73 20 27 77 61 72 6e ......(if.(eq.foreign-keys.'warn
7a60 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 74 65 61 6c 0a 20 20 20 20 20 20 )...................'teal.......
7a80 20 20 20 20 20 20 20 20 20 20 27 62 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c ..........'blue).............(cl
7aa0 2d 63 61 73 65 20 66 6f 72 65 69 67 6e 2d 6b 65 79 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 -case.foreign-keys..............
7ac0 20 28 77 61 72 6e 20 27 61 6d 61 72 61 6e 74 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(warn.'amaranth)...............
7ae0 28 72 75 6e 20 27 70 69 6e 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 27 72 65 (run.'pink)...............(t.'re
7b00 64 29 29 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 61 6e 64 20 28 6e 75 6c 6c 20 28 63 61 64 d))))).....(when.(and.(null.(cad
7b20 72 20 68 65 61 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 68 65 61 r.head))................(not.hea
7b40 64 2d 65 78 69 74 29 29 0a 20 20 20 20 20 20 28 68 79 64 72 61 2d 2d 63 6f 6d 70 6c 61 69 6e 20 d-exit)).......(hydra--complain.
7b60 22 6e 69 6c 20 63 6d 64 20 63 61 6e 20 6f 6e 6c 79 20 62 65 20 62 6c 75 65 22 29 29 0a 20 20 20 "nil.cmd.can.only.be.blue"))....
7b80 20 28 70 72 6f 70 65 72 74 69 7a 65 0a 20 20 20 20 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 .(propertize......(replace-regex
7ba0 70 2d 69 6e 2d 73 74 72 69 6e 67 20 22 25 22 20 22 25 25 22 20 28 63 61 72 20 68 65 61 64 29 29 p-in-string."%"."%%".(car.head))
7bc0 0a 20 20 20 20 20 27 66 61 63 65 0a 20 20 20 20 20 28 6f 72 20 28 68 79 64 72 61 2d 2d 68 65 61 ......'face......(or.(hydra--hea
7be0 64 2d 70 72 6f 70 65 72 74 79 20 68 65 61 64 20 3a 66 61 63 65 29 0a 20 20 20 20 20 20 20 20 20 d-property.head.:face)..........
7c00 28 63 6c 2d 63 61 73 65 20 68 65 61 64 2d 63 6f 6c 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 28 (cl-case.head-color............(
7c20 62 6c 75 65 20 27 68 79 64 72 61 2d 66 61 63 65 2d 62 6c 75 65 29 0a 20 20 20 20 20 20 20 20 20 blue.'hydra-face-blue)..........
7c40 20 20 28 72 65 64 20 27 68 79 64 72 61 2d 66 61 63 65 2d 72 65 64 29 0a 20 20 20 20 20 20 20 20 ..(red.'hydra-face-red).........
7c60 20 20 20 28 61 6d 61 72 61 6e 74 68 20 27 68 79 64 72 61 2d 66 61 63 65 2d 61 6d 61 72 61 6e 74 ...(amaranth.'hydra-face-amarant
7c80 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 70 69 6e 6b 20 27 68 79 64 72 61 2d 66 61 63 65 2d h)............(pink.'hydra-face-
7ca0 70 69 6e 6b 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 74 65 61 6c 20 27 68 79 64 72 61 2d 66 61 pink)............(teal.'hydra-fa
7cc0 63 65 2d 74 65 61 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 74 20 28 65 72 72 6f 72 20 22 55 ce-teal)............(t.(error."U
7ce0 6e 6b 6e 6f 77 6e 20 63 6f 6c 6f 72 20 66 6f 72 20 25 53 22 20 68 65 61 64 29 29 29 29 29 29 29 nknown.color.for.%S".head)))))))
7d00 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 66 6f 6e 74 69 66 79 2d 68 65 61 64 2d 67 72 65 79 ..(defun.hydra-fontify-head-grey
7d20 73 63 61 6c 65 20 28 68 65 61 64 20 5f 62 6f 64 79 29 0a 20 20 22 50 72 6f 64 75 63 65 20 61 20 scale.(head._body)..."Produce.a.
7d40 70 72 65 74 74 79 20 73 74 72 69 6e 67 20 66 72 6f 6d 20 48 45 41 44 20 61 6e 64 20 42 4f 44 59 pretty.string.from.HEAD.and.BODY
7d60 2e 0a 48 45 41 44 27 73 20 62 69 6e 64 69 6e 67 20 69 73 20 72 65 74 75 72 6e 65 64 20 61 73 20 ..HEAD's.binding.is.returned.as.
7d80 61 20 73 74 72 69 6e 67 20 77 72 61 70 70 65 64 20 77 69 74 68 20 5b 5d 20 6f 72 20 7b 7d 2e 22 a.string.wrapped.with.[].or.{}."
7da0 0a 20 20 28 66 6f 72 6d 61 74 0a 20 20 20 28 69 66 20 28 68 79 64 72 61 2d 2d 68 65 61 64 2d 70 ...(format....(if.(hydra--head-p
7dc0 72 6f 70 65 72 74 79 20 68 65 61 64 20 3a 65 78 69 74 29 0a 20 20 20 20 20 20 20 22 5b 25 73 5d roperty.head.:exit)........"[%s]
7de0 22 0a 20 20 20 20 20 22 7b 25 73 7d 22 29 20 28 63 61 72 20 68 65 61 64 29 29 29 0a 0a 28 64 65 "......"{%s}").(car.head)))..(de
7e00 66 75 6e 20 68 79 64 72 61 2d 66 6f 6e 74 69 66 79 2d 68 65 61 64 20 28 68 65 61 64 20 62 6f 64 fun.hydra-fontify-head.(head.bod
7e20 79 29 0a 20 20 22 50 72 6f 64 75 63 65 20 61 20 70 72 65 74 74 79 20 73 74 72 69 6e 67 20 66 72 y)..."Produce.a.pretty.string.fr
7e40 6f 6d 20 48 45 41 44 20 61 6e 64 20 42 4f 44 59 2e 22 0a 20 20 28 66 75 6e 63 61 6c 6c 20 28 6f om.HEAD.and.BODY."...(funcall.(o
7e60 72 20 68 79 64 72 61 2d 66 6f 6e 74 69 66 79 2d 68 65 61 64 2d 66 75 6e 63 74 69 6f 6e 20 27 68 r.hydra-fontify-head-function.'h
7e80 79 64 72 61 2d 66 6f 6e 74 69 66 79 2d 68 65 61 64 2d 64 65 66 61 75 6c 74 29 0a 20 20 20 20 20 ydra-fontify-head-default)......
7ea0 20 20 20 20 20 20 68 65 61 64 20 62 6f 64 79 29 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d ......head.body))..(defun.hydra-
7ec0 2d 73 74 72 69 70 2d 61 6c 69 67 6e 2d 6d 61 72 6b 65 72 73 20 28 73 74 72 29 0a 20 20 22 52 65 -strip-align-markers.(str)..."Re
7ee0 6d 6f 76 65 20 5e 20 66 72 6f 6d 20 53 54 52 2c 20 75 6e 6c 65 73 73 20 74 68 65 79 27 72 65 20 move.^.from.STR,.unless.they're.
7f00 65 73 63 61 70 65 64 3a 20 5c 5c 5e 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 74 61 72 74 20 30 29 escaped:.\\^."...(let.((start.0)
7f20 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 73 65 74 71 20 73 74 61 72 74 20 28 73 74 72 69 6e 67 ).....(while.(setq.start.(string
7f40 2d 6d 61 74 63 68 20 22 5c 5c 5c 5c 3f 5c 5c 5e 22 20 73 74 72 20 73 74 61 72 74 29 29 0a 20 20 -match."\\\\?\\^".str.start))...
7f60 20 20 20 20 28 69 66 20 28 65 71 20 28 2d 20 28 6d 61 74 63 68 2d 65 6e 64 20 30 29 20 28 6d 61 ....(if.(eq.(-.(match-end.0).(ma
7f80 74 63 68 2d 62 65 67 69 6e 6e 69 6e 67 20 30 29 29 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 28 tch-beginning.0)).2)...........(
7fa0 70 72 6f 67 6e 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 74 72 20 28 72 65 70 progn.............(setq.str.(rep
7fc0 6c 61 63 65 2d 6d 61 74 63 68 20 22 5e 22 20 6e 69 6c 20 6e 69 6c 20 73 74 72 29 29 0a 20 20 20 lace-match."^".nil.nil.str))....
7fe0 20 20 20 20 20 20 20 20 20 28 63 6c 2d 69 6e 63 66 20 73 74 61 72 74 29 29 0a 20 20 20 20 20 20 .........(cl-incf.start)).......
8000 20 20 28 73 65 74 71 20 73 74 72 20 28 72 65 70 6c 61 63 65 2d 6d 61 74 63 68 20 22 22 20 6e 69 ..(setq.str.(replace-match."".ni
8020 6c 20 6e 69 6c 20 73 74 72 29 29 29 29 0a 20 20 20 20 73 74 72 29 29 0a 0a 28 64 65 66 76 61 72 l.nil.str)))).....str))..(defvar
8040 20 68 79 64 72 61 2d 64 6f 63 73 74 72 69 6e 67 2d 6b 65 79 73 2d 74 72 61 6e 73 6c 61 74 65 2d .hydra-docstring-keys-translate-
8060 61 6c 69 73 74 0a 20 20 27 28 28 22 e2 86 91 22 20 2e 20 22 3c 75 70 3e 22 29 0a 20 20 20 20 28 alist...'(("..."..."<up>").....(
8080 22 e2 86 93 22 20 2e 20 22 3c 64 6f 77 6e 3e 22 29 0a 20 20 20 20 28 22 e2 86 92 22 20 2e 20 22 "..."..."<down>").....("..."..."
80a0 3c 72 69 67 68 74 3e 22 29 0a 20 20 20 20 28 22 e2 86 90 22 20 2e 20 22 3c 6c 65 66 74 3e 22 29 <right>").....("..."..."<left>")
80c0 0a 20 20 20 20 28 22 e2 8c ab 22 20 2e 20 22 44 45 4c 22 29 0a 20 20 20 20 28 22 e2 8c a6 22 20 .....("..."..."DEL").....("...".
80e0 2e 20 22 3c 64 65 6c 65 74 65 63 68 61 72 3e 22 29 0a 20 20 20 20 28 22 e2 8f 8e 22 20 2e 20 22 .."<deletechar>").....("..."..."
8100 52 45 54 22 29 29 29 0a 0a 28 64 65 66 63 6f 6e 73 74 20 68 79 64 72 61 2d 77 69 64 74 68 2d 73 RET")))..(defconst.hydra-width-s
8120 70 65 63 2d 72 65 67 65 78 20 22 20 3f 2d 3f 5b 30 2d 39 5d 2a 3f 22 0a 20 20 22 52 65 67 65 78 pec-regex.".?-?[0-9]*?"..."Regex
8140 20 66 6f 72 20 74 68 65 20 77 69 64 74 68 20 73 70 65 63 20 69 6e 20 6b 65 79 73 20 61 6e 64 20 .for.the.width.spec.in.keys.and.
8160 25 60 20 71 75 6f 74 65 64 20 73 65 78 70 73 2e 22 29 0a 0a 28 64 65 66 76 61 72 20 68 79 64 72 %`.quoted.sexps.")..(defvar.hydr
8180 61 2d 6b 65 79 2d 72 65 67 65 78 20 22 5c 5c 5b 5c 5c 7c 5d 5c 5c 7c 5b 2d 5c 5c 5b 3a 61 6c 6e a-key-regex."\\[\\|]\\|[-\\[:aln
81a0 75 6d 3a 5d 20 7e 2e 2c 3b 3a 2f 7c 3f 3c 3e 3d 7b 7d 2a 2b 23 25 40 21 26 5e e2 86 91 e2 86 93 um:].~.,;:/|?<>={}*+#%@!&^......
81c0 e2 86 90 e2 86 92 e2 8c ab e2 8c a6 e2 8f 8e 27 60 28 29 5c 22 24 5d 2b 3f 22 0a 20 20 22 52 65 ...............'`()\"$]+?"..."Re
81e0 67 65 78 20 66 6f 72 20 74 68 65 20 6b 65 79 20 71 75 6f 74 65 64 20 69 6e 20 74 68 65 20 64 6f gex.for.the.key.quoted.in.the.do
8200 63 73 74 72 69 6e 67 2e 22 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 2d 66 6f 72 6d 61 74 cstring.")..(defun.hydra--format
8220 20 28 5f 6e 61 6d 65 20 62 6f 64 79 20 64 6f 63 73 74 72 69 6e 67 20 68 65 61 64 73 29 0a 20 20 .(_name.body.docstring.heads)...
8240 22 47 65 6e 65 72 61 74 65 20 61 20 60 66 6f 72 6d 61 74 27 20 73 74 61 74 65 6d 65 6e 74 20 66 "Generate.a.`format'.statement.f
8260 72 6f 6d 20 53 54 52 2e 0a 5c 22 25 60 2e 2e 2e 5c 22 20 65 78 70 72 65 73 73 69 6f 6e 73 20 61 rom.STR..\"%`...\".expressions.a
8280 72 65 20 65 78 74 72 61 63 74 65 64 20 69 6e 74 6f 20 5c 22 25 53 5c 22 2e 0a 5f 4e 41 4d 45 2c re.extracted.into.\"%S\".._NAME,
82a0 20 42 4f 44 59 2c 20 44 4f 43 53 54 52 49 4e 47 20 61 6e 64 20 48 45 41 44 53 20 61 72 65 20 70 .BODY,.DOCSTRING.and.HEADS.are.p
82c0 61 72 61 6d 65 74 65 72 73 20 6f 66 20 60 64 65 66 68 79 64 72 61 27 2e 0a 54 68 65 20 65 78 70 arameters.of.`defhydra'..The.exp
82e0 72 65 73 73 69 6f 6e 73 20 63 61 6e 20 62 65 20 61 75 74 6f 2d 65 78 70 61 6e 64 65 64 20 61 63 ressions.can.be.auto-expanded.ac
8300 63 6f 72 64 69 6e 67 20 74 6f 20 4e 41 4d 45 2e 22 0a 20 20 28 75 6e 6c 65 73 73 20 28 6d 65 6d cording.to.NAME."...(unless.(mem
8320 71 20 27 65 6c 69 73 70 2d 2d 77 69 74 6e 65 73 73 2d 2d 6c 69 73 70 20 28 6d 61 70 63 61 72 20 q.'elisp--witness--lisp.(mapcar.
8340 23 27 63 61 64 72 20 68 65 61 64 73 29 29 0a 20 20 20 20 28 73 65 74 71 20 64 6f 63 73 74 72 69 #'cadr.heads)).....(setq.docstri
8360 6e 67 20 28 68 79 64 72 61 2d 2d 73 74 72 69 70 2d 61 6c 69 67 6e 2d 6d 61 72 6b 65 72 73 20 64 ng.(hydra--strip-align-markers.d
8380 6f 63 73 74 72 69 6e 67 29 29 0a 20 20 20 20 28 73 65 74 71 20 64 6f 63 73 74 72 69 6e 67 20 28 ocstring)).....(setq.docstring.(
83a0 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 22 5f 5f 5f 22 20 22 replace-regexp-in-string."___"."
83c0 5f ce b2 5f 22 20 64 6f 63 73 74 72 69 6e 67 29 29 0a 20 20 20 20 28 6c 65 74 20 28 28 72 65 73 _.._".docstring)).....(let.((res
83e0 74 20 28 69 66 20 28 65 71 20 28 70 6c 69 73 74 2d 67 65 74 20 28 63 64 64 72 20 62 6f 64 79 29 t.(if.(eq.(plist-get.(cddr.body)
8400 20 3a 68 69 6e 74 29 20 27 6e 6f 6e 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .:hint).'none)..................
8420 20 20 20 22 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 79 64 72 61 2d 2d ...""...................(hydra--
8440 68 69 6e 74 20 62 6f 64 79 20 68 65 61 64 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 74 hint.body.heads)))...........(st
8460 61 72 74 20 30 29 0a 20 20 20 20 20 20 20 20 20 20 28 69 6e 6e 65 72 2d 72 65 67 65 78 20 28 66 art.0)...........(inner-regex.(f
8480 6f 72 6d 61 74 20 22 5c 5c 28 25 73 5c 5c 29 5c 5c 28 25 73 5c 5c 29 22 20 68 79 64 72 61 2d 77 ormat."\\(%s\\)\\(%s\\)".hydra-w
84a0 69 64 74 68 2d 73 70 65 63 2d 72 65 67 65 78 20 68 79 64 72 61 2d 6b 65 79 2d 72 65 67 65 78 29 idth-spec-regex.hydra-key-regex)
84c0 29 0a 20 20 20 20 20 20 20 20 20 20 76 61 72 6c 69 73 74 0a 20 20 20 20 20 20 20 20 20 20 6f 66 )...........varlist...........of
84e0 66 73 65 74 29 0a 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 73 65 74 71 20 73 74 61 72 74 0a 20 fset).......(while.(setq.start..
8500 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 0a ..................(string-match.
8520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 0a 20 20 20 20 ....................(format.....
8540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 5c 28 3f 3a 25 25 5c 5c 28 20 3f 2d 3f ................."\\(?:%%\\(.?-?
8560 5b 30 2d 39 5d 2a 73 3f 5c 5c 29 5c 5c 28 60 5b 61 2d 7a 2d 41 2d 5a 2f 30 2d 39 5d 2b 5c 5c 7c [0-9]*s?\\)\\(`[a-z-A-Z/0-9]+\\|
8580 28 5c 5c 29 5c 5c 29 5c 5c 7c 5c 5c 28 3f 3a 5f 25 73 5f 5c 5c 29 5c 5c 7c 5c 5c 28 3f 3a 5b 3f (\\)\\)\\|\\(?:_%s_\\)\\|\\(?:[?
85a0 5d 25 73 5b 3f 5d 5c 5c 29 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ]%s[?]\\)"......................
85c0 69 6e 6e 65 72 2d 72 65 67 65 78 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 inner-regex.....................
85e0 20 69 6e 6e 65 72 2d 72 65 67 65 78 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .inner-regex)...................
8600 20 20 64 6f 63 73 74 72 69 6e 67 20 73 74 61 72 74 29 29 0a 20 20 20 20 20 20 20 20 28 63 6f 6e ..docstring.start)).........(con
8620 64 20 28 28 65 71 20 3f 3f 20 28 61 72 65 66 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 30 20 d.((eq.??.(aref.(match-string.0.
8640 64 6f 63 73 74 72 69 6e 67 29 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c docstring).0))................(l
8660 65 74 2a 20 28 28 6b 65 79 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 36 20 64 6f 63 73 74 72 et*.((key.(match-string.6.docstr
8680 69 6e 67 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 68 65 61 ing)).......................(hea
86a0 64 20 28 61 73 73 6f 63 20 6b 65 79 20 68 65 61 64 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 d.(assoc.key.heads)))...........
86c0 20 20 20 20 20 20 20 28 69 66 20 68 65 61 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......(if.head.................
86e0 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 20 .....(progn.....................
8700 20 20 20 28 70 75 73 68 20 28 6e 74 68 20 32 20 68 65 61 64 29 20 76 61 72 6c 69 73 74 29 0a 20 ...(push.(nth.2.head).varlist)..
8720 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 64 6f 63 73 ......................(setq.docs
8740 74 72 69 6e 67 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 tring...........................
8760 20 20 20 28 72 65 70 6c 61 63 65 2d 6d 61 74 63 68 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...(replace-match...............
8780 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 ................(or.............
87a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 79 64 72 61 2d 64 6f 63 2d 66 6f 72 ...................hydra-doc-for
87c0 6d 61 74 2d 73 70 65 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 mat-spec........................
87e0 20 20 20 20 20 20 20 20 28 63 6f 6e 63 61 74 20 22 25 22 20 28 6d 61 74 63 68 2d 73 74 72 69 6e ........(concat."%".(match-strin
8800 67 20 33 20 64 6f 63 73 74 72 69 6e 67 29 20 22 73 22 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 g.3.docstring)."s"))............
8820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 20 6e 69 6c 20 64 6f 63 73 74 72 69 ...................t.nil.docstri
8840 6e 67 29 29 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 73 ng)))....................(setq.s
8860 74 61 72 74 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 20 20 tart.(match-end.0)).............
8880 20 20 20 20 20 20 20 28 77 61 72 6e 20 22 55 6e 72 65 63 6f 67 6e 69 7a 65 64 20 6b 65 79 3a 20 .......(warn."Unrecognized.key:.
88a0 3f 25 73 3f 22 20 6b 65 79 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 65 71 ?%s?".key))))...............((eq
88c0 20 3f 5f 20 28 61 72 65 66 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 30 20 64 6f 63 73 74 72 .?_.(aref.(match-string.0.docstr
88e0 69 6e 67 29 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 ing).0))................(let*.((
8900 6b 65 79 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 34 20 64 6f 63 73 74 72 69 6e 67 29 29 0a key.(match-string.4.docstring)).
8920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6b 65 79 20 28 69 66 20 28 ......................(key.(if.(
8940 65 71 75 61 6c 20 6b 65 79 20 22 ce b2 22 29 20 22 5f 22 20 6b 65 79 29 29 0a 20 20 20 20 20 20 equal.key."..")."_".key)).......
8960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 6f 72 6d 61 6c 2d 6b 65 79 0a 20 20 20 20 20 ................normal-key......
8980 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 65 61 64 20 28 6f 72 20 28 61 73 73 6f .................(head.(or.(asso
89a0 63 20 6b 65 79 20 68 65 61 64 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 c.key.heads)....................
89c0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 73 65 74 71 20 6e 6f 72 6d 61 6c 2d .............(when.(setq.normal-
89e0 6b 65 79 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 key.............................
8a00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 64 72 20 28 61 73 73 6f 63 0a 20 20 20 20 ................(cdr.(assoc.....
8a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
8a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6b 65 79 20 68 79 64 72 61 2d 64 6f 63 73 74 72 69 6e ..............key.hydra-docstrin
8a60 67 2d 6b 65 79 73 2d 74 72 61 6e 73 6c 61 74 65 2d 61 6c 69 73 74 29 29 29 0a 20 20 20 20 20 20 g-keys-translate-alist))).......
8a80 20 20 20 20 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 73 73 ............................(ass
8aa0 6f 63 20 6e 6f 72 6d 61 6c 2d 6b 65 79 20 68 65 61 64 73 29 29 29 29 29 0a 20 20 20 20 20 20 20 oc.normal-key.heads)))))........
8ac0 20 20 20 20 20 20 20 20 20 20 28 69 66 20 68 65 61 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........(if.head..............
8ae0 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 20 ........(progn..................
8b00 20 20 20 20 20 20 28 70 75 73 68 20 28 68 79 64 72 61 2d 66 6f 6e 74 69 66 79 2d 68 65 61 64 20 ......(push.(hydra-fontify-head.
8b20 28 69 66 20 6e 6f 72 6d 61 6c 2d 6b 65 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 (if.normal-key..................
8b40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
8b60 20 20 20 20 28 63 6f 6e 73 20 6b 65 79 20 28 63 64 72 20 68 65 61 64 29 29 0a 20 20 20 20 20 20 ....(cons.key.(cdr.head)).......
8b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
8ba0 20 20 20 20 20 20 20 20 20 20 20 20 20 68 65 61 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .............head)..............
8bc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
8be0 20 20 20 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 ....body).......................
8c00 20 20 20 20 20 20 20 76 61 72 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......varlist).................
8c20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 72 65 70 6c 61 63 65 6d 65 6e 74 0a 20 20 20 20 20 20 .......(let.((replacement.......
8c40 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 0a 20 20 20 20 ........................(or.....
8c60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 79 64 72 61 ...........................hydra
8c80 2d 6b 65 79 2d 66 6f 72 6d 61 74 2d 73 70 65 63 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -key-format-spec................
8ca0 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 25 22 20 28 6d 61 74 ................(concat."%".(mat
8cc0 63 68 2d 73 74 72 69 6e 67 20 33 20 64 6f 63 73 74 72 69 6e 67 29 20 22 73 22 29 29 29 29 0a 20 ch-string.3.docstring)."s"))))..
8ce0 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 64 6f ........................(setq.do
8d00 63 73 74 72 69 6e 67 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 cstring.........................
8d20 20 20 20 20 20 20 20 28 72 65 70 6c 61 63 65 2d 6d 61 74 63 68 20 72 65 70 6c 61 63 65 6d 65 6e .......(replace-match.replacemen
8d40 74 20 74 20 6e 69 6c 20 64 6f 63 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 t.t.nil.docstring)).............
8d60 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 74 61 72 74 20 28 2b 20 73 74 61 72 .............(setq.start.(+.star
8d80 74 20 28 6c 65 6e 67 74 68 20 72 65 70 6c 61 63 65 6d 65 6e 74 29 29 29 29 29 0a 20 20 20 20 20 t.(length.replacement)))))......
8da0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 73 74 61 72 74 20 28 6d 61 74 63 68 ..............(setq.start.(match
8dc0 2d 65 6e 64 20 30 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 61 72 -end.0))....................(war
8de0 6e 20 22 55 6e 72 65 63 6f 67 6e 69 7a 65 64 20 6b 65 79 3a 20 5f 25 73 5f 22 20 6b 65 79 29 29 n."Unrecognized.key:._%s_".key))
8e00 29 29 0a 0a 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 ))................(t............
8e20 20 20 20 20 28 6c 65 74 2a 20 28 28 76 61 72 70 20 28 69 66 20 28 65 71 20 3f 60 20 28 61 72 65 ....(let*.((varp.(if.(eq.?`.(are
8e40 66 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 32 20 64 6f 63 73 74 72 69 6e 67 29 20 30 29 29 f.(match-string.2.docstring).0))
8e60 20 31 20 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 28 73 70 .1.0)).......................(sp
8e80 65 63 20 28 6d 61 74 63 68 2d 73 74 72 69 6e 67 20 31 20 64 6f 63 73 74 72 69 6e 67 29 29 0a 20 ec.(match-string.1.docstring))..
8ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 73 70 65 63 20 28 6c 65 6e .....................(lspec.(len
8ec0 67 74 68 20 73 70 65 63 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 gth.spec)))..................(se
8ee0 74 71 20 6f 66 66 73 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tq.offset.......................
8f00 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 20 20 20 20 20 .(with-temp-buffer..............
8f20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 6e 73 65 72 74 20 28 73 75 62 73 74 72 69 6e 67 20 64 ............(insert.(substring.d
8f40 6f 63 73 74 72 69 6e 67 20 28 2b 20 31 20 73 74 61 72 74 20 76 61 72 70 0a 20 20 20 20 20 20 20 ocstring.(+.1.start.varp........
8f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
8f80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 6e 67 74 68 20 73 70 65 63 29 29 ..................(length.spec))
8fa0 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 67 6f 74 ))..........................(got
8fc0 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 20 20 20 20 o-char.(point-min)).............
8fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 72 65 61 64 20 28 63 75 72 72 65 6e .............(push.(read.(curren
9000 74 2d 62 75 66 66 65 72 29 29 20 76 61 72 6c 69 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 t-buffer)).varlist).............
9020 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2d 20 28 70 6f 69 6e 74 29 20 28 70 6f 69 6e 74 2d 6d .............(-.(point).(point-m
9040 69 6e 29 29 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 28 6f in))))..................(when.(o
9060 72 20 28 7a 65 72 6f 70 20 6c 73 70 65 63 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r.(zerop.lspec).................
9080 20 20 20 20 20 20 20 20 20 20 20 28 2f 3d 20 28 61 72 65 66 20 73 70 65 63 20 28 31 2d 20 28 6c ...........(/=.(aref.spec.(1-.(l
90a0 65 6e 67 74 68 20 73 70 65 63 29 29 29 20 3f 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ength.spec))).?s))..............
90c0 20 20 20 20 20 20 28 73 65 74 71 20 73 70 65 63 20 28 63 6f 6e 63 61 74 20 73 70 65 63 20 22 53 ......(setq.spec.(concat.spec."S
90e0 22 29 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 64 6f 63 73 ")))..................(setq.docs
9100 74 72 69 6e 67 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 63 6f tring........................(co
9120 6e 63 61 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 28 73 75 ncat.........................(su
9140 62 73 74 72 69 6e 67 20 64 6f 63 73 74 72 69 6e 67 20 30 20 73 74 61 72 74 29 0a 20 20 20 20 20 bstring.docstring.0.start)......
9160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 25 22 20 73 70 65 63 0a 20 20 20 20 ..................."%".spec.....
9180 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 67 20 64 ....................(substring.d
91a0 6f 63 73 74 72 69 6e 67 20 28 2b 20 73 74 61 72 74 20 6f 66 66 73 65 74 20 31 20 6c 73 70 65 63 ocstring.(+.start.offset.1.lspec
91c0 20 76 61 72 70 29 29 29 29 29 29 29 29 0a 20 20 20 20 20 20 28 68 79 64 72 61 2d 2d 66 6f 72 6d .varp)))))))).......(hydra--form
91e0 61 74 2d 31 20 64 6f 63 73 74 72 69 6e 67 20 72 65 73 74 20 76 61 72 6c 69 73 74 29 29 29 29 0a at-1.docstring.rest.varlist)))).
9200 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 2d 66 6f 72 6d 61 74 2d 31 20 28 64 6f 63 73 74 72 69 .(defun.hydra--format-1.(docstri
9220 6e 67 20 72 65 73 74 20 76 61 72 6c 69 73 74 29 0a 20 20 28 63 6f 6e 64 0a 20 20 20 20 28 28 73 ng.rest.varlist)...(cond.....((s
9240 74 72 69 6e 67 3d 20 64 6f 63 73 74 72 69 6e 67 20 22 22 29 0a 20 20 20 20 20 72 65 73 74 29 0a tring=.docstring."")......rest).
9260 20 20 20 20 28 28 6c 69 73 74 70 20 72 65 73 74 29 0a 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 ....((listp.rest)......(unless.(
9280 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5b 3a 5c 6e 5d 22 20 64 6f 63 73 74 72 69 6e 67 string-match-p."[:\n]".docstring
92a0 29 0a 20 20 20 20 20 20 20 28 73 65 74 71 20 64 6f 63 73 74 72 69 6e 67 20 28 63 6f 6e 63 61 74 )........(setq.docstring.(concat
92c0 20 64 6f 63 73 74 72 69 6e 67 20 22 3a 5c 6e 22 29 29 29 0a 20 20 20 20 20 28 75 6e 6c 65 73 73 .docstring.":\n")))......(unless
92e0 20 28 6f 72 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 2d 70 20 22 5c 6e 5c 5c 27 22 20 64 6f 63 .(or.(string-match-p."\n\\'".doc
9300 73 74 72 69 6e 67 29 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 string)..................(equal.
9320 28 63 61 64 72 20 72 65 73 74 29 20 22 5c 6e 22 29 29 0a 20 20 20 20 20 20 20 28 73 65 74 71 20 (cadr.rest)."\n"))........(setq.
9340 64 6f 63 73 74 72 69 6e 67 20 28 63 6f 6e 63 61 74 20 64 6f 63 73 74 72 69 6e 67 20 22 5c 6e 22 docstring.(concat.docstring."\n"
9360 29 29 29 0a 20 20 20 20 20 60 28 63 6f 6e 63 61 74 20 28 66 6f 72 6d 61 74 20 2c 28 72 65 70 6c )))......`(concat.(format.,(repl
9380 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e 67 20 22 5c 5c 60 5c 6e 22 20 22 22 20 ace-regexp-in-string."\\`\n"."".
93a0 64 6f 63 73 74 72 69 6e 67 29 20 2c 40 28 6e 72 65 76 65 72 73 65 20 76 61 72 6c 69 73 74 29 29 docstring).,@(nreverse.varlist))
93c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 40 28 63 64 72 20 72 65 73 74 29 29 29 0a 20 20 ...............,@(cdr.rest)))...
93e0 20 20 28 28 65 71 20 3f 5c 6e 20 28 61 72 65 66 20 64 6f 63 73 74 72 69 6e 67 20 30 29 29 0a 20 ..((eq.?\n.(aref.docstring.0))..
9400 20 20 20 20 60 28 66 6f 72 6d 61 74 20 2c 28 63 6f 6e 63 61 74 20 28 73 75 62 73 74 72 69 6e 67 ....`(format.,(concat.(substring
9420 20 64 6f 63 73 74 72 69 6e 67 20 31 29 20 72 65 73 74 29 20 2c 40 28 6e 72 65 76 65 72 73 65 20 .docstring.1).rest).,@(nreverse.
9440 76 61 72 6c 69 73 74 29 29 29 0a 20 20 20 20 28 74 0a 20 20 20 20 20 28 6c 65 74 20 28 28 72 20 varlist))).....(t......(let.((r.
9460 60 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 0a 20 20 20 20 20 `(replace-regexp-in-string......
9480 20 20 20 20 20 20 20 20 20 20 20 22 20 2b 24 22 20 22 22 0a 20 20 20 20 20 20 20 20 20 20 20 20 ...........".+$"."".............
94a0 20 20 20 20 28 63 6f 6e 63 61 74 20 2c 64 6f 63 73 74 72 69 6e 67 0a 20 20 20 20 20 20 20 20 20 ....(concat.,docstring..........
94c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 63 6f 6e 64 20 28 28 73 74 72 69 6e 67 2d 6d ...............,(cond.((string-m
94e0 61 74 63 68 2d 70 20 22 5c 5c 60 5c 6e 22 20 72 65 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 atch-p."\\`\n".rest)............
9500 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 3a 22 29 0a 20 20 20 20 20 20 .....................":").......
9520 20 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 73 74 72 69 6e .........................((strin
9540 67 2d 6d 61 74 63 68 2d 70 20 22 5c 6e 22 20 72 65 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 g-match-p."\n".rest)............
9560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 3a 5c 6e 22 29 0a 20 20 20 20 .....................":\n").....
9580 20 20 20 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 74 0a 20 20 ...........................(t...
95a0 20 20 20 20 20 20 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 3a ..............................":
95c0 20 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 20 20 28 72 65 .")).........................(re
95e0 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 20 20 20 place-regexp-in-string..........
9600 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 5c 5c 28 25 5c 5c 29 22 20 22 5c 5c 31 5c 5c ................"\\(%\\)"."\\1\\
9620 31 22 20 2c 72 65 73 74 29 29 29 29 29 0a 20 20 20 20 20 20 20 28 69 66 20 28 73 74 72 69 6e 67 1".,rest)))))........(if.(string
9640 70 20 72 65 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 60 28 66 6f 72 6d 61 74 20 2c 28 65 76 p.rest)............`(format.,(ev
9660 61 6c 20 72 29 29 0a 20 20 20 20 20 20 20 20 20 60 28 66 6f 72 6d 61 74 20 2c 72 29 29 29 29 29 al.r))..........`(format.,r)))))
9680 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 2d 63 6f 6d 70 6c 61 69 6e 20 28 66 6f 72 6d 61 )..(defun.hydra--complain.(forma
96a0 74 2d 73 74 72 69 6e 67 20 26 72 65 73 74 20 61 72 67 73 29 0a 20 20 22 46 6f 72 77 61 72 64 20 t-string.&rest.args)..."Forward.
96c0 74 6f 20 28 60 6d 65 73 73 61 67 65 27 20 46 4f 52 4d 41 54 2d 53 54 52 49 4e 47 20 41 52 47 53 to.(`message'.FORMAT-STRING.ARGS
96e0 29 20 75 6e 6c 65 73 73 20 60 68 79 64 72 61 2d 76 65 72 62 6f 73 65 27 20 69 73 20 6e 69 6c 2e ).unless.`hydra-verbose'.is.nil.
9700 22 0a 20 20 28 69 66 20 68 79 64 72 61 2d 76 65 72 62 6f 73 65 0a 20 20 20 20 20 20 28 61 70 70 "...(if.hydra-verbose.......(app
9720 6c 79 20 23 27 65 72 72 6f 72 20 66 6f 72 6d 61 74 2d 73 74 72 69 6e 67 20 61 72 67 73 29 0a 20 ly.#'error.format-string.args)..
9740 20 20 20 28 61 70 70 6c 79 20 23 27 6d 65 73 73 61 67 65 20 66 6f 72 6d 61 74 2d 73 74 72 69 6e ...(apply.#'message.format-strin
9760 67 20 61 72 67 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 2d 64 6f 63 20 28 62 6f g.args)))..(defun.hydra--doc.(bo
9780 64 79 2d 6b 65 79 20 62 6f 64 79 2d 6e 61 6d 65 20 68 65 61 64 73 29 0a 20 20 22 47 65 6e 65 72 dy-key.body-name.heads)..."Gener
97a0 61 74 65 20 61 20 70 61 72 74 20 6f 66 20 48 79 64 72 61 20 64 6f 63 73 74 72 69 6e 67 2e 0a 42 ate.a.part.of.Hydra.docstring..B
97c0 4f 44 59 2d 4b 45 59 20 69 73 20 74 68 65 20 62 6f 64 79 20 6b 65 79 20 62 69 6e 64 69 6e 67 2e ODY-KEY.is.the.body.key.binding.
97e0 0a 42 4f 44 59 2d 4e 41 4d 45 20 69 73 20 74 68 65 20 73 79 6d 62 6f 6c 20 74 68 61 74 20 69 64 .BODY-NAME.is.the.symbol.that.id
9800 65 6e 74 69 66 69 65 73 20 74 68 65 20 48 79 64 72 61 2e 0a 48 45 41 44 53 20 69 73 20 61 20 6c entifies.the.Hydra..HEADS.is.a.l
9820 69 73 74 20 6f 66 20 68 65 61 64 73 2e 22 0a 20 20 28 66 6f 72 6d 61 74 0a 20 20 20 22 54 68 65 ist.of.heads."...(format...."The
9840 20 68 65 61 64 73 20 66 6f 72 20 74 68 65 20 61 73 73 6f 63 69 61 74 65 64 20 68 79 64 72 61 20 .heads.for.the.associated.hydra.
9860 61 72 65 3a 5c 6e 5c 6e 25 73 5c 6e 5c 6e 25 73 25 73 2e 22 0a 20 20 20 28 6d 61 70 63 6f 6e 63 are:\n\n%s\n\n%s%s."....(mapconc
9880 61 74 0a 20 20 20 20 28 6c 61 6d 62 64 61 20 28 78 29 0a 20 20 20 20 20 20 28 66 6f 72 6d 61 74 at.....(lambda.(x).......(format
98a0 20 22 5c 22 25 73 5c 22 3a 20 20 20 20 60 25 53 27 22 20 28 63 61 72 20 78 29 20 28 63 61 64 72 ."\"%s\":....`%S'".(car.x).(cadr
98c0 20 78 29 29 29 0a 20 20 20 20 68 65 61 64 73 20 22 2c 5c 6e 22 29 0a 20 20 20 28 66 6f 72 6d 61 .x))).....heads.",\n")....(forma
98e0 74 20 22 54 68 65 20 62 6f 64 79 20 63 61 6e 20 62 65 20 61 63 63 65 73 73 65 64 20 76 69 61 20 t."The.body.can.be.accessed.via.
9900 60 25 53 27 22 20 62 6f 64 79 2d 6e 61 6d 65 29 0a 20 20 20 28 69 66 20 62 6f 64 79 2d 6b 65 79 `%S'".body-name)....(if.body-key
9920 0a 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 2c 20 77 68 69 63 68 20 69 73 20 62 6f 75 6e ........(format.",.which.is.boun
9940 64 20 74 6f 20 5c 22 25 73 5c 22 22 20 62 6f 64 79 2d 6b 65 79 29 0a 20 20 20 20 20 22 22 29 29 d.to.\"%s\"".body-key)......""))
9960 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 2d 63 61 6c 6c 2d 69 6e 74 65 72 61 63 74 69 76 )..(defun.hydra--call-interactiv
9980 65 6c 79 2d 72 65 6d 61 70 2d 6d 61 79 62 65 20 28 63 6d 64 29 0a 20 20 22 60 63 61 6c 6c 2d 69 ely-remap-maybe.(cmd)..."`call-i
99a0 6e 74 65 72 61 63 74 69 76 65 6c 79 27 20 74 68 65 20 67 69 76 65 6e 20 43 4d 44 20 6f 72 20 69 nteractively'.the.given.CMD.or.i
99c0 74 73 20 72 65 6d 61 70 70 65 64 20 65 71 75 69 76 61 6c 65 6e 74 2e 0a 4f 6e 6c 79 20 77 68 65 ts.remapped.equivalent..Only.whe
99e0 6e 20 60 68 79 64 72 61 2d 6c 6f 6f 6b 2d 66 6f 72 2d 72 65 6d 61 70 27 20 69 73 20 6e 6f 6e 20 n.`hydra-look-for-remap'.is.non.
9a00 6e 69 6c 2e 22 0a 20 20 28 6c 65 74 20 28 28 72 65 6d 61 70 70 65 64 2d 63 6d 64 20 28 69 66 20 nil."...(let.((remapped-cmd.(if.
9a20 68 79 64 72 61 2d 6c 6f 6f 6b 2d 66 6f 72 2d 72 65 6d 61 70 0a 20 20 20 20 20 20 20 20 20 20 20 hydra-look-for-remap............
9a40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6d 6d 61 6e 64 2d 72 65 6d 61 70 70 69 6e ...............(command-remappin
9a60 67 20 60 2c 63 6d 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 g.`,cmd)........................
9a80 20 6e 69 6c 29 29 29 0a 20 20 20 20 28 69 66 20 72 65 6d 61 70 70 65 64 2d 63 6d 64 0a 20 20 20 .nil))).....(if.remapped-cmd....
9aa0 20 20 20 20 20 28 63 61 6c 6c 2d 69 6e 74 65 72 61 63 74 69 76 65 6c 79 20 60 2c 72 65 6d 61 70 .....(call-interactively.`,remap
9ac0 70 65 64 2d 63 6d 64 29 0a 20 20 20 20 20 20 28 63 61 6c 6c 2d 69 6e 74 65 72 61 63 74 69 76 65 ped-cmd).......(call-interactive
9ae0 6c 79 20 60 2c 63 6d 64 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 2d 63 61 6c 6c ly.`,cmd))))..(defun.hydra--call
9b00 2d 69 6e 74 65 72 61 63 74 69 76 65 6c 79 20 28 63 6d 64 20 6e 61 6d 65 29 0a 20 20 22 47 65 6e -interactively.(cmd.name)..."Gen
9b20 65 72 61 74 65 20 61 20 60 63 61 6c 6c 2d 69 6e 74 65 72 61 63 74 69 76 65 6c 79 27 20 73 74 61 erate.a.`call-interactively'.sta
9b40 74 65 6d 65 6e 74 20 66 6f 72 20 43 4d 44 2e 0a 53 65 74 20 60 74 68 69 73 2d 63 6f 6d 6d 61 6e tement.for.CMD..Set.`this-comman
9b60 64 27 20 74 6f 20 4e 41 4d 45 2e 22 0a 20 20 28 69 66 20 28 61 6e 64 20 28 73 79 6d 62 6f 6c 70 d'.to.NAME."...(if.(and.(symbolp
9b80 20 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 6d 65 6d 71 20 6e 61 6d .name)............(not.(memq.nam
9ba0 65 20 27 28 6e 69 6c 20 62 6f 64 79 29 29 29 29 0a 20 20 20 20 20 20 60 28 70 72 6f 67 6e 0a 20 e.'(nil.body)))).......`(progn..
9bc0 20 20 20 20 20 20 20 20 28 73 65 74 71 20 74 68 69 73 2d 63 6f 6d 6d 61 6e 64 20 27 2c 6e 61 6d ........(setq.this-command.',nam
9be0 65 29 0a 20 20 20 20 20 20 20 20 20 28 68 79 64 72 61 2d 2d 63 61 6c 6c 2d 69 6e 74 65 72 61 63 e)..........(hydra--call-interac
9c00 74 69 76 65 6c 79 2d 72 65 6d 61 70 2d 6d 61 79 62 65 20 23 27 2c 63 6d 64 29 29 0a 20 20 20 20 tively-remap-maybe.#',cmd)).....
9c20 60 28 68 79 64 72 61 2d 2d 63 61 6c 6c 2d 69 6e 74 65 72 61 63 74 69 76 65 6c 79 2d 72 65 6d 61 `(hydra--call-interactively-rema
9c40 70 2d 6d 61 79 62 65 20 23 27 2c 63 6d 64 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d p-maybe.#',cmd)))..(defun.hydra-
9c60 2d 6d 61 6b 65 2d 64 65 66 75 6e 20 28 6e 61 6d 65 20 62 6f 64 79 20 64 6f 63 20 68 65 61 64 0a -make-defun.(name.body.doc.head.
9c80 20 20 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 6d 61 70 ..........................keymap
9ca0 20 62 6f 64 79 2d 70 72 65 20 62 6f 64 79 2d 62 65 66 6f 72 65 2d 65 78 69 74 0a 20 20 20 20 20 .body-pre.body-before-exit......
9cc0 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 20 62 .....................&optional.b
9ce0 6f 64 79 2d 61 66 74 65 72 2d 65 78 69 74 29 0a 20 20 22 4d 61 6b 65 20 61 20 64 65 66 75 6e 20 ody-after-exit)..."Make.a.defun.
9d00 77 72 61 70 70 65 72 2c 20 75 73 69 6e 67 20 4e 41 4d 45 2c 20 42 4f 44 59 2c 20 44 4f 43 2c 20 wrapper,.using.NAME,.BODY,.DOC,.
9d20 48 45 41 44 2c 20 61 6e 64 20 4b 45 59 4d 41 50 2e 0a 4e 41 4d 45 20 61 6e 64 20 42 4f 44 59 20 HEAD,.and.KEYMAP..NAME.and.BODY.
9d40 61 72 65 20 74 68 65 20 61 72 67 75 6d 65 6e 74 73 20 74 6f 20 60 64 65 66 68 79 64 72 61 27 2e are.the.arguments.to.`defhydra'.
9d60 0a 44 4f 43 20 77 61 73 20 67 65 6e 65 72 61 74 65 64 20 77 69 74 68 20 60 68 79 64 72 61 2d 2d .DOC.was.generated.with.`hydra--
9d80 64 6f 63 27 2e 0a 48 45 41 44 20 69 73 20 6f 6e 65 20 6f 66 20 74 68 65 20 48 45 41 44 53 20 70 doc'..HEAD.is.one.of.the.HEADS.p
9da0 61 73 73 65 64 20 74 6f 20 60 64 65 66 68 79 64 72 61 27 2e 0a 42 4f 44 59 2d 50 52 45 20 69 73 assed.to.`defhydra'..BODY-PRE.is
9dc0 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 74 68 65 20 77 72 61 70 70 .added.to.the.start.of.the.wrapp
9de0 65 72 2e 0a 42 4f 44 59 2d 42 45 46 4f 52 45 2d 45 58 49 54 20 77 69 6c 6c 20 62 65 20 63 61 6c er..BODY-BEFORE-EXIT.will.be.cal
9e00 6c 65 64 20 62 65 66 6f 72 65 20 74 68 65 20 68 79 64 72 61 20 71 75 69 74 73 2e 0a 42 4f 44 59 led.before.the.hydra.quits..BODY
9e20 2d 41 46 54 45 52 2d 45 58 49 54 20 69 73 20 61 64 64 65 64 20 74 6f 20 74 68 65 20 65 6e 64 20 -AFTER-EXIT.is.added.to.the.end.
9e40 6f 66 20 74 68 65 20 77 72 61 70 70 65 72 2e 22 0a 20 20 28 6c 65 74 20 28 28 63 6d 64 2d 6e 61 of.the.wrapper."...(let.((cmd-na
9e60 6d 65 20 28 68 79 64 72 61 2d 2d 68 65 61 64 2d 6e 61 6d 65 20 68 65 61 64 20 6e 61 6d 65 29 29 me.(hydra--head-name.head.name))
9e80 0a 20 20 20 20 20 20 20 20 28 63 6d 64 20 28 77 68 65 6e 20 28 63 61 72 20 68 65 61 64 29 0a 20 .........(cmd.(when.(car.head)..
9ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 79 64 72 61 2d 2d 6d 61 6b 65 2d 63 61 6c 6c 61 ..............(hydra--make-calla
9ec0 62 6c 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 64 72 20 68 65 61 64 29 29 ble.................(cadr.head))
9ee0 29 29 0a 20 20 20 20 20 20 20 20 28 64 6f 63 20 28 69 66 20 28 63 61 72 20 68 65 61 64 29 0a 20 )).........(doc.(if.(car.head)..
9f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 43 61 6c 6c 20 74 68 ................(format."Call.th
9f20 65 20 68 65 61 64 20 60 25 53 27 20 69 6e 20 74 68 65 20 5c 22 25 73 5c 22 20 68 79 64 72 61 2e e.head.`%S'.in.the.\"%s\".hydra.
9f40 5c 6e 5c 6e 25 73 22 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 \n\n%s".........................
9f60 20 28 63 61 64 72 20 68 65 61 64 29 20 6e 61 6d 65 20 64 6f 63 29 0a 20 20 20 20 20 20 20 20 20 .(cadr.head).name.doc)..........
9f80 20 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 43 61 6c 6c 20 74 68 65 20 62 6f 64 79 20 69 6e 20 ......(format."Call.the.body.in.
9fa0 74 68 65 20 5c 22 25 73 5c 22 20 68 79 64 72 61 2e 5c 6e 5c 6e 25 73 22 0a 20 20 20 20 20 20 20 the.\"%s\".hydra.\n\n%s"........
9fc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 61 6d 65 20 64 6f 63 29 29 29 0a 20 20 20 20 ................name.doc))).....
9fe0 20 20 20 20 28 68 69 6e 74 20 28 69 6e 74 65 72 6e 20 28 66 6f 72 6d 61 74 20 22 25 53 2f 68 69 ....(hint.(intern.(format."%S/hi
a000 6e 74 22 20 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 28 62 6f 64 79 2d 66 6f 72 65 69 67 nt".name))).........(body-foreig
a020 6e 2d 6b 65 79 73 20 28 68 79 64 72 61 2d 2d 62 6f 64 79 2d 66 6f 72 65 69 67 6e 2d 6b 65 79 73 n-keys.(hydra--body-foreign-keys
a040 20 62 6f 64 79 29 29 0a 20 20 20 20 20 20 20 20 28 62 6f 64 79 2d 74 69 6d 65 6f 75 74 20 28 70 .body)).........(body-timeout.(p
a060 6c 69 73 74 2d 67 65 74 20 62 6f 64 79 20 3a 74 69 6d 65 6f 75 74 29 29 0a 20 20 20 20 20 20 20 list-get.body.:timeout))........
a080 20 28 62 6f 64 79 2d 69 64 6c 65 20 28 70 6c 69 73 74 2d 67 65 74 20 62 6f 64 79 20 3a 69 64 6c .(body-idle.(plist-get.body.:idl
a0a0 65 29 29 29 0a 20 20 20 20 60 28 64 65 66 75 6e 20 2c 63 6d 64 2d 6e 61 6d 65 20 28 29 0a 20 20 e))).....`(defun.,cmd-name.()...
a0c0 20 20 20 20 20 2c 64 6f 63 0a 20 20 20 20 20 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 .....,doc........(interactive)..
a0e0 20 20 20 20 20 20 28 72 65 71 75 69 72 65 20 27 68 79 64 72 61 29 0a 20 20 20 20 20 20 20 28 68 ......(require.'hydra)........(h
a100 79 64 72 61 2d 64 65 66 61 75 6c 74 2d 70 72 65 29 0a 20 20 20 20 20 20 20 2c 40 28 77 68 65 6e ydra-default-pre)........,@(when
a120 20 62 6f 64 79 2d 70 72 65 20 28 6c 69 73 74 20 62 6f 64 79 2d 70 72 65 29 29 0a 20 20 20 20 20 .body-pre.(list.body-pre))......
a140 20 20 2c 40 28 69 66 20 28 68 79 64 72 61 2d 2d 68 65 61 64 2d 70 72 6f 70 65 72 74 79 20 68 65 ..,@(if.(hydra--head-property.he
a160 61 64 20 3a 65 78 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 28 68 79 64 72 61 2d ad.:exit)..............`((hydra-
a180 6b 65 79 62 6f 61 72 64 2d 71 75 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 keyboard-quit)................(s
a1a0 65 74 71 20 68 79 64 72 61 2d 63 75 72 72 2d 62 6f 64 79 2d 66 6e 20 27 2c 28 69 6e 74 65 72 6e etq.hydra-curr-body-fn.',(intern
a1c0 20 28 66 6f 72 6d 61 74 20 22 25 53 2f 62 6f 64 79 22 20 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 .(format."%S/body".name)))......
a1e0 20 20 20 20 20 20 20 20 20 20 2c 40 28 69 66 20 62 6f 64 79 2d 61 66 74 65 72 2d 65 78 69 74 0a ..........,@(if.body-after-exit.
a200 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 28 75 6e 77 69 6e 64 2d 70 .....................`((unwind-p
a220 72 6f 74 65 63 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 rotect..........................
a240 20 20 20 2c 28 77 68 65 6e 20 63 6d 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...,(when.cmd...................
a260 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 79 64 72 61 2d 2d 63 61 6c 6c 2d 69 6e 74 65 72 61 .............(hydra--call-intera
a280 63 74 69 76 65 6c 79 20 63 6d 64 20 28 63 61 64 72 20 68 65 61 64 29 29 29 0a 20 20 20 20 20 20 ctively.cmd.(cadr.head))).......
a2a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 62 6f 64 79 2d 61 66 74 65 72 2d 65 ...................,body-after-e
a2c0 78 69 74 29 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 63 xit))....................(when.c
a2e0 6d 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 2c 28 68 79 64 72 md......................`(,(hydr
a300 61 2d 2d 63 61 6c 6c 2d 69 6e 74 65 72 61 63 74 69 76 65 6c 79 20 63 6d 64 20 28 63 61 64 72 20 a--call-interactively.cmd.(cadr.
a320 68 65 61 64 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 28 64 65 6c 71 0a 20 20 20 20 head))))))............(delq.....
a340 20 20 20 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 60 28 28 6c 65 74 20 28 ........nil.............`((let.(
a360 28 68 79 64 72 61 2d 2d 69 67 6e 6f 72 65 20 2c 28 6e 6f 74 20 28 65 71 20 28 63 61 64 72 20 68 (hydra--ignore.,(not.(eq.(cadr.h
a380 65 61 64 29 20 27 62 6f 64 79 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ead).'body)))).................(
a3a0 68 79 64 72 61 2d 6b 65 79 62 6f 61 72 64 2d 71 75 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 hydra-keyboard-quit)............
a3c0 20 20 20 20 20 28 73 65 74 71 20 68 79 64 72 61 2d 63 75 72 72 2d 62 6f 64 79 2d 66 6e 20 27 2c .....(setq.hydra-curr-body-fn.',
a3e0 28 69 6e 74 65 72 6e 20 28 66 6f 72 6d 61 74 20 22 25 53 2f 62 6f 64 79 22 20 6e 61 6d 65 29 29 (intern.(format."%S/body".name))
a400 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 77 68 65 6e 20 63 6d 64 0a 20 20 20 20 ))...............,(when.cmd.....
a420 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 20 65 72 .............`(condition-case.er
a440 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 68 79 64 72 61 2d r.......................,(hydra-
a460 2d 63 61 6c 6c 2d 69 6e 74 65 72 61 63 74 69 76 65 6c 79 20 63 6d 64 20 28 63 61 64 72 20 68 65 -call-interactively.cmd.(cadr.he
a480 61 64 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 71 75 69 74 20 ad)).....................((quit.
a4a0 65 72 72 6f 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 65 73 error)......................(mes
a4c0 73 61 67 65 20 28 65 72 72 6f 72 2d 6d 65 73 73 61 67 65 2d 73 74 72 69 6e 67 20 65 72 72 29 29 sage.(error-message-string.err))
a4e0 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 69 66 20 28 61 6e 64 20 62 6f 64 79 )))...............,(if.(and.body
a500 2d 69 64 6c 65 20 28 65 71 20 28 63 61 64 72 20 68 65 61 64 29 20 27 62 6f 64 79 29 29 0a 20 20 -idle.(eq.(cadr.head).'body))...
a520 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 68 79 64 72 61 2d 69 64 6c 65 2d 6d 65 .................`(hydra-idle-me
a540 73 73 61 67 65 20 2c 62 6f 64 79 2d 69 64 6c 65 20 2c 68 69 6e 74 20 27 2c 6e 61 6d 65 29 0a 20 ssage.,body-idle.,hint.',name)..
a560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 68 79 64 72 61 2d 73 68 6f 77 2d 68 69 6e ................`(hydra-show-hin
a580 74 20 2c 68 69 6e 74 20 27 2c 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 t.,hint.',name))...............(
a5a0 68 79 64 72 61 2d 73 65 74 2d 74 72 61 6e 73 69 65 6e 74 2d 6d 61 70 0a 20 20 20 20 20 20 20 20 hydra-set-transient-map.........
a5c0 20 20 20 20 20 20 20 2c 6b 65 79 6d 61 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c .......,keymap................(l
a5e0 61 6d 62 64 61 20 28 29 20 28 68 79 64 72 61 2d 6b 65 79 62 6f 61 72 64 2d 71 75 69 74 29 20 2c ambda.().(hydra-keyboard-quit).,
a600 62 6f 64 79 2d 62 65 66 6f 72 65 2d 65 78 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 body-before-exit)...............
a620 20 2c 28 77 68 65 6e 20 62 6f 64 79 2d 66 6f 72 65 69 67 6e 2d 6b 65 79 73 0a 20 20 20 20 20 20 .,(when.body-foreign-keys.......
a640 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 20 27 71 75 6f 74 65 20 62 6f 64 79 2d 66 6f ............(list.'quote.body-fo
a660 72 65 69 67 6e 2d 6b 65 79 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 62 6f 64 reign-keys)))...............,bod
a680 79 2d 61 66 74 65 72 2d 65 78 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 77 68 65 y-after-exit...............,(whe
a6a0 6e 20 62 6f 64 79 2d 74 69 6d 65 6f 75 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n.body-timeout..................
a6c0 60 28 68 79 64 72 61 2d 74 69 6d 65 6f 75 74 20 2c 62 6f 64 79 2d 74 69 6d 65 6f 75 74 29 29 29 `(hydra-timeout.,body-timeout)))
a6e0 29 29 29 29 29 0a 0a 28 64 65 66 76 61 72 20 68 79 64 72 61 2d 70 72 6f 70 73 2d 61 6c 69 73 74 )))))..(defvar.hydra-props-alist
a700 20 6e 69 6c 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 73 65 74 2d 70 72 6f 70 65 72 74 79 .nil)..(defun.hydra-set-property
a720 20 28 6e 61 6d 65 20 6b 65 79 20 76 61 6c 29 0a 20 20 22 53 65 74 20 68 79 64 72 61 20 70 72 6f .(name.key.val)..."Set.hydra.pro
a740 70 65 72 74 79 2e 0a 4e 41 4d 45 20 69 73 20 74 68 65 20 73 79 6d 62 6f 6c 69 63 20 6e 61 6d 65 perty..NAME.is.the.symbolic.name
a760 20 6f 66 20 74 68 65 20 68 79 64 72 61 2e 0a 4b 45 59 20 61 6e 64 20 56 41 4c 20 61 72 65 20 66 .of.the.hydra..KEY.and.VAL.are.f
a780 6f 72 77 61 72 64 65 64 20 74 6f 20 60 70 6c 69 73 74 2d 70 75 74 27 2e 22 0a 20 20 28 6c 65 74 orwarded.to.`plist-put'."...(let
a7a0 20 28 28 65 6e 74 72 79 20 28 61 73 73 6f 63 20 6e 61 6d 65 20 68 79 64 72 61 2d 70 72 6f 70 73 .((entry.(assoc.name.hydra-props
a7c0 2d 61 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 70 6c 69 73 74 29 0a 20 20 20 20 28 77 68 65 -alist)).........plist).....(whe
a7e0 6e 20 28 6e 75 6c 6c 20 65 6e 74 72 79 29 0a 20 20 20 20 20 20 28 61 64 64 2d 74 6f 2d 6c 69 73 n.(null.entry).......(add-to-lis
a800 74 20 27 68 79 64 72 61 2d 70 72 6f 70 73 2d 61 6c 69 73 74 20 28 6c 69 73 74 20 6e 61 6d 65 29 t.'hydra-props-alist.(list.name)
a820 29 0a 20 20 20 20 20 20 28 73 65 74 71 20 65 6e 74 72 79 20 28 61 73 73 6f 63 20 6e 61 6d 65 20 ).......(setq.entry.(assoc.name.
a840 68 79 64 72 61 2d 70 72 6f 70 73 2d 61 6c 69 73 74 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 70 hydra-props-alist))).....(setq.p
a860 6c 69 73 74 20 28 63 64 72 20 65 6e 74 72 79 29 29 0a 20 20 20 20 28 73 65 74 63 64 72 20 65 6e list.(cdr.entry)).....(setcdr.en
a880 74 72 79 20 28 70 6c 69 73 74 2d 70 75 74 20 70 6c 69 73 74 20 6b 65 79 20 76 61 6c 29 29 29 29 try.(plist-put.plist.key.val))))
a8a0 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 67 65 74 2d 70 72 6f 70 65 72 74 79 20 28 6e 61 6d ..(defun.hydra-get-property.(nam
a8c0 65 20 6b 65 79 29 0a 20 20 22 47 65 74 20 68 79 64 72 61 20 70 72 6f 70 65 72 74 79 2e 0a 4e 41 e.key)..."Get.hydra.property..NA
a8e0 4d 45 20 69 73 20 74 68 65 20 73 79 6d 62 6f 6c 69 63 20 6e 61 6d 65 20 6f 66 20 74 68 65 20 68 ME.is.the.symbolic.name.of.the.h
a900 79 64 72 61 2e 0a 4b 45 59 20 69 73 20 66 6f 72 77 61 72 64 65 64 20 74 6f 20 60 70 6c 69 73 74 ydra..KEY.is.forwarded.to.`plist
a920 2d 67 65 74 27 2e 22 0a 20 20 28 6c 65 74 20 28 28 65 6e 74 72 79 20 28 61 73 73 6f 63 20 6e 61 -get'."...(let.((entry.(assoc.na
a940 6d 65 20 68 79 64 72 61 2d 70 72 6f 70 73 2d 61 6c 69 73 74 29 29 29 0a 20 20 20 20 28 77 68 65 me.hydra-props-alist))).....(whe
a960 6e 20 65 6e 74 72 79 0a 20 20 20 20 20 20 28 70 6c 69 73 74 2d 67 65 74 20 28 63 64 72 20 65 6e n.entry.......(plist-get.(cdr.en
a980 74 72 79 29 20 6b 65 79 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 73 68 6f 77 2d try).key))))..(defun.hydra-show-
a9a0 68 69 6e 74 20 28 68 69 6e 74 20 63 61 6c 6c 65 72 29 0a 20 20 28 6c 65 74 20 28 28 76 65 72 62 hint.(hint.caller)...(let.((verb
a9c0 6f 73 69 74 79 20 28 70 6c 69 73 74 2d 67 65 74 20 28 63 64 72 20 28 61 73 73 6f 63 20 63 61 6c osity.(plist-get.(cdr.(assoc.cal
a9e0 6c 65 72 20 68 79 64 72 61 2d 70 72 6f 70 73 2d 61 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 ler.hydra-props-alist)).........
aa00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 76 65 72 62 6f 73 69 74 79 ......................:verbosity
aa20 29 29 29 0a 20 20 20 20 28 63 6f 6e 64 20 28 28 65 71 20 76 65 72 62 6f 73 69 74 79 20 30 29 29 ))).....(cond.((eq.verbosity.0))
aa40 0a 20 20 20 20 20 20 20 20 20 20 28 28 65 71 20 76 65 72 62 6f 73 69 74 79 20 31 29 0a 20 20 20 ...........((eq.verbosity.1)....
aa60 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 28 65 76 61 6c 20 68 69 6e 74 29 29 29 0a 20 ........(message.(eval.hint)))..
aa80 20 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 68 79 64 .........(t............(when.hyd
aaa0 72 61 2d 69 73 2d 68 65 6c 70 66 75 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 ra-is-helpful..............(func
aac0 61 6c 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 74 68 20 31 20 28 61 73 73 6f 63 20 all...............(nth.1.(assoc.
aae0 68 79 64 72 61 2d 68 69 6e 74 2d 64 69 73 70 6c 61 79 2d 74 79 70 65 20 68 79 64 72 61 2d 68 69 hydra-hint-display-type.hydra-hi
ab00 6e 74 2d 64 69 73 70 6c 61 79 2d 61 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 nt-display-alist))..............
ab20 20 28 65 76 61 6c 20 68 69 6e 74 29 29 29 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 68 79 .(eval.hint)))))))..(defmacro.hy
ab40 64 72 61 2d 2d 6d 61 6b 65 2d 66 75 6e 63 61 6c 6c 20 28 73 79 6d 29 0a 20 20 22 54 72 61 6e 73 dra--make-funcall.(sym)..."Trans
ab60 66 6f 72 6d 20 53 59 4d 20 69 6e 74 6f 20 61 20 60 66 75 6e 63 61 6c 6c 27 20 74 6f 20 63 61 6c form.SYM.into.a.`funcall'.to.cal
ab80 6c 20 69 74 2e 22 0a 20 20 60 28 77 68 65 6e 20 28 61 6e 64 20 2c 73 79 6d 20 28 73 79 6d 62 6f l.it."...`(when.(and.,sym.(symbo
aba0 6c 70 20 2c 73 79 6d 29 29 0a 20 20 20 20 20 28 73 65 74 71 20 2c 73 79 6d 20 60 28 66 75 6e 63 lp.,sym))......(setq.,sym.`(func
abc0 61 6c 6c 20 23 27 2c 2c 73 79 6d 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 2d 68 all.#',,sym))))..(defun.hydra--h
abe0 65 61 64 2d 6e 61 6d 65 20 28 68 20 6e 61 6d 65 29 0a 20 20 22 52 65 74 75 72 6e 20 74 68 65 20 ead-name.(h.name)..."Return.the.
ac00 73 79 6d 62 6f 6c 20 66 6f 72 20 68 65 61 64 20 48 20 6f 66 20 68 79 64 72 61 20 77 69 74 68 20 symbol.for.head.H.of.hydra.with.
ac20 4e 41 4d 45 2e 22 0a 20 20 28 6c 65 74 20 28 28 73 74 72 20 28 66 6f 72 6d 61 74 20 22 25 53 2f NAME."...(let.((str.(format."%S/
ac40 25 73 22 20 6e 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 28 63 %s".name......................(c
ac60 6f 6e 64 20 28 28 73 79 6d 62 6f 6c 70 20 28 63 61 64 72 20 68 29 29 0a 20 20 20 20 20 20 20 20 ond.((symbolp.(cadr.h)).........
ac80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 61 64 72 20 68 29 29 0a 20 20 ....................(cadr.h))...
aca0 20 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 61 6e 64 20 28 .........................((and.(
acc0 63 6f 6e 73 70 20 28 63 61 64 72 20 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 consp.(cadr.h)).................
ace0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 71 20 28 63 6c 2d 63 61 61 64 72 20 68 .................(eq.(cl-caadr.h
ad00 29 20 27 66 75 6e 63 74 69 6f 6e 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).'function))...................
ad20 20 20 20 20 20 20 20 20 20 20 28 63 61 64 72 20 28 63 61 64 72 20 68 29 29 29 0a 20 20 20 20 20 ..........(cadr.(cadr.h)))......
ad40 20 20 20 20 20 20 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 ......................(t........
ad60 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 6c 61 .....................(concat."la
ad80 6d 62 64 61 2d 22 20 28 63 61 72 20 68 29 29 29 29 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 mbda-".(car.h))))))).....(when.(
ada0 61 6e 64 20 28 68 79 64 72 61 2d 2d 68 65 61 64 2d 70 72 6f 70 65 72 74 79 20 68 20 3a 65 78 69 and.(hydra--head-property.h.:exi
adc0 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 6f 74 20 28 6d 65 6d 71 20 28 63 61 t)................(not.(memq.(ca
ade0 64 72 20 68 29 20 27 28 62 6f 64 79 20 6e 69 6c 29 29 29 29 0a 20 20 20 20 20 20 28 73 65 74 71 dr.h).'(body.nil)))).......(setq
ae00 20 73 74 72 20 28 63 6f 6e 63 61 74 20 73 74 72 20 22 2d 61 6e 64 2d 65 78 69 74 22 29 29 29 0a .str.(concat.str."-and-exit"))).
ae20 20 20 20 20 28 69 6e 74 65 72 6e 20 73 74 72 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 ....(intern.str)))..(defun.hydra
ae40 2d 2d 64 65 6c 65 74 65 2d 64 75 70 6c 69 63 61 74 65 73 20 28 68 65 61 64 73 29 0a 20 20 22 52 --delete-duplicates.(heads)..."R
ae60 65 74 75 72 6e 20 48 45 41 44 53 20 77 69 74 68 6f 75 74 20 65 6e 74 72 69 65 73 20 74 68 61 74 eturn.HEADS.without.entries.that
ae80 20 68 61 76 65 20 74 68 65 20 73 61 6d 65 20 43 4d 44 20 70 61 72 74 2e 0a 49 6e 20 64 75 70 6c .have.the.same.CMD.part..In.dupl
aea0 69 63 61 74 65 20 48 45 41 44 53 2c 20 3a 63 6d 64 2d 6e 61 6d 65 20 69 73 20 6d 6f 64 69 66 69 icate.HEADS,.:cmd-name.is.modifi
aec0 65 64 20 74 6f 20 77 68 61 74 65 76 65 72 20 74 68 65 79 20 64 75 70 6c 69 63 61 74 65 2e 22 0a ed.to.whatever.they.duplicate.".
aee0 20 20 28 6c 65 74 20 28 28 61 6c 69 20 27 28 28 28 68 79 64 72 61 2d 72 65 70 65 61 74 20 2e 20 ..(let.((ali.'(((hydra-repeat...
af00 6e 69 6c 29 20 2e 20 68 79 64 72 61 2d 72 65 70 65 61 74 29 29 29 0a 20 20 20 20 20 20 20 20 72 nil)...hydra-repeat))).........r
af20 65 73 20 65 6e 74 72 79 29 0a 20 20 20 20 28 64 6f 6c 69 73 74 20 28 68 20 68 65 61 64 73 29 0a es.entry).....(dolist.(h.heads).
af40 20 20 20 20 20 20 28 69 66 20 28 73 65 74 71 20 65 6e 74 72 79 20 28 61 73 73 6f 63 20 28 63 6f ......(if.(setq.entry.(assoc.(co
af60 6e 73 20 28 63 61 64 72 20 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ns.(cadr.h).....................
af80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 79 64 72 61 2d 2d 68 65 61 64 2d 70 72 6f 70 ...............(hydra--head-prop
afa0 65 72 74 79 20 68 20 3a 65 78 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 erty.h.:exit))..................
afc0 20 20 20 20 20 20 20 20 20 20 20 20 61 6c 69 29 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 ............ali))...........(set
afe0 66 20 28 63 6c 2d 63 64 64 64 72 20 68 29 20 28 70 6c 69 73 74 2d 70 75 74 20 28 63 6c 2d 63 64 f.(cl-cdddr.h).(plist-put.(cl-cd
b000 64 64 72 20 68 29 20 3a 63 6d 64 2d 6e 61 6d 65 20 28 63 64 72 20 65 6e 74 72 79 29 29 29 0a 20 ddr.h).:cmd-name.(cdr.entry)))..
b020 20 20 20 20 20 20 20 28 70 75 73 68 20 28 63 6f 6e 73 20 28 63 6f 6e 73 20 28 63 61 64 72 20 68 .......(push.(cons.(cons.(cadr.h
b040 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 68 79 64 )...........................(hyd
b060 72 61 2d 2d 68 65 61 64 2d 70 72 6f 70 65 72 74 79 20 68 20 3a 65 78 69 74 29 29 0a 20 20 20 20 ra--head-property.h.:exit)).....
b080 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6c 69 73 74 2d 67 65 74 20 28 63 6c 2d 63 ................(plist-get.(cl-c
b0a0 64 64 64 72 20 68 29 20 3a 63 6d 64 2d 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 dddr.h).:cmd-name)).............
b0c0 20 20 61 6c 69 29 0a 20 20 20 20 20 20 20 20 28 70 75 73 68 20 68 20 72 65 73 29 29 29 0a 20 20 ..ali).........(push.h.res)))...
b0e0 20 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 ..(nreverse.res)))..(defun.hydra
b100 2d 2d 70 61 64 20 28 6c 73 74 20 6e 29 0a 20 20 22 50 61 64 20 4c 53 54 20 77 69 74 68 20 6e 69 --pad.(lst.n)..."Pad.LST.with.ni
b120 6c 20 75 6e 74 69 6c 20 6c 65 6e 67 74 68 20 4e 2e 22 0a 20 20 28 6c 65 74 20 28 28 6c 65 6e 20 l.until.length.N."...(let.((len.
b140 28 6c 65 6e 67 74 68 20 6c 73 74 29 29 29 0a 20 20 20 20 28 69 66 20 28 3d 20 6c 65 6e 20 6e 29 (length.lst))).....(if.(=.len.n)
b160 0a 20 20 20 20 20 20 20 20 6c 73 74 0a 20 20 20 20 20 20 28 61 70 70 65 6e 64 20 6c 73 74 20 28 .........lst.......(append.lst.(
b180 6d 61 6b 65 2d 6c 69 73 74 20 28 2d 20 6e 20 6c 65 6e 29 20 6e 69 6c 29 29 29 29 29 0a 0a 28 64 make-list.(-.n.len).nil)))))..(d
b1a0 65 66 6d 61 63 72 6f 20 68 79 64 72 61 2d 6d 75 6c 74 69 70 6f 70 20 28 6c 73 74 20 6e 29 0a 20 efmacro.hydra-multipop.(lst.n)..
b1c0 20 22 52 65 74 75 72 6e 20 4c 53 54 27 73 20 66 69 72 73 74 20 4e 20 65 6c 65 6d 65 6e 74 73 20 ."Return.LST's.first.N.elements.
b1e0 77 68 69 6c 65 20 72 65 6d 6f 76 69 6e 67 20 74 68 65 6d 2e 22 0a 20 20 60 28 69 66 20 28 3c 3d while.removing.them."...`(if.(<=
b200 20 28 6c 65 6e 67 74 68 20 2c 6c 73 74 29 20 2c 6e 29 0a 20 20 20 20 20 20 20 28 70 72 6f 67 31 .(length.,lst).,n)........(prog1
b220 20 2c 6c 73 74 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 2c 6c 73 74 20 6e 69 6c 29 29 0a .,lst..........(setq.,lst.nil)).
b240 20 20 20 20 20 28 70 72 6f 67 31 20 2c 6c 73 74 0a 20 20 20 20 20 20 20 28 73 65 74 63 64 72 0a .....(prog1.,lst........(setcdr.
b260 20 20 20 20 20 20 20 20 28 6e 74 68 63 64 72 20 28 31 2d 20 2c 6e 29 20 28 70 72 6f 67 31 20 2c ........(nthcdr.(1-.,n).(prog1.,
b280 6c 73 74 20 28 73 65 74 71 20 2c 6c 73 74 20 28 6e 74 68 63 64 72 20 2c 6e 20 2c 6c 73 74 29 29 lst.(setq.,lst.(nthcdr.,n.,lst))
b2a0 29 29 0a 20 20 20 20 20 20 20 20 6e 69 6c 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 )).........nil))))..(defun.hydra
b2c0 2d 2d 6d 61 74 72 69 78 20 28 6c 73 74 20 72 6f 77 73 20 63 6f 6c 73 29 0a 20 20 22 43 72 65 61 --matrix.(lst.rows.cols)..."Crea
b2e0 74 65 20 61 20 6d 61 74 72 69 78 20 66 72 6f 6d 20 65 6c 65 6d 65 6e 74 73 20 6f 66 20 4c 53 54 te.a.matrix.from.elements.of.LST
b300 2e 0a 54 68 65 20 6d 61 74 72 69 78 20 73 69 7a 65 20 69 73 20 52 4f 57 53 20 74 69 6d 65 73 20 ..The.matrix.size.is.ROWS.times.
b320 43 4f 4c 53 2e 22 0a 20 20 28 6c 65 74 20 28 28 6c 73 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 COLS."...(let.((ls.(copy-sequenc
b340 65 20 6c 73 74 29 29 0a 20 20 20 20 20 20 20 20 72 65 73 29 0a 20 20 20 20 28 64 6f 74 69 6d 65 e.lst)).........res).....(dotime
b360 73 20 28 5f 63 20 63 6f 6c 73 29 0a 20 20 20 20 20 20 28 70 75 73 68 20 28 68 79 64 72 61 2d 2d s.(_c.cols).......(push.(hydra--
b380 70 61 64 20 28 68 79 64 72 61 2d 6d 75 6c 74 69 70 6f 70 20 6c 73 20 72 6f 77 73 29 20 72 6f 77 pad.(hydra-multipop.ls.rows).row
b3a0 73 29 20 72 65 73 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 65 73 29 29 29 0a 0a 28 s).res)).....(nreverse.res)))..(
b3c0 64 65 66 75 6e 20 68 79 64 72 61 2d 2d 63 65 6c 6c 20 28 66 73 74 72 20 6e 61 6d 65 73 29 0a 20 defun.hydra--cell.(fstr.names)..
b3e0 20 22 46 6f 72 6d 61 74 20 61 20 72 65 63 74 61 6e 67 75 6c 61 72 20 63 65 6c 6c 20 62 61 73 65 ."Format.a.rectangular.cell.base
b400 64 20 6f 6e 20 46 53 54 52 20 61 6e 64 20 4e 41 4d 45 53 2e 0a 46 53 54 52 20 69 73 20 61 20 66 d.on.FSTR.and.NAMES..FSTR.is.a.f
b420 6f 72 6d 61 74 2d 73 74 79 6c 65 20 73 74 72 69 6e 67 20 77 69 74 68 20 74 77 6f 20 73 74 72 69 ormat-style.string.with.two.stri
b440 6e 67 20 69 6e 70 75 74 73 3a 20 6f 6e 65 20 66 6f 72 20 74 68 65 0a 64 6f 63 20 61 6e 64 20 6f ng.inputs:.one.for.the.doc.and.o
b460 6e 65 20 66 6f 72 20 74 68 65 20 73 79 6d 62 6f 6c 20 6e 61 6d 65 2e 0a 4e 41 4d 45 53 20 69 73 ne.for.the.symbol.name..NAMES.is
b480 20 61 20 6c 69 73 74 20 6f 66 20 76 61 72 69 61 62 6c 65 73 2e 22 0a 20 20 28 6c 65 74 20 28 28 .a.list.of.variables."...(let.((
b4a0 6c 65 6e 20 28 63 6c 2d 72 65 64 75 63 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 len.(cl-reduce...............(la
b4c0 6d 62 64 61 20 28 61 63 63 20 69 74 29 20 28 6d 61 78 20 28 6c 65 6e 67 74 68 20 28 73 79 6d 62 mbda.(acc.it).(max.(length.(symb
b4e0 6f 6c 2d 6e 61 6d 65 20 69 74 29 29 20 61 63 63 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ol-name.it)).acc))..............
b500 20 6e 61 6d 65 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 69 6e 69 74 69 61 6c 2d 76 61 .names...............:initial-va
b520 6c 75 65 20 30 29 29 29 0a 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 0a 20 20 20 20 20 28 6c 61 lue.0))).....(mapconcat......(la
b540 6d 62 64 61 20 28 73 79 6d 29 0a 20 20 20 20 20 20 20 28 69 66 20 73 79 6d 0a 20 20 20 20 20 20 mbda.(sym)........(if.sym.......
b560 20 20 20 20 20 28 66 6f 72 6d 61 74 20 66 73 74 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....(format.fstr...............
b580 20 20 20 20 20 28 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 2d 70 72 6f 70 65 72 74 79 20 73 79 6d .....(documentation-property.sym
b5a0 20 27 76 61 72 69 61 62 6c 65 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 29 0a 20 20 20 20 20 20 .'variable-documentation).......
b5c0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6e 61 6d 65 20 28 73 79 6d 62 6f 6c .............(let.((name.(symbol
b5e0 2d 6e 61 6d 65 20 73 79 6d 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -name.sym)))....................
b600 20 20 28 63 6f 6e 63 61 74 20 6e 61 6d 65 20 28 6d 61 6b 65 2d 73 74 72 69 6e 67 20 28 2d 20 6c ..(concat.name.(make-string.(-.l
b620 65 6e 20 28 6c 65 6e 67 74 68 20 6e 61 6d 65 29 29 20 3f 5e 29 29 29 0a 20 20 20 20 20 20 20 20 en.(length.name)).?^))).........
b640 20 20 20 20 20 20 20 20 20 20 20 73 79 6d 29 0a 20 20 20 20 20 20 20 20 20 22 22 29 29 0a 20 20 ...........sym)..........""))...
b660 20 20 20 6e 61 6d 65 73 0a 20 20 20 20 20 22 5c 6e 22 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 79 ...names......"\n")))..(defun.hy
b680 64 72 61 2d 2d 76 63 6f 6e 63 61 74 20 28 73 74 72 73 20 26 6f 70 74 69 6f 6e 61 6c 20 6a 6f 69 dra--vconcat.(strs.&optional.joi
b6a0 6e 65 72 29 0a 20 20 22 47 6c 75 65 20 53 54 52 53 20 76 65 72 74 69 63 61 6c 6c 79 2e 20 20 54 ner)..."Glue.STRS.vertically...T
b6c0 68 65 79 20 6d 75 73 74 20 62 65 20 74 68 65 20 73 61 6d 65 20 68 65 69 67 68 74 2e 0a 4a 4f 49 hey.must.be.the.same.height..JOI
b6e0 4e 45 52 20 69 73 20 61 20 66 75 6e 63 74 69 6f 6e 20 73 69 6d 69 6c 61 72 20 74 6f 20 60 63 6f NER.is.a.function.similar.to.`co
b700 6e 63 61 74 27 2e 22 0a 20 20 28 73 65 74 71 20 6a 6f 69 6e 65 72 20 28 6f 72 20 6a 6f 69 6e 65 ncat'."...(setq.joiner.(or.joine
b720 72 20 23 27 63 6f 6e 63 61 74 29 29 0a 20 20 28 6d 61 70 63 6f 6e 63 61 74 0a 20 20 20 28 6c 61 r.#'concat))...(mapconcat....(la
b740 6d 62 64 61 20 28 73 29 0a 20 20 20 20 20 28 69 66 20 28 73 74 72 69 6e 67 2d 6d 61 74 63 68 20 mbda.(s)......(if.(string-match.
b760 22 20 2b 24 22 20 73 29 0a 20 20 20 20 20 20 20 20 20 28 72 65 70 6c 61 63 65 2d 6d 61 74 63 68 ".+$".s)..........(replace-match
b780 20 22 22 20 6e 69 6c 20 6e 69 6c 20 73 29 0a 20 20 20 20 20 20 20 73 29 29 0a 20 20 20 28 61 70 ."".nil.nil.s)........s))....(ap
b7a0 70 6c 79 20 23 27 63 6c 2d 6d 61 70 63 61 72 20 6a 6f 69 6e 65 72 0a 20 20 20 20 20 20 20 20 20 ply.#'cl-mapcar.joiner..........
b7c0 20 28 6d 61 70 63 61 72 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 73 29 20 .(mapcar............(lambda.(s).
b7e0 28 73 70 6c 69 74 2d 73 74 72 69 6e 67 20 73 20 22 5c 6e 22 29 29 0a 20 20 20 20 20 20 20 20 20 (split-string.s."\n"))..........
b800 20 20 73 74 72 73 29 29 0a 20 20 20 22 5c 6e 22 29 29 0a 0a 28 64 65 66 76 61 72 20 68 79 64 72 ..strs))...."\n"))..(defvar.hydr
b820 61 2d 63 65 6c 6c 2d 66 6f 72 6d 61 74 20 22 25 20 2d 32 30 73 20 25 25 20 2d 38 60 25 73 22 0a a-cell-format."%.-20s.%%.-8`%s".
b840 20 20 22 54 68 65 20 64 65 66 61 75 6c 74 20 66 6f 72 6d 61 74 20 66 6f 72 20 64 6f 63 73 74 72 .."The.default.format.for.docstr
b860 69 6e 67 20 63 65 6c 6c 73 2e 22 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 2d 74 61 62 6c ing.cells.")..(defun.hydra--tabl
b880 65 20 28 6e 61 6d 65 73 20 72 6f 77 73 20 63 6f 6c 73 20 26 6f 70 74 69 6f 6e 61 6c 20 63 65 6c e.(names.rows.cols.&optional.cel
b8a0 6c 2d 66 6f 72 6d 61 74 73 29 0a 20 20 22 46 6f 72 6d 61 74 20 61 20 60 66 6f 72 6d 61 74 27 2d l-formats)..."Format.a.`format'-
b8c0 73 74 79 6c 65 20 74 61 62 6c 65 20 66 72 6f 6d 20 76 61 72 69 61 62 6c 65 73 20 69 6e 20 4e 41 style.table.from.variables.in.NA
b8e0 4d 45 53 2e 0a 54 68 65 20 73 69 7a 65 20 6f 66 20 74 68 65 20 74 61 62 6c 65 20 69 73 20 52 4f MES..The.size.of.the.table.is.RO
b900 57 53 20 74 69 6d 65 73 20 43 4f 4c 53 2e 0a 43 45 4c 4c 2d 46 4f 52 4d 41 54 53 20 61 72 65 20 WS.times.COLS..CELL-FORMATS.are.
b920 60 66 6f 72 6d 61 74 27 20 73 74 72 69 6e 67 73 20 66 6f 72 20 65 61 63 68 20 63 6f 6c 75 6d 6e `format'.strings.for.each.column
b940 2e 0a 49 66 20 43 45 4c 4c 2d 46 4f 52 4d 41 54 53 20 69 73 20 61 20 73 74 72 69 6e 67 2c 20 69 ..If.CELL-FORMATS.is.a.string,.i
b960 74 27 73 20 75 73 65 64 20 66 6f 72 20 61 6c 6c 20 63 6f 6c 75 6d 6e 73 2e 0a 49 66 20 43 45 4c t's.used.for.all.columns..If.CEL
b980 4c 2d 46 4f 52 4d 41 54 53 20 69 73 20 6e 69 6c 2c 20 60 68 79 64 72 61 2d 63 65 6c 6c 2d 66 6f L-FORMATS.is.nil,.`hydra-cell-fo
b9a0 72 6d 61 74 27 20 69 73 20 75 73 65 64 20 66 6f 72 20 61 6c 6c 20 63 6f 6c 75 6d 6e 73 2e 22 0a rmat'.is.used.for.all.columns.".
b9c0 20 20 28 73 65 74 71 20 63 65 6c 6c 2d 66 6f 72 6d 61 74 73 0a 20 20 20 20 20 20 20 20 28 63 6f ..(setq.cell-formats.........(co
b9e0 6e 64 20 28 28 6e 75 6c 6c 20 63 65 6c 6c 2d 66 6f 72 6d 61 74 73 29 0a 20 20 20 20 20 20 20 20 nd.((null.cell-formats).........
ba00 20 20 20 20 20 20 20 28 6d 61 6b 65 2d 6c 69 73 74 20 63 6f 6c 73 20 68 79 64 72 61 2d 63 65 6c .......(make-list.cols.hydra-cel
ba20 6c 2d 66 6f 72 6d 61 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 73 74 72 69 6e l-format))...............((strin
ba40 67 70 20 63 65 6c 6c 2d 66 6f 72 6d 61 74 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 gp.cell-formats)................
ba60 28 6d 61 6b 65 2d 6c 69 73 74 20 63 6f 6c 73 20 63 65 6c 6c 2d 66 6f 72 6d 61 74 73 29 29 0a 20 (make-list.cols.cell-formats))..
ba80 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 63 .............(t................c
baa0 65 6c 6c 2d 66 6f 72 6d 61 74 73 29 29 29 0a 20 20 28 68 79 64 72 61 2d 2d 76 63 6f 6e 63 61 74 ell-formats)))...(hydra--vconcat
bac0 0a 20 20 20 28 63 6c 2d 6d 61 70 63 61 72 0a 20 20 20 20 23 27 68 79 64 72 61 2d 2d 63 65 6c 6c ....(cl-mapcar.....#'hydra--cell
bae0 0a 20 20 20 20 63 65 6c 6c 2d 66 6f 72 6d 61 74 73 0a 20 20 20 20 28 68 79 64 72 61 2d 2d 6d 61 .....cell-formats.....(hydra--ma
bb00 74 72 69 78 20 6e 61 6d 65 73 20 72 6f 77 73 20 63 6f 6c 73 29 29 0a 20 20 20 28 6c 61 6d 62 64 trix.names.rows.cols))....(lambd
bb20 61 20 28 26 72 65 73 74 20 78 29 0a 20 20 20 20 20 28 6d 61 70 63 6f 6e 63 61 74 20 23 27 69 64 a.(&rest.x)......(mapconcat.#'id
bb40 65 6e 74 69 74 79 20 78 20 22 20 20 20 20 22 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 entity.x."...."))))..(defun.hydr
bb60 61 2d 72 65 73 65 74 2d 72 61 64 69 6f 73 20 28 6e 61 6d 65 73 29 0a 20 20 22 53 65 74 20 76 61 a-reset-radios.(names)..."Set.va
bb80 72 69 62 6c 65 73 20 4e 41 4d 45 53 20 74 6f 20 74 68 65 69 72 20 64 65 66 61 75 6c 74 73 2e 0a ribles.NAMES.to.their.defaults..
bba0 4e 41 4d 45 53 20 73 68 6f 75 6c 64 20 62 65 20 64 65 66 69 6e 65 64 20 62 79 20 60 64 65 66 68 NAMES.should.be.defined.by.`defh
bbc0 79 64 72 61 64 69 6f 27 20 6f 72 20 73 69 6d 69 6c 61 72 2e 22 0a 20 20 28 64 6f 6c 69 73 74 20 ydradio'.or.similar."...(dolist.
bbe0 28 6e 20 6e 61 6d 65 73 29 0a 20 20 20 20 28 73 65 74 20 6e 20 28 61 72 65 66 20 28 67 65 74 20 (n.names).....(set.n.(aref.(get.
bc00 6e 20 27 72 61 6e 67 65 29 20 30 29 29 29 29 0a 0a 3b 3b 20 46 6f 6c 6c 6f 77 69 6e 67 20 66 75 n.'range).0))))..;;.Following.fu
bc20 6e 63 74 69 6f 6e 73 20 64 65 61 6c 20 77 69 74 68 20 61 75 74 6f 6d 61 74 69 63 20 64 6f 63 73 nctions.deal.with.automatic.docs
bc40 74 72 69 6e 67 20 74 61 62 6c 65 20 67 65 6e 65 72 61 74 69 6f 6e 20 66 72 6f 6d 20 3a 63 6f 6c tring.table.generation.from.:col
bc60 75 6d 6e 20 68 65 61 64 20 70 72 6f 70 65 72 74 79 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 2d umn.head.property.(defun.hydra--
bc80 6e 6f 72 6d 61 6c 69 7a 65 2d 68 65 61 64 73 20 28 68 65 61 64 73 29 0a 20 20 22 45 6e 73 75 72 normalize-heads.(heads)..."Ensur
bca0 65 20 65 61 63 68 20 68 65 61 64 20 66 72 6f 6d 20 48 45 41 44 53 20 68 61 76 65 20 61 20 70 72 e.each.head.from.HEADS.have.a.pr
bcc0 6f 70 65 72 74 79 20 3a 63 6f 6c 75 6d 6e 2e 0a 53 65 74 20 69 74 20 74 6f 20 74 68 65 20 73 61 operty.:column..Set.it.to.the.sa
bce0 6d 65 20 76 61 6c 75 65 20 61 73 20 70 72 65 63 65 64 69 6e 67 20 68 65 61 64 20 6f 72 20 6e 69 me.value.as.preceding.head.or.ni
bd00 6c 20 69 66 20 6e 6f 20 70 72 65 76 69 6f 75 73 20 76 61 6c 75 65 0a 77 61 73 20 64 65 66 69 6e l.if.no.previous.value.was.defin
bd20 65 64 2e 22 0a 20 20 28 6c 65 74 20 28 28 63 75 72 72 65 6e 74 2d 63 6f 6c 20 6e 69 6c 29 29 0a ed."...(let.((current-col.nil)).
bd40 20 20 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 68 65 61 64 29 0a 20 20 20 20 20 ....(mapcar.(lambda.(head)......
bd60 20 20 20 20 20 20 20 20 20 28 69 66 20 28 68 79 64 72 61 2d 2d 68 65 61 64 2d 68 61 73 2d 70 72 .........(if.(hydra--head-has-pr
bd80 6f 70 65 72 74 79 20 68 65 61 64 20 3a 63 6f 6c 75 6d 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 operty.head.:column)............
bda0 20 20 20 20 20 20 20 28 73 65 74 71 20 63 75 72 72 65 6e 74 2d 63 6f 6c 20 28 68 79 64 72 61 2d .......(setq.current-col.(hydra-
bdc0 2d 68 65 61 64 2d 70 72 6f 70 65 72 74 79 20 68 65 61 64 20 3a 63 6f 6c 75 6d 6e 29 29 29 0a 20 -head-property.head.:column)))..
bde0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 79 64 72 61 2d 2d 68 65 61 64 2d 73 65 74 2d 70 72 .............(hydra--head-set-pr
be00 6f 70 65 72 74 79 20 68 65 61 64 20 3a 63 6f 6c 75 6d 6e 20 63 75 72 72 65 6e 74 2d 63 6f 6c 29 operty.head.:column.current-col)
be20 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 68 65 61 64 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 ).............heads)))..(defun.h
be40 79 64 72 61 2d 2d 73 6f 72 74 2d 68 65 61 64 73 20 28 6e 6f 72 6d 61 6c 69 7a 65 64 2d 68 65 61 ydra--sort-heads.(normalized-hea
be60 64 73 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 6c 69 73 74 20 6f 66 20 68 65 61 64 73 20 77 69 ds)..."Return.a.list.of.heads.wi
be80 74 68 20 6e 6f 6e 2d 6e 69 6c 20 64 6f 63 20 67 72 6f 75 70 65 64 20 62 79 20 63 6f 6c 75 6d 6e th.non-nil.doc.grouped.by.column
bea0 20 70 72 6f 70 65 72 74 79 2e 0a 45 61 63 68 20 68 65 61 64 20 6f 66 20 4e 4f 52 4d 41 4c 49 5a .property..Each.head.of.NORMALIZ
bec0 45 44 2d 48 45 41 44 53 20 6d 75 73 74 20 68 61 76 65 20 61 20 63 6f 6c 75 6d 6e 20 70 72 6f 70 ED-HEADS.must.have.a.column.prop
bee0 65 72 74 79 2e 22 0a 20 20 28 6c 65 74 2a 20 28 28 68 65 61 64 73 2d 77 6f 2d 6e 69 6c 2d 64 6f erty."...(let*.((heads-wo-nil-do
bf00 63 20 28 63 6c 2d 72 65 6d 6f 76 65 2d 69 66 2d 6e 6f 74 20 28 6c 61 6d 62 64 61 20 28 68 65 61 c.(cl-remove-if-not.(lambda.(hea
bf20 64 29 20 28 6e 74 68 20 32 20 68 65 61 64 29 29 20 6e 6f 72 6d 61 6c 69 7a 65 64 2d 68 65 61 64 d).(nth.2.head)).normalized-head
bf40 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 63 6f 6c 75 6d 6e 73 2d 6c 69 73 74 20 28 64 65 6c 65 s))..........(columns-list.(dele
bf60 74 65 2d 64 75 70 73 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 68 65 61 64 29 20 28 te-dups.(mapcar.(lambda.(head).(
bf80 68 79 64 72 61 2d 2d 68 65 61 64 2d 70 72 6f 70 65 72 74 79 20 68 65 61 64 20 3a 63 6f 6c 75 6d hydra--head-property.head.:colum
bfa0 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 20 20 20 n)).............................
bfc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 6f 72 6d 61 6c 69 7a 65 64 2d 68 65 61 64 73 ................normalized-heads
bfe0 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 67 65 74 2d 63 6f 6c 2d 69 6e 64 65 78 2d 66 75 6e 20 )))..........(get-col-index-fun.
c000 28 6c 61 6d 62 64 61 20 28 68 65 61 64 29 20 28 63 6c 2d 70 6f 73 69 74 69 6f 6e 20 28 68 79 64 (lambda.(head).(cl-position.(hyd
c020 72 61 2d 2d 68 65 61 64 2d 70 72 6f 70 65 72 74 79 20 68 65 61 64 20 3a 63 6f 6c 75 6d 6e 29 0a ra--head-property.head.:column).
c040 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
c060 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 75 6d 6e 73 2d ........................columns-
c080 6c 69 73 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 20 20 list............................
c0a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 74 65 .............................:te
c0c0 73 74 20 27 65 71 75 61 6c 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 68 65 61 64 73 2d 73 6f 72 st.'equal)))..........(heads-sor
c0e0 74 65 64 20 28 63 6c 2d 73 6f 72 74 20 68 65 61 64 73 2d 77 6f 2d 6e 69 6c 2d 64 6f 63 20 28 6c ted.(cl-sort.heads-wo-nil-doc.(l
c100 61 6d 62 64 61 20 28 69 74 20 6f 74 68 65 72 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ambda.(it.other)................
c120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
c140 20 20 20 20 28 3c 20 28 66 75 6e 63 61 6c 6c 20 67 65 74 2d 63 6f 6c 2d 69 6e 64 65 78 2d 66 75 ....(<.(funcall.get-col-index-fu
c160 6e 20 69 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 n.it)...........................
c180 20 20 20 20 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 ............................(fun
c1a0 63 61 6c 6c 20 67 65 74 2d 63 6f 6c 2d 69 6e 64 65 78 2d 66 75 6e 20 6f 74 68 65 72 29 29 29 29 call.get-col-index-fun.other))))
c1c0 29 29 0a 20 20 20 20 3b 3b 20 74 68 69 73 20 6f 70 65 72 61 74 69 6f 6e 20 70 61 72 74 69 74 69 )).....;;.this.operation.partiti
c1e0 6f 6e 20 74 68 65 20 73 6f 72 74 65 64 20 68 65 61 64 20 6c 69 73 74 20 69 6e 74 6f 20 6c 69 73 on.the.sorted.head.list.into.lis
c200 74 73 20 6f 66 20 68 65 61 64 73 20 77 69 74 68 20 73 61 6d 65 20 63 6f 6c 75 6d 6e 20 70 72 6f ts.of.heads.with.same.column.pro
c220 70 65 72 74 79 0a 20 20 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 68 65 61 64 20 69 6e 20 68 perty.....(cl-loop.for.head.in.h
c240 65 61 64 73 2d 73 6f 72 74 65 64 0a 20 20 20 20 20 20 20 66 6f 72 20 63 6f 6c 75 6d 6e 2d 6e 61 eads-sorted........for.column-na
c260 6d 65 20 3d 20 28 68 79 64 72 61 2d 2d 68 65 61 64 2d 70 72 6f 70 65 72 74 79 20 68 65 61 64 20 me.=.(hydra--head-property.head.
c280 3a 63 6f 6c 75 6d 6e 29 0a 20 20 20 20 20 20 20 77 69 74 68 20 70 72 65 76 2d 63 6f 6c 75 6d 6e :column)........with.prev-column
c2a0 2d 6e 61 6d 65 20 3d 20 28 68 79 64 72 61 2d 2d 68 65 61 64 2d 70 72 6f 70 65 72 74 79 20 28 6e -name.=.(hydra--head-property.(n
c2c0 74 68 20 30 20 68 65 61 64 73 2d 73 6f 72 74 65 64 29 20 3a 63 6f 6c 75 6d 6e 29 0a 20 20 20 20 th.0.heads-sorted).:column).....
c2e0 20 20 20 75 6e 6c 65 73 73 20 28 65 71 75 61 6c 20 70 72 65 76 2d 63 6f 6c 75 6d 6e 2d 6e 61 6d ...unless.(equal.prev-column-nam
c300 65 20 63 6f 6c 75 6d 6e 2d 6e 61 6d 65 29 20 63 6f 6c 6c 65 63 74 20 68 65 61 64 73 2d 6f 6e 65 e.column-name).collect.heads-one
c320 2d 63 6f 6c 75 6d 6e 20 69 6e 74 6f 20 68 65 61 64 73 2d 61 6c 6c 2d 63 6f 6c 75 6d 6e 73 0a 20 -column.into.heads-all-columns..
c340 20 20 20 20 20 20 61 6e 64 20 64 6f 20 28 73 65 74 71 20 68 65 61 64 73 2d 6f 6e 65 2d 63 6f 6c ......and.do.(setq.heads-one-col
c360 75 6d 6e 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 20 68 65 61 64 20 69 6e 74 umn.nil)........collect.head.int
c380 6f 20 68 65 61 64 73 2d 6f 6e 65 2d 63 6f 6c 75 6d 6e 0a 20 20 20 20 20 20 20 64 6f 20 28 73 65 o.heads-one-column........do.(se
c3a0 74 71 20 70 72 65 76 2d 63 6f 6c 75 6d 6e 2d 6e 61 6d 65 20 63 6f 6c 75 6d 6e 2d 6e 61 6d 65 29 tq.prev-column-name.column-name)
c3c0 0a 20 20 20 20 20 20 20 66 69 6e 61 6c 6c 79 20 72 65 74 75 72 6e 20 28 61 70 70 65 6e 64 20 68 ........finally.return.(append.h
c3e0 65 61 64 73 2d 61 6c 6c 2d 63 6f 6c 75 6d 6e 73 20 28 6c 69 73 74 20 68 65 61 64 73 2d 6f 6e 65 eads-all-columns.(list.heads-one
c400 2d 63 6f 6c 75 6d 6e 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 2d 70 61 64 2d -column)))))..(defun.hydra--pad-
c420 68 65 61 64 73 20 28 68 65 61 64 73 2d 67 72 6f 75 70 73 20 70 61 64 64 69 6e 67 2d 68 65 61 64 heads.(heads-groups.padding-head
c440 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 63 6f 70 79 20 6f 66 20 48 45 41 44 53 2d 47 52 4f 55 )..."Return.a.copy.of.HEADS-GROU
c460 50 53 20 70 61 64 64 65 64 20 77 68 65 72 65 20 61 70 70 6c 69 63 61 62 6c 65 20 77 69 74 68 20 PS.padded.where.applicable.with.
c480 50 41 44 44 49 4e 47 2d 48 45 41 44 2e 22 0a 20 20 28 63 6c 2d 6c 6f 6f 70 20 66 6f 72 20 68 65 PADDING-HEAD."...(cl-loop.for.he
c4a0 61 64 73 2d 67 72 6f 75 70 20 69 6e 20 68 65 61 64 73 2d 67 72 6f 75 70 73 0a 20 20 20 20 20 66 ads-group.in.heads-groups......f
c4c0 6f 72 20 74 68 69 73 2d 68 65 61 64 2d 67 72 6f 75 70 2d 6c 65 6e 67 74 68 20 3d 20 28 6c 65 6e or.this-head-group-length.=.(len
c4e0 67 74 68 20 68 65 61 64 73 2d 67 72 6f 75 70 29 0a 20 20 20 20 20 77 69 74 68 20 68 65 61 64 2d gth.heads-group)......with.head-
c500 67 72 6f 75 70 2d 6d 61 78 2d 6c 65 6e 67 74 68 20 3d 20 28 61 70 70 6c 79 20 23 27 6d 61 78 20 group-max-length.=.(apply.#'max.
c520 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 68 65 61 64 73 29 20 28 6c 65 6e 67 74 68 20 (mapcar.(lambda.(heads).(length.
c540 68 65 61 64 73 29 29 20 68 65 61 64 73 2d 67 72 6f 75 70 73 29 29 0a 20 20 20 20 20 69 66 20 28 heads)).heads-groups))......if.(
c560 3c 3d 20 74 68 69 73 2d 68 65 61 64 2d 67 72 6f 75 70 2d 6c 65 6e 67 74 68 20 68 65 61 64 2d 67 <=.this-head-group-length.head-g
c580 72 6f 75 70 2d 6d 61 78 2d 6c 65 6e 67 74 68 29 0a 20 20 20 20 20 63 6f 6c 6c 65 63 74 20 28 61 roup-max-length)......collect.(a
c5a0 70 70 65 6e 64 20 68 65 61 64 73 2d 67 72 6f 75 70 20 28 6d 61 6b 65 2d 6c 69 73 74 20 28 2d 20 ppend.heads-group.(make-list.(-.
c5c0 68 65 61 64 2d 67 72 6f 75 70 2d 6d 61 78 2d 6c 65 6e 67 74 68 20 74 68 69 73 2d 68 65 61 64 2d head-group-max-length.this-head-
c5e0 67 72 6f 75 70 2d 6c 65 6e 67 74 68 29 20 70 61 64 64 69 6e 67 2d 68 65 61 64 29 29 0a 20 20 20 group-length).padding-head))....
c600 20 20 69 6e 74 6f 20 62 61 6c 61 6e 63 65 64 2d 68 65 61 64 73 2d 67 72 6f 75 70 73 0a 20 20 20 ..into.balanced-heads-groups....
c620 20 20 65 6c 73 65 20 63 6f 6c 6c 65 63 74 20 68 65 61 64 73 2d 67 72 6f 75 70 20 69 6e 74 6f 20 ..else.collect.heads-group.into.
c640 62 61 6c 61 6e 63 65 64 2d 68 65 61 64 73 2d 67 72 6f 75 70 73 0a 20 20 20 20 20 66 69 6e 61 6c balanced-heads-groups......final
c660 6c 79 20 72 65 74 75 72 6e 20 62 61 6c 61 6e 63 65 64 2d 68 65 61 64 73 2d 67 72 6f 75 70 73 29 ly.return.balanced-heads-groups)
c680 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 2d 67 65 6e 65 72 61 74 65 2d 6d 61 74 72 69 78 )..(defun.hydra--generate-matrix
c6a0 20 28 68 65 61 64 73 2d 67 72 6f 75 70 73 29 0a 20 20 22 52 65 74 75 72 6e 20 61 20 63 6f 70 79 .(heads-groups)..."Return.a.copy
c6c0 20 6f 66 20 48 45 41 44 53 2d 47 52 4f 55 50 53 20 64 65 63 6f 72 61 74 65 64 20 77 69 74 68 20 .of.HEADS-GROUPS.decorated.with.
c6e0 74 61 62 6c 65 20 66 6f 72 6d 61 74 69 6e 67 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 2e 0a 44 65 74 table.formating.information..Det
c700 61 69 6c 73 20 6f 66 20 6d 6f 64 69 66 69 63 61 74 69 6f 6e 3a 0a 32 20 76 69 72 74 75 61 6c 20 ails.of.modification:.2.virtual.
c720 68 65 61 64 73 20 61 63 74 69 6e 67 20 61 73 20 74 61 62 6c 65 20 68 65 61 64 65 72 20 77 65 72 heads.acting.as.table.header.wer
c740 65 20 61 64 64 65 64 20 74 6f 20 65 61 63 68 20 68 65 61 64 73 2d 67 72 6f 75 70 2e 0a 45 61 63 e.added.to.each.heads-group..Eac
c760 68 20 68 65 61 64 20 69 73 20 64 65 63 6f 72 61 74 65 64 20 77 69 74 68 20 32 20 6e 65 77 20 70 h.head.is.decorated.with.2.new.p
c780 72 6f 70 65 72 74 69 65 73 20 6d 61 78 2d 64 6f 63 2d 6c 65 6e 20 61 6e 64 20 6d 61 78 2d 6b 65 roperties.max-doc-len.and.max-ke
c7a0 79 2d 6c 65 6e 0a 72 65 70 72 65 73 65 6e 74 69 6e 67 20 74 68 65 20 6d 61 78 69 6d 75 6d 20 64 y-len.representing.the.maximum.d
c7c0 69 6d 65 6e 73 69 6f 6e 20 6f 66 20 74 68 65 69 72 20 6f 77 6e 69 6e 67 20 67 72 6f 75 70 2e 0a imension.of.their.owning.group..
c7e0 20 45 76 65 72 79 20 68 65 61 64 73 2d 67 72 6f 75 70 20 68 61 76 65 20 65 71 75 61 6c 20 6c 65 .Every.heads-group.have.equal.le
c800 6e 67 74 68 20 62 79 20 61 64 64 69 6e 67 20 70 61 64 64 69 6e 67 20 68 65 61 64 73 20 77 68 65 ngth.by.adding.padding.heads.whe
c820 72 65 20 61 70 70 6c 69 63 61 62 6c 65 2e 22 0a 20 20 28 77 68 65 6e 20 68 65 61 64 73 2d 67 72 re.applicable."...(when.heads-gr
c840 6f 75 70 73 0a 20 20 20 20 28 6c 65 74 20 28 28 72 65 73 20 6e 69 6c 29 29 0a 20 20 20 20 20 20 oups.....(let.((res.nil)).......
c860 28 64 6f 6c 69 73 74 20 28 68 65 61 64 73 2d 67 72 6f 75 70 20 28 68 79 64 72 61 2d 2d 70 61 64 (dolist.(heads-group.(hydra--pad
c880 2d 68 65 61 64 73 20 68 65 61 64 73 2d 67 72 6f 75 70 73 20 27 28 22 20 22 20 6e 69 6c 20 22 20 -heads.heads-groups.'(".".nil.".
c8a0 22 20 3a 65 78 69 74 20 74 29 29 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 63 6f 6c ".:exit.t))).........(let*.((col
c8c0 75 6d 6e 2d 6e 61 6d 65 20 28 68 79 64 72 61 2d 2d 68 65 61 64 2d 70 72 6f 70 65 72 74 79 20 28 umn-name.(hydra--head-property.(
c8e0 6e 74 68 20 30 20 68 65 61 64 73 2d 67 72 6f 75 70 29 20 3a 63 6f 6c 75 6d 6e 29 29 0a 20 20 20 nth.0.heads-group).:column))....
c900 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 78 2d 6b 65 79 2d 6c 65 6e 20 28 61 70 70 6c 79 20 ............(max-key-len.(apply.
c920 23 27 6d 61 78 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 6c 65 6e 67 74 #'max.(mapcar.(lambda.(x).(lengt
c940 68 20 28 63 61 72 20 78 29 29 29 20 68 65 61 64 73 2d 67 72 6f 75 70 29 29 29 0a 20 20 20 20 20 h.(car.x))).heads-group)))......
c960 20 20 20 20 20 20 20 20 20 20 28 6d 61 78 2d 64 6f 63 2d 6c 65 6e 20 28 61 70 70 6c 79 20 23 27 ..........(max-doc-len.(apply.#'
c980 6d 61 78 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 max.............................
c9a0 20 20 20 20 20 20 20 28 6c 65 6e 67 74 68 20 63 6f 6c 75 6d 6e 2d 6e 61 6d 65 29 0a 20 20 20 20 .......(length.column-name).....
c9c0 20 20 20 20 20 20 20 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 ...............................(
c9e0 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 78 29 20 28 6c 65 6e 67 74 68 20 28 68 79 64 72 mapcar.(lambda.(x).(length.(hydr
ca00 61 2d 2d 74 6f 2d 73 74 72 69 6e 67 20 28 6e 74 68 20 32 20 78 29 29 29 29 20 68 65 61 64 73 2d a--to-string.(nth.2.x)))).heads-
ca20 67 72 6f 75 70 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 65 61 64 65 72 2d group)))................(header-
ca40 76 69 72 74 75 61 6c 2d 68 65 61 64 20 60 28 22 20 22 20 6e 69 6c 20 2c 63 6f 6c 75 6d 6e 2d 6e virtual-head.`(".".nil.,column-n
ca60 61 6d 65 20 3a 63 6f 6c 75 6d 6e 20 2c 63 6f 6c 75 6d 6e 2d 6e 61 6d 65 20 3a 65 78 69 74 20 74 ame.:column.,column-name.:exit.t
ca80 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 70 61 72 61 74 6f 72 2d 76 69 72 ))................(separator-vir
caa0 74 75 61 6c 2d 68 65 61 64 20 60 28 22 20 22 20 6e 69 6c 20 2c 28 6d 61 6b 65 2d 73 74 72 69 6e tual-head.`(".".nil.,(make-strin
cac0 67 20 28 2b 20 32 20 6d 61 78 2d 64 6f 63 2d 6c 65 6e 20 6d 61 78 2d 6b 65 79 2d 6c 65 6e 29 20 g.(+.2.max-doc-len.max-key-len).
cae0 3f 2d 29 20 3a 63 6f 6c 75 6d 6e 20 2c 63 6f 6c 75 6d 6e 2d 6e 61 6d 65 20 3a 65 78 69 74 20 74 ?-).:column.,column-name.:exit.t
cb00 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 64 65 63 6f 72 61 74 65 64 2d 68 65 61 ))................(decorated-hea
cb20 64 73 20 28 63 6f 70 79 2d 74 72 65 65 20 28 61 70 70 6c 79 20 27 6c 69 73 74 20 68 65 61 64 65 ds.(copy-tree.(apply.'list.heade
cb40 72 2d 76 69 72 74 75 61 6c 2d 68 65 61 64 20 73 65 70 61 72 61 74 6f 72 2d 76 69 72 74 75 61 6c r-virtual-head.separator-virtual
cb60 2d 68 65 61 64 20 68 65 61 64 73 2d 67 72 6f 75 70 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 -head.heads-group))))...........
cb80 28 70 75 73 68 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 69 74 29 0a 20 20 20 20 20 (push.(mapcar.(lambda.(it)......
cba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 79 64 72 61 2d 2d 68 65 61 .....................(hydra--hea
cbc0 64 2d 73 65 74 2d 70 72 6f 70 65 72 74 79 20 69 74 20 3a 6d 61 78 2d 6b 65 79 2d 6c 65 6e 20 6d d-set-property.it.:max-key-len.m
cbe0 61 78 2d 6b 65 79 2d 6c 65 6e 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ax-key-len).....................
cc00 20 20 20 20 20 20 28 68 79 64 72 61 2d 2d 68 65 61 64 2d 73 65 74 2d 70 72 6f 70 65 72 74 79 20 ......(hydra--head-set-property.
cc20 69 74 20 3a 6d 61 78 2d 64 6f 63 2d 6c 65 6e 20 6d 61 78 2d 64 6f 63 2d 6c 65 6e 29 29 0a 20 20 it.:max-doc-len.max-doc-len))...
cc40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 63 6f 72 61 74 65 64 2d ......................decorated-
cc60 68 65 61 64 73 29 20 72 65 73 29 29 29 0a 20 20 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 72 65 heads).res))).......(nreverse.re
cc80 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 69 6e 74 65 72 70 6f 73 65 20 28 78 s))))..(defun.hydra-interpose.(x
cca0 20 6c 73 74 29 0a 20 20 22 49 6e 73 65 72 74 20 58 20 69 6e 20 62 65 74 77 65 65 6e 20 65 61 63 .lst)..."Insert.X.in.between.eac
ccc0 68 20 65 6c 65 6d 65 6e 74 20 6f 66 20 4c 53 54 2e 22 0a 20 20 28 6c 65 74 20 28 72 65 73 20 79 h.element.of.LST."...(let.(res.y
cce0 29 0a 20 20 20 20 28 77 68 69 6c 65 20 28 73 65 74 71 20 79 20 28 70 6f 70 20 6c 73 74 29 29 0a ).....(while.(setq.y.(pop.lst)).
cd00 20 20 20 20 20 20 28 70 75 73 68 20 79 20 72 65 73 29 0a 20 20 20 20 20 20 28 70 75 73 68 20 78 ......(push.y.res).......(push.x
cd20 20 72 65 73 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 20 28 63 64 72 20 72 65 73 29 29 29 .res)).....(nreverse.(cdr.res)))
cd40 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 2d 68 69 6e 74 2d 72 6f 77 20 28 68 65 61 64 73 )..(defun.hydra--hint-row.(heads
cd60 20 62 6f 64 79 29 0a 20 20 28 6c 65 74 20 28 28 6c 73 74 20 28 68 79 64 72 61 2d 69 6e 74 65 72 .body)...(let.((lst.(hydra-inter
cd80 70 6f 73 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 7c 20 22 0a 20 20 20 20 20 20 20 20 pose..............."|.".........
cda0 20 20 20 20 20 20 28 6d 61 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 68 65 61 64 29 0a 20 20 20 ......(mapcar.(lambda.(head)....
cdc0 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 20 68 79 .....................(funcall.hy
cde0 64 72 61 2d 6b 65 79 2d 64 6f 63 2d 66 75 6e 63 74 69 6f 6e 0a 20 20 20 20 20 20 20 20 20 20 20 dra-key-doc-function............
ce00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 79 64 72 61 2d 66 6f 6e ......................(hydra-fon
ce20 74 69 66 79 2d 68 65 61 64 20 68 65 61 64 20 62 6f 64 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 tify-head.head.body)............
ce40 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 6e 20 28 ......................(let.((n.(
ce60 68 79 64 72 61 2d 2d 68 65 61 64 2d 70 72 6f 70 65 72 74 79 20 68 65 61 64 20 3a 6d 61 78 2d 6b hydra--head-property.head.:max-k
ce80 65 79 2d 6c 65 6e 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 ey-len))).......................
cea0 20 20 20 20 20 20 20 20 20 20 20 20 20 28 2b 20 6e 20 28 63 6c 2d 63 6f 75 6e 74 20 3f 25 20 28 .............(+.n.(cl-count.?%.(
cec0 63 61 72 20 68 65 61 64 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 car.head))))....................
cee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6e 74 68 20 32 20 68 65 61 64 29 20 3b 3b 20 64 6f ..............(nth.2.head).;;.do
cf00 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 20 20 20 20 c...............................
cf20 20 20 20 28 68 79 64 72 61 2d 2d 68 65 61 64 2d 70 72 6f 70 65 72 74 79 20 68 65 61 64 20 3a 6d ...(hydra--head-property.head.:m
cf40 61 78 2d 64 6f 63 2d 6c 65 6e 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ax-doc-len)))...................
cf60 20 20 20 20 68 65 61 64 73 29 29 29 29 0a 20 20 20 20 28 77 68 65 6e 20 28 73 74 72 69 6e 67 70 ....heads)))).....(when.(stringp
cf80 20 28 63 61 72 20 28 6c 61 73 74 20 6c 73 74 29 29 29 0a 20 20 20 20 20 20 28 6c 65 74 20 28 28 .(car.(last.lst))).......(let.((
cfa0 6c 65 6e 20 28 6c 65 6e 67 74 68 20 6c 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 6e len.(length.lst)).............(n
cfc0 65 77 2d 6c 61 73 74 20 28 72 65 70 6c 61 63 65 2d 72 65 67 65 78 70 2d 69 6e 2d 73 74 72 69 6e ew-last.(replace-regexp-in-strin
cfe0 67 20 22 5c 73 2b 24 22 20 22 22 20 28 63 61 72 20 28 6c 61 73 74 20 6c 73 74 29 29 29 29 29 0a g."\s+$"."".(car.(last.lst))))).
d000 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 3d 20 30 20 28 6c 65 6e 67 74 68 20 28 73 65 74 66 ........(when.(=.0.(length.(setf
d020 20 28 6e 74 68 20 28 2d 20 6c 65 6e 20 31 29 20 6c 73 74 29 20 6e 65 77 2d 6c 61 73 74 29 29 29 .(nth.(-.len.1).lst).new-last)))
d040 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 66 20 28 6e 74 68 20 28 2d 20 6c 65 6e 20 32 29 20 ...........(setf.(nth.(-.len.2).
d060 6c 73 74 29 20 22 7c 22 29 29 29 29 0a 20 20 20 20 6c 73 74 29 29 0a 0a 0a 28 64 65 66 75 6e 20 lst)."|")))).....lst))...(defun.
d080 68 79 64 72 61 2d 2d 68 69 6e 74 2d 66 72 6f 6d 2d 6d 61 74 72 69 78 20 28 62 6f 64 79 20 68 65 hydra--hint-from-matrix.(body.he
d0a0 61 64 73 2d 6d 61 74 72 69 78 29 0a 20 20 22 47 65 6e 65 72 61 74 65 20 61 20 66 6f 72 6d 61 74 ads-matrix)..."Generate.a.format
d0c0 65 64 20 74 61 62 6c 65 2d 73 74 79 6c 65 20 64 6f 63 73 74 72 69 6e 67 20 61 63 63 6f 72 64 69 ed.table-style.docstring.accordi
d0e0 6e 67 20 74 6f 20 42 4f 44 59 20 61 6e 64 20 48 45 41 44 53 2d 4d 41 54 52 49 58 2e 0a 48 45 41 ng.to.BODY.and.HEADS-MATRIX..HEA
d100 44 53 2d 4d 41 54 52 49 58 20 69 73 20 65 78 70 65 63 74 65 64 20 74 6f 20 62 65 20 61 20 6c 69 DS-MATRIX.is.expected.to.be.a.li
d120 73 74 20 6f 66 20 68 65 61 64 73 20 77 69 74 68 20 66 6f 6c 6c 6f 77 69 6e 67 20 66 65 61 74 75 st.of.heads.with.following.featu
d140 72 65 73 3a 0a 45 61 63 68 20 68 65 61 64 73 20 6d 75 73 74 20 68 61 76 65 20 74 68 65 20 73 61 res:.Each.heads.must.have.the.sa
d160 6d 65 20 6c 65 6e 67 74 68 0a 45 61 63 68 20 68 65 61 64 20 6d 75 73 74 20 68 61 76 65 20 61 20 me.length.Each.head.must.have.a.
d180 70 72 6f 70 65 72 74 79 20 6d 61 78 2d 6b 65 79 2d 6c 65 6e 20 61 6e 64 20 6d 61 78 2d 64 6f 63 property.max-key-len.and.max-doc
d1a0 2d 6c 65 6e 2e 22 0a 20 20 28 77 68 65 6e 20 68 65 61 64 73 2d 6d 61 74 72 69 78 0a 20 20 20 20 -len."...(when.heads-matrix.....
d1c0 28 6c 65 74 20 28 28 6c 69 6e 65 73 20 28 68 79 64 72 61 2d 2d 68 69 6e 74 2d 66 72 6f 6d 2d 6d (let.((lines.(hydra--hint-from-m
d1e0 61 74 72 69 78 2d 31 20 62 6f 64 79 20 68 65 61 64 73 2d 6d 61 74 72 69 78 29 29 29 0a 20 20 20 atrix-1.body.heads-matrix)))....
d200 20 20 20 60 28 2c 40 28 61 70 70 6c 79 20 23 27 61 70 70 65 6e 64 20 28 68 79 64 72 61 2d 69 6e ...`(,@(apply.#'append.(hydra-in
d220 74 65 72 70 6f 73 65 20 27 28 22 5c 6e 22 29 20 6c 69 6e 65 73 29 29 0a 20 20 20 20 20 20 20 20 terpose.'("\n").lines)).........
d240 20 20 22 5c 6e 22 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 2d 68 69 6e 74 2d 66 .."\n"))))..(defun.hydra--hint-f
d260 72 6f 6d 2d 6d 61 74 72 69 78 2d 31 20 28 62 6f 64 79 20 68 65 61 64 73 2d 6d 61 74 72 69 78 29 rom-matrix-1.(body.heads-matrix)
d280 0a 20 20 28 6c 65 74 2a 20 28 28 66 69 72 73 74 2d 68 65 61 64 73 2d 63 6f 6c 20 28 6e 74 68 20 ...(let*.((first-heads-col.(nth.
d2a0 30 20 68 65 61 64 73 2d 6d 61 74 72 69 78 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 61 73 74 2d 0.heads-matrix))..........(last-
d2c0 72 6f 77 2d 69 6e 64 65 78 20 28 2d 20 28 6c 65 6e 67 74 68 20 66 69 72 73 74 2d 68 65 61 64 73 row-index.(-.(length.first-heads
d2e0 2d 63 6f 6c 29 20 31 29 29 0a 20 20 20 20 20 20 20 20 20 28 6c 69 6e 65 73 20 6e 69 6c 29 29 0a -col).1))..........(lines.nil)).
d300 20 20 20 20 28 64 6f 6c 69 73 74 20 28 72 6f 77 2d 69 6e 64 65 78 20 28 6e 75 6d 62 65 72 2d 73 ....(dolist.(row-index.(number-s
d320 65 71 75 65 6e 63 65 20 30 20 6c 61 73 74 2d 72 6f 77 2d 69 6e 64 65 78 29 29 0a 20 20 20 20 20 equence.0.last-row-index))......
d340 20 28 6c 65 74 20 28 28 68 65 61 64 73 2d 69 6e 2d 72 6f 77 20 28 6d 61 70 63 61 72 0a 20 20 20 .(let.((heads-in-row.(mapcar....
d360 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.
d380 28 68 65 61 64 73 29 20 28 6e 74 68 20 72 6f 77 2d 69 6e 64 65 78 20 68 65 61 64 73 29 29 0a 20 (heads).(nth.row-index.heads))..
d3a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 65 61 64 73 2d ..........................heads-
d3c0 6d 61 74 72 69 78 29 29 29 0a 20 20 20 20 20 20 20 20 28 70 75 73 68 20 28 68 79 64 72 61 2d 2d matrix))).........(push.(hydra--
d3e0 68 69 6e 74 2d 72 6f 77 20 68 65 61 64 73 2d 69 6e 2d 72 6f 77 20 62 6f 64 79 29 0a 20 20 20 20 hint-row.heads-in-row.body).....
d400 20 20 20 20 20 20 20 20 20 20 6c 69 6e 65 73 29 29 29 0a 20 20 20 20 28 6e 72 65 76 65 72 73 65 ..........lines))).....(nreverse
d420 20 6c 69 6e 65 73 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 69 64 6c 65 2d 6d 65 73 .lines)))..(defun.hydra-idle-mes
d440 73 61 67 65 20 28 73 65 63 73 20 68 69 6e 74 20 6e 61 6d 65 29 0a 20 20 22 49 6e 20 53 45 43 53 sage.(secs.hint.name)..."In.SECS
d460 20 73 65 63 6f 6e 64 73 20 64 69 73 70 6c 61 79 20 48 49 4e 54 2e 22 0a 20 20 28 63 61 6e 63 65 .seconds.display.HINT."...(cance
d480 6c 2d 74 69 6d 65 72 20 68 79 64 72 61 2d 6d 65 73 73 61 67 65 2d 74 69 6d 65 72 29 0a 20 20 28 l-timer.hydra-message-timer)...(
d4a0 73 65 74 71 20 68 79 64 72 61 2d 6d 65 73 73 61 67 65 2d 74 69 6d 65 72 20 28 74 69 6d 65 72 2d setq.hydra-message-timer.(timer-
d4c0 63 72 65 61 74 65 29 29 0a 20 20 28 74 69 6d 65 72 2d 73 65 74 2d 74 69 6d 65 20 68 79 64 72 61 create))...(timer-set-time.hydra
d4e0 2d 6d 65 73 73 61 67 65 2d 74 69 6d 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -message-timer..................
d500 20 28 74 69 6d 65 72 2d 72 65 6c 61 74 69 76 65 2d 74 69 6d 65 20 28 63 75 72 72 65 6e 74 2d 74 .(timer-relative-time.(current-t
d520 69 6d 65 29 20 73 65 63 73 29 29 0a 20 20 28 74 69 6d 65 72 2d 73 65 74 2d 66 75 6e 63 74 69 6f ime).secs))...(timer-set-functio
d540 6e 0a 20 20 20 68 79 64 72 61 2d 6d 65 73 73 61 67 65 2d 74 69 6d 65 72 0a 20 20 20 28 6c 61 6d n....hydra-message-timer....(lam
d560 62 64 61 20 28 29 0a 20 20 20 20 20 28 68 79 64 72 61 2d 73 68 6f 77 2d 68 69 6e 74 20 68 69 6e bda.()......(hydra-show-hint.hin
d580 74 20 6e 61 6d 65 29 0a 20 20 20 20 20 28 63 61 6e 63 65 6c 2d 74 69 6d 65 72 20 68 79 64 72 61 t.name)......(cancel-timer.hydra
d5a0 2d 6d 65 73 73 61 67 65 2d 74 69 6d 65 72 29 29 29 0a 20 20 28 74 69 6d 65 72 2d 61 63 74 69 76 -message-timer)))...(timer-activ
d5c0 61 74 65 20 68 79 64 72 61 2d 6d 65 73 73 61 67 65 2d 74 69 6d 65 72 29 29 0a 0a 28 64 65 66 75 ate.hydra-message-timer))..(defu
d5e0 6e 20 68 79 64 72 61 2d 74 69 6d 65 6f 75 74 20 28 73 65 63 73 20 26 6f 70 74 69 6f 6e 61 6c 20 n.hydra-timeout.(secs.&optional.
d600 66 75 6e 63 74 69 6f 6e 29 0a 20 20 22 49 6e 20 53 45 43 53 20 73 65 63 6f 6e 64 73 20 63 61 6c function)..."In.SECS.seconds.cal
d620 6c 20 46 55 4e 43 54 49 4f 4e 2c 20 74 68 65 6e 20 66 75 6e 63 74 69 6f 6e 20 60 68 79 64 72 61 l.FUNCTION,.then.function.`hydra
d640 2d 6b 65 79 62 6f 61 72 64 2d 71 75 69 74 27 2e 0a 43 61 6e 63 65 6c 20 74 68 65 20 70 72 65 76 -keyboard-quit'..Cancel.the.prev
d660 69 6f 75 73 20 60 68 79 64 72 61 2d 74 69 6d 65 6f 75 74 27 2e 22 0a 20 20 28 63 61 6e 63 65 6c ious.`hydra-timeout'."...(cancel
d680 2d 74 69 6d 65 72 20 68 79 64 72 61 2d 74 69 6d 65 6f 75 74 2d 74 69 6d 65 72 29 0a 20 20 28 73 -timer.hydra-timeout-timer)...(s
d6a0 65 74 71 20 68 79 64 72 61 2d 74 69 6d 65 6f 75 74 2d 74 69 6d 65 72 20 28 74 69 6d 65 72 2d 63 etq.hydra-timeout-timer.(timer-c
d6c0 72 65 61 74 65 29 29 0a 20 20 28 74 69 6d 65 72 2d 73 65 74 2d 74 69 6d 65 20 68 79 64 72 61 2d reate))...(timer-set-time.hydra-
d6e0 74 69 6d 65 6f 75 74 2d 74 69 6d 65 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 timeout-timer...................
d700 28 74 69 6d 65 72 2d 72 65 6c 61 74 69 76 65 2d 74 69 6d 65 20 28 63 75 72 72 65 6e 74 2d 74 69 (timer-relative-time.(current-ti
d720 6d 65 29 20 73 65 63 73 29 29 0a 20 20 28 74 69 6d 65 72 2d 73 65 74 2d 66 75 6e 63 74 69 6f 6e me).secs))...(timer-set-function
d740 0a 20 20 20 68 79 64 72 61 2d 74 69 6d 65 6f 75 74 2d 74 69 6d 65 72 0a 20 20 20 60 28 6c 61 6d ....hydra-timeout-timer....`(lam
d760 62 64 61 20 28 29 0a 20 20 20 20 20 20 2c 28 77 68 65 6e 20 66 75 6e 63 74 69 6f 6e 0a 20 20 20 bda.().......,(when.function....
d780 20 20 20 20 20 20 60 28 66 75 6e 63 61 6c 6c 20 2c 66 75 6e 63 74 69 6f 6e 29 29 0a 20 20 20 20 ......`(funcall.,function)).....
d7a0 20 20 28 68 79 64 72 61 2d 6b 65 79 62 6f 61 72 64 2d 71 75 69 74 29 29 29 0a 20 20 28 74 69 6d ..(hydra-keyboard-quit)))...(tim
d7c0 65 72 2d 61 63 74 69 76 61 74 65 20 68 79 64 72 61 2d 74 69 6d 65 6f 75 74 2d 74 69 6d 65 72 29 er-activate.hydra-timeout-timer)
d7e0 29 0a 0a 3b 3b 2a 20 4d 61 63 72 6f 73 0a 3b 3b 3b 23 23 23 61 75 74 6f 6c 6f 61 64 0a 28 64 65 )..;;*.Macros.;;;###autoload.(de
d800 66 6d 61 63 72 6f 20 64 65 66 68 79 64 72 61 20 28 6e 61 6d 65 20 62 6f 64 79 20 26 6f 70 74 69 fmacro.defhydra.(name.body.&opti
d820 6f 6e 61 6c 20 64 6f 63 73 74 72 69 6e 67 20 26 72 65 73 74 20 68 65 61 64 73 29 0a 20 20 22 43 onal.docstring.&rest.heads)..."C
d840 72 65 61 74 65 20 61 20 48 79 64 72 61 20 2d 20 61 20 66 61 6d 69 6c 79 20 6f 66 20 66 75 6e 63 reate.a.Hydra.-.a.family.of.func
d860 74 69 6f 6e 73 20 77 69 74 68 20 70 72 65 66 69 78 20 4e 41 4d 45 2e 0a 0a 4e 41 4d 45 20 73 68 tions.with.prefix.NAME...NAME.sh
d880 6f 75 6c 64 20 62 65 20 61 20 73 79 6d 62 6f 6c 2c 20 69 74 20 77 69 6c 6c 20 62 65 20 74 68 65 ould.be.a.symbol,.it.will.be.the
d8a0 20 70 72 65 66 69 78 20 6f 66 20 61 6c 6c 20 66 75 6e 63 74 69 6f 6e 73 0a 64 65 66 69 6e 65 64 .prefix.of.all.functions.defined
d8c0 20 68 65 72 65 2e 0a 0a 42 4f 44 59 20 68 61 73 20 74 68 65 20 66 6f 72 6d 61 74 3a 0a 0a 20 20 .here...BODY.has.the.format:....
d8e0 20 20 28 42 4f 44 59 2d 4d 41 50 20 42 4f 44 59 2d 4b 45 59 20 26 72 65 73 74 20 42 4f 44 59 2d ..(BODY-MAP.BODY-KEY.&rest.BODY-
d900 50 4c 49 53 54 29 0a 0a 44 4f 43 53 54 52 49 4e 47 20 77 69 6c 6c 20 62 65 20 64 69 73 70 6c 61 PLIST)..DOCSTRING.will.be.displa
d920 79 65 64 20 69 6e 20 74 68 65 20 65 63 68 6f 20 61 72 65 61 20 74 6f 20 69 64 65 6e 74 69 66 79 yed.in.the.echo.area.to.identify
d940 20 74 68 65 0a 48 79 64 72 61 2e 20 20 57 68 65 6e 20 44 4f 43 53 54 52 49 4e 47 20 73 74 61 72 .the.Hydra...When.DOCSTRING.star
d960 74 73 20 77 69 74 68 20 61 20 6e 65 77 6c 69 6e 65 2c 20 73 70 65 63 69 61 6c 20 52 75 62 79 2d ts.with.a.newline,.special.Ruby-
d980 73 74 79 6c 65 0a 73 75 62 73 74 69 74 75 74 69 6f 6e 20 77 69 6c 6c 20 62 65 20 70 65 72 66 6f style.substitution.will.be.perfo
d9a0 72 6d 65 64 20 62 79 20 60 68 79 64 72 61 2d 2d 66 6f 72 6d 61 74 27 2e 0a 0a 46 75 6e 63 74 69 rmed.by.`hydra--format'...Functi
d9c0 6f 6e 73 20 61 72 65 20 63 72 65 61 74 65 64 20 6f 6e 20 62 61 73 69 73 20 6f 66 20 48 45 41 44 ons.are.created.on.basis.of.HEAD
d9e0 53 2c 20 65 61 63 68 20 6f 66 20 77 68 69 63 68 20 68 61 73 20 74 68 65 0a 66 6f 72 6d 61 74 3a S,.each.of.which.has.the.format:
da00 0a 0a 20 20 20 20 28 4b 45 59 20 43 4d 44 20 26 6f 70 74 69 6f 6e 61 6c 20 48 49 4e 54 20 26 72 ......(KEY.CMD.&optional.HINT.&r
da20 65 73 74 20 50 4c 49 53 54 29 0a 0a 42 4f 44 59 2d 4d 41 50 20 69 73 20 61 20 6b 65 79 6d 61 70 est.PLIST)..BODY-MAP.is.a.keymap
da40 3b 20 60 67 6c 6f 62 61 6c 2d 6d 61 70 27 20 69 73 20 75 73 65 64 20 71 75 69 74 65 20 6f 66 74 ;.`global-map'.is.used.quite.oft
da60 65 6e 2e 20 20 45 61 63 68 0a 66 75 6e 63 74 69 6f 6e 20 67 65 6e 65 72 61 74 65 64 20 66 72 6f en...Each.function.generated.fro
da80 6d 20 48 45 41 44 53 20 77 69 6c 6c 20 62 65 20 62 6f 75 6e 64 20 69 6e 20 42 4f 44 59 2d 4d 41 m.HEADS.will.be.bound.in.BODY-MA
daa0 50 20 74 6f 0a 42 4f 44 59 2d 4b 45 59 20 2b 20 4b 45 59 20 28 62 6f 74 68 20 61 72 65 20 73 74 P.to.BODY-KEY.+.KEY.(both.are.st
dac0 72 69 6e 67 73 20 70 61 73 73 65 64 20 74 6f 20 60 6b 62 64 27 29 2c 20 61 6e 64 20 77 69 6c 6c rings.passed.to.`kbd'),.and.will
dae0 20 73 65 74 0a 74 68 65 20 74 72 61 6e 73 69 65 6e 74 20 6d 61 70 20 73 6f 20 74 68 61 74 20 61 .set.the.transient.map.so.that.a
db00 6c 6c 20 66 6f 6c 6c 6f 77 69 6e 67 20 68 65 61 64 73 20 63 61 6e 20 62 65 20 63 61 6c 6c 65 64 ll.following.heads.can.be.called
db20 0a 74 68 6f 75 67 68 20 4b 45 59 20 6f 6e 6c 79 2e 20 20 42 4f 44 59 2d 4b 45 59 20 63 61 6e 20 .though.KEY.only...BODY-KEY.can.
db40 62 65 20 61 6e 20 65 6d 70 74 79 20 73 74 72 69 6e 67 2e 0a 0a 43 4d 44 20 69 73 20 61 20 63 61 be.an.empty.string...CMD.is.a.ca
db60 6c 6c 61 62 6c 65 20 65 78 70 72 65 73 73 69 6f 6e 3a 20 65 69 74 68 65 72 20 61 6e 20 69 6e 74 llable.expression:.either.an.int
db80 65 72 61 63 74 69 76 65 20 66 75 6e 63 74 69 6f 6e 0a 6e 61 6d 65 2c 20 6f 72 20 61 6e 20 69 6e eractive.function.name,.or.an.in
dba0 74 65 72 61 63 74 69 76 65 20 6c 61 6d 62 64 61 2c 20 6f 72 20 61 20 73 69 6e 67 6c 65 20 73 65 teractive.lambda,.or.a.single.se
dbc0 78 70 20 28 69 74 20 77 69 6c 6c 20 62 65 0a 77 72 61 70 70 65 64 20 69 6e 20 61 6e 20 69 6e 74 xp.(it.will.be.wrapped.in.an.int
dbe0 65 72 61 63 74 69 76 65 20 6c 61 6d 62 64 61 29 2e 0a 0a 48 49 4e 54 20 69 73 20 61 20 73 68 6f eractive.lambda)...HINT.is.a.sho
dc00 72 74 20 73 74 72 69 6e 67 20 74 68 61 74 20 69 64 65 6e 74 69 66 69 65 73 20 69 74 73 20 68 65 rt.string.that.identifies.its.he
dc20 61 64 2e 20 20 49 74 20 77 69 6c 6c 20 62 65 0a 70 72 69 6e 74 65 64 20 62 65 73 69 64 65 20 4b ad...It.will.be.printed.beside.K
dc40 45 59 20 69 6e 20 74 68 65 20 65 63 68 6f 20 65 72 65 61 20 69 66 20 60 68 79 64 72 61 2d 69 73 EY.in.the.echo.erea.if.`hydra-is
dc60 2d 68 65 6c 70 66 75 6c 27 20 69 73 20 6e 6f 74 0a 6e 69 6c 2e 20 20 49 66 20 79 6f 75 20 64 6f -helpful'.is.not.nil...If.you.do
dc80 6e 27 74 20 65 76 65 6e 20 77 61 6e 74 20 74 68 65 20 4b 45 59 20 74 6f 20 62 65 20 70 72 69 6e n't.even.want.the.KEY.to.be.prin
dca0 74 65 64 2c 20 73 65 74 20 48 49 4e 54 0a 65 78 70 6c 69 63 69 74 6c 79 20 74 6f 20 6e 69 6c 2e ted,.set.HINT.explicitly.to.nil.
dcc0 0a 0a 54 68 65 20 68 65 61 64 73 20 69 6e 68 65 72 69 74 20 74 68 65 69 72 20 50 4c 49 53 54 20 ..The.heads.inherit.their.PLIST.
dce0 66 72 6f 6d 20 42 4f 44 59 2d 50 4c 49 53 54 20 61 6e 64 20 61 72 65 20 61 6c 6c 6f 77 65 64 20 from.BODY-PLIST.and.are.allowed.
dd00 74 6f 0a 6f 76 65 72 72 69 64 65 20 73 6f 6d 65 20 6b 65 79 73 2e 20 20 54 68 65 20 6b 65 79 73 to.override.some.keys...The.keys
dd20 20 72 65 63 6f 67 6e 69 7a 65 64 20 61 72 65 20 3a 65 78 69 74 2c 20 3a 62 69 6e 64 2c 20 61 6e .recognized.are.:exit,.:bind,.an
dd40 64 20 3a 63 6f 6c 75 6d 6e 2e 0a 3a 65 78 69 74 20 63 61 6e 20 62 65 3a 0a 0a 2d 20 6e 69 6c 20 d.:column..:exit.can.be:..-.nil.
dd60 28 64 65 66 61 75 6c 74 29 3a 20 74 68 69 73 20 68 65 61 64 20 77 69 6c 6c 20 63 6f 6e 74 69 6e (default):.this.head.will.contin
dd80 75 65 20 74 68 65 20 48 79 64 72 61 20 73 74 61 74 65 2e 0a 2d 20 74 3a 20 74 68 69 73 20 68 65 ue.the.Hydra.state..-.t:.this.he
dda0 61 64 20 77 69 6c 6c 20 73 74 6f 70 20 74 68 65 20 48 79 64 72 61 20 73 74 61 74 65 2e 0a 0a 3a ad.will.stop.the.Hydra.state...:
ddc0 62 69 6e 64 20 63 61 6e 20 62 65 3a 0a 2d 20 6e 69 6c 3a 20 74 68 69 73 20 68 65 61 64 20 77 69 bind.can.be:.-.nil:.this.head.wi
dde0 6c 6c 20 6e 6f 74 20 62 65 20 62 6f 75 6e 64 20 69 6e 20 42 4f 44 59 2d 4d 41 50 2e 0a 2d 20 61 ll.not.be.bound.in.BODY-MAP..-.a
de00 20 6c 61 6d 62 64 61 20 74 61 6b 69 6e 67 20 4b 45 59 20 61 6e 64 20 43 4d 44 20 75 73 65 64 20 .lambda.taking.KEY.and.CMD.used.
de20 74 6f 20 62 69 6e 64 20 61 20 68 65 61 64 2e 0a 0a 3a 63 6f 6c 75 6d 6e 20 69 73 20 61 20 73 74 to.bind.a.head...:column.is.a.st
de40 72 69 6e 67 20 74 68 61 74 20 73 65 74 73 20 74 68 65 20 63 6f 6c 75 6d 6e 20 66 6f 72 20 61 6c ring.that.sets.the.column.for.al
de60 6c 20 73 75 62 73 65 71 75 65 6e 74 20 68 65 61 64 73 2e 0a 0a 49 74 20 69 73 20 70 6f 73 73 69 l.subsequent.heads...It.is.possi
de80 62 6c 65 20 74 6f 20 6f 6d 69 74 20 62 6f 74 68 20 42 4f 44 59 2d 4d 41 50 20 61 6e 64 20 42 4f ble.to.omit.both.BODY-MAP.and.BO
dea0 44 59 2d 4b 45 59 20 69 66 20 79 6f 75 20 64 6f 6e 27 74 0a 77 61 6e 74 20 74 6f 20 62 69 6e 64 DY-KEY.if.you.don't.want.to.bind
dec0 20 61 6e 79 74 68 69 6e 67 2e 20 20 49 6e 20 74 68 61 74 20 63 61 73 65 2c 20 74 79 70 69 63 61 .anything...In.that.case,.typica
dee0 6c 6c 79 20 79 6f 75 20 77 69 6c 6c 20 62 69 6e 64 20 74 68 65 0a 67 65 6e 65 72 61 74 65 64 20 lly.you.will.bind.the.generated.
df00 4e 41 4d 45 2f 62 6f 64 79 20 63 6f 6d 6d 61 6e 64 2e 20 20 54 68 69 73 20 63 6f 6d 6d 61 6e 64 NAME/body.command...This.command
df20 20 69 73 20 61 6c 73 6f 20 74 68 65 20 72 65 74 75 72 6e 0a 72 65 73 75 6c 74 20 6f 66 20 60 64 .is.also.the.return.result.of.`d
df40 65 66 68 79 64 72 61 27 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 64 65 efhydra'."...(declare.(indent.de
df60 66 75 6e 29 20 28 64 6f 63 2d 73 74 72 69 6e 67 20 33 29 29 0a 20 20 28 73 65 74 71 20 68 65 61 fun).(doc-string.3))...(setq.hea
df80 64 73 20 28 63 6f 70 79 2d 74 72 65 65 20 68 65 61 64 73 29 29 0a 20 20 28 63 6f 6e 64 20 28 28 ds.(copy-tree.heads))...(cond.((
dfa0 73 74 72 69 6e 67 70 20 64 6f 63 73 74 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 28 28 61 6e stringp.docstring)).........((an
dfc0 64 20 28 63 6f 6e 73 70 20 64 6f 63 73 74 72 69 6e 67 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 d.(consp.docstring).............
dfe0 20 20 28 6d 65 6d 71 20 28 63 61 72 20 64 6f 63 73 74 72 69 6e 67 29 20 27 28 68 79 64 72 61 2d ..(memq.(car.docstring).'(hydra-
e000 2d 74 61 62 6c 65 20 63 6f 6e 63 61 74 20 66 6f 72 6d 61 74 29 29 29 0a 20 20 20 20 20 20 20 20 -table.concat.format))).........
e020 20 28 73 65 74 71 20 64 6f 63 73 74 72 69 6e 67 20 28 63 6f 6e 63 61 74 20 22 5c 6e 22 20 28 65 .(setq.docstring.(concat."\n".(e
e040 76 61 6c 20 64 6f 63 73 74 72 69 6e 67 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 74 0a 20 20 20 val.docstring)))).........(t....
e060 20 20 20 20 20 20 28 73 65 74 71 20 68 65 61 64 73 20 28 63 6f 6e 73 20 64 6f 63 73 74 72 69 6e ......(setq.heads.(cons.docstrin
e080 67 20 68 65 61 64 73 29 29 0a 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 64 6f 63 73 74 72 69 g.heads))..........(setq.docstri
e0a0 6e 67 20 22 22 29 29 29 0a 20 20 28 77 68 65 6e 20 28 6b 65 79 77 6f 72 64 70 20 28 63 61 72 20 ng."")))...(when.(keywordp.(car.
e0c0 62 6f 64 79 29 29 0a 20 20 20 20 28 73 65 74 71 20 62 6f 64 79 20 28 63 6f 6e 73 20 6e 69 6c 20 body)).....(setq.body.(cons.nil.
e0e0 28 63 6f 6e 73 20 6e 69 6c 20 62 6f 64 79 29 29 29 29 0a 20 20 28 73 65 74 71 20 62 6f 64 79 20 (cons.nil.body))))...(setq.body.
e100 28 68 79 64 72 61 2d 2d 6e 6f 72 6d 61 6c 69 7a 65 2d 62 6f 64 79 20 62 6f 64 79 29 29 0a 20 20 (hydra--normalize-body.body))...
e120 28 63 6f 6e 64 69 74 69 6f 6e 2d 63 61 73 65 2d 75 6e 6c 65 73 73 2d 64 65 62 75 67 20 65 72 72 (condition-case-unless-debug.err
e140 0a 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 6b 65 79 6d 61 70 2d 6e 61 6d 65 20 28 69 6e 74 65 .......(let*.((keymap-name.(inte
e160 72 6e 20 28 66 6f 72 6d 61 74 20 22 25 53 2f 6b 65 79 6d 61 70 22 20 6e 61 6d 65 29 29 29 0a 20 rn.(format."%S/keymap".name)))..
e180 20 20 20 20 20 20 20 20 20 20 20 20 28 62 6f 64 79 2d 6e 61 6d 65 20 28 69 6e 74 65 72 6e 20 28 ............(body-name.(intern.(
e1a0 66 6f 72 6d 61 74 20 22 25 53 2f 62 6f 64 79 22 20 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 20 format."%S/body".name)))........
e1c0 20 20 20 20 20 20 28 62 6f 64 79 2d 6b 65 79 20 28 63 61 64 72 20 62 6f 64 79 29 29 0a 20 20 20 ......(body-key.(cadr.body))....
e1e0 20 20 20 20 20 20 20 20 20 20 28 62 6f 64 79 2d 70 6c 69 73 74 20 28 63 64 64 72 20 62 6f 64 79 ..........(body-plist.(cddr.body
e200 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 61 73 65 2d 6d 61 70 20 28 6f 72 20 28 65 ))..............(base-map.(or.(e
e220 76 61 6c 20 28 70 6c 69 73 74 2d 67 65 74 20 62 6f 64 79 2d 70 6c 69 73 74 20 3a 62 61 73 65 2d val.(plist-get.body-plist.:base-
e240 6d 61 70 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 map))...........................
e260 20 68 79 64 72 61 2d 62 61 73 65 2d 6d 61 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 .hydra-base-map))..............(
e280 6b 65 79 6d 61 70 20 28 63 6f 70 79 2d 6b 65 79 6d 61 70 20 62 61 73 65 2d 6d 61 70 29 29 0a 20 keymap.(copy-keymap.base-map))..
e2a0 20 20 20 20 20 20 20 20 20 20 20 20 28 62 6f 64 79 2d 6d 61 70 20 28 6f 72 20 28 63 61 72 20 62 ............(body-map.(or.(car.b
e2c0 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 20 20 20 ody)............................
e2e0 28 70 6c 69 73 74 2d 67 65 74 20 62 6f 64 79 2d 70 6c 69 73 74 20 3a 62 69 6e 64 29 29 29 0a 20 (plist-get.body-plist.:bind)))..
e300 20 20 20 20 20 20 20 20 20 20 20 20 28 62 6f 64 79 2d 70 72 65 20 28 70 6c 69 73 74 2d 67 65 74 ............(body-pre.(plist-get
e320 20 62 6f 64 79 2d 70 6c 69 73 74 20 3a 70 72 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .body-plist.:pre))..............
e340 28 62 6f 64 79 2d 62 6f 64 79 2d 70 72 65 20 28 70 6c 69 73 74 2d 67 65 74 20 62 6f 64 79 2d 70 (body-body-pre.(plist-get.body-p
e360 6c 69 73 74 20 3a 62 6f 64 79 2d 70 72 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 62 list.:body-pre))..............(b
e380 6f 64 79 2d 62 65 66 6f 72 65 2d 65 78 69 74 20 28 6f 72 20 28 70 6c 69 73 74 2d 67 65 74 20 62 ody-before-exit.(or.(plist-get.b
e3a0 6f 64 79 2d 70 6c 69 73 74 20 3a 70 6f 73 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ody-plist.:post)................
e3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6c 69 73 74 2d 67 65 74 20 62 ....................(plist-get.b
e3e0 6f 64 79 2d 70 6c 69 73 74 20 3a 62 65 66 6f 72 65 2d 65 78 69 74 29 29 29 0a 20 20 20 20 20 20 ody-plist.:before-exit))).......
e400 20 20 20 20 20 20 20 28 62 6f 64 79 2d 61 66 74 65 72 2d 65 78 69 74 20 28 70 6c 69 73 74 2d 67 .......(body-after-exit.(plist-g
e420 65 74 20 62 6f 64 79 2d 70 6c 69 73 74 20 3a 61 66 74 65 72 2d 65 78 69 74 29 29 0a 20 20 20 20 et.body-plist.:after-exit)).....
e440 20 20 20 20 20 20 20 20 20 28 62 6f 64 79 2d 69 6e 68 65 72 69 74 20 28 70 6c 69 73 74 2d 67 65 .........(body-inherit.(plist-ge
e460 74 20 62 6f 64 79 2d 70 6c 69 73 74 20 3a 69 6e 68 65 72 69 74 29 29 0a 20 20 20 20 20 20 20 20 t.body-plist.:inherit)).........
e480 20 20 20 20 20 28 62 6f 64 79 2d 66 6f 72 65 69 67 6e 2d 6b 65 79 73 20 28 68 79 64 72 61 2d 2d .....(body-foreign-keys.(hydra--
e4a0 62 6f 64 79 2d 66 6f 72 65 69 67 6e 2d 6b 65 79 73 20 62 6f 64 79 29 29 0a 20 20 20 20 20 20 20 body-foreign-keys.body))........
e4c0 20 20 20 20 20 20 28 62 6f 64 79 2d 65 78 69 74 20 28 68 79 64 72 61 2d 2d 62 6f 64 79 2d 65 78 ......(body-exit.(hydra--body-ex
e4e0 69 74 20 62 6f 64 79 29 29 29 0a 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 74 20 28 62 61 73 65 it.body))).........(dolist.(base
e500 20 62 6f 64 79 2d 69 6e 68 65 72 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 68 .body-inherit)...........(setq.h
e520 65 61 64 73 20 28 61 70 70 65 6e 64 20 68 65 61 64 73 20 28 63 6f 70 79 2d 73 65 71 75 65 6e 63 eads.(append.heads.(copy-sequenc
e540 65 20 28 65 76 61 6c 20 62 61 73 65 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 28 64 6f 6c 69 73 e.(eval.base))))).........(dolis
e560 74 20 28 68 20 68 65 61 64 73 29 0a 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6c 65 6e t.(h.heads)...........(let.((len
e580 20 28 6c 65 6e 67 74 68 20 68 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6f 6e 64 20 .(length.h))).............(cond.
e5a0 28 28 3c 20 6c 65 6e 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 ((<.len.2)....................(e
e5c0 72 72 6f 72 20 22 45 61 63 68 20 68 65 61 64 20 73 68 6f 75 6c 64 20 68 61 76 65 20 61 74 20 6c rror."Each.head.should.have.at.l
e5e0 65 61 73 74 20 74 77 6f 20 69 74 65 6d 73 3a 20 25 53 22 20 68 29 29 0a 20 20 20 20 20 20 20 20 east.two.items:.%S".h)).........
e600 20 20 20 20 20 20 20 20 20 20 28 28 3d 20 6c 65 6e 20 32 29 0a 20 20 20 20 20 20 20 20 20 20 20 ..........((=.len.2)............
e620 20 20 20 20 20 20 20 20 28 73 65 74 63 64 72 20 28 63 64 72 20 68 29 0a 20 20 20 20 20 20 20 20 ........(setcdr.(cdr.h).........
e640 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 69 73 74 0a 20 20 20 20 20 20 20 ...................(list........
e660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 79 64 72 61 2d 70 6c 69 73 .....................(hydra-plis
e680 74 2d 67 65 74 2d 64 65 66 61 75 6c 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t-get-default...................
e6a0 20 20 20 20 20 20 20 20 20 20 20 62 6f 64 79 2d 70 6c 69 73 74 20 3a 68 69 6e 74 20 68 79 64 72 ...........body-plist.:hint.hydr
e6c0 61 2d 64 65 66 61 75 6c 74 2d 68 69 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 a-default-hint)))...............
e6e0 20 20 20 20 20 28 73 65 74 63 64 72 20 28 6e 74 68 63 64 72 20 32 20 68 29 20 28 6c 69 73 74 20 .....(setcdr.(nthcdr.2.h).(list.
e700 3a 65 78 69 74 20 62 6f 64 79 2d 65 78 69 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 :exit.body-exit)))..............
e720 20 20 20 20 20 28 74 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 .....(t....................(let.
e740 28 28 68 69 6e 74 20 28 63 6c 2d 63 61 64 64 72 20 68 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 ((hint.(cl-caddr.h)))...........
e760 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 6f 72 20 28 6e 75 6c 6c 20 68 69 6e ...........(unless.(or.(null.hin
e780 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 20 20 t)..............................
e7a0 20 20 20 20 28 73 74 72 69 6e 67 70 20 68 69 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ....(stringp.hint)..............
e7c0 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 70 20 68 69 6e 74 29 ....................(consp.hint)
e7e0 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 6c 65 74 20 28 28 )........................(let.((
e800 69 6e 68 65 72 69 74 65 64 2d 68 69 6e 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 inherited-hint..................
e820 20 20 20 20 20 20 20 20 20 20 20 20 20 28 68 79 64 72 61 2d 70 6c 69 73 74 2d 67 65 74 2d 64 65 .............(hydra-plist-get-de
e840 66 61 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 20 20 20 fault...........................
e860 20 20 20 20 20 62 6f 64 79 2d 70 6c 69 73 74 20 3a 68 69 6e 74 20 68 79 64 72 61 2d 64 65 66 61 .....body-plist.:hint.hydra-defa
e880 75 6c 74 2d 68 69 6e 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ult-hint))).....................
e8a0 20 20 20 20 20 28 73 65 74 63 64 72 20 28 63 64 72 20 68 29 20 28 63 6f 6e 73 0a 20 20 20 20 20 .....(setcdr.(cdr.h).(cons......
e8c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
e8e0 20 20 20 20 20 28 69 66 20 28 65 71 20 27 6e 6f 6e 65 20 69 6e 68 65 72 69 74 65 64 2d 68 69 6e .....(if.(eq.'none.inherited-hin
e900 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 20 20 t)..............................
e920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 .................nil............
e940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
e960 20 69 6e 68 65 72 69 74 65 64 2d 68 69 6e 74 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .inherited-hint)................
e980 20 20 20 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 64 64 72 ...........................(cddr
e9a0 20 68 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 28 6c 65 74 .h))))))....................(let
e9c0 20 28 28 68 69 6e 74 2d 61 6e 64 2d 70 6c 69 73 74 20 28 63 64 64 72 20 68 29 29 29 0a 20 20 20 .((hint-and-plist.(cddr.h)))....
e9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 6e 75 6c 6c 20 28 63 64 72 ..................(if.(null.(cdr
ea00 20 68 69 6e 74 2d 61 6e 64 2d 70 6c 69 73 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .hint-and-plist))...............
ea20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 63 64 72 20 68 69 6e 74 2d 61 6e 64 2d 70 6c 69 73 ...........(setcdr.hint-and-plis
ea40 74 20 28 6c 69 73 74 20 3a 65 78 69 74 20 62 6f 64 79 2d 65 78 69 74 29 29 0a 20 20 20 20 20 20 t.(list.:exit.body-exit)).......
ea60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 2a 20 28 28 70 6c 69 73 74 20 28 .................(let*.((plist.(
ea80 63 6c 2d 63 64 64 64 72 20 68 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 cl-cdddr.h))....................
eaa0 20 20 20 20 20 20 20 20 20 20 20 28 68 2d 63 6f 6c 6f 72 20 28 70 6c 69 73 74 2d 67 65 74 20 70 ...........(h-color.(plist-get.p
eac0 6c 69 73 74 20 3a 63 6f 6c 6f 72 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 list.:color)))..................
eae0 20 20 20 20 20 20 20 20 28 69 66 20 68 2d 63 6f 6c 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 ........(if.h-color.............
eb00 20 20 20 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 .................(progn.........
eb20 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 6c 69 73 74 2d 70 75 .......................(plist-pu
eb40 74 20 70 6c 69 73 74 20 3a 65 78 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t.plist.:exit...................
eb60 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 6c 2d 63 61 73 65 ........................(cl-case
eb80 20 68 2d 63 6f 6c 6f 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 .h-color........................
eba0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 28 62 6c 75 65 20 74 65 61 6c .....................((blue.teal
ebc0 29 20 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 ).t)............................
ebe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 74 20 6e 69 6c 29 29 29 0a 20 20 20 20 20 .................(t.nil)))......
ec00 20 20 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 6c 2d 72 65 ..........................(cl-re
ec20 6d 66 20 28 63 6c 2d 63 64 64 64 72 20 68 29 20 3a 63 6f 6c 6f 72 29 29 0a 20 20 20 20 20 20 20 mf.(cl-cdddr.h).:color))........
ec40 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 68 2d 65 78 69 ....................(let.((h-exi
ec60 74 20 28 68 79 64 72 61 2d 70 6c 69 73 74 2d 67 65 74 2d 64 65 66 61 75 6c 74 20 70 6c 69 73 74 t.(hydra-plist-get-default.plist
ec80 20 3a 65 78 69 74 20 27 64 65 66 61 75 6c 74 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .:exit.'default)))..............
eca0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 6c 69 73 74 2d 70 75 74 20 70 6c 69 73 74 ................(plist-put.plist
ecc0 20 3a 65 78 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .:exit..........................
ece0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 20 68 2d 65 78 69 74 20 27 64 ...............(if.(eq.h-exit.'d
ed00 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 20 efault).........................
ed20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 64 79 2d 65 78 69 74 0a 20 20 ....................body-exit...
ed40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
ed60 20 20 20 20 20 20 20 20 68 2d 65 78 69 74 29 29 29 29 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 ........h-exit))))))))))........
ed80 20 20 20 28 70 6c 69 73 74 2d 70 75 74 20 28 63 6c 2d 63 64 64 64 72 20 68 29 20 3a 63 6d 64 2d ...(plist-put.(cl-cdddr.h).:cmd-
eda0 6e 61 6d 65 20 28 68 79 64 72 61 2d 2d 68 65 61 64 2d 6e 61 6d 65 20 68 20 6e 61 6d 65 29 29 0a name.(hydra--head-name.h.name)).
edc0 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6e 75 6c 6c 20 28 63 61 64 72 20 68 29 29 20 ..........(when.(null.(cadr.h)).
ede0 28 70 6c 69 73 74 2d 70 75 74 20 28 63 6c 2d 63 64 64 64 72 20 68 29 20 3a 65 78 69 74 20 74 29 (plist-put.(cl-cdddr.h).:exit.t)
ee00 29 29 0a 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 64 6f 63 20 28 68 79 64 72 61 2d 2d 64 6f )).........(let.((doc.(hydra--do
ee20 63 20 62 6f 64 79 2d 6b 65 79 20 62 6f 64 79 2d 6e 61 6d 65 20 68 65 61 64 73 29 29 0a 20 20 20 c.body-key.body-name.heads))....
ee40 20 20 20 20 20 20 20 20 20 20 20 28 68 65 61 64 73 2d 6e 6f 64 75 70 20 28 68 79 64 72 61 2d 2d ...........(heads-nodup.(hydra--
ee60 64 65 6c 65 74 65 2d 64 75 70 6c 69 63 61 74 65 73 20 68 65 61 64 73 29 29 29 0a 20 20 20 20 20 delete-duplicates.heads)))......
ee80 20 20 20 20 20 28 6d 61 70 63 0a 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 78 .....(mapc............(lambda.(x
eea0 29 0a 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 6b 65 79 6d 61 )..............(define-key.keyma
eec0 70 20 28 6b 62 64 20 28 63 61 72 20 78 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 p.(kbd.(car.x))................(
eee0 70 6c 69 73 74 2d 67 65 74 20 28 63 6c 2d 63 64 64 64 72 20 78 29 20 3a 63 6d 64 2d 6e 61 6d 65 plist-get.(cl-cdddr.x).:cmd-name
ef00 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 68 65 61 64 73 29 0a 20 20 20 20 20 20 20 20 20 20 )))............heads)...........
ef20 28 68 79 64 72 61 2d 2d 6d 61 6b 65 2d 66 75 6e 63 61 6c 6c 20 62 6f 64 79 2d 70 72 65 29 0a 20 (hydra--make-funcall.body-pre)..
ef40 20 20 20 20 20 20 20 20 20 28 68 79 64 72 61 2d 2d 6d 61 6b 65 2d 66 75 6e 63 61 6c 6c 20 62 6f .........(hydra--make-funcall.bo
ef60 64 79 2d 62 6f 64 79 2d 70 72 65 29 0a 20 20 20 20 20 20 20 20 20 20 28 68 79 64 72 61 2d 2d 6d dy-body-pre)...........(hydra--m
ef80 61 6b 65 2d 66 75 6e 63 61 6c 6c 20 62 6f 64 79 2d 62 65 66 6f 72 65 2d 65 78 69 74 29 0a 20 20 ake-funcall.body-before-exit)...
efa0 20 20 20 20 20 20 20 20 28 68 79 64 72 61 2d 2d 6d 61 6b 65 2d 66 75 6e 63 61 6c 6c 20 62 6f 64 ........(hydra--make-funcall.bod
efc0 79 2d 61 66 74 65 72 2d 65 78 69 74 29 0a 20 20 20 20 20 20 20 20 20 20 28 77 68 65 6e 20 28 6d y-after-exit)...........(when.(m
efe0 65 6d 71 20 62 6f 64 79 2d 66 6f 72 65 69 67 6e 2d 6b 65 79 73 20 27 28 72 75 6e 20 77 61 72 6e emq.body-foreign-keys.'(run.warn
f000 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 28 75 6e 6c 65 73 73 20 28 63 6c 2d 73 6f 6d 65 0a )).............(unless.(cl-some.
f020 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 28 68 29 .....................(lambda.(h)
f040 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 68 79 64 72 61 2d 2d ........................(hydra--
f060 68 65 61 64 2d 70 72 6f 70 65 72 74 79 20 68 20 3a 65 78 69 74 29 29 0a 20 20 20 20 20 20 20 20 head-property.h.:exit)).........
f080 20 20 20 20 20 20 20 20 20 20 20 20 20 68 65 61 64 73 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .............heads).............
f0a0 20 20 28 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 22 41 6e 20 25 53 20 48 ..(error................"An.%S.H
f0c0 79 64 72 61 20 6d 75 73 74 20 68 61 76 65 20 61 74 20 6c 65 61 73 74 20 6f 6e 65 20 62 6c 75 65 ydra.must.have.at.least.one.blue
f0e0 20 68 65 61 64 20 69 6e 20 6f 72 64 65 72 20 74 6f 20 65 78 69 74 22 0a 20 20 20 20 20 20 20 20 .head.in.order.to.exit".........
f100 20 20 20 20 20 20 20 62 6f 64 79 2d 66 6f 72 65 69 67 6e 2d 6b 65 79 73 29 29 29 0a 20 20 20 20 .......body-foreign-keys))).....
f120 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 28 73 65 74 20 ......`(progn..............(set.
f140 28 64 65 66 76 61 72 20 2c 28 69 6e 74 65 72 6e 20 28 66 6f 72 6d 61 74 20 22 25 53 2f 70 61 72 (defvar.,(intern.(format."%S/par
f160 61 6d 73 22 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 ams".name)).....................
f180 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 28 66 6f 72 6d 61 74 nil.....................,(format
f1a0 20 22 50 61 72 61 6d 73 20 6f 66 20 25 53 2e 22 20 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 ."Params.of.%S.".name)).........
f1c0 20 20 20 20 20 20 20 20 20 20 27 2c 62 6f 64 79 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 ..........',body)..............(
f1e0 73 65 74 20 28 64 65 66 76 61 72 20 2c 28 69 6e 74 65 72 6e 20 28 66 6f 72 6d 61 74 20 22 25 53 set.(defvar.,(intern.(format."%S
f200 2f 64 6f 63 73 74 72 69 6e 67 22 20 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 /docstring".name))..............
f220 20 20 20 20 20 20 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 2c .......nil.....................,
f240 28 66 6f 72 6d 61 74 20 22 44 6f 63 73 74 72 69 6e 67 20 6f 66 20 25 53 2e 22 20 6e 61 6d 65 29 (format."Docstring.of.%S.".name)
f260 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 64 6f 63 73 74 72 69 6e 67 29 0a )...................,docstring).
f280 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 20 28 64 65 66 76 61 72 20 2c 28 69 6e 74 65 .............(set.(defvar.,(inte
f2a0 72 6e 20 28 66 6f 72 6d 61 74 20 22 25 53 2f 68 65 61 64 73 22 20 6e 61 6d 65 29 29 0a 20 20 20 rn.(format."%S/heads".name))....
f2c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 .................nil............
f2e0 20 20 20 20 20 20 20 20 20 2c 28 66 6f 72 6d 61 74 20 22 48 65 61 64 73 20 66 6f 72 20 25 53 2e .........,(format."Heads.for.%S.
f300 22 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 27 2c 28 6d 61 ".name))...................',(ma
f320 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pcar.(lambda.(h)................
f340 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 6a 20 28 63 6f 70 79 2d 73 65 ...............(let.((j.(copy-se
f360 71 75 65 6e 63 65 20 68 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 quence.h))).....................
f380 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 72 65 6d 66 20 28 63 6c 2d 63 64 64 64 72 20 6a ............(cl-remf.(cl-cdddr.j
f3a0 29 20 3a 63 6d 64 2d 6e 61 6d 65 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ).:cmd-name)....................
f3c0 20 20 20 20 20 20 20 20 20 20 20 20 20 6a 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .............j))................
f3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 68 65 61 64 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 .............heads))............
f400 20 20 3b 3b 20 63 72 65 61 74 65 20 6b 65 79 6d 61 70 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..;;.create.keymap..............
f420 28 73 65 74 20 28 64 65 66 76 61 72 20 2c 6b 65 79 6d 61 70 2d 6e 61 6d 65 0a 20 20 20 20 20 20 (set.(defvar.,keymap-name.......
f440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............nil...............
f460 20 20 20 20 20 20 2c 28 66 6f 72 6d 61 74 20 22 4b 65 79 6d 61 70 20 66 6f 72 20 25 53 2e 22 20 ......,(format."Keymap.for.%S.".
f480 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 27 2c 6b 65 79 6d 61 name))...................',keyma
f4a0 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 64 65 63 6c 61 72 65 20 68 65 61 64 73 p)..............;;.declare.heads
f4c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............(set..............
f4e0 20 28 64 65 66 76 61 72 20 2c 28 69 6e 74 65 72 6e 20 28 66 6f 72 6d 61 74 20 22 25 53 2f 68 69 .(defvar.,(intern.(format."%S/hi
f500 6e 74 22 20 6e 61 6d 65 29 29 20 6e 69 6c 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2c nt".name)).nil.................,
f520 28 66 6f 72 6d 61 74 20 22 44 79 6e 61 6d 69 63 20 68 69 6e 74 20 66 6f 72 20 25 53 2e 22 20 6e (format."Dynamic.hint.for.%S.".n
f540 61 6d 65 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 2c 28 68 79 64 72 61 2d 2d 66 6f ame))...............',(hydra--fo
f560 72 6d 61 74 20 6e 61 6d 65 20 62 6f 64 79 20 64 6f 63 73 74 72 69 6e 67 20 68 65 61 64 73 29 29 rmat.name.body.docstring.heads))
f580 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b 20 63 72 65 61 74 65 20 64 65 66 75 6e 73 0a 20 ..............;;.create.defuns..
f5a0 20 20 20 20 20 20 20 20 20 20 20 20 2c 40 28 6d 61 70 63 61 72 0a 20 20 20 20 20 20 20 20 20 20 ............,@(mapcar...........
f5c0 20 20 20 20 20 20 28 6c 61 6d 62 64 61 20 28 68 65 61 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 ......(lambda.(head)............
f5e0 20 20 20 20 20 20 20 28 68 79 64 72 61 2d 2d 6d 61 6b 65 2d 64 65 66 75 6e 20 6e 61 6d 65 20 62 .......(hydra--make-defun.name.b
f600 6f 64 79 20 64 6f 63 20 68 65 61 64 20 6b 65 79 6d 61 70 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 ody.doc.head.keymap-name........
f620 20 20 20 20 20 20 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 ..............................bo
f640 64 79 2d 70 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 dy-pre..........................
f660 20 20 20 20 20 20 20 20 20 20 20 20 62 6f 64 79 2d 62 65 66 6f 72 65 2d 65 78 69 74 0a 20 20 20 ............body-before-exit....
f680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
f6a0 20 20 62 6f 64 79 2d 61 66 74 65 72 2d 65 78 69 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ..body-after-exit)).............
f6c0 20 20 20 20 68 65 61 64 73 2d 6e 6f 64 75 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 3b 3b ....heads-nodup)..............;;
f6e0 20 66 72 65 65 20 75 70 20 6b 65 79 6d 61 70 20 70 72 65 66 69 78 0a 20 20 20 20 20 20 20 20 20 .free.up.keymap.prefix..........
f700 20 20 20 20 2c 40 28 75 6e 6c 65 73 73 20 28 6f 72 20 28 6e 75 6c 6c 20 62 6f 64 79 2d 6b 65 79 ....,@(unless.(or.(null.body-key
f720 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 6e 75 )............................(nu
f740 6c 6c 20 62 6f 64 79 2d 6d 61 70 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ll.body-map)....................
f760 20 20 20 20 20 20 20 20 28 68 79 64 72 61 2d 2d 63 61 6c 6c 61 62 6c 65 70 20 62 6f 64 79 2d 6d ........(hydra--callablep.body-m
f780 61 70 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 28 75 6e 6c 65 73 73 20 ap))..................`((unless.
f7a0 28 6b 65 79 6d 61 70 70 20 28 6c 6f 6f 6b 75 70 2d 6b 65 79 20 2c 62 6f 64 79 2d 6d 61 70 20 28 (keymapp.(lookup-key.,body-map.(
f7c0 6b 62 64 20 2c 62 6f 64 79 2d 6b 65 79 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 kbd.,body-key)))................
f7e0 20 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 2c 62 6f 64 79 2d 6d 61 70 20 28 6b 62 64 ......(define-key.,body-map.(kbd
f800 20 2c 62 6f 64 79 2d 6b 65 79 29 20 6e 69 6c 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 .,body-key).nil)))).............
f820 20 3b 3b 20 62 69 6e 64 20 6b 65 79 73 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 2c 40 28 64 65 .;;.bind.keys..............,@(de
f840 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 28 6d 61 70 lq.nil......................(map
f860 63 61 72 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6c 61 6d 62 64 car.......................(lambd
f880 61 20 28 68 65 61 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 a.(head)........................
f8a0 20 28 6c 65 74 20 28 28 6e 61 6d 65 20 28 68 79 64 72 61 2d 2d 68 65 61 64 2d 70 72 6f 70 65 72 .(let.((name.(hydra--head-proper
f8c0 74 79 20 68 65 61 64 20 3a 63 6d 64 2d 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 ty.head.:cmd-name)))............
f8e0 20 20 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 63 61 64 72 20 ...............(when.(and.(cadr.
f900 68 65 61 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 head)...........................
f920 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 20 62 6f 64 79 2d 6b 65 79 20 62 6f 64 79 2d 6d 61 70 ...........(or.body-key.body-map
f940 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 28 )).............................(
f960 6c 65 74 20 28 28 62 69 6e 64 20 28 68 79 64 72 61 2d 2d 68 65 61 64 2d 70 72 6f 70 65 72 74 79 let.((bind.(hydra--head-property
f980 20 68 65 61 64 20 3a 62 69 6e 64 20 62 6f 64 79 2d 6d 61 70 29 29 0a 20 20 20 20 20 20 20 20 20 .head.:bind.body-map))..........
f9a0 20 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 69 6e 61 6c 2d .........................(final-
f9c0 6b 65 79 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 key.............................
f9e0 20 20 20 20 20 20 20 28 69 66 20 62 6f 64 79 2d 6b 65 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 .......(if.body-key.............
fa00 20 20 20 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 76 63 6f 6e ...........................(vcon
fa20 63 61 74 20 28 6b 62 64 20 62 6f 64 79 2d 6b 65 79 29 20 28 6b 62 64 20 28 63 61 72 20 68 65 61 cat.(kbd.body-key).(kbd.(car.hea
fa40 64 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 d)))............................
fa60 20 20 20 20 20 20 20 20 20 20 28 6b 62 64 20 28 63 61 72 20 68 65 61 64 29 29 29 29 29 0a 20 20 ..........(kbd.(car.head)))))...
fa80 20 20 20 20 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 6f 6e ............................(con
faa0 64 20 28 28 6e 75 6c 6c 20 62 69 6e 64 29 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 d.((null.bind).nil).............
fac0 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 68 79 64 72 61 2d ........................((hydra-
fae0 2d 63 61 6c 6c 61 62 6c 65 70 20 62 69 6e 64 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -callablep.bind)................
fb00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 60 28 66 75 6e 63 61 6c 6c 20 ......................`(funcall.
fb20 2c 62 69 6e 64 20 2c 66 69 6e 61 6c 2d 6b 65 79 20 28 66 75 6e 63 74 69 6f 6e 20 2c 6e 61 6d 65 ,bind.,final-key.(function.,name
fb40 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 20 ))).............................
fb60 20 20 20 20 20 20 20 20 28 28 61 6e 64 20 28 73 79 6d 62 6f 6c 70 20 62 69 6e 64 29 0a 20 20 20 ........((and.(symbolp.bind)....
fb80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
fba0 20 20 20 20 20 20 20 28 69 66 20 28 62 6f 75 6e 64 70 20 62 69 6e 64 29 0a 20 20 20 20 20 20 20 .......(if.(boundp.bind)........
fbc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
fbe0 20 20 20 20 20 20 20 28 6b 65 79 6d 61 70 70 20 28 73 79 6d 62 6f 6c 2d 76 61 6c 75 65 20 62 69 .......(keymapp.(symbol-value.bi
fc00 6e 64 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 nd))............................
fc20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 .................t))............
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 20 60 28 64 65 66 69 ..........................`(defi
fc60 6e 65 2d 6b 65 79 20 2c 62 69 6e 64 20 2c 66 69 6e 61 6c 2d 6b 65 79 20 28 71 75 6f 74 65 20 2c ne-key.,bind.,final-key.(quote.,
fc80 6e 61 6d 65 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 name))).........................
fca0 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 20 20 ............(t..................
fcc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 49 6e 76 61 ....................(error."Inva
fce0 6c 69 64 20 3a 62 69 6e 64 20 70 72 6f 70 65 72 74 79 20 60 25 53 27 20 66 6f 72 20 68 65 61 64 lid.:bind.property.`%S'.for.head
fd00 20 25 53 22 20 62 69 6e 64 20 68 65 61 64 29 29 29 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 .%S".bind.head)))))))...........
fd20 20 20 20 20 20 20 20 20 20 20 20 20 68 65 61 64 73 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 ............heads)).............
fd40 20 2c 28 68 79 64 72 61 2d 2d 6d 61 6b 65 2d 64 65 66 75 6e 0a 20 20 20 20 20 20 20 20 20 20 20 .,(hydra--make-defun............
fd60 20 20 20 20 6e 61 6d 65 20 62 6f 64 79 20 64 6f 63 20 27 28 6e 69 6c 20 62 6f 64 79 29 0a 20 20 ....name.body.doc.'(nil.body)...
fd80 20 20 20 20 20 20 20 20 20 20 20 20 20 6b 65 79 6d 61 70 2d 6e 61 6d 65 0a 20 20 20 20 20 20 20 .............keymap-name........
fda0 20 20 20 20 20 20 20 20 28 6f 72 20 62 6f 64 79 2d 62 6f 64 79 2d 70 72 65 20 62 6f 64 79 2d 70 ........(or.body-body-pre.body-p
fdc0 72 65 29 20 62 6f 64 79 2d 62 65 66 6f 72 65 2d 65 78 69 74 0a 20 20 20 20 20 20 20 20 20 20 20 re).body-before-exit............
fde0 20 20 20 20 27 28 73 65 74 71 20 70 72 65 66 69 78 2d 61 72 67 20 63 75 72 72 65 6e 74 2d 70 72 ....'(setq.prefix-arg.current-pr
fe00 65 66 69 78 2d 61 72 67 29 29 29 29 29 0a 20 20 20 20 28 65 72 72 6f 72 0a 20 20 20 20 20 28 68 efix-arg))))).....(error......(h
fe20 79 64 72 61 2d 2d 63 6f 6d 70 6c 61 69 6e 20 22 45 72 72 6f 72 20 69 6e 20 64 65 66 68 79 64 72 ydra--complain."Error.in.defhydr
fe40 61 20 25 53 3a 20 25 73 22 20 6e 61 6d 65 20 28 63 64 72 20 65 72 72 29 29 0a 20 20 20 20 20 6e a.%S:.%s".name.(cdr.err))......n
fe60 69 6c 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 64 65 66 68 79 64 72 61 2b 20 28 6e 61 6d 65 il)))..(defmacro.defhydra+.(name
fe80 20 62 6f 64 79 20 26 6f 70 74 69 6f 6e 61 6c 20 64 6f 63 73 74 72 69 6e 67 20 26 72 65 73 74 20 .body.&optional.docstring.&rest.
fea0 68 65 61 64 73 29 0a 20 20 22 52 65 64 65 66 69 6e 65 20 61 6e 20 65 78 69 73 74 69 6e 67 20 68 heads)..."Redefine.an.existing.h
fec0 79 64 72 61 20 62 79 20 61 64 64 69 6e 67 20 6e 65 77 20 68 65 61 64 73 2e 0a 41 72 67 75 6d 65 ydra.by.adding.new.heads..Argume
fee0 6e 74 73 20 61 72 65 20 73 61 6d 65 20 61 73 20 6f 66 20 60 64 65 66 68 79 64 72 61 27 2e 22 0a nts.are.same.as.of.`defhydra'.".
ff00 20 20 28 64 65 63 6c 61 72 65 20 28 69 6e 64 65 6e 74 20 64 65 66 75 6e 29 20 28 64 6f 63 2d 73 ..(declare.(indent.defun).(doc-s
ff20 74 72 69 6e 67 20 33 29 29 0a 20 20 28 75 6e 6c 65 73 73 20 28 73 74 72 69 6e 67 70 20 64 6f 63 tring.3))...(unless.(stringp.doc
ff40 73 74 72 69 6e 67 29 0a 20 20 20 20 28 73 65 74 71 20 68 65 61 64 73 0a 20 20 20 20 20 20 20 20 string).....(setq.heads.........
ff60 20 20 28 63 6f 6e 73 20 64 6f 63 73 74 72 69 6e 67 20 68 65 61 64 73 29 29 0a 20 20 20 20 28 73 ..(cons.docstring.heads)).....(s
ff80 65 74 71 20 64 6f 63 73 74 72 69 6e 67 20 6e 69 6c 29 29 0a 20 20 60 28 64 65 66 68 79 64 72 61 etq.docstring.nil))...`(defhydra
ffa0 20 2c 6e 61 6d 65 20 2c 28 6f 72 20 62 6f 64 79 20 28 68 79 64 72 61 2d 2d 70 72 6f 70 20 6e 61 .,name.,(or.body.(hydra--prop.na
ffc0 6d 65 20 22 2f 70 61 72 61 6d 73 22 29 29 0a 20 20 20 20 20 2c 28 6f 72 20 64 6f 63 73 74 72 69 me."/params"))......,(or.docstri
ffe0 6e 67 20 28 68 79 64 72 61 2d 2d 70 72 6f 70 20 6e 61 6d 65 20 22 2f 64 6f 63 73 74 72 69 6e 67 ng.(hydra--prop.name."/docstring
10000 22 29 29 0a 20 20 20 20 20 2c 40 28 63 6c 2d 64 65 6c 65 74 65 2d 64 75 70 6c 69 63 61 74 65 73 "))......,@(cl-delete-duplicates
10020 0a 20 20 20 20 20 20 20 20 28 61 70 70 65 6e 64 20 28 68 79 64 72 61 2d 2d 70 72 6f 70 20 6e 61 .........(append.(hydra--prop.na
10040 6d 65 20 22 2f 68 65 61 64 73 22 29 20 68 65 61 64 73 29 0a 20 20 20 20 20 20 20 20 3a 6b 65 79 me."/heads").heads).........:key
10060 20 23 27 63 61 72 0a 20 20 20 20 20 20 20 20 3a 74 65 73 74 20 23 27 65 71 75 61 6c 29 29 29 0a .#'car.........:test.#'equal))).
10080 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 2d 70 72 6f 70 20 28 6e 61 6d 65 20 70 72 6f 70 2d 6e .(defun.hydra--prop.(name.prop-n
100a0 61 6d 65 29 0a 20 20 28 73 79 6d 62 6f 6c 2d 76 61 6c 75 65 20 28 69 6e 74 65 72 6e 20 28 63 6f ame)...(symbol-value.(intern.(co
100c0 6e 63 61 74 20 28 73 79 6d 62 6f 6c 2d 6e 61 6d 65 20 6e 61 6d 65 29 20 70 72 6f 70 2d 6e 61 6d ncat.(symbol-name.name).prop-nam
100e0 65 29 29 29 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 64 65 66 68 79 64 72 61 64 69 6f 20 28 6e 61 e))))..(defmacro.defhydradio.(na
10100 6d 65 20 5f 62 6f 64 79 20 26 72 65 73 74 20 68 65 61 64 73 29 0a 20 20 22 43 72 65 61 74 65 20 me._body.&rest.heads)..."Create.
10120 72 61 64 69 6f 73 20 77 69 74 68 20 70 72 65 66 69 78 20 4e 41 4d 45 2e 0a 5f 42 4f 44 59 20 73 radios.with.prefix.NAME.._BODY.s
10140 70 65 63 69 66 69 65 73 20 74 68 65 20 6f 70 74 69 6f 6e 73 3b 20 74 68 65 72 65 20 61 72 65 20 pecifies.the.options;.there.are.
10160 6e 6f 6e 65 20 63 75 72 72 65 6e 74 6c 79 2e 0a 48 45 41 44 53 20 68 61 76 65 20 74 68 65 20 66 none.currently..HEADS.have.the.f
10180 6f 72 6d 61 74 3a 0a 0a 20 20 20 20 28 54 4f 47 47 4c 45 2d 4e 41 4d 45 20 26 6f 70 74 69 6f 6e ormat:......(TOGGLE-NAME.&option
101a0 61 6c 20 56 41 4c 55 45 20 44 4f 43 29 0a 0a 54 4f 47 47 4c 45 2d 4e 41 4d 45 20 77 69 6c 6c 20 al.VALUE.DOC)..TOGGLE-NAME.will.
101c0 62 65 20 75 73 65 64 20 61 6c 6f 6e 67 20 77 69 74 68 20 4e 41 4d 45 20 74 6f 20 67 65 6e 65 72 be.used.along.with.NAME.to.gener
101e0 61 74 65 20 61 20 76 61 72 69 61 62 6c 65 0a 6e 61 6d 65 20 61 6e 64 20 61 20 66 75 6e 63 74 69 ate.a.variable.name.and.a.functi
10200 6f 6e 20 74 68 61 74 20 63 79 63 6c 65 73 20 69 74 20 77 69 74 68 20 74 68 65 20 73 61 6d 65 20 on.that.cycles.it.with.the.same.
10220 6e 61 6d 65 2e 20 20 56 41 4c 55 45 0a 73 68 6f 75 6c 64 20 62 65 20 61 6e 20 61 72 72 61 79 2e name...VALUE.should.be.an.array.
10240 20 20 54 68 65 20 66 69 72 73 74 20 65 6c 65 6d 65 6e 74 20 6f 66 20 56 41 4c 55 45 20 77 69 6c ..The.first.element.of.VALUE.wil
10260 6c 20 62 65 20 75 73 65 64 20 74 6f 0a 69 6e 69 61 6c 69 7a 65 20 74 68 65 20 76 61 72 69 61 62 l.be.used.to.inialize.the.variab
10280 6c 65 2e 0a 56 41 4c 55 45 20 64 65 66 61 75 6c 74 73 20 74 6f 20 5b 6e 69 6c 20 74 5d 2e 0a 44 le..VALUE.defaults.to.[nil.t]..D
102a0 4f 43 20 64 65 66 61 75 6c 74 73 20 74 6f 20 54 4f 47 47 4c 45 2d 4e 41 4d 45 20 73 70 6c 69 74 OC.defaults.to.TOGGLE-NAME.split
102c0 20 61 6e 64 20 63 61 70 69 74 61 6c 69 7a 65 64 2e 22 0a 20 20 28 64 65 63 6c 61 72 65 20 28 69 .and.capitalized."...(declare.(i
102e0 6e 64 65 6e 74 20 64 65 66 75 6e 29 29 0a 20 20 60 28 70 72 6f 67 6e 0a 20 20 20 20 20 2c 40 28 ndent.defun))...`(progn......,@(
10300 61 70 70 6c 79 20 23 27 61 70 70 65 6e 64 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6d 61 apply.#'append...............(ma
10320 70 63 61 72 20 28 6c 61 6d 62 64 61 20 28 68 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 pcar.(lambda.(h)................
10340 20 20 20 20 20 20 20 20 20 28 68 79 64 72 61 2d 2d 72 61 64 69 6f 20 6e 61 6d 65 20 68 29 29 0a .........(hydra--radio.name.h)).
10360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 68 65 61 64 73 29 29 0a 20 20 ......................heads))...
10380 20 20 20 28 64 65 66 76 61 72 20 2c 28 69 6e 74 65 72 6e 20 28 66 6f 72 6d 61 74 20 22 25 53 2f ...(defvar.,(intern.(format."%S/
103a0 6e 61 6d 65 73 22 20 6e 61 6d 65 29 29 0a 20 20 20 20 20 20 20 27 2c 28 6d 61 70 63 61 72 20 28 names".name))........',(mapcar.(
103c0 6c 61 6d 62 64 61 20 28 68 29 20 28 69 6e 74 65 72 6e 20 28 66 6f 72 6d 61 74 20 22 25 53 2f 25 lambda.(h).(intern.(format."%S/%
103e0 53 22 20 6e 61 6d 65 20 28 63 61 72 20 68 29 29 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 S".name.(car.h))))..............
10400 20 20 20 20 68 65 61 64 73 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 2d 72 61 64 ....heads))))..(defun.hydra--rad
10420 69 6f 20 28 70 61 72 65 6e 74 20 68 65 61 64 29 0a 20 20 22 47 65 6e 65 72 61 74 65 20 61 20 68 io.(parent.head)..."Generate.a.h
10440 79 64 72 61 64 69 6f 20 77 69 74 68 20 50 41 52 45 4e 54 20 66 72 6f 6d 20 48 45 41 44 2e 22 0a ydradio.with.PARENT.from.HEAD.".
10460 20 20 28 6c 65 74 2a 20 28 28 6e 61 6d 65 20 28 63 61 72 20 68 65 61 64 29 29 0a 20 20 20 20 20 ..(let*.((name.(car.head))......
10480 20 20 20 20 28 66 75 6c 6c 2d 6e 61 6d 65 20 28 69 6e 74 65 72 6e 20 28 66 6f 72 6d 61 74 20 22 ....(full-name.(intern.(format."
104a0 25 53 2f 25 53 22 20 70 61 72 65 6e 74 20 6e 61 6d 65 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 %S/%S".parent.name)))..........(
104c0 64 6f 63 20 28 63 61 64 72 20 68 65 61 64 29 29 0a 20 20 20 20 20 20 20 20 20 28 76 61 6c 20 28 doc.(cadr.head))..........(val.(
104e0 6f 72 20 28 63 6c 2d 63 61 64 64 72 20 68 65 61 64 29 20 5b 6e 69 6c 20 74 5d 29 29 29 0a 20 20 or.(cl-caddr.head).[nil.t])))...
10500 20 20 60 28 28 64 65 66 76 61 72 20 2c 66 75 6c 6c 2d 6e 61 6d 65 20 2c 28 68 79 64 72 61 2d 2d ..`((defvar.,full-name.,(hydra--
10520 71 75 6f 74 65 2d 6d 61 79 62 65 20 28 61 72 65 66 20 76 61 6c 20 30 29 29 20 2c 64 6f 63 29 0a quote-maybe.(aref.val.0)).,doc).
10540 20 20 20 20 20 20 28 70 75 74 20 27 2c 66 75 6c 6c 2d 6e 61 6d 65 20 27 72 61 6e 67 65 20 2c 76 ......(put.',full-name.'range.,v
10560 61 6c 29 0a 20 20 20 20 20 20 28 64 65 66 75 6e 20 2c 66 75 6c 6c 2d 6e 61 6d 65 20 28 29 0a 20 al).......(defun.,full-name.()..
10580 20 20 20 20 20 20 20 28 68 79 64 72 61 2d 2d 63 79 63 6c 65 2d 72 61 64 69 6f 20 27 2c 66 75 6c .......(hydra--cycle-radio.',ful
105a0 6c 2d 6e 61 6d 65 29 29 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 2d 71 75 6f 74 65 l-name)))))..(defun.hydra--quote
105c0 2d 6d 61 79 62 65 20 28 78 29 0a 20 20 22 51 75 6f 74 65 20 58 20 69 66 20 69 74 27 73 20 61 20 -maybe.(x)..."Quote.X.if.it's.a.
105e0 73 79 6d 62 6f 6c 2e 22 0a 20 20 28 63 6f 6e 64 20 28 28 6e 75 6c 6c 20 78 29 0a 20 20 20 20 20 symbol."...(cond.((null.x)......
10600 20 20 20 20 6e 69 6c 29 0a 20 20 20 20 20 20 20 20 28 28 73 79 6d 62 6f 6c 70 20 78 29 0a 20 20 ....nil).........((symbolp.x)...
10620 20 20 20 20 20 20 20 28 6c 69 73 74 20 27 71 75 6f 74 65 20 78 29 29 0a 20 20 20 20 20 20 20 20 .......(list.'quote.x)).........
10640 28 74 0a 20 20 20 20 20 20 20 20 20 78 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 2d (t..........x)))..(defun.hydra--
10660 63 79 63 6c 65 2d 72 61 64 69 6f 20 28 73 79 6d 29 0a 20 20 22 53 65 74 20 53 59 4d 20 74 6f 20 cycle-radio.(sym)..."Set.SYM.to.
10680 74 68 65 20 6e 65 78 74 20 76 61 6c 75 65 20 69 6e 20 69 74 73 20 72 61 6e 67 65 2e 22 0a 20 20 the.next.value.in.its.range."...
106a0 28 6c 65 74 2a 20 28 28 76 61 6c 20 28 73 79 6d 62 6f 6c 2d 76 61 6c 75 65 20 73 79 6d 29 29 0a (let*.((val.(symbol-value.sym)).
106c0 20 20 20 20 20 20 20 20 20 28 72 61 6e 67 65 20 28 67 65 74 20 73 79 6d 20 27 72 61 6e 67 65 29 .........(range.(get.sym.'range)
106e0 29 0a 20 20 20 20 20 20 20 20 20 28 69 20 30 29 0a 20 20 20 20 20 20 20 20 20 28 6c 20 28 6c 65 )..........(i.0)..........(l.(le
10700 6e 67 74 68 20 72 61 6e 67 65 29 29 29 0a 20 20 20 20 28 73 65 74 71 20 69 20 28 63 61 74 63 68 ngth.range))).....(setq.i.(catch
10720 20 27 64 6f 6e 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 77 68 69 6c 65 20 28 3c 20 69 .'done...............(while.(<.i
10740 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 69 66 20 28 65 71 75 61 6c 20 28 .l).................(if.(equal.(
10760 61 72 65 66 20 72 61 6e 67 65 20 69 29 20 76 61 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 aref.range.i).val)..............
10780 20 20 20 20 20 20 20 28 74 68 72 6f 77 20 27 64 6f 6e 65 20 28 31 2b 20 69 29 29 0a 20 20 20 20 .......(throw.'done.(1+.i)).....
107a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 63 6c 2d 69 6e 63 66 20 69 29 29 29 0a 20 20 20 20 ..............(cl-incf.i))).....
107c0 20 20 20 20 20 20 20 20 20 20 28 65 72 72 6f 72 20 22 56 61 6c 20 6e 6f 74 20 69 6e 20 72 61 6e ..........(error."Val.not.in.ran
107e0 67 65 20 66 6f 72 20 25 53 22 20 73 79 6d 29 29 29 0a 20 20 20 20 28 73 65 74 20 73 79 6d 0a 20 ge.for.%S".sym))).....(set.sym..
10800 20 20 20 20 20 20 20 20 28 61 72 65 66 20 72 61 6e 67 65 0a 20 20 20 20 20 20 20 20 20 20 20 20 ........(aref.range.............
10820 20 20 20 28 69 66 20 28 3e 3d 20 69 20 6c 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...(if.(>=.i.l).................
10840 20 20 20 30 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 29 29 29 29 29 0a 0a 28 72 ...0..................i)))))..(r
10860 65 71 75 69 72 65 20 27 72 69 6e 67 29 0a 0a 28 64 65 66 76 61 72 20 68 79 64 72 61 2d 70 61 75 equire.'ring)..(defvar.hydra-pau
10880 73 65 2d 72 69 6e 67 20 28 6d 61 6b 65 2d 72 69 6e 67 20 31 30 29 0a 20 20 22 52 69 6e 67 20 66 se-ring.(make-ring.10)..."Ring.f
108a0 6f 72 20 70 61 75 73 65 64 20 68 79 64 72 61 73 2e 22 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 or.paused.hydras.")..(defun.hydr
108c0 61 2d 70 61 75 73 65 2d 72 65 73 75 6d 65 20 28 29 0a 20 20 22 51 75 69 74 20 74 68 65 20 63 75 a-pause-resume.()..."Quit.the.cu
108e0 72 72 65 6e 74 20 68 79 64 72 61 20 61 6e 64 20 73 61 76 65 20 69 74 20 74 6f 20 74 68 65 20 73 rrent.hydra.and.save.it.to.the.s
10900 74 61 63 6b 2e 0a 49 66 20 74 68 65 72 65 27 73 20 6e 6f 20 61 63 74 69 76 65 20 68 79 64 72 61 tack..If.there's.no.active.hydra
10920 2c 20 70 6f 70 20 6f 6e 65 20 66 72 6f 6d 20 74 68 65 20 73 74 61 63 6b 20 61 6e 64 20 63 61 6c ,.pop.one.from.the.stack.and.cal
10940 6c 20 69 74 73 20 62 6f 64 79 2e 0a 49 66 20 74 68 65 20 73 74 61 63 6b 20 69 73 20 65 6d 70 74 l.its.body..If.the.stack.is.empt
10960 79 2c 20 63 61 6c 6c 20 74 68 65 20 6c 61 73 74 20 68 79 64 72 61 27 73 20 62 6f 64 79 2e 22 0a y,.call.the.last.hydra's.body.".
10980 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 29 0a 20 20 28 63 6f 6e 64 20 28 68 79 64 72 61 2d 63 ..(interactive)...(cond.(hydra-c
109a0 75 72 72 2d 6d 61 70 0a 20 20 20 20 20 20 20 20 20 28 72 69 6e 67 2d 69 6e 73 65 72 74 20 68 79 urr-map..........(ring-insert.hy
109c0 64 72 61 2d 70 61 75 73 65 2d 72 69 6e 67 20 68 79 64 72 61 2d 63 75 72 72 2d 62 6f 64 79 2d 66 dra-pause-ring.hydra-curr-body-f
109e0 6e 29 0a 20 20 20 20 20 20 20 20 20 28 68 79 64 72 61 2d 6b 65 79 62 6f 61 72 64 2d 71 75 69 74 n)..........(hydra-keyboard-quit
10a00 29 29 0a 20 20 20 20 20 20 20 20 28 28 7a 65 72 6f 70 20 28 72 69 6e 67 2d 6c 65 6e 67 74 68 20 )).........((zerop.(ring-length.
10a20 68 79 64 72 61 2d 70 61 75 73 65 2d 72 69 6e 67 29 29 0a 20 20 20 20 20 20 20 20 20 28 66 75 6e hydra-pause-ring))..........(fun
10a40 63 61 6c 6c 20 68 79 64 72 61 2d 63 75 72 72 2d 62 6f 64 79 2d 66 6e 29 29 0a 20 20 20 20 20 20 call.hydra-curr-body-fn)).......
10a60 20 20 28 74 0a 20 20 20 20 20 20 20 20 20 28 66 75 6e 63 61 6c 6c 20 28 72 69 6e 67 2d 72 65 6d ..(t..........(funcall.(ring-rem
10a80 6f 76 65 20 68 79 64 72 61 2d 70 61 75 73 65 2d 72 69 6e 67 20 30 29 29 29 29 29 0a 0a 3b 3b 20 ove.hydra-pause-ring.0)))))..;;.
10aa0 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c 65 73 3a 0a 3b 3b 20 6f 75 74 6c 69 6e 65 2d 72 65 67 65 Local.Variables:.;;.outline-rege
10ac0 78 70 3a 20 22 3b 3b 5c 5c 28 5b 3b 2a 5d 2b 20 5b 5e 5c 73 5c 74 5c 6e 5d 5c 5c 7c 23 23 23 61 xp:.";;\\([;*]+.[^\s\t\n]\\|###a
10ae0 75 74 6f 6c 6f 61 64 5c 5c 29 5c 5c 7c 28 22 0a 3b 3b 20 69 6e 64 65 6e 74 2d 74 61 62 73 2d 6d utoload\\)\\|(".;;.indent-tabs-m
10b00 6f 64 65 3a 20 6e 69 6c 0a 3b 3b 20 45 6e 64 3a 0a 0a 28 70 72 6f 76 69 64 65 20 27 68 79 64 72 ode:.nil.;;.End:..(provide.'hydr
10b20 61 29 0a 0a 3b 3b 3b 20 68 79 64 72 61 2e 65 6c 20 65 6e 64 73 20 68 65 72 65 0a 00 00 00 00 00 a)..;;;.hydra.el.ends.here......
10b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10c00 68 79 64 72 61 2d 30 2e 31 35 2e 30 2f 64 6f 63 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 hydra-0.15.0/doc/...............
10c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10c60 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
10c80 30 30 30 30 30 30 30 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 32 31 31 30 00 20 35 00 00 00 0000000.00000000000.012110..5...
10ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10d00 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...................
10d20 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...................
10d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10e00 68 79 64 72 61 2d 30 2e 31 35 2e 30 2f 64 6f 63 2f 43 68 61 6e 67 65 6c 6f 67 2e 6f 72 67 00 00 hydra-0.15.0/doc/Changelog.org..
10e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10e60 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
10e80 30 30 30 33 34 32 36 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 35 31 35 00 20 30 00 00 00 0003426.00000000000.014515..0...
10ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10f00 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...................
10f20 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...................
10f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11000 2a 20 30 2e 31 35 2e 30 0a 2a 2a 20 4e 65 77 20 46 65 61 74 75 72 65 73 0a 0a 2a 2a 2a 20 64 65 *.0.15.0.**.New.Features..***.de
11020 66 68 79 64 72 61 0a 0a 2a 2a 2a 2a 20 4e 65 77 20 3a 62 61 73 65 2d 6d 61 70 20 6f 70 74 69 6f fhydra..****.New.:base-map.optio
11040 6e 20 69 6e 20 62 6f 64 79 20 70 6c 69 73 74 0a 49 6e 20 63 61 73 65 20 79 6f 75 72 20 68 79 64 n.in.body.plist.In.case.your.hyd
11060 72 61 20 63 6f 6e 66 69 63 74 73 20 77 69 74 68 20 65 6c 3a 68 79 64 72 61 2d 62 61 73 65 2d 6d ra.conficts.with.el:hydra-base-m
11080 61 70 2c 20 79 6f 75 20 63 61 6e 20 6e 6f 77 20 6f 76 65 72 72 69 64 65 20 69 74 2e 0a 0a 45 78 ap,.you.can.now.override.it...Ex
110a0 61 6d 70 6c 65 3a 0a 23 2b 62 65 67 69 6e 5f 73 72 63 20 65 6c 69 73 70 0a 28 64 65 66 68 79 64 ample:.#+begin_src.elisp.(defhyd
110c0 72 61 20 68 79 64 72 61 2d 6e 75 6d 62 65 72 73 20 28 3a 62 61 73 65 2d 6d 61 70 20 28 6d 61 6b ra.hydra-numbers.(:base-map.(mak
110e0 65 2d 73 70 61 72 73 65 2d 6b 65 79 6d 61 70 29 29 0a 20 20 22 74 65 73 74 22 0a 20 20 28 22 30 e-sparse-keymap))..."test"...("0
11100 22 20 28 6d 65 73 73 61 67 65 20 22 7a 65 72 6f 22 29 29 0a 20 20 28 22 31 22 20 28 6d 65 73 73 ".(message."zero"))...("1".(mess
11120 61 67 65 20 22 6f 6e 65 22 29 29 29 0a 23 2b 65 6e 64 5f 73 72 63 0a 53 65 65 20 5b 5b 68 74 74 age."one"))).#+end_src.See.[[htt
11140 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 61 62 6f 2d 61 62 6f 2f 68 79 64 72 61 2f 69 73 ps://github.com/abo-abo/hydra/is
11160 73 75 65 73 2f 32 38 35 5d 5b 23 32 38 35 5d 5d 2e 0a 0a 2a 2a 2a 2a 20 4d 61 6b 65 20 6e 6f 20 sues/285][#285]]...****.Make.no.
11180 64 6f 63 73 74 72 69 6e 67 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 3a 68 69 6e 74 20 6e 69 docstring.equivalent.to.:hint.ni
111a0 6c 0a 45 78 61 6d 70 6c 65 3a 0a 23 2b 62 65 67 69 6e 5f 73 72 63 20 65 6c 69 73 70 0a 28 64 65 l.Example:.#+begin_src.elisp.(de
111c0 66 68 79 64 72 61 20 68 79 64 72 61 2d 63 6c 6f 63 6b 20 28 3a 63 6f 6c 6f 72 20 62 6c 75 65 29 fhydra.hydra-clock.(:color.blue)
111e0 0a 20 20 28 22 71 22 20 6e 69 6c 20 22 71 75 69 74 22 20 3a 63 6f 6c 75 6d 6e 20 22 43 6c 6f 63 ...("q".nil."quit".:column."Cloc
11200 6b 22 29 0a 20 20 28 22 63 22 20 6f 72 67 2d 63 6c 6f 63 6b 2d 63 61 6e 63 65 6c 20 22 63 61 6e k")...("c".org-clock-cancel."can
11220 63 65 6c 22 20 3a 63 6f 6c 6f 72 20 70 69 6e 6b 20 3a 63 6f 6c 75 6d 6e 20 22 44 6f 22 29 0a 20 cel".:color.pink.:column."Do")..
11240 20 28 22 64 22 20 6f 72 67 2d 63 6c 6f 63 6b 2d 64 69 73 70 6c 61 79 20 22 64 69 73 70 6c 61 79 .("d".org-clock-display."display
11260 22 29 0a 20 20 28 22 65 22 20 6f 72 67 2d 63 6c 6f 63 6b 2d 6d 6f 64 69 66 79 2d 65 66 66 6f 72 ")...("e".org-clock-modify-effor
11280 74 2d 65 73 74 69 6d 61 74 65 20 22 65 66 66 6f 72 74 22 29 0a 20 20 28 22 69 22 20 6f 72 67 2d t-estimate."effort")...("i".org-
112a0 63 6c 6f 63 6b 2d 69 6e 20 22 69 6e 22 29 0a 20 20 28 22 6a 22 20 6f 72 67 2d 63 6c 6f 63 6b 2d clock-in."in")...("j".org-clock-
112c0 67 6f 74 6f 20 22 6a 75 6d 70 22 29 0a 20 20 28 22 6f 22 20 6f 72 67 2d 63 6c 6f 63 6b 2d 6f 75 goto."jump")...("o".org-clock-ou
112e0 74 20 22 6f 75 74 22 29 0a 20 20 28 22 72 22 20 6f 72 67 2d 63 6c 6f 63 6b 2d 72 65 70 6f 72 74 t."out")...("r".org-clock-report
11300 20 22 72 65 70 6f 72 74 22 29 29 0a 23 2b 65 6e 64 5f 73 72 63 0a 53 65 65 20 5b 5b 68 74 74 70 ."report")).#+end_src.See.[[http
11320 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 61 62 6f 2d 61 62 6f 2f 68 79 64 72 61 2f 69 73 73 s://github.com/abo-abo/hydra/iss
11340 75 65 73 2f 32 39 31 5d 5b 23 32 39 31 5d 5d 2e 0a 0a 2a 2a 2a 2a 20 44 65 63 6c 61 72 65 20 2f ues/291][#291]]...****.Declare./
11360 70 61 72 61 6d 73 20 61 6e 64 20 2f 64 6f 63 73 74 72 69 6e 67 0a 53 65 65 20 5b 5b 68 74 74 70 params.and./docstring.See.[[http
11380 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 61 62 6f 2d 61 62 6f 2f 68 79 64 72 61 2f 69 73 73 s://github.com/abo-abo/hydra/iss
113a0 75 65 73 2f 31 38 35 5d 5b 23 31 38 35 5d 5d 2e 0a 0a 2a 2a 2a 2a 20 53 65 78 70 20 68 69 6e 74 ues/185][#185]]...****.Sexp.hint
113c0 73 20 61 72 65 20 6e 6f 77 20 73 75 70 70 6f 72 74 65 64 20 66 6f 72 20 3a 63 6f 6c 75 6d 6e 73 s.are.now.supported.for.:columns
113e0 0a 45 78 61 6d 70 6c 65 0a 23 2b 62 65 67 69 6e 5f 73 72 63 20 65 6c 69 73 70 0a 28 64 65 66 68 .Example.#+begin_src.elisp.(defh
11400 79 64 72 61 20 68 79 64 72 61 2d 74 65 73 74 20 28 29 0a 20 20 22 54 65 73 74 22 0a 20 20 28 22 ydra.hydra-test.()..."Test"...("
11420 6a 22 20 6e 65 78 74 2d 6c 69 6e 65 20 28 66 6f 72 6d 61 74 2d 74 69 6d 65 2d 73 74 72 69 6e 67 j".next-line.(format-time-string
11440 20 22 25 48 3a 25 4d 3a 25 53 22 20 28 63 75 72 72 65 6e 74 2d 74 69 6d 65 29 29 20 3a 63 6f 6c ."%H:%M:%S".(current-time)).:col
11460 75 6d 6e 20 22 4f 6e 65 22 29 0a 20 20 28 22 6b 22 20 70 72 65 76 69 6f 75 73 2d 6c 69 6e 65 20 umn."One")...("k".previous-line.
11480 28 66 6f 72 6d 61 74 2d 74 69 6d 65 2d 73 74 72 69 6e 67 20 22 25 48 3a 25 4d 3a 25 53 22 20 28 (format-time-string."%H:%M:%S".(
114a0 63 75 72 72 65 6e 74 2d 74 69 6d 65 29 29 29 0a 20 20 28 22 6c 22 20 62 61 63 6b 77 61 72 64 2d current-time)))...("l".backward-
114c0 63 68 61 72 20 22 62 61 63 6b 22 20 3a 63 6f 6c 75 6d 6e 20 22 54 77 6f 22 29 29 0a 23 2b 65 6e char."back".:column."Two")).#+en
114e0 64 5f 73 72 63 0a 53 65 65 20 5b 5b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 61 d_src.See.[[https://github.com/a
11500 62 6f 2d 61 62 6f 2f 68 79 64 72 61 2f 69 73 73 75 65 73 2f 33 31 31 5d 5b 23 33 31 31 5d 5d 2e bo-abo/hydra/issues/311][#311]].
11520 0a 0a 0a 2a 2a 2a 20 64 65 66 68 79 64 72 61 2b 0a 4e 65 77 20 6d 61 63 72 6f 2e 20 41 6c 6c 6f ...***.defhydra+.New.macro..Allo
11540 77 73 20 74 6f 20 61 64 64 20 68 65 61 64 73 20 74 6f 20 61 6e 20 65 78 69 73 74 69 6e 67 20 68 ws.to.add.heads.to.an.existing.h
11560 79 64 72 61 2e 0a 0a 45 78 61 6d 70 6c 65 3a 0a 23 2b 62 65 67 69 6e 5f 73 72 63 20 65 6c 69 73 ydra...Example:.#+begin_src.elis
11580 70 0a 28 64 65 66 68 79 64 72 61 20 68 79 64 72 61 2d 65 78 74 65 6e 64 61 62 6c 65 20 28 29 0a p.(defhydra.hydra-extendable.().
115a0 20 20 22 65 78 74 65 6e 64 61 62 6c 65 22 0a 20 20 28 22 6a 22 20 6e 65 78 74 2d 6c 69 6e 65 20 .."extendable"...("j".next-line.
115c0 22 64 6f 77 6e 22 29 29 0a 0a 28 64 65 66 68 79 64 72 61 2b 20 68 79 64 72 61 2d 65 78 74 65 6e "down"))..(defhydra+.hydra-exten
115e0 64 61 62 6c 65 20 28 29 0a 20 20 28 22 6b 22 20 70 72 65 76 69 6f 75 73 2d 6c 69 6e 65 20 22 75 dable.()...("k".previous-line."u
11600 70 22 29 29 0a 23 2b 65 6e 64 5f 73 72 63 0a 53 65 65 20 5b 5b 68 74 74 70 73 3a 2f 2f 67 69 74 p")).#+end_src.See.[[https://git
11620 68 75 62 2e 63 6f 6d 2f 61 62 6f 2d 61 62 6f 2f 68 79 64 72 61 2f 69 73 73 75 65 73 2f 31 38 35 hub.com/abo-abo/hydra/issues/185
11640 5d 5b 23 31 38 35 5d 5d 2e 0a 0a 2a 2a 2a 20 65 6c 3a 68 79 64 72 61 2d 68 69 6e 74 2d 64 69 73 ][#185]]...***.el:hydra-hint-dis
11660 70 6c 61 79 2d 74 79 70 65 0a 43 75 73 74 6f 6d 69 7a 65 20 77 68 61 74 20 74 6f 20 75 73 65 20 play-type.Customize.what.to.use.
11680 74 6f 20 64 69 73 70 6c 61 79 20 74 68 65 20 68 69 6e 74 3a 0a 2d 20 65 6c 3a 6d 65 73 73 61 67 to.display.the.hint:.-.el:messag
116a0 65 0a 2d 20 65 6c 3a 6c 76 2d 6d 65 73 73 61 67 65 0a 2d 20 70 6f 73 66 72 61 6d 65 0a 0a 65 6c e.-.el:lv-message.-.posframe..el
116c0 3a 68 79 64 72 61 2d 6c 76 20 69 73 20 6e 6f 77 20 6f 62 73 6f 6c 65 74 65 2e 0a 53 65 65 20 5b :hydra-lv.is.now.obsolete..See.[
116e0 5b 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 61 62 6f 2d 61 62 6f 2f 68 79 64 72 [https://github.com/abo-abo/hydr
11700 61 2f 69 73 73 75 65 73 2f 33 31 37 5d 5b 23 33 31 37 5d 5d 2e 0a 00 00 00 00 00 00 00 00 00 00 a/issues/317][#317]]............
11720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
117a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
117c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
117e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11800 68 79 64 72 61 2d 30 2e 31 35 2e 30 2f 68 79 64 72 61 2d 65 78 61 6d 70 6c 65 73 2e 65 6c 00 00 hydra-0.15.0/hydra-examples.el..
11820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11860 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
11880 30 30 33 32 35 34 32 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 34 36 31 36 00 20 30 00 00 00 0032542.00000000000.014616..0...
118a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
118c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
118e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11900 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...................
11920 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...................
11940 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11960 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
119a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
119c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
119e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11a00 3b 3b 3b 20 68 79 64 72 61 2d 65 78 61 6d 70 6c 65 73 2e 65 6c 20 2d 2d 2d 20 53 6f 6d 65 20 61 ;;;.hydra-examples.el.---.Some.a
11a20 70 70 6c 69 63 61 74 69 6f 6e 73 20 66 6f 72 20 48 79 64 72 61 0a 0a 3b 3b 20 43 6f 70 79 72 69 pplications.for.Hydra..;;.Copyri
11a40 67 68 74 20 28 43 29 20 32 30 31 35 20 20 46 72 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e ght.(C).2015..Free.Software.Foun
11a60 64 61 74 69 6f 6e 2c 20 49 6e 63 2e 0a 0a 3b 3b 20 41 75 74 68 6f 72 3a 20 4f 6c 65 68 20 4b 72 dation,.Inc...;;.Author:.Oleh.Kr
11a80 65 68 65 6c 0a 0a 3b 3b 20 54 68 69 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f 66 20 47 4e ehel..;;.This.file.is.part.of.GN
11aa0 55 20 45 6d 61 63 73 2e 0a 0a 3b 3b 20 47 4e 55 20 45 6d 61 63 73 20 69 73 20 66 72 65 65 20 73 U.Emacs...;;.GNU.Emacs.is.free.s
11ac0 6f 66 74 77 61 72 65 3a 20 79 6f 75 20 63 61 6e 20 72 65 64 69 73 74 72 69 62 75 74 65 20 69 74 oftware:.you.can.redistribute.it
11ae0 20 61 6e 64 2f 6f 72 20 6d 6f 64 69 66 79 0a 3b 3b 20 69 74 20 75 6e 64 65 72 20 74 68 65 20 74 .and/or.modify.;;.it.under.the.t
11b00 65 72 6d 73 20 6f 66 20 74 68 65 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c erms.of.the.GNU.General.Public.L
11b20 69 63 65 6e 73 65 20 61 73 20 70 75 62 6c 69 73 68 65 64 20 62 79 0a 3b 3b 20 74 68 65 20 46 72 icense.as.published.by.;;.the.Fr
11b40 65 65 20 53 6f 66 74 77 61 72 65 20 46 6f 75 6e 64 61 74 69 6f 6e 2c 20 65 69 74 68 65 72 20 76 ee.Software.Foundation,.either.v
11b60 65 72 73 69 6f 6e 20 33 20 6f 66 20 74 68 65 20 4c 69 63 65 6e 73 65 2c 20 6f 72 0a 3b 3b 20 28 ersion.3.of.the.License,.or.;;.(
11b80 61 74 20 79 6f 75 72 20 6f 70 74 69 6f 6e 29 20 61 6e 79 20 6c 61 74 65 72 20 76 65 72 73 69 6f at.your.option).any.later.versio
11ba0 6e 2e 0a 0a 3b 3b 20 47 4e 55 20 45 6d 61 63 73 20 69 73 20 64 69 73 74 72 69 62 75 74 65 64 20 n...;;.GNU.Emacs.is.distributed.
11bc0 69 6e 20 74 68 65 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69 6c 6c 20 62 65 20 75 73 65 66 in.the.hope.that.it.will.be.usef
11be0 75 6c 2c 0a 3b 3b 20 62 75 74 20 57 49 54 48 4f 55 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b ul,.;;.but.WITHOUT.ANY.WARRANTY;
11c00 20 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e .without.even.the.implied.warran
11c20 74 79 20 6f 66 0a 3b 3b 20 4d 45 52 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20 46 49 54 4e ty.of.;;.MERCHANTABILITY.or.FITN
11c40 45 53 53 20 46 4f 52 20 41 20 50 41 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45 2e 20 20 53 ESS.FOR.A.PARTICULAR.PURPOSE...S
11c60 65 65 20 74 68 65 0a 3b 3b 20 47 4e 55 20 47 65 6e 65 72 61 6c 20 50 75 62 6c 69 63 20 4c 69 63 ee.the.;;.GNU.General.Public.Lic
11c80 65 6e 73 65 20 66 6f 72 20 6d 6f 72 65 20 64 65 74 61 69 6c 73 2e 0a 0a 3b 3b 20 59 6f 75 20 73 ense.for.more.details...;;.You.s
11ca0 68 6f 75 6c 64 20 68 61 76 65 20 72 65 63 65 69 76 65 64 20 61 20 63 6f 70 79 20 6f 66 20 74 68 hould.have.received.a.copy.of.th
11cc0 65 20 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 0a 3b 3b 20 e.GNU.General.Public.License.;;.
11ce0 61 6c 6f 6e 67 20 77 69 74 68 20 47 4e 55 20 45 6d 61 63 73 2e 20 20 49 66 20 6e 6f 74 2c 20 73 along.with.GNU.Emacs...If.not,.s
11d00 65 65 20 3c 68 74 74 70 3a 2f 2f 77 77 77 2e 67 6e 75 2e 6f 72 67 2f 6c 69 63 65 6e 73 65 73 2f ee.<http://www.gnu.org/licenses/
11d20 3e 2e 0a 0a 3b 3b 3b 20 43 6f 6d 6d 65 6e 74 61 72 79 3a 0a 3b 3b 0a 3b 3b 20 54 68 65 73 65 20 >...;;;.Commentary:.;;.;;.These.
11d40 61 72 65 20 74 68 65 20 73 61 6d 70 6c 65 20 48 79 64 72 61 73 2e 0a 3b 3b 0a 3b 3b 20 49 66 20 are.the.sample.Hydras..;;.;;.If.
11d60 79 6f 75 20 77 61 6e 74 20 74 6f 20 75 73 65 20 74 68 65 6d 20 70 6c 61 69 6e 6c 79 2c 20 73 65 you.want.to.use.them.plainly,.se
11d80 74 20 60 68 79 64 72 61 2d 65 78 61 6d 70 6c 65 73 2d 76 65 72 62 61 74 69 6d 27 20 74 6f 20 74 t.`hydra-examples-verbatim'.to.t
11da0 0a 3b 3b 20 62 65 66 6f 72 65 20 72 65 71 75 69 72 69 6e 67 20 74 68 69 73 20 66 69 6c 65 2e 20 .;;.before.requiring.this.file..
11dc0 42 75 74 20 69 74 27 73 20 70 72 6f 62 61 62 6c 79 20 62 65 74 74 65 72 20 74 6f 20 6f 6e 6c 79 But.it's.probably.better.to.only
11de0 20 6c 6f 6f 6b 0a 3b 3b 20 61 74 20 74 68 65 6d 20 61 6e 64 20 75 73 65 20 74 68 65 6d 20 61 73 .look.;;.at.them.and.use.them.as
11e00 20 74 65 6d 70 6c 61 74 65 73 20 66 6f 72 20 62 75 69 6c 64 69 6e 67 20 79 6f 75 72 20 6f 77 6e .templates.for.building.your.own
11e20 2e 0a 0a 3b 3b 3b 20 43 6f 64 65 3a 0a 0a 28 72 65 71 75 69 72 65 20 27 68 79 64 72 61 29 0a 0a ...;;;.Code:..(require.'hydra)..
11e40 3b 3b 2a 20 45 78 61 6d 70 6c 65 73 0a 3b 3b 2a 2a 20 45 78 61 6d 70 6c 65 20 31 3a 20 74 65 78 ;;*.Examples.;;**.Example.1:.tex
11e60 74 20 73 63 61 6c 65 0a 28 77 68 65 6e 20 28 62 6f 75 6e 64 2d 61 6e 64 2d 74 72 75 65 2d 70 20 t.scale.(when.(bound-and-true-p.
11e80 68 79 64 72 61 2d 65 78 61 6d 70 6c 65 73 2d 76 65 72 62 61 74 69 6d 29 0a 20 20 28 64 65 66 68 hydra-examples-verbatim)...(defh
11ea0 79 64 72 61 20 68 79 64 72 61 2d 7a 6f 6f 6d 20 28 67 6c 6f 62 61 6c 2d 6d 61 70 20 22 3c 66 32 ydra.hydra-zoom.(global-map."<f2
11ec0 3e 22 29 0a 20 20 20 20 22 7a 6f 6f 6d 22 0a 20 20 20 20 28 22 67 22 20 74 65 78 74 2d 73 63 61 >")....."zoom".....("g".text-sca
11ee0 6c 65 2d 69 6e 63 72 65 61 73 65 20 22 69 6e 22 29 0a 20 20 20 20 28 22 6c 22 20 74 65 78 74 2d le-increase."in").....("l".text-
11f00 73 63 61 6c 65 2d 64 65 63 72 65 61 73 65 20 22 6f 75 74 22 29 29 29 0a 0a 3b 3b 20 54 68 69 73 scale-decrease."out")))..;;.This
11f20 20 65 78 61 6d 70 6c 65 20 67 65 6e 65 72 61 74 65 73 20 74 68 72 65 65 20 63 6f 6d 6d 61 6e 64 .example.generates.three.command
11f40 73 3a 0a 3b 3b 0a 3b 3b 20 20 20 20 20 60 68 79 64 72 61 2d 7a 6f 6f 6d 2f 74 65 78 74 2d 73 63 s:.;;.;;.....`hydra-zoom/text-sc
11f60 61 6c 65 2d 69 6e 63 72 65 61 73 65 27 0a 3b 3b 20 20 20 20 20 60 68 79 64 72 61 2d 7a 6f 6f 6d ale-increase'.;;.....`hydra-zoom
11f80 2f 74 65 78 74 2d 73 63 61 6c 65 2d 64 65 63 72 65 61 73 65 27 0a 3b 3b 20 20 20 20 20 60 68 79 /text-scale-decrease'.;;.....`hy
11fa0 64 72 61 2d 7a 6f 6f 6d 2f 62 6f 64 79 27 0a 3b 3b 0a 3b 3b 20 49 6e 20 61 64 64 69 74 69 6f 6e dra-zoom/body'.;;.;;.In.addition
11fc0 2c 20 74 77 6f 20 6f 66 20 74 68 65 6d 20 61 72 65 20 62 6f 75 6e 64 20 6c 69 6b 65 20 74 68 69 ,.two.of.them.are.bound.like.thi
11fe0 73 3a 0a 3b 3b 0a 3b 3b 20 20 20 20 20 28 67 6c 6f 62 61 6c 2d 73 65 74 2d 6b 65 79 20 28 6b 62 s:.;;.;;.....(global-set-key.(kb
12000 64 20 22 3c 66 32 3e 20 67 22 29 20 27 68 79 64 72 61 2d 7a 6f 6f 6d 2f 74 65 78 74 2d 73 63 61 d."<f2>.g").'hydra-zoom/text-sca
12020 6c 65 2d 69 6e 63 72 65 61 73 65 29 0a 3b 3b 20 20 20 20 20 28 67 6c 6f 62 61 6c 2d 73 65 74 2d le-increase).;;.....(global-set-
12040 6b 65 79 20 28 6b 62 64 20 22 3c 66 32 3e 20 6c 22 29 20 27 68 79 64 72 61 2d 7a 6f 6f 6d 2f 74 key.(kbd."<f2>.l").'hydra-zoom/t
12060 65 78 74 2d 73 63 61 6c 65 2d 64 65 63 72 65 61 73 65 29 0a 3b 3b 0a 3b 3b 20 4e 6f 74 65 20 74 ext-scale-decrease).;;.;;.Note.t
12080 68 61 74 20 79 6f 75 20 63 61 6e 20 73 75 62 73 74 69 74 75 74 65 20 60 67 6c 6f 62 61 6c 2d 6d hat.you.can.substitute.`global-m
120a0 61 70 27 20 77 69 74 68 20 65 2e 67 2e 20 60 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 2d 6d ap'.with.e.g..`emacs-lisp-mode-m
120c0 61 70 27 20 69 66 20 79 6f 75 20 6e 65 65 64 2e 0a 3b 3b 20 54 68 65 20 66 75 6e 63 74 69 6f 6e ap'.if.you.need..;;.The.function
120e0 73 20 67 65 6e 65 72 61 74 65 64 20 77 69 6c 6c 20 62 65 20 74 68 65 20 73 61 6d 65 2c 20 65 78 s.generated.will.be.the.same,.ex
12100 63 65 70 74 20 74 68 65 20 62 69 6e 64 69 6e 67 20 63 6f 64 65 20 77 69 6c 6c 20 63 68 61 6e 67 cept.the.binding.code.will.chang
12120 65 20 74 6f 3a 0a 3b 3b 0a 3b 3b 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 65 6d 61 63 e.to:.;;.;;.....(define-key.emac
12140 73 2d 6c 69 73 70 2d 6d 6f 64 65 2d 6d 61 70 20 5b 66 32 20 31 30 33 5d 0a 3b 3b 20 20 20 20 20 s-lisp-mode-map.[f2.103].;;.....
12160 20 20 28 66 75 6e 63 74 69 6f 6e 20 68 79 64 72 61 2d 7a 6f 6f 6d 2f 74 65 78 74 2d 73 63 61 6c ..(function.hydra-zoom/text-scal
12180 65 2d 69 6e 63 72 65 61 73 65 29 29 0a 3b 3b 20 20 20 20 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 e-increase)).;;.....(define-key.
121a0 65 6d 61 63 73 2d 6c 69 73 70 2d 6d 6f 64 65 2d 6d 61 70 20 5b 66 32 20 31 30 38 5d 0a 3b 3b 20 emacs-lisp-mode-map.[f2.108].;;.
121c0 20 20 20 20 20 20 28 66 75 6e 63 74 69 6f 6e 20 68 79 64 72 61 2d 7a 6f 6f 6d 2f 74 65 78 74 2d ......(function.hydra-zoom/text-
121e0 73 63 61 6c 65 2d 64 65 63 72 65 61 73 65 29 29 0a 0a 3b 3b 2a 2a 20 45 78 61 6d 70 6c 65 20 32 scale-decrease))..;;**.Example.2
12200 3a 20 6d 6f 76 65 20 77 69 6e 64 6f 77 20 73 70 6c 69 74 74 65 72 0a 28 77 68 65 6e 20 28 62 6f :.move.window.splitter.(when.(bo
12220 75 6e 64 2d 61 6e 64 2d 74 72 75 65 2d 70 20 68 79 64 72 61 2d 65 78 61 6d 70 6c 65 73 2d 76 65 und-and-true-p.hydra-examples-ve
12240 72 62 61 74 69 6d 29 0a 20 20 28 64 65 66 68 79 64 72 61 20 68 79 64 72 61 2d 73 70 6c 69 74 74 rbatim)...(defhydra.hydra-splitt
12260 65 72 20 28 67 6c 6f 62 61 6c 2d 6d 61 70 20 22 43 2d 4d 2d 73 22 29 0a 20 20 20 20 22 73 70 6c er.(global-map."C-M-s")....."spl
12280 69 74 74 65 72 22 0a 20 20 20 20 28 22 68 22 20 68 79 64 72 61 2d 6d 6f 76 65 2d 73 70 6c 69 74 itter".....("h".hydra-move-split
122a0 74 65 72 2d 6c 65 66 74 29 0a 20 20 20 20 28 22 6a 22 20 68 79 64 72 61 2d 6d 6f 76 65 2d 73 70 ter-left).....("j".hydra-move-sp
122c0 6c 69 74 74 65 72 2d 64 6f 77 6e 29 0a 20 20 20 20 28 22 6b 22 20 68 79 64 72 61 2d 6d 6f 76 65 litter-down).....("k".hydra-move
122e0 2d 73 70 6c 69 74 74 65 72 2d 75 70 29 0a 20 20 20 20 28 22 6c 22 20 68 79 64 72 61 2d 6d 6f 76 -splitter-up).....("l".hydra-mov
12300 65 2d 73 70 6c 69 74 74 65 72 2d 72 69 67 68 74 29 29 29 0a 0a 3b 3b 2a 2a 20 45 78 61 6d 70 6c e-splitter-right)))..;;**.Exampl
12320 65 20 33 3a 20 6a 75 6d 70 20 74 6f 20 65 72 72 6f 72 0a 28 77 68 65 6e 20 28 62 6f 75 6e 64 2d e.3:.jump.to.error.(when.(bound-
12340 61 6e 64 2d 74 72 75 65 2d 70 20 68 79 64 72 61 2d 65 78 61 6d 70 6c 65 73 2d 76 65 72 62 61 74 and-true-p.hydra-examples-verbat
12360 69 6d 29 0a 20 20 28 64 65 66 68 79 64 72 61 20 68 79 64 72 61 2d 65 72 72 6f 72 20 28 67 6c 6f im)...(defhydra.hydra-error.(glo
12380 62 61 6c 2d 6d 61 70 20 22 4d 2d 67 22 29 0a 20 20 20 20 22 67 6f 74 6f 2d 65 72 72 6f 72 22 0a bal-map."M-g")....."goto-error".
123a0 20 20 20 20 28 22 68 22 20 66 69 72 73 74 2d 65 72 72 6f 72 20 22 66 69 72 73 74 22 29 0a 20 20 ....("h".first-error."first")...
123c0 20 20 28 22 6a 22 20 6e 65 78 74 2d 65 72 72 6f 72 20 22 6e 65 78 74 22 29 0a 20 20 20 20 28 22 ..("j".next-error."next").....("
123e0 6b 22 20 70 72 65 76 69 6f 75 73 2d 65 72 72 6f 72 20 22 70 72 65 76 22 29 0a 20 20 20 20 28 22 k".previous-error."prev").....("
12400 76 22 20 72 65 63 65 6e 74 65 72 2d 74 6f 70 2d 62 6f 74 74 6f 6d 20 22 72 65 63 65 6e 74 65 72 v".recenter-top-bottom."recenter
12420 22 29 0a 20 20 20 20 28 22 71 22 20 6e 69 6c 20 22 71 75 69 74 22 29 29 29 0a 0a 3b 3b 20 54 68 ").....("q".nil."quit")))..;;.Th
12440 69 73 20 65 78 61 6d 70 6c 65 20 69 6e 74 72 6f 64 75 63 65 73 20 6f 6e 6c 79 20 6f 6e 65 20 6e is.example.introduces.only.one.n
12460 65 77 20 74 68 69 6e 67 3a 20 73 69 6e 63 65 20 74 68 65 20 63 6f 6d 6d 61 6e 64 0a 3b 3b 20 70 ew.thing:.since.the.command.;;.p
12480 61 73 73 65 64 20 74 6f 20 74 68 65 20 22 71 22 20 68 65 61 64 20 69 73 20 6e 69 6c 2c 20 69 74 assed.to.the."q".head.is.nil,.it
124a0 20 77 69 6c 6c 20 71 75 69 74 20 74 68 65 20 48 79 64 72 61 20 77 69 74 68 6f 75 74 20 64 6f 69 .will.quit.the.Hydra.without.doi
124c0 6e 67 0a 3b 3b 20 61 6e 79 74 68 69 6e 67 2e 20 48 65 61 64 73 20 74 68 61 74 20 71 75 69 74 20 ng.;;.anything..Heads.that.quit.
124e0 74 68 65 20 48 79 64 72 61 20 69 6e 73 74 65 61 64 20 6f 66 20 63 6f 6e 74 69 6e 75 69 6e 67 20 the.Hydra.instead.of.continuing.
12500 61 72 65 0a 3b 3b 20 72 65 66 65 72 72 65 64 20 74 6f 20 61 73 20 68 61 76 69 6e 67 20 62 6c 75 are.;;.referred.to.as.having.blu
12520 65 20 3a 63 6f 6c 6f 72 2e 20 41 6c 6c 20 74 68 65 20 6f 74 68 65 72 20 68 65 61 64 73 20 68 61 e.:color..All.the.other.heads.ha
12540 76 65 20 72 65 64 0a 3b 3b 20 3a 63 6f 6c 6f 72 2c 20 75 6e 6c 65 73 73 20 6f 74 68 65 72 20 69 ve.red.;;.:color,.unless.other.i
12560 73 20 73 70 65 63 69 66 69 65 64 2e 0a 0a 3b 3b 2a 2a 20 45 78 61 6d 70 6c 65 20 34 3a 20 74 6f s.specified...;;**.Example.4:.to
12580 67 67 6c 65 20 72 61 72 65 6c 79 20 75 73 65 64 20 6d 6f 64 65 73 0a 28 77 68 65 6e 20 28 62 6f ggle.rarely.used.modes.(when.(bo
125a0 75 6e 64 2d 61 6e 64 2d 74 72 75 65 2d 70 20 68 79 64 72 61 2d 65 78 61 6d 70 6c 65 73 2d 76 65 und-and-true-p.hydra-examples-ve
125c0 72 62 61 74 69 6d 29 0a 20 20 28 64 65 66 76 61 72 20 77 68 69 74 65 73 70 61 63 65 2d 6d 6f 64 rbatim)...(defvar.whitespace-mod
125e0 65 20 6e 69 6c 29 0a 20 20 28 67 6c 6f 62 61 6c 2d 73 65 74 2d 6b 65 79 0a 20 20 20 28 6b 62 64 e.nil)...(global-set-key....(kbd
12600 20 22 43 2d 63 20 43 2d 76 22 29 0a 20 20 20 28 64 65 66 68 79 64 72 61 20 68 79 64 72 61 2d 74 ."C-c.C-v")....(defhydra.hydra-t
12620 6f 67 67 6c 65 2d 73 69 6d 70 6c 65 20 28 3a 63 6f 6c 6f 72 20 62 6c 75 65 29 0a 20 20 20 20 20 oggle-simple.(:color.blue)......
12640 22 74 6f 67 67 6c 65 22 0a 20 20 20 20 20 28 22 61 22 20 61 62 62 72 65 76 2d 6d 6f 64 65 20 22 "toggle"......("a".abbrev-mode."
12660 61 62 62 72 65 76 22 29 0a 20 20 20 20 20 28 22 64 22 20 74 6f 67 67 6c 65 2d 64 65 62 75 67 2d abbrev")......("d".toggle-debug-
12680 6f 6e 2d 65 72 72 6f 72 20 22 64 65 62 75 67 22 29 0a 20 20 20 20 20 28 22 66 22 20 61 75 74 6f on-error."debug")......("f".auto
126a0 2d 66 69 6c 6c 2d 6d 6f 64 65 20 22 66 69 6c 6c 22 29 0a 20 20 20 20 20 28 22 74 22 20 74 6f 67 -fill-mode."fill")......("t".tog
126c0 67 6c 65 2d 74 72 75 6e 63 61 74 65 2d 6c 69 6e 65 73 20 22 74 72 75 6e 63 61 74 65 22 29 0a 20 gle-truncate-lines."truncate")..
126e0 20 20 20 20 28 22 77 22 20 77 68 69 74 65 73 70 61 63 65 2d 6d 6f 64 65 20 22 77 68 69 74 65 73 ....("w".whitespace-mode."whites
12700 70 61 63 65 22 29 0a 20 20 20 20 20 28 22 71 22 20 6e 69 6c 20 22 63 61 6e 63 65 6c 22 29 29 29 pace")......("q".nil."cancel")))
12720 29 0a 0a 3b 3b 20 4e 6f 74 65 20 74 68 61 74 20 69 6e 20 74 68 69 73 20 63 61 73 65 2c 20 60 64 )..;;.Note.that.in.this.case,.`d
12740 65 66 68 79 64 72 61 27 20 72 65 74 75 72 6e 73 20 74 68 65 20 60 68 79 64 72 61 2d 74 6f 67 67 efhydra'.returns.the.`hydra-togg
12760 6c 65 2d 73 69 6d 70 6c 65 2f 62 6f 64 79 27 0a 3b 3b 20 73 79 6d 62 6f 6c 2c 20 77 68 69 63 68 le-simple/body'.;;.symbol,.which
12780 20 69 73 20 74 68 65 6e 20 70 61 73 73 65 64 20 74 6f 20 60 67 6c 6f 62 61 6c 2d 73 65 74 2d 6b .is.then.passed.to.`global-set-k
127a0 65 79 27 2e 0a 3b 3b 0a 3b 3b 20 41 6e 6f 74 68 65 72 20 6e 65 77 20 74 68 69 6e 67 20 69 73 20 ey'..;;.;;.Another.new.thing.is.
127c0 74 68 61 74 20 62 6f 74 68 20 74 68 65 20 6b 65 79 6d 61 70 20 61 6e 64 20 74 68 65 20 62 6f 64 that.both.the.keymap.and.the.bod
127e0 79 20 70 72 65 66 69 78 20 61 72 65 0a 3b 3b 20 73 6b 69 70 70 65 64 2e 20 20 54 68 69 73 20 6d y.prefix.are.;;.skipped...This.m
12800 65 61 6e 73 20 74 68 61 74 20 60 64 65 66 68 79 64 72 61 27 20 77 69 6c 6c 20 62 69 6e 64 20 6e eans.that.`defhydra'.will.bind.n
12820 6f 74 68 69 6e 67 20 2d 20 74 68 61 74 27 73 20 77 68 79 0a 3b 3b 20 60 67 6c 6f 62 61 6c 2d 73 othing.-.that's.why.;;.`global-s
12840 65 74 2d 6b 65 79 27 20 69 73 20 6e 65 63 65 73 73 61 72 79 2e 0a 3b 3b 0a 3b 3b 20 4f 6e 65 20 et-key'.is.necessary..;;.;;.One.
12860 6d 6f 72 65 20 6e 65 77 20 74 68 69 6e 67 20 69 73 20 74 68 61 74 20 79 6f 75 20 63 61 6e 20 61 more.new.thing.is.that.you.can.a
12880 73 73 69 67 6e 20 61 20 3a 63 6f 6c 6f 72 20 74 6f 20 74 68 65 20 62 6f 64 79 2e 20 41 6c 6c 0a ssign.a.:color.to.the.body..All.
128a0 3b 3b 20 68 65 61 64 73 20 77 69 6c 6c 20 69 6e 68 65 72 69 74 20 74 68 69 73 20 63 6f 6c 6f 72 ;;.heads.will.inherit.this.color
128c0 2e 20 54 68 65 20 63 6f 64 65 20 61 62 6f 76 65 20 69 73 20 76 65 72 79 20 6d 75 63 68 20 65 71 ..The.code.above.is.very.much.eq
128e0 75 69 76 61 6c 65 6e 74 20 74 6f 3a 0a 3b 3b 0a 3b 3b 20 20 20 20 20 28 67 6c 6f 62 61 6c 2d 73 uivalent.to:.;;.;;.....(global-s
12900 65 74 2d 6b 65 79 20 28 6b 62 64 20 22 43 2d 63 20 43 2d 76 20 61 22 29 20 27 61 62 62 72 65 76 et-key.(kbd."C-c.C-v.a").'abbrev
12920 2d 6d 6f 64 65 29 0a 3b 3b 20 20 20 20 20 28 67 6c 6f 62 61 6c 2d 73 65 74 2d 6b 65 79 20 28 6b -mode).;;.....(global-set-key.(k
12940 62 64 20 22 43 2d 63 20 43 2d 76 20 64 22 29 20 27 74 6f 67 67 6c 65 2d 64 65 62 75 67 2d 6f 6e bd."C-c.C-v.d").'toggle-debug-on
12960 2d 65 72 72 6f 72 29 0a 3b 3b 0a 3b 3b 20 54 68 65 20 64 69 66 66 65 72 65 6e 63 65 73 20 61 72 -error).;;.;;.The.differences.ar
12980 65 3a 0a 3b 3b 0a 3b 3b 20 2a 20 59 6f 75 20 67 65 74 20 61 20 68 69 6e 74 20 69 6d 6d 65 64 69 e:.;;.;;.*.You.get.a.hint.immedi
129a0 61 74 65 6c 79 20 61 66 74 65 72 20 22 43 2d 63 20 43 2d 76 22 0a 3b 3b 20 2a 20 59 6f 75 20 63 ately.after."C-c.C-v".;;.*.You.c
129c0 61 6e 20 63 61 6e 63 65 6c 20 61 6e 64 20 63 61 6c 6c 20 61 20 63 6f 6d 6d 61 6e 64 20 69 6d 6d an.cancel.and.call.a.command.imm
129e0 65 64 69 61 74 65 6c 79 2c 20 65 2e 67 2e 20 22 43 2d 63 20 43 2d 76 20 43 2d 6e 22 0a 3b 3b 20 ediately,.e.g.."C-c.C-v.C-n".;;.
12a00 20 20 69 73 20 65 71 75 69 76 61 6c 65 6e 74 20 74 6f 20 22 43 2d 6e 22 20 77 69 74 68 20 48 79 ..is.equivalent.to."C-n".with.Hy
12a20 64 72 61 20 61 70 70 72 6f 61 63 68 2c 20 77 68 69 6c 65 20 69 74 20 77 69 6c 6c 20 65 72 72 6f dra.approach,.while.it.will.erro
12a40 72 0a 3b 3b 20 20 20 74 68 61 74 20 22 43 2d 63 20 43 2d 76 20 43 2d 6e 22 20 69 73 6e 27 74 20 r.;;...that."C-c.C-v.C-n".isn't.
12a60 62 6f 75 6e 64 20 77 69 74 68 20 74 68 65 20 75 73 75 61 6c 20 61 70 70 72 6f 61 63 68 2e 0a 0a bound.with.the.usual.approach...
12a80 3b 3b 2a 2a 20 45 78 61 6d 70 6c 65 20 35 3a 20 6d 69 6e 69 2d 76 69 0a 28 64 65 66 75 6e 20 68 ;;**.Example.5:.mini-vi.(defun.h
12aa0 79 64 72 61 2d 76 69 2f 70 72 65 20 28 29 0a 20 20 28 73 65 74 2d 63 75 72 73 6f 72 2d 63 6f 6c ydra-vi/pre.()...(set-cursor-col
12ac0 6f 72 20 22 23 65 35 32 62 35 30 22 29 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 76 69 2f or."#e52b50"))..(defun.hydra-vi/
12ae0 70 6f 73 74 20 28 29 0a 20 20 28 73 65 74 2d 63 75 72 73 6f 72 2d 63 6f 6c 6f 72 20 22 23 66 66 post.()...(set-cursor-color."#ff
12b00 66 66 66 66 22 29 29 0a 0a 28 77 68 65 6e 20 28 62 6f 75 6e 64 2d 61 6e 64 2d 74 72 75 65 2d 70 ffff"))..(when.(bound-and-true-p
12b20 20 68 79 64 72 61 2d 65 78 61 6d 70 6c 65 73 2d 76 65 72 62 61 74 69 6d 29 0a 20 20 28 67 6c 6f .hydra-examples-verbatim)...(glo
12b40 62 61 6c 2d 73 65 74 2d 6b 65 79 0a 20 20 20 28 6b 62 64 20 22 43 2d 7a 22 29 0a 20 20 20 28 64 bal-set-key....(kbd."C-z")....(d
12b60 65 66 68 79 64 72 61 20 68 79 64 72 61 2d 76 69 20 28 3a 70 72 65 20 68 79 64 72 61 2d 76 69 2f efhydra.hydra-vi.(:pre.hydra-vi/
12b80 70 72 65 20 3a 70 6f 73 74 20 68 79 64 72 61 2d 76 69 2f 70 6f 73 74 20 3a 63 6f 6c 6f 72 20 61 pre.:post.hydra-vi/post.:color.a
12ba0 6d 61 72 61 6e 74 68 29 0a 20 20 20 20 20 22 76 69 22 0a 20 20 20 20 20 28 22 6c 22 20 66 6f 72 maranth)......"vi"......("l".for
12bc0 77 61 72 64 2d 63 68 61 72 29 0a 20 20 20 20 20 28 22 68 22 20 62 61 63 6b 77 61 72 64 2d 63 68 ward-char)......("h".backward-ch
12be0 61 72 29 0a 20 20 20 20 20 28 22 6a 22 20 6e 65 78 74 2d 6c 69 6e 65 29 0a 20 20 20 20 20 28 22 ar)......("j".next-line)......("
12c00 6b 22 20 70 72 65 76 69 6f 75 73 2d 6c 69 6e 65 29 0a 20 20 20 20 20 28 22 6d 22 20 73 65 74 2d k".previous-line)......("m".set-
12c20 6d 61 72 6b 2d 63 6f 6d 6d 61 6e 64 20 22 6d 61 72 6b 22 29 0a 20 20 20 20 20 28 22 61 22 20 6d mark-command."mark")......("a".m
12c40 6f 76 65 2d 62 65 67 69 6e 6e 69 6e 67 2d 6f 66 2d 6c 69 6e 65 20 22 62 65 67 22 29 0a 20 20 20 ove-beginning-of-line."beg")....
12c60 20 20 28 22 65 22 20 6d 6f 76 65 2d 65 6e 64 2d 6f 66 2d 6c 69 6e 65 20 22 65 6e 64 22 29 0a 20 ..("e".move-end-of-line."end")..
12c80 20 20 20 20 28 22 64 22 20 64 65 6c 65 74 65 2d 72 65 67 69 6f 6e 20 22 64 65 6c 22 20 3a 63 6f ....("d".delete-region."del".:co
12ca0 6c 6f 72 20 62 6c 75 65 29 0a 20 20 20 20 20 28 22 79 22 20 6b 69 6c 6c 2d 72 69 6e 67 2d 73 61 lor.blue)......("y".kill-ring-sa
12cc0 76 65 20 22 79 61 6e 6b 22 20 3a 63 6f 6c 6f 72 20 62 6c 75 65 29 0a 20 20 20 20 20 28 22 71 22 ve."yank".:color.blue)......("q"
12ce0 20 6e 69 6c 20 22 71 75 69 74 22 29 29 29 0a 20 20 28 68 79 64 72 61 2d 73 65 74 2d 70 72 6f 70 .nil."quit")))...(hydra-set-prop
12d00 65 72 74 79 20 27 68 79 64 72 61 2d 76 69 20 3a 76 65 72 62 6f 73 69 74 79 20 31 29 29 0a 0a 3b erty.'hydra-vi.:verbosity.1))..;
12d20 3b 20 54 68 69 73 20 65 78 61 6d 70 6c 65 20 69 6e 74 72 6f 64 75 63 65 73 20 3a 63 6f 6c 6f 72 ;.This.example.introduces.:color
12d40 20 61 6d 61 72 61 6e 74 68 2e 20 49 74 27 73 20 73 69 6d 69 6c 61 72 20 74 6f 20 72 65 64 2c 0a .amaranth..It's.similar.to.red,.
12d60 3b 3b 20 65 78 63 65 70 74 20 77 68 69 6c 65 20 79 6f 75 20 63 61 6e 20 71 75 69 74 20 72 65 64 ;;.except.while.you.can.quit.red
12d80 20 77 69 74 68 20 61 6e 79 20 62 69 6e 64 69 6e 67 20 77 68 69 63 68 20 69 73 6e 27 74 20 61 20 .with.any.binding.which.isn't.a.
12da0 48 79 64 72 61 0a 3b 3b 20 68 65 61 64 2c 20 79 6f 75 20 63 61 6e 20 71 75 69 74 20 61 6d 61 72 Hydra.;;.head,.you.can.quit.amar
12dc0 61 6e 74 68 20 6f 6e 6c 79 20 77 69 74 68 20 61 20 62 6c 75 65 20 68 65 61 64 2e 20 53 6f 20 79 anth.only.with.a.blue.head..So.y
12de0 6f 75 20 63 61 6e 20 71 75 69 74 0a 3b 3b 20 74 68 69 73 20 6d 6f 64 65 20 6f 6e 6c 79 20 77 69 ou.can.quit.;;.this.mode.only.wi
12e00 74 68 20 22 64 22 2c 20 22 79 22 2c 20 22 71 22 20 6f 72 20 22 43 2d 67 22 2e 0a 3b 3b 0a 3b 3b th."d",."y",."q".or."C-g"..;;.;;
12e20 20 41 6e 6f 74 68 65 72 20 6e 6f 76 65 6c 74 79 20 61 72 65 20 74 68 65 20 3a 70 72 65 20 61 6e .Another.novelty.are.the.:pre.an
12e40 64 20 3a 70 6f 73 74 20 68 61 6e 64 6c 65 72 73 2e 20 3a 70 72 65 20 77 69 6c 6c 20 62 65 0a 3b d.:post.handlers..:pre.will.be.;
12e60 3b 20 63 61 6c 6c 65 64 20 62 65 66 6f 72 65 20 65 61 63 68 20 63 6f 6d 6d 61 6e 64 2c 20 77 68 ;.called.before.each.command,.wh
12e80 69 6c 65 20 3a 70 6f 73 74 20 77 69 6c 6c 20 62 65 20 63 61 6c 6c 65 64 20 77 68 65 6e 20 74 68 ile.:post.will.be.called.when.th
12ea0 65 0a 3b 3b 20 48 79 64 72 61 20 71 75 69 74 73 2e 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c 20 e.;;.Hydra.quits..In.this.case,.
12ec0 74 68 65 79 27 72 65 20 75 73 65 64 20 74 6f 20 6f 76 65 72 72 69 64 65 20 74 68 65 20 63 75 72 they're.used.to.override.the.cur
12ee0 73 6f 72 0a 3b 3b 20 63 6f 6c 6f 72 20 77 68 69 6c 65 20 48 79 64 72 61 20 69 73 20 61 63 74 69 sor.;;.color.while.Hydra.is.acti
12f00 76 65 2e 0a 0a 3b 3b 2a 2a 20 45 78 61 6d 70 6c 65 20 36 3a 20 73 65 6c 65 63 74 69 76 65 20 67 ve...;;**.Example.6:.selective.g
12f20 6c 6f 62 61 6c 20 62 69 6e 64 0a 28 77 68 65 6e 20 28 62 6f 75 6e 64 2d 61 6e 64 2d 74 72 75 65 lobal.bind.(when.(bound-and-true
12f40 2d 70 20 68 79 64 72 61 2d 65 78 61 6d 70 6c 65 73 2d 76 65 72 62 61 74 69 6d 29 0a 20 20 28 64 -p.hydra-examples-verbatim)...(d
12f60 65 66 68 79 64 72 61 20 68 79 64 72 61 2d 6e 65 78 74 2d 65 72 72 6f 72 20 28 67 6c 6f 62 61 6c efhydra.hydra-next-error.(global
12f80 2d 6d 61 70 20 22 43 2d 78 22 29 0a 20 20 20 20 22 6e 65 78 74 2d 65 72 72 6f 72 22 0a 20 20 20 -map."C-x")....."next-error"....
12fa0 20 28 22 60 22 20 6e 65 78 74 2d 65 72 72 6f 72 20 22 6e 65 78 74 22 29 0a 20 20 20 20 28 22 6a .("`".next-error."next").....("j
12fc0 22 20 6e 65 78 74 2d 65 72 72 6f 72 20 22 6e 65 78 74 22 20 3a 62 69 6e 64 20 6e 69 6c 29 0a 20 ".next-error."next".:bind.nil)..
12fe0 20 20 20 28 22 6b 22 20 70 72 65 76 69 6f 75 73 2d 65 72 72 6f 72 20 22 70 72 65 76 69 6f 75 73 ...("k".previous-error."previous
13000 22 20 3a 62 69 6e 64 20 6e 69 6c 29 29 29 0a 0a 3b 3b 20 54 68 69 73 20 65 78 61 6d 70 6c 65 20 ".:bind.nil)))..;;.This.example.
13020 77 69 6c 6c 20 62 69 6e 64 20 22 43 2d 78 20 60 22 20 69 6e 20 60 67 6c 6f 62 61 6c 2d 6d 61 70 will.bind."C-x.`".in.`global-map
13040 27 2c 20 62 75 74 20 69 74 20 77 69 6c 6c 20 6e 6f 74 0a 3b 3b 20 62 69 6e 64 20 22 43 2d 78 20 ',.but.it.will.not.;;.bind."C-x.
13060 6a 22 20 61 6e 64 20 22 43 2d 78 20 6b 22 2e 0a 3b 3b 20 59 6f 75 20 63 61 6e 20 73 74 69 6c 6c j".and."C-x.k"..;;.You.can.still
13080 20 22 43 2d 78 20 60 6a 6a 6b 22 20 74 68 6f 75 67 68 2e 0a 0a 3b 3b 2a 2a 20 45 78 61 6d 70 6c ."C-x.`jjk".though...;;**.Exampl
130a0 65 20 37 3a 20 74 6f 67 67 6c 65 20 77 69 74 68 20 52 75 62 79 2d 73 74 79 6c 65 20 64 6f 63 73 e.7:.toggle.with.Ruby-style.docs
130c0 74 72 69 6e 67 0a 28 64 65 66 76 61 72 20 77 68 69 74 65 73 70 61 63 65 2d 6d 6f 64 65 20 6e 69 tring.(defvar.whitespace-mode.ni
130e0 6c 29 0a 28 64 65 66 68 79 64 72 61 20 68 79 64 72 61 2d 74 6f 67 67 6c 65 20 28 3a 63 6f 6c 6f l).(defhydra.hydra-toggle.(:colo
13100 72 20 70 69 6e 6b 29 0a 20 20 22 0a 5f 61 5f 20 61 62 62 72 65 76 2d 6d 6f 64 65 3a 20 20 20 20 r.pink)..."._a_.abbrev-mode:....
13120 20 20 20 25 60 61 62 62 72 65 76 2d 6d 6f 64 65 0a 5f 64 5f 20 64 65 62 75 67 2d 6f 6e 2d 65 72 ...%`abbrev-mode._d_.debug-on-er
13140 72 6f 72 3a 20 20 20 20 25 60 64 65 62 75 67 2d 6f 6e 2d 65 72 72 6f 72 0a 5f 66 5f 20 61 75 74 ror:....%`debug-on-error._f_.aut
13160 6f 2d 66 69 6c 6c 2d 6d 6f 64 65 3a 20 20 20 20 25 60 61 75 74 6f 2d 66 69 6c 6c 2d 66 75 6e 63 o-fill-mode:....%`auto-fill-func
13180 74 69 6f 6e 0a 5f 74 5f 20 74 72 75 6e 63 61 74 65 2d 6c 69 6e 65 73 3a 20 20 20 20 25 60 74 72 tion._t_.truncate-lines:....%`tr
131a0 75 6e 63 61 74 65 2d 6c 69 6e 65 73 0a 5f 77 5f 20 77 68 69 74 65 73 70 61 63 65 2d 6d 6f 64 65 uncate-lines._w_.whitespace-mode
131c0 3a 20 20 20 25 60 77 68 69 74 65 73 70 61 63 65 2d 6d 6f 64 65 0a 0a 22 0a 20 20 28 22 61 22 20 :...%`whitespace-mode.."...("a".
131e0 61 62 62 72 65 76 2d 6d 6f 64 65 20 6e 69 6c 29 0a 20 20 28 22 64 22 20 74 6f 67 67 6c 65 2d 64 abbrev-mode.nil)...("d".toggle-d
13200 65 62 75 67 2d 6f 6e 2d 65 72 72 6f 72 20 6e 69 6c 29 0a 20 20 28 22 66 22 20 61 75 74 6f 2d 66 ebug-on-error.nil)...("f".auto-f
13220 69 6c 6c 2d 6d 6f 64 65 20 6e 69 6c 29 0a 20 20 28 22 74 22 20 74 6f 67 67 6c 65 2d 74 72 75 6e ill-mode.nil)...("t".toggle-trun
13240 63 61 74 65 2d 6c 69 6e 65 73 20 6e 69 6c 29 0a 20 20 28 22 77 22 20 77 68 69 74 65 73 70 61 63 cate-lines.nil)...("w".whitespac
13260 65 2d 6d 6f 64 65 20 6e 69 6c 29 0a 20 20 28 22 71 22 20 6e 69 6c 20 22 71 75 69 74 22 29 29 0a e-mode.nil)...("q".nil."quit")).
13280 3b 3b 20 52 65 63 6f 6d 6d 65 6e 64 65 64 20 62 69 6e 64 69 6e 67 3a 0a 3b 3b 20 28 67 6c 6f 62 ;;.Recommended.binding:.;;.(glob
132a0 61 6c 2d 73 65 74 2d 6b 65 79 20 28 6b 62 64 20 22 43 2d 63 20 43 2d 76 22 29 20 27 68 79 64 72 al-set-key.(kbd."C-c.C-v").'hydr
132c0 61 2d 74 6f 67 67 6c 65 2f 62 6f 64 79 29 0a 0a 3b 3b 20 48 65 72 65 2c 20 75 73 69 6e 67 20 65 a-toggle/body)..;;.Here,.using.e
132e0 2e 67 2e 20 22 5f 61 5f 22 20 74 72 61 6e 73 6c 61 74 65 73 20 74 6f 20 22 61 22 20 77 69 74 68 .g.."_a_".translates.to."a".with
13300 20 70 72 6f 70 65 72 20 66 61 63 65 2e 0a 3b 3b 20 4d 6f 72 65 20 69 6e 74 65 72 65 73 74 69 6e .proper.face..;;.More.interestin
13320 67 6c 79 3a 0a 3b 3b 0a 3b 3b 20 20 20 20 20 22 66 6f 6f 62 61 72 20 25 60 61 62 62 72 65 76 2d gly:.;;.;;....."foobar.%`abbrev-
13340 6d 6f 64 65 22 20 6d 65 61 6e 73 20 72 6f 75 67 68 6c 79 20 28 66 6f 72 6d 61 74 20 22 66 6f 6f mode".means.roughly.(format."foo
13360 62 61 72 20 25 53 22 20 61 62 62 72 65 76 2d 6d 6f 64 65 29 0a 3b 3b 0a 3b 3b 20 54 68 69 73 20 bar.%S".abbrev-mode).;;.;;.This.
13380 6d 65 61 6e 73 20 74 68 61 74 20 79 6f 75 20 61 63 74 75 61 6c 6c 79 20 73 65 65 20 74 68 65 20 means.that.you.actually.see.the.
133a0 73 74 61 74 65 20 6f 66 20 74 68 65 20 6d 6f 64 65 20 74 68 61 74 20 79 6f 75 27 72 65 20 63 68 state.of.the.mode.that.you're.ch
133c0 61 6e 67 69 6e 67 2e 0a 0a 3b 3b 2a 2a 20 45 78 61 6d 70 6c 65 20 38 3a 20 74 68 65 20 77 68 6f anging...;;**.Example.8:.the.who
133e0 6c 65 20 6d 65 6e 75 20 66 6f 72 20 60 42 75 66 66 65 72 2d 6d 65 6e 75 2d 6d 6f 64 65 27 0a 28 le.menu.for.`Buffer-menu-mode'.(
13400 64 65 66 68 79 64 72 61 20 68 79 64 72 61 2d 62 75 66 66 65 72 2d 6d 65 6e 75 20 28 3a 63 6f 6c defhydra.hydra-buffer-menu.(:col
13420 6f 72 20 70 69 6e 6b 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 or.pink.........................
13440 20 20 20 20 20 3a 68 69 6e 74 20 6e 69 6c 29 0a 20 20 22 0a 5e 4d 61 72 6b 5e 20 20 20 20 20 20 .....:hint.nil)...".^Mark^......
13460 20 20 20 20 20 20 20 5e 55 6e 6d 61 72 6b 5e 20 20 20 20 20 20 20 20 20 20 20 5e 41 63 74 69 6f .......^Unmark^...........^Actio
13480 6e 73 5e 20 20 20 20 20 20 20 20 20 20 5e 53 65 61 72 63 68 0a 5e 5e 5e 5e 5e 5e 5e 5e 2d 2d 2d ns^..........^Search.^^^^^^^^---
134a0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d --------------------------------
134c0 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 20 ------------------------------..
134e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 5f 5f 29 0a 5f 6d 5f 3a 20 ......................(__)._m_:.
13500 6d 61 72 6b 20 20 20 20 20 20 20 20 20 20 5f 75 5f 3a 20 75 6e 6d 61 72 6b 20 20 20 20 20 20 20 mark.........._u_:.unmark.......
13520 20 5f 78 5f 3a 20 65 78 65 63 75 74 65 20 20 20 20 20 20 20 5f 52 5f 3a 20 72 65 2d 69 73 65 61 ._x_:.execute......._R_:.re-isea
13540 72 63 68 20 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 6f 29 rch.........................(oo)
13560 0a 5f 73 5f 3a 20 73 61 76 65 20 20 20 20 20 20 20 20 20 20 5f 55 5f 3a 20 75 6e 6d 61 72 6b 20 ._s_:.save.........._U_:.unmark.
13580 75 70 20 20 20 20 20 5f 62 5f 3a 20 62 75 72 79 20 20 20 20 20 20 20 20 20 20 5f 49 5f 3a 20 69 up....._b_:.bury.........._I_:.i
135a0 73 65 61 72 63 68 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2d 2d 2d search....................../---
135c0 2d 2d 2d 5c 5c 2f 0a 5f 64 5f 3a 20 64 65 6c 65 74 65 20 20 20 20 20 20 20 20 5e 20 5e 20 20 20 ---\\/._d_:.delete........^.^...
135e0 20 20 20 20 20 20 20 20 20 20 20 20 20 5f 67 5f 3a 20 72 65 66 72 65 73 68 20 20 20 20 20 20 20 ............._g_:.refresh.......
13600 5f 4f 5f 3a 20 6d 75 6c 74 69 2d 6f 63 63 75 72 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 _O_:.multi-occur................
13620 20 2f 20 7c 20 20 20 20 7c 7c 0a 5f 44 5f 3a 20 64 65 6c 65 74 65 20 75 70 20 20 20 20 20 5e 20 ./.|....||._D_:.delete.up.....^.
13640 5e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5f 54 5f 3a 20 66 69 6c 65 73 20 6f 6e 6c 79 ^................_T_:.files.only
13660 3a 20 25 20 2d 32 38 60 42 75 66 66 65 72 2d 6d 65 6e 75 2d 66 69 6c 65 73 2d 6f 6e 6c 79 5e 5e :.%.-28`Buffer-menu-files-only^^
13680 20 20 20 20 2a 20 20 2f 5c 5c 2d 2d 2d 2f 5c 5c 0a 5f 7e 5f 3a 20 6d 6f 64 69 66 69 65 64 20 20 ....*../\\---/\\._~_:.modified..
136a0 20 20 20 20 5e 20 5e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 5e 20 5e 20 20 20 20 20 20 ....^.^................^.^......
136c0 20 20 20 20 20 20 20 20 20 20 5e 5e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..........^^....................
136e0 20 20 20 20 20 20 20 20 20 20 20 20 20 7e 7e 20 20 20 7e 7e 0a 22 0a 20 20 28 22 6d 22 20 42 75 .............~~...~~."...("m".Bu
13700 66 66 65 72 2d 6d 65 6e 75 2d 6d 61 72 6b 29 0a 20 20 28 22 75 22 20 42 75 66 66 65 72 2d 6d 65 ffer-menu-mark)...("u".Buffer-me
13720 6e 75 2d 75 6e 6d 61 72 6b 29 0a 20 20 28 22 55 22 20 42 75 66 66 65 72 2d 6d 65 6e 75 2d 62 61 nu-unmark)...("U".Buffer-menu-ba
13740 63 6b 75 70 2d 75 6e 6d 61 72 6b 29 0a 20 20 28 22 64 22 20 42 75 66 66 65 72 2d 6d 65 6e 75 2d ckup-unmark)...("d".Buffer-menu-
13760 64 65 6c 65 74 65 29 0a 20 20 28 22 44 22 20 42 75 66 66 65 72 2d 6d 65 6e 75 2d 64 65 6c 65 74 delete)...("D".Buffer-menu-delet
13780 65 2d 62 61 63 6b 77 61 72 64 73 29 0a 20 20 28 22 73 22 20 42 75 66 66 65 72 2d 6d 65 6e 75 2d e-backwards)...("s".Buffer-menu-
137a0 73 61 76 65 29 0a 20 20 28 22 7e 22 20 42 75 66 66 65 72 2d 6d 65 6e 75 2d 6e 6f 74 2d 6d 6f 64 save)...("~".Buffer-menu-not-mod
137c0 69 66 69 65 64 29 0a 20 20 28 22 78 22 20 42 75 66 66 65 72 2d 6d 65 6e 75 2d 65 78 65 63 75 74 ified)...("x".Buffer-menu-execut
137e0 65 29 0a 20 20 28 22 62 22 20 42 75 66 66 65 72 2d 6d 65 6e 75 2d 62 75 72 79 29 0a 20 20 28 22 e)...("b".Buffer-menu-bury)...("
13800 67 22 20 72 65 76 65 72 74 2d 62 75 66 66 65 72 29 0a 20 20 28 22 54 22 20 42 75 66 66 65 72 2d g".revert-buffer)...("T".Buffer-
13820 6d 65 6e 75 2d 74 6f 67 67 6c 65 2d 66 69 6c 65 73 2d 6f 6e 6c 79 29 0a 20 20 28 22 4f 22 20 42 menu-toggle-files-only)...("O".B
13840 75 66 66 65 72 2d 6d 65 6e 75 2d 6d 75 6c 74 69 2d 6f 63 63 75 72 20 3a 63 6f 6c 6f 72 20 62 6c uffer-menu-multi-occur.:color.bl
13860 75 65 29 0a 20 20 28 22 49 22 20 42 75 66 66 65 72 2d 6d 65 6e 75 2d 69 73 65 61 72 63 68 2d 62 ue)...("I".Buffer-menu-isearch-b
13880 75 66 66 65 72 73 20 3a 63 6f 6c 6f 72 20 62 6c 75 65 29 0a 20 20 28 22 52 22 20 42 75 66 66 65 uffers.:color.blue)...("R".Buffe
138a0 72 2d 6d 65 6e 75 2d 69 73 65 61 72 63 68 2d 62 75 66 66 65 72 73 2d 72 65 67 65 78 70 20 3a 63 r-menu-isearch-buffers-regexp.:c
138c0 6f 6c 6f 72 20 62 6c 75 65 29 0a 20 20 28 22 63 22 20 6e 69 6c 20 22 63 61 6e 63 65 6c 22 29 0a olor.blue)...("c".nil."cancel").
138e0 20 20 28 22 76 22 20 42 75 66 66 65 72 2d 6d 65 6e 75 2d 73 65 6c 65 63 74 20 22 73 65 6c 65 63 ..("v".Buffer-menu-select."selec
13900 74 22 20 3a 63 6f 6c 6f 72 20 62 6c 75 65 29 0a 20 20 28 22 6f 22 20 42 75 66 66 65 72 2d 6d 65 t".:color.blue)...("o".Buffer-me
13920 6e 75 2d 6f 74 68 65 72 2d 77 69 6e 64 6f 77 20 22 6f 74 68 65 72 2d 77 69 6e 64 6f 77 22 20 3a nu-other-window."other-window".:
13940 63 6f 6c 6f 72 20 62 6c 75 65 29 0a 20 20 28 22 71 22 20 71 75 69 74 2d 77 69 6e 64 6f 77 20 22 color.blue)...("q".quit-window."
13960 71 75 69 74 22 20 3a 63 6f 6c 6f 72 20 62 6c 75 65 29 29 0a 3b 3b 20 52 65 63 6f 6d 6d 65 6e 64 quit".:color.blue)).;;.Recommend
13980 65 64 20 62 69 6e 64 69 6e 67 3a 0a 3b 3b 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 42 75 66 66 65 ed.binding:.;;.(define-key.Buffe
139a0 72 2d 6d 65 6e 75 2d 6d 6f 64 65 2d 6d 61 70 20 22 2e 22 20 27 68 79 64 72 61 2d 62 75 66 66 65 r-menu-mode-map.".".'hydra-buffe
139c0 72 2d 6d 65 6e 75 2f 62 6f 64 79 29 0a 0a 3b 3b 2a 2a 20 45 78 61 6d 70 6c 65 20 39 3a 20 73 2d r-menu/body)..;;**.Example.9:.s-
139e0 65 78 70 72 65 73 73 69 6f 6e 73 20 69 6e 20 74 68 65 20 64 6f 63 73 74 72 69 6e 67 0a 3b 3b 20 expressions.in.the.docstring.;;.
13a00 59 6f 75 20 63 61 6e 20 69 6e 6c 69 6e 65 20 73 2d 65 78 70 72 65 73 73 73 69 6f 6e 73 20 69 6e You.can.inline.s-expresssions.in
13a20 74 6f 20 74 68 65 20 64 6f 63 73 74 72 69 6e 67 20 6c 69 6b 65 20 74 68 69 73 3a 0a 28 64 65 66 to.the.docstring.like.this:.(def
13a40 76 61 72 20 64 69 72 65 64 2d 6d 6f 64 65 2d 6d 61 70 29 0a 28 64 65 63 6c 61 72 65 2d 66 75 6e var.dired-mode-map).(declare-fun
13a60 63 74 69 6f 6e 20 64 69 72 65 64 2d 6d 61 72 6b 20 22 64 69 72 65 64 22 29 0a 28 77 68 65 6e 20 ction.dired-mark."dired").(when.
13a80 28 62 6f 75 6e 64 2d 61 6e 64 2d 74 72 75 65 2d 70 20 68 79 64 72 61 2d 65 78 61 6d 70 6c 65 73 (bound-and-true-p.hydra-examples
13aa0 2d 76 65 72 62 61 74 69 6d 29 0a 20 20 28 72 65 71 75 69 72 65 20 27 64 69 72 65 64 29 0a 20 20 -verbatim)...(require.'dired)...
13ac0 28 64 65 66 68 79 64 72 61 20 68 79 64 72 61 2d 6d 61 72 6b 65 64 2d 69 74 65 6d 73 20 28 64 69 (defhydra.hydra-marked-items.(di
13ae0 72 65 64 2d 6d 6f 64 65 2d 6d 61 70 20 22 22 29 0a 20 20 20 20 22 0a 4e 75 6d 62 65 72 20 6f 66 red-mode-map."").....".Number.of
13b00 20 6d 61 72 6b 65 64 20 69 74 65 6d 73 3a 20 25 28 6c 65 6e 67 74 68 20 28 64 69 72 65 64 2d 67 .marked.items:.%(length.(dired-g
13b20 65 74 2d 6d 61 72 6b 65 64 2d 66 69 6c 65 73 29 29 0a 22 0a 20 20 20 20 28 22 6d 22 20 64 69 72 et-marked-files)).".....("m".dir
13b40 65 64 2d 6d 61 72 6b 20 22 6d 61 72 6b 22 29 29 29 0a 0a 3b 3b 20 54 68 69 73 20 72 65 73 75 6c ed-mark."mark")))..;;.This.resul
13b60 74 73 20 69 6e 20 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 64 79 6e 61 6d 69 63 20 64 6f 63 73 ts.in.the.following.dynamic.docs
13b80 74 72 69 6e 67 3a 0a 3b 3b 0a 3b 3b 20 20 20 20 20 28 66 6f 72 6d 61 74 20 22 4e 75 6d 62 65 72 tring:.;;.;;.....(format."Number
13ba0 20 6f 66 20 6d 61 72 6b 65 64 20 69 74 65 6d 73 3a 20 25 53 5c 6e 22 0a 3b 3b 20 20 20 20 20 20 .of.marked.items:.%S\n".;;......
13bc0 20 20 20 20 20 20 20 28 6c 65 6e 67 74 68 20 28 64 69 72 65 64 2d 67 65 74 2d 6d 61 72 6b 65 64 .......(length.(dired-get-marked
13be0 2d 66 69 6c 65 73 29 29 29 0a 3b 3b 0a 3b 3b 20 59 6f 75 20 63 61 6e 20 75 73 65 20 60 66 6f 72 -files))).;;.;;.You.can.use.`for
13c00 6d 61 74 27 2d 73 74 79 6c 65 20 77 69 64 74 68 20 73 70 65 63 73 2c 20 65 2e 67 2e 20 25 20 31 mat'-style.width.specs,.e.g..%.1
13c20 30 28 6c 65 6e 67 74 68 20 6e 69 6c 29 2e 0a 0a 3b 3b 2a 2a 20 45 78 61 6d 70 6c 65 20 31 30 3a 0(length.nil)...;;**.Example.10:
13c40 20 61 70 72 6f 70 6f 73 20 66 61 6d 69 6c 79 0a 28 64 65 66 68 79 64 72 61 20 68 79 64 72 61 2d .apropos.family.(defhydra.hydra-
13c60 61 70 72 6f 70 6f 73 20 28 3a 63 6f 6c 6f 72 20 62 6c 75 65 0a 20 20 20 20 20 20 20 20 20 20 20 apropos.(:color.blue............
13c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 68 69 6e 74 20 6e 69 6c 29 0a 20 20 22 0a 5f 61 5f ..............:hint.nil)..."._a_
13ca0 70 72 6f 70 6f 73 20 20 20 20 20 20 20 20 5f 63 5f 6f 6d 6d 61 6e 64 0a 5f 64 5f 6f 63 75 6d 65 propos........_c_ommand._d_ocume
13cc0 6e 74 61 74 69 6f 6e 20 20 5f 6c 5f 69 62 72 61 72 79 0a 5f 76 5f 61 72 69 61 62 6c 65 20 20 20 ntation.._l_ibrary._v_ariable...
13ce0 20 20 20 20 5f 75 5f 73 65 72 2d 6f 70 74 69 6f 6e 0a 5e 20 5e 20 20 20 20 20 20 20 20 20 20 76 ...._u_ser-option.^.^..........v
13d00 61 6c 75 5f 65 5f 22 0a 20 20 28 22 61 22 20 61 70 72 6f 70 6f 73 29 0a 20 20 28 22 64 22 20 61 alu_e_"...("a".apropos)...("d".a
13d20 70 72 6f 70 6f 73 2d 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 29 0a 20 20 28 22 76 22 20 61 70 72 propos-documentation)...("v".apr
13d40 6f 70 6f 73 2d 76 61 72 69 61 62 6c 65 29 0a 20 20 28 22 63 22 20 61 70 72 6f 70 6f 73 2d 63 6f opos-variable)...("c".apropos-co
13d60 6d 6d 61 6e 64 29 0a 20 20 28 22 6c 22 20 61 70 72 6f 70 6f 73 2d 6c 69 62 72 61 72 79 29 0a 20 mmand)...("l".apropos-library)..
13d80 20 28 22 75 22 20 61 70 72 6f 70 6f 73 2d 75 73 65 72 2d 6f 70 74 69 6f 6e 29 0a 20 20 28 22 65 .("u".apropos-user-option)...("e
13da0 22 20 61 70 72 6f 70 6f 73 2d 76 61 6c 75 65 29 29 0a 3b 3b 20 52 65 63 6f 6d 6d 65 6e 64 65 64 ".apropos-value)).;;.Recommended
13dc0 20 62 69 6e 64 69 6e 67 3a 0a 3b 3b 20 28 67 6c 6f 62 61 6c 2d 73 65 74 2d 6b 65 79 20 28 6b 62 .binding:.;;.(global-set-key.(kb
13de0 64 20 22 43 2d 63 20 68 22 29 20 27 68 79 64 72 61 2d 61 70 72 6f 70 6f 73 2f 62 6f 64 79 29 0a d."C-c.h").'hydra-apropos/body).
13e00 0a 3b 3b 2a 2a 20 45 78 61 6d 70 6c 65 20 31 31 3a 20 72 65 63 74 61 6e 67 6c 65 2d 6d 61 72 6b .;;**.Example.11:.rectangle-mark
13e20 2d 6d 6f 64 65 0a 28 72 65 71 75 69 72 65 20 27 72 65 63 74 29 0a 28 64 65 66 68 79 64 72 61 20 -mode.(require.'rect).(defhydra.
13e40 68 79 64 72 61 2d 72 65 63 74 61 6e 67 6c 65 20 28 3a 62 6f 64 79 2d 70 72 65 20 28 72 65 63 74 hydra-rectangle.(:body-pre.(rect
13e60 61 6e 67 6c 65 2d 6d 61 72 6b 2d 6d 6f 64 65 20 31 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 angle-mark-mode.1)..............
13e80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 63 6f 6c 6f 72 20 70 69 6e 6b 0a 20 20 20 20 20 20 ..............:color.pink.......
13ea0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 70 6f 73 74 20 28 64 65 61 63 .....................:post.(deac
13ec0 74 69 76 61 74 65 2d 6d 61 72 6b 29 29 0a 20 20 22 0a 20 20 5e 5f 6b 5f 5e 20 20 20 20 20 5f 64 tivate-mark))..."...^_k_^....._d
13ee0 5f 65 6c 65 74 65 20 20 20 20 5f 73 5f 74 72 69 6e 67 0a 5f 68 5f 20 20 20 5f 6c 5f 20 20 20 5f _elete...._s_tring._h_..._l_..._
13f00 6f 5f 6b 20 20 20 20 20 20 20 20 5f 79 5f 61 6e 6b 0a 20 20 5e 5f 6a 5f 5e 20 20 20 20 20 5f 6e o_k........_y_ank...^_j_^....._n
13f20 5f 65 77 2d 63 6f 70 79 20 20 5f 72 5f 65 73 65 74 0a 5e 5e 5e 5e 20 20 20 20 20 20 20 20 5f 65 _ew-copy.._r_eset.^^^^........_e
13f40 5f 78 63 68 61 6e 67 65 20 20 5f 75 5f 6e 64 6f 0a 5e 5e 5e 5e 20 20 20 20 20 20 20 20 5e 20 5e _xchange.._u_ndo.^^^^........^.^
13f60 20 20 20 20 20 20 20 20 20 5f 78 5f 6b 69 6c 6c 0a 22 0a 20 20 28 22 68 22 20 72 65 63 74 61 6e ........._x_kill."...("h".rectan
13f80 67 6c 65 2d 62 61 63 6b 77 61 72 64 2d 63 68 61 72 20 6e 69 6c 29 0a 20 20 28 22 6c 22 20 72 65 gle-backward-char.nil)...("l".re
13fa0 63 74 61 6e 67 6c 65 2d 66 6f 72 77 61 72 64 2d 63 68 61 72 20 6e 69 6c 29 0a 20 20 28 22 6b 22 ctangle-forward-char.nil)...("k"
13fc0 20 72 65 63 74 61 6e 67 6c 65 2d 70 72 65 76 69 6f 75 73 2d 6c 69 6e 65 20 6e 69 6c 29 0a 20 20 .rectangle-previous-line.nil)...
13fe0 28 22 6a 22 20 72 65 63 74 61 6e 67 6c 65 2d 6e 65 78 74 2d 6c 69 6e 65 20 6e 69 6c 29 0a 20 20 ("j".rectangle-next-line.nil)...
14000 28 22 65 22 20 68 79 64 72 61 2d 65 78 2d 70 6f 69 6e 74 2d 6d 61 72 6b 20 6e 69 6c 29 0a 20 20 ("e".hydra-ex-point-mark.nil)...
14020 28 22 6e 22 20 63 6f 70 79 2d 72 65 63 74 61 6e 67 6c 65 2d 61 73 2d 6b 69 6c 6c 20 6e 69 6c 29 ("n".copy-rectangle-as-kill.nil)
14040 0a 20 20 28 22 64 22 20 64 65 6c 65 74 65 2d 72 65 63 74 61 6e 67 6c 65 20 6e 69 6c 29 0a 20 20 ...("d".delete-rectangle.nil)...
14060 28 22 72 22 20 28 69 66 20 28 72 65 67 69 6f 6e 2d 61 63 74 69 76 65 2d 70 29 0a 20 20 20 20 20 ("r".(if.(region-active-p)......
14080 20 20 20 20 20 20 28 64 65 61 63 74 69 76 61 74 65 2d 6d 61 72 6b 29 0a 20 20 20 20 20 20 20 20 ......(deactivate-mark).........
140a0 20 28 72 65 63 74 61 6e 67 6c 65 2d 6d 61 72 6b 2d 6d 6f 64 65 20 31 29 29 20 6e 69 6c 29 0a 20 .(rectangle-mark-mode.1)).nil)..
140c0 20 28 22 79 22 20 79 61 6e 6b 2d 72 65 63 74 61 6e 67 6c 65 20 6e 69 6c 29 0a 20 20 28 22 75 22 .("y".yank-rectangle.nil)...("u"
140e0 20 75 6e 64 6f 20 6e 69 6c 29 0a 20 20 28 22 73 22 20 73 74 72 69 6e 67 2d 72 65 63 74 61 6e 67 .undo.nil)...("s".string-rectang
14100 6c 65 20 6e 69 6c 29 0a 20 20 28 22 78 22 20 6b 69 6c 6c 2d 72 65 63 74 61 6e 67 6c 65 20 6e 69 le.nil)...("x".kill-rectangle.ni
14120 6c 29 0a 20 20 28 22 6f 22 20 6e 69 6c 20 6e 69 6c 29 29 0a 0a 3b 3b 20 52 65 63 6f 6d 6d 65 6e l)...("o".nil.nil))..;;.Recommen
14140 64 65 64 20 62 69 6e 64 69 6e 67 3a 0a 3b 3b 20 28 67 6c 6f 62 61 6c 2d 73 65 74 2d 6b 65 79 20 ded.binding:.;;.(global-set-key.
14160 28 6b 62 64 20 22 43 2d 78 20 53 50 43 22 29 20 27 68 79 64 72 61 2d 72 65 63 74 61 6e 67 6c 65 (kbd."C-x.SPC").'hydra-rectangle
14180 2f 62 6f 64 79 29 0a 0a 3b 3b 2a 2a 20 45 78 61 6d 70 6c 65 20 31 32 3a 20 6f 72 67 2d 61 67 65 /body)..;;**.Example.12:.org-age
141a0 6e 64 61 2d 76 69 65 77 0a 28 64 65 66 75 6e 20 6f 72 67 2d 61 67 65 6e 64 61 2d 63 74 73 20 28 nda-view.(defun.org-agenda-cts.(
141c0 29 0a 20 20 28 61 6e 64 20 28 65 71 20 6d 61 6a 6f 72 2d 6d 6f 64 65 20 27 6f 72 67 2d 61 67 65 )...(and.(eq.major-mode.'org-age
141e0 6e 64 61 2d 6d 6f 64 65 29 0a 20 20 20 20 20 20 20 28 6c 65 74 20 28 28 61 72 67 73 20 28 67 65 nda-mode)........(let.((args.(ge
14200 74 2d 74 65 78 74 2d 70 72 6f 70 65 72 74 79 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 t-text-property.................
14220 20 20 20 20 28 6d 69 6e 20 28 31 2d 20 28 70 6f 69 6e 74 2d 6d 61 78 29 29 20 28 70 6f 69 6e 74 ....(min.(1-.(point-max)).(point
14240 29 29 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 27 6f 72 67 2d 6c 61 73 74 )).....................'org-last
14260 2d 61 72 67 73 29 29 29 0a 20 20 20 20 20 20 20 20 20 28 6e 74 68 20 32 20 61 72 67 73 29 29 29 -args)))..........(nth.2.args)))
14280 29 0a 0a 28 64 65 66 68 79 64 72 61 20 68 79 64 72 61 2d 6f 72 67 2d 61 67 65 6e 64 61 2d 76 69 )..(defhydra.hydra-org-agenda-vi
142a0 65 77 20 28 3a 68 69 6e 74 20 6e 6f 6e 65 29 0a 20 20 22 0a 5f 64 5f 3a 20 3f 64 3f 20 64 61 79 ew.(:hint.none)..."._d_:.?d?.day
142c0 20 20 20 20 20 20 20 20 5f 67 5f 3a 20 74 69 6d 65 20 67 72 69 64 3d 3f 67 3f 20 20 5f 61 5f 3a ........_g_:.time.grid=?g?.._a_:
142e0 20 61 72 63 68 2d 74 72 65 65 73 0a 5f 77 5f 3a 20 3f 77 3f 20 77 65 65 6b 20 20 20 20 20 20 20 .arch-trees._w_:.?w?.week.......
14300 5f 5b 5f 3a 20 69 6e 61 63 74 69 76 65 20 20 20 20 20 20 20 5f 41 5f 3a 20 61 72 63 68 2d 66 69 _[_:.inactive......._A_:.arch-fi
14320 6c 65 73 0a 5f 74 5f 3a 20 3f 74 3f 20 66 6f 72 74 6e 69 67 68 74 20 20 5f 66 5f 3a 20 66 6f 6c les._t_:.?t?.fortnight.._f_:.fol
14340 6c 6f 77 3d 3f 66 3f 20 20 20 20 20 5f 72 5f 3a 20 63 6c 6f 63 6b 20 72 65 70 6f 72 74 3d 3f 72 low=?f?....._r_:.clock.report=?r
14360 3f 0a 5f 6d 5f 3a 20 3f 6d 3f 20 6d 6f 6e 74 68 20 20 20 20 20 20 5f 65 5f 3a 20 65 6e 74 72 79 ?._m_:.?m?.month......_e_:.entry
14380 20 74 65 78 74 3d 3f 65 3f 20 5f 44 5f 3a 20 69 6e 63 6c 75 64 65 20 64 69 61 72 79 3d 3f 44 3f .text=?e?._D_:.include.diary=?D?
143a0 0a 5f 79 5f 3a 20 3f 79 3f 20 79 65 61 72 20 20 20 20 20 20 20 5f 71 5f 3a 20 71 75 69 74 20 20 ._y_:.?y?.year......._q_:.quit..
143c0 20 20 20 20 20 20 20 20 20 5f 4c 5f 5f 6c 5f 5f 63 5f 3a 20 6c 6f 67 20 3d 20 3f 6c 3f 22 0a 20 ........._L__l__c_:.log.=.?l?"..
143e0 20 28 22 53 50 43 22 20 6f 72 67 2d 61 67 65 6e 64 61 2d 72 65 73 65 74 2d 76 69 65 77 29 0a 20 .("SPC".org-agenda-reset-view)..
14400 20 28 22 64 22 20 6f 72 67 2d 61 67 65 6e 64 61 2d 64 61 79 2d 76 69 65 77 20 28 69 66 20 28 65 .("d".org-agenda-day-view.(if.(e
14420 71 20 27 64 61 79 20 28 6f 72 67 2d 61 67 65 6e 64 61 2d 63 74 73 29 29 20 22 5b 78 5d 22 20 22 q.'day.(org-agenda-cts))."[x]"."
14440 5b 20 5d 22 29 29 0a 20 20 28 22 77 22 20 6f 72 67 2d 61 67 65 6e 64 61 2d 77 65 65 6b 2d 76 69 [.]"))...("w".org-agenda-week-vi
14460 65 77 20 28 69 66 20 28 65 71 20 27 77 65 65 6b 20 28 6f 72 67 2d 61 67 65 6e 64 61 2d 63 74 73 ew.(if.(eq.'week.(org-agenda-cts
14480 29 29 20 22 5b 78 5d 22 20 22 5b 20 5d 22 29 29 0a 20 20 28 22 74 22 20 6f 72 67 2d 61 67 65 6e ))."[x]"."[.]"))...("t".org-agen
144a0 64 61 2d 66 6f 72 74 6e 69 67 68 74 2d 76 69 65 77 20 28 69 66 20 28 65 71 20 27 66 6f 72 74 6e da-fortnight-view.(if.(eq.'fortn
144c0 69 67 68 74 20 28 6f 72 67 2d 61 67 65 6e 64 61 2d 63 74 73 29 29 20 22 5b 78 5d 22 20 22 5b 20 ight.(org-agenda-cts))."[x]"."[.
144e0 5d 22 29 29 0a 20 20 28 22 6d 22 20 6f 72 67 2d 61 67 65 6e 64 61 2d 6d 6f 6e 74 68 2d 76 69 65 ]"))...("m".org-agenda-month-vie
14500 77 20 28 69 66 20 28 65 71 20 27 6d 6f 6e 74 68 20 28 6f 72 67 2d 61 67 65 6e 64 61 2d 63 74 73 w.(if.(eq.'month.(org-agenda-cts
14520 29 29 20 22 5b 78 5d 22 20 22 5b 20 5d 22 29 29 0a 20 20 28 22 79 22 20 6f 72 67 2d 61 67 65 6e ))."[x]"."[.]"))...("y".org-agen
14540 64 61 2d 79 65 61 72 2d 76 69 65 77 20 28 69 66 20 28 65 71 20 27 79 65 61 72 20 28 6f 72 67 2d da-year-view.(if.(eq.'year.(org-
14560 61 67 65 6e 64 61 2d 63 74 73 29 29 20 22 5b 78 5d 22 20 22 5b 20 5d 22 29 29 0a 20 20 28 22 6c agenda-cts))."[x]"."[.]"))...("l
14580 22 20 6f 72 67 2d 61 67 65 6e 64 61 2d 6c 6f 67 2d 6d 6f 64 65 20 28 66 6f 72 6d 61 74 20 22 25 ".org-agenda-log-mode.(format."%
145a0 20 2d 33 53 22 20 6f 72 67 2d 61 67 65 6e 64 61 2d 73 68 6f 77 2d 6c 6f 67 29 29 0a 20 20 28 22 .-3S".org-agenda-show-log))...("
145c0 4c 22 20 28 6f 72 67 2d 61 67 65 6e 64 61 2d 6c 6f 67 2d 6d 6f 64 65 20 27 28 34 29 29 29 0a 20 L".(org-agenda-log-mode.'(4)))..
145e0 20 28 22 63 22 20 28 6f 72 67 2d 61 67 65 6e 64 61 2d 6c 6f 67 2d 6d 6f 64 65 20 27 63 6c 6f 63 .("c".(org-agenda-log-mode.'cloc
14600 6b 63 68 65 63 6b 29 29 0a 20 20 28 22 66 22 20 6f 72 67 2d 61 67 65 6e 64 61 2d 66 6f 6c 6c 6f kcheck))...("f".org-agenda-follo
14620 77 2d 6d 6f 64 65 20 28 66 6f 72 6d 61 74 20 22 25 20 2d 33 53 22 20 6f 72 67 2d 61 67 65 6e 64 w-mode.(format."%.-3S".org-agend
14640 61 2d 66 6f 6c 6c 6f 77 2d 6d 6f 64 65 29 29 0a 20 20 28 22 61 22 20 6f 72 67 2d 61 67 65 6e 64 a-follow-mode))...("a".org-agend
14660 61 2d 61 72 63 68 69 76 65 73 2d 6d 6f 64 65 29 0a 20 20 28 22 41 22 20 28 6f 72 67 2d 61 67 65 a-archives-mode)...("A".(org-age
14680 6e 64 61 2d 61 72 63 68 69 76 65 73 2d 6d 6f 64 65 20 27 66 69 6c 65 73 29 29 0a 20 20 28 22 72 nda-archives-mode.'files))...("r
146a0 22 20 6f 72 67 2d 61 67 65 6e 64 61 2d 63 6c 6f 63 6b 72 65 70 6f 72 74 2d 6d 6f 64 65 20 28 66 ".org-agenda-clockreport-mode.(f
146c0 6f 72 6d 61 74 20 22 25 20 2d 33 53 22 20 6f 72 67 2d 61 67 65 6e 64 61 2d 63 6c 6f 63 6b 72 65 ormat."%.-3S".org-agenda-clockre
146e0 70 6f 72 74 2d 6d 6f 64 65 29 29 0a 20 20 28 22 65 22 20 6f 72 67 2d 61 67 65 6e 64 61 2d 65 6e port-mode))...("e".org-agenda-en
14700 74 72 79 2d 74 65 78 74 2d 6d 6f 64 65 20 28 66 6f 72 6d 61 74 20 22 25 20 2d 33 53 22 20 6f 72 try-text-mode.(format."%.-3S".or
14720 67 2d 61 67 65 6e 64 61 2d 65 6e 74 72 79 2d 74 65 78 74 2d 6d 6f 64 65 29 29 0a 20 20 28 22 67 g-agenda-entry-text-mode))...("g
14740 22 20 6f 72 67 2d 61 67 65 6e 64 61 2d 74 6f 67 67 6c 65 2d 74 69 6d 65 2d 67 72 69 64 20 28 66 ".org-agenda-toggle-time-grid.(f
14760 6f 72 6d 61 74 20 22 25 20 2d 33 53 22 20 6f 72 67 2d 61 67 65 6e 64 61 2d 75 73 65 2d 74 69 6d ormat."%.-3S".org-agenda-use-tim
14780 65 2d 67 72 69 64 29 29 0a 20 20 28 22 44 22 20 6f 72 67 2d 61 67 65 6e 64 61 2d 74 6f 67 67 6c e-grid))...("D".org-agenda-toggl
147a0 65 2d 64 69 61 72 79 20 28 66 6f 72 6d 61 74 20 22 25 20 2d 33 53 22 20 6f 72 67 2d 61 67 65 6e e-diary.(format."%.-3S".org-agen
147c0 64 61 2d 69 6e 63 6c 75 64 65 2d 64 69 61 72 79 29 29 0a 20 20 28 22 21 22 20 6f 72 67 2d 61 67 da-include-diary))...("!".org-ag
147e0 65 6e 64 61 2d 74 6f 67 67 6c 65 2d 64 65 61 64 6c 69 6e 65 73 29 0a 20 20 28 22 5b 22 20 28 6c enda-toggle-deadlines)...("[".(l
14800 65 74 20 28 28 6f 72 67 2d 61 67 65 6e 64 61 2d 69 6e 63 6c 75 64 65 2d 69 6e 61 63 74 69 76 65 et.((org-agenda-include-inactive
14820 2d 74 69 6d 65 73 74 61 6d 70 73 20 74 29 29 0a 20 20 20 20 20 20 20 20 20 28 6f 72 67 2d 61 67 -timestamps.t))..........(org-ag
14840 65 6e 64 61 2d 63 68 65 63 6b 2d 74 79 70 65 20 74 20 27 74 69 6d 65 6c 69 6e 65 20 27 61 67 65 enda-check-type.t.'timeline.'age
14860 6e 64 61 29 0a 20 20 20 20 20 20 20 20 20 28 6f 72 67 2d 61 67 65 6e 64 61 2d 72 65 64 6f 29 0a nda)..........(org-agenda-redo).
14880 20 20 20 20 20 20 20 20 20 28 6d 65 73 73 61 67 65 20 22 44 69 73 70 6c 61 79 20 6e 6f 77 20 69 .........(message."Display.now.i
148a0 6e 63 6c 75 64 65 73 20 69 6e 61 63 74 69 76 65 20 74 69 6d 65 73 74 61 6d 70 73 20 61 73 20 77 ncludes.inactive.timestamps.as.w
148c0 65 6c 6c 22 29 29 29 0a 20 20 28 22 71 22 20 28 6d 65 73 73 61 67 65 20 22 41 62 6f 72 74 22 29 ell")))...("q".(message."Abort")
148e0 20 3a 65 78 69 74 20 74 29 0a 20 20 28 22 76 22 20 6e 69 6c 29 29 0a 0a 3b 3b 20 52 65 63 6f 6d .:exit.t)...("v".nil))..;;.Recom
14900 6d 65 6e 64 65 64 20 62 69 6e 64 69 6e 67 3a 0a 3b 3b 20 28 64 65 66 69 6e 65 2d 6b 65 79 20 6f mended.binding:.;;.(define-key.o
14920 72 67 2d 61 67 65 6e 64 61 2d 6d 6f 64 65 2d 6d 61 70 20 22 76 22 20 27 68 79 64 72 61 2d 6f 72 rg-agenda-mode-map."v".'hydra-or
14940 67 2d 61 67 65 6e 64 61 2d 76 69 65 77 2f 62 6f 64 79 29 0a 0a 3b 3b 2a 2a 20 45 78 61 6d 70 6c g-agenda-view/body)..;;**.Exampl
14960 65 20 31 33 3a 20 61 75 74 6f 6d 61 74 69 63 20 63 6f 6c 75 6d 6e 73 0a 28 64 65 66 68 79 64 72 e.13:.automatic.columns.(defhydr
14980 61 20 68 79 64 72 61 2d 6d 6f 76 65 6d 65 6e 74 20 28 29 0a 20 20 28 22 6a 22 20 6e 65 78 74 2d a.hydra-movement.()...("j".next-
149a0 6c 69 6e 65 20 22 64 6f 77 6e 22 20 3a 63 6f 6c 75 6d 6e 20 22 56 65 72 74 69 63 61 6c 22 29 0a line."down".:column."Vertical").
149c0 20 20 28 22 6b 22 20 70 72 65 76 69 6f 75 73 2d 6c 69 6e 65 20 22 75 70 22 29 0a 20 20 28 22 6c ..("k".previous-line."up")...("l
149e0 22 20 66 6f 72 77 61 72 64 2d 63 68 61 72 20 22 66 6f 72 77 61 72 64 22 20 3a 63 6f 6c 75 6d 6e ".forward-char."forward".:column
14a00 20 22 48 6f 72 69 7a 6f 6e 74 61 6c 22 29 0a 20 20 28 22 68 22 20 62 61 63 6b 77 61 72 64 2d 63 ."Horizontal")...("h".backward-c
14a20 68 61 72 20 22 62 61 63 6b 22 29 29 0a 0a 3b 3b 2a 20 48 65 6c 70 65 72 73 0a 28 72 65 71 75 69 har."back"))..;;*.Helpers.(requi
14a40 72 65 20 27 77 69 6e 64 6d 6f 76 65 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 6d 6f 76 65 re.'windmove)..(defun.hydra-move
14a60 2d 73 70 6c 69 74 74 65 72 2d 6c 65 66 74 20 28 61 72 67 29 0a 20 20 22 4d 6f 76 65 20 77 69 6e -splitter-left.(arg)..."Move.win
14a80 64 6f 77 20 73 70 6c 69 74 74 65 72 20 6c 65 66 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 dow.splitter.left."...(interacti
14aa0 76 65 20 22 70 22 29 0a 20 20 28 69 66 20 28 6c 65 74 20 28 28 77 69 6e 64 6d 6f 76 65 2d 77 72 ve."p")...(if.(let.((windmove-wr
14ac0 61 70 2d 61 72 6f 75 6e 64 29 29 0a 20 20 20 20 20 20 20 20 28 77 69 6e 64 6d 6f 76 65 2d 66 69 ap-around)).........(windmove-fi
14ae0 6e 64 2d 6f 74 68 65 72 2d 77 69 6e 64 6f 77 20 27 72 69 67 68 74 29 29 0a 20 20 20 20 20 20 28 nd-other-window.'right)).......(
14b00 73 68 72 69 6e 6b 2d 77 69 6e 64 6f 77 2d 68 6f 72 69 7a 6f 6e 74 61 6c 6c 79 20 61 72 67 29 0a shrink-window-horizontally.arg).
14b20 20 20 20 20 28 65 6e 6c 61 72 67 65 2d 77 69 6e 64 6f 77 2d 68 6f 72 69 7a 6f 6e 74 61 6c 6c 79 ....(enlarge-window-horizontally
14b40 20 61 72 67 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 6d 6f 76 65 2d 73 70 6c 69 74 .arg)))..(defun.hydra-move-split
14b60 74 65 72 2d 72 69 67 68 74 20 28 61 72 67 29 0a 20 20 22 4d 6f 76 65 20 77 69 6e 64 6f 77 20 73 ter-right.(arg)..."Move.window.s
14b80 70 6c 69 74 74 65 72 20 72 69 67 68 74 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 plitter.right."...(interactive."
14ba0 70 22 29 0a 20 20 28 69 66 20 28 6c 65 74 20 28 28 77 69 6e 64 6d 6f 76 65 2d 77 72 61 70 2d 61 p")...(if.(let.((windmove-wrap-a
14bc0 72 6f 75 6e 64 29 29 0a 20 20 20 20 20 20 20 20 28 77 69 6e 64 6d 6f 76 65 2d 66 69 6e 64 2d 6f round)).........(windmove-find-o
14be0 74 68 65 72 2d 77 69 6e 64 6f 77 20 27 72 69 67 68 74 29 29 0a 20 20 20 20 20 20 28 65 6e 6c 61 ther-window.'right)).......(enla
14c00 72 67 65 2d 77 69 6e 64 6f 77 2d 68 6f 72 69 7a 6f 6e 74 61 6c 6c 79 20 61 72 67 29 0a 20 20 20 rge-window-horizontally.arg)....
14c20 20 28 73 68 72 69 6e 6b 2d 77 69 6e 64 6f 77 2d 68 6f 72 69 7a 6f 6e 74 61 6c 6c 79 20 61 72 67 .(shrink-window-horizontally.arg
14c40 29 29 29 0a 0a 28 64 65 66 75 6e 20 68 79 64 72 61 2d 6d 6f 76 65 2d 73 70 6c 69 74 74 65 72 2d )))..(defun.hydra-move-splitter-
14c60 75 70 20 28 61 72 67 29 0a 20 20 22 4d 6f 76 65 20 77 69 6e 64 6f 77 20 73 70 6c 69 74 74 65 72 up.(arg)..."Move.window.splitter
14c80 20 75 70 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 70 22 29 0a 20 20 28 69 66 20 .up."...(interactive."p")...(if.
14ca0 28 6c 65 74 20 28 28 77 69 6e 64 6d 6f 76 65 2d 77 72 61 70 2d 61 72 6f 75 6e 64 29 29 0a 20 20 (let.((windmove-wrap-around))...
14cc0 20 20 20 20 20 20 28 77 69 6e 64 6d 6f 76 65 2d 66 69 6e 64 2d 6f 74 68 65 72 2d 77 69 6e 64 6f ......(windmove-find-other-windo
14ce0 77 20 27 75 70 29 29 0a 20 20 20 20 20 20 28 65 6e 6c 61 72 67 65 2d 77 69 6e 64 6f 77 20 61 72 w.'up)).......(enlarge-window.ar
14d00 67 29 0a 20 20 20 20 28 73 68 72 69 6e 6b 2d 77 69 6e 64 6f 77 20 61 72 67 29 29 29 0a 0a 28 64 g).....(shrink-window.arg)))..(d
14d20 65 66 75 6e 20 68 79 64 72 61 2d 6d 6f 76 65 2d 73 70 6c 69 74 74 65 72 2d 64 6f 77 6e 20 28 61 efun.hydra-move-splitter-down.(a
14d40 72 67 29 0a 20 20 22 4d 6f 76 65 20 77 69 6e 64 6f 77 20 73 70 6c 69 74 74 65 72 20 64 6f 77 6e rg)..."Move.window.splitter.down
14d60 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 65 20 22 70 22 29 0a 20 20 28 69 66 20 28 6c 65 ."...(interactive."p")...(if.(le
14d80 74 20 28 28 77 69 6e 64 6d 6f 76 65 2d 77 72 61 70 2d 61 72 6f 75 6e 64 29 29 0a 20 20 20 20 20 t.((windmove-wrap-around))......
14da0 20 20 20 28 77 69 6e 64 6d 6f 76 65 2d 66 69 6e 64 2d 6f 74 68 65 72 2d 77 69 6e 64 6f 77 20 27 ...(windmove-find-other-window.'
14dc0 75 70 29 29 0a 20 20 20 20 20 20 28 73 68 72 69 6e 6b 2d 77 69 6e 64 6f 77 20 61 72 67 29 0a 20 up)).......(shrink-window.arg)..
14de0 20 20 20 28 65 6e 6c 61 72 67 65 2d 77 69 6e 64 6f 77 20 61 72 67 29 29 29 0a 0a 28 64 65 66 76 ...(enlarge-window.arg)))..(defv
14e00 61 72 20 72 65 63 74 61 6e 67 6c 65 2d 6d 61 72 6b 2d 6d 6f 64 65 29 0a 28 64 65 66 75 6e 20 68 ar.rectangle-mark-mode).(defun.h
14e20 79 64 72 61 2d 65 78 2d 70 6f 69 6e 74 2d 6d 61 72 6b 20 28 29 0a 20 20 22 45 78 63 68 61 6e 67 ydra-ex-point-mark.()..."Exchang
14e40 65 20 70 6f 69 6e 74 20 61 6e 64 20 6d 61 72 6b 2e 22 0a 20 20 28 69 6e 74 65 72 61 63 74 69 76 e.point.and.mark."...(interactiv
14e60 65 29 0a 20 20 28 69 66 20 72 65 63 74 61 6e 67 6c 65 2d 6d 61 72 6b 2d 6d 6f 64 65 0a 20 20 20 e)...(if.rectangle-mark-mode....
14e80 20 20 20 28 72 65 63 74 61 6e 67 6c 65 2d 65 78 63 68 61 6e 67 65 2d 70 6f 69 6e 74 2d 61 6e 64 ...(rectangle-exchange-point-and
14ea0 2d 6d 61 72 6b 29 0a 20 20 20 20 28 6c 65 74 20 28 28 6d 6b 20 28 6d 61 72 6b 29 29 29 0a 20 20 -mark).....(let.((mk.(mark)))...
14ec0 20 20 20 20 28 72 65 63 74 61 6e 67 6c 65 2d 6d 61 72 6b 2d 6d 6f 64 65 20 31 29 0a 20 20 20 20 ....(rectangle-mark-mode.1).....
14ee0 20 20 28 67 6f 74 6f 2d 63 68 61 72 20 6d 6b 29 29 29 29 0a 0a 28 70 72 6f 76 69 64 65 20 27 68 ..(goto-char.mk))))..(provide.'h
14f00 79 64 72 61 2d 65 78 61 6d 70 6c 65 73 29 0a 0a 3b 3b 20 4c 6f 63 61 6c 20 56 61 72 69 61 62 6c ydra-examples)..;;.Local.Variabl
14f20 65 73 3a 0a 3b 3b 20 6e 6f 2d 62 79 74 65 2d 63 6f 6d 70 69 6c 65 3a 20 74 0a 3b 3b 20 45 6e 64 es:.;;.no-byte-compile:.t.;;.End
14f40 3a 0a 3b 3b 3b 20 68 79 64 72 61 2d 65 78 61 6d 70 6c 65 73 2e 65 6c 20 65 6e 64 73 20 68 65 72 :.;;;.hydra-examples.el.ends.her
14f60 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 00 e...............................
14f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15000 68 79 64 72 61 2d 30 2e 31 35 2e 30 2f 68 79 64 72 61 2d 70 6b 67 2e 65 6c 00 00 00 00 00 00 00 hydra-0.15.0/hydra-pkg.el.......
15020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15060 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
15080 30 30 30 30 36 30 37 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 35 35 36 00 20 30 00 00 00 0000607.00000000000.013556..0...
150a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
150c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
150e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15100 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...................
15120 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...................
15140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
151a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
151c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
151e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15200 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
15220 20 66 72 6f 6d 20 68 79 64 72 61 2e 65 6c 20 20 2d 2a 2d 20 6e 6f 2d 62 79 74 65 2d 63 6f 6d 70 .from.hydra.el..-*-.no-byte-comp
15240 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 68 79 64 72 ile:.t.-*-.(define-package."hydr
15260 61 22 20 22 30 2e 31 35 2e 30 22 20 22 4d 61 6b 65 20 62 69 6e 64 69 6e 67 73 20 74 68 61 74 20 a"."0.15.0"."Make.bindings.that.
15280 73 74 69 63 6b 20 61 72 6f 75 6e 64 2e 22 20 27 28 28 63 6c 2d 6c 69 62 20 22 30 2e 35 22 29 20 stick.around.".'((cl-lib."0.5").
152a0 28 6c 76 20 22 30 22 29 29 20 3a 63 6f 6d 6d 69 74 20 22 37 30 38 31 65 65 36 64 34 34 33 64 62 (lv."0")).:commit."7081ee6d443db
152c0 66 32 62 35 38 65 37 37 66 61 37 33 35 37 63 39 30 65 34 39 35 31 37 33 61 32 66 22 20 3a 61 75 f2b58e77fa7357c90e495173a2f".:au
152e0 74 68 6f 72 73 20 27 28 28 22 4f 6c 65 68 20 4b 72 65 68 65 6c 22 20 2e 20 22 6f 68 77 6f 65 6f thors.'(("Oleh.Krehel"..."ohwoeo
15300 77 68 6f 40 67 6d 61 69 6c 2e 63 6f 6d 22 29 29 20 3a 6d 61 69 6e 74 61 69 6e 65 72 20 27 28 22 who@gmail.com")).:maintainer.'("
15320 4f 6c 65 68 20 4b 72 65 68 65 6c 22 20 2e 20 22 6f 68 77 6f 65 6f 77 68 6f 40 67 6d 61 69 6c 2e Oleh.Krehel"..."ohwoeowho@gmail.
15340 63 6f 6d 22 29 20 3a 6b 65 79 77 6f 72 64 73 20 27 28 22 62 69 6e 64 69 6e 67 73 22 29 20 3a 75 com").:keywords.'("bindings").:u
15360 72 6c 20 22 68 74 74 70 73 3a 2f 2f 67 69 74 68 75 62 2e 63 6f 6d 2f 61 62 6f 2d 61 62 6f 2f 68 rl."https://github.com/abo-abo/h
15380 79 64 72 61 22 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 ydra")..........................
153a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
153c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
153e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15400 68 79 64 72 61 2d 30 2e 31 35 2e 30 2f 2e 65 6c 70 61 69 67 6e 6f 72 65 00 00 00 00 00 00 00 00 hydra-0.15.0/.elpaignore........
15420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15460 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
15480 30 30 30 30 31 30 35 00 30 30 30 30 30 30 30 30 30 30 30 00 30 31 33 34 36 35 00 20 30 00 00 00 0000105.00000000000.013465..0...
154a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
154c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
154e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15500 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...................
15520 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...................
15540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
155a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
155c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
155e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15600 74 61 72 67 65 74 73 2f 0a 2e 74 72 61 76 69 73 2e 79 6d 6c 0a 2e 64 69 72 2d 6c 6f 63 61 6c 73 targets/..travis.yml..dir-locals
15620 2e 65 6c 0a 4d 61 6b 65 66 69 6c 65 0a 52 45 41 44 4d 45 2e 6d 64 0a 68 79 64 72 61 2d 74 65 73 .el.Makefile.README.md.hydra-tes
15640 74 2e 65 6c 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 t.el............................
15660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
156a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
156c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
156e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
157a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
157c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
157e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15800 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15820 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15840 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15860 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15880 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
158a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
158c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
158e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15a80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15b20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15c20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15c60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15c80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15d00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15e00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15e60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15e80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15f00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15f20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
160a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
160c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
160e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
161a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
161c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
161e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16200 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
162a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
162c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
162e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
163a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
163c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
163e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16400 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16440 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16460 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16480 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
164a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
164c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
164e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16500 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16520 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16540 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16560 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16580 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
165a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
165c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
165e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16620 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16640 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16660 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16680 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
166a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
166c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
166e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16720 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16740 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16760 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
16780 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
167a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
167c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
167e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................