summaryrefslogtreecommitdiff
path: root/localrepo/hydra-0.15.0.tar
blob: cd7b600430b1027de1a5fc9b936d51a69e8facd0 (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 64 6f 63 2f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 hydra-0.15.0/doc/...............
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 32 31 31 30 00 20 35 00 00 00 0000000.00000000000.012110..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 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..
0420 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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...
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 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
0620 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
0640 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
0660 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
0680 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
06a0 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
06c0 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
06e0 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
0700 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
0720 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
0740 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
0760 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.
0780 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
07a0 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
07c0 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)
07e0 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
0800 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
0820 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")..
0840 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
0860 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
0880 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-
08a0 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-
08c0 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
08e0 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
0900 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
0920 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
0940 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./
0960 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
0980 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
09a0 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
09c0 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
09e0 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
0a00 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"...("
0a20 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
0a40 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
0a60 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.
0a80 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".(
0aa0 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-
0ac0 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
0ae0 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
0b00 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]].
0b20 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
0b40 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
0b60 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
0b80 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.().
0ba0 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.
0bc0 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
0be0 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
0c00 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
0c20 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
0c40 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
0c60 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.
0c80 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
0ca0 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
0cc0 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.[
0ce0 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
0d00 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]]............
0d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 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.......
0e20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0e40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0e60 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
0e80 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...
0ea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0ee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0f00 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...................
0f20 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...................
0f40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0f60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0f80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1000 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
1020 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
1040 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
1060 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.
1080 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").
10a0 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
10c0 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
10e0 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
1100 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.'("
1120 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.
1140 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
1160 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
1180 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")..........................
11a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1200 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...........
1220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1260 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
1280 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...
12a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
12e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1300 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...................
1320 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...................
1340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
13e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1400 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
1420 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
1440 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
1460 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
1480 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
14a0 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
14c0 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
14e0 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
1500 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
1520 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
1540 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").(
1560 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
1580 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
15a0 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
15c0 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
15e0 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
1600 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
1620 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
1640 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.
1660 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
1680 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
16a0 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.
16c0 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
16e0 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
1700 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.
1720 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
1740 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
1760 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
1780 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
17a0 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
17c0 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
17e0 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
1800 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
1820 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
1840 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.
1860 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.
1880 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
18a0 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
18c0 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
18e0 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
1900 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
1920 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
1940 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
1960 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
1980 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
19a0 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
19c0 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.
19e0 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
1a00 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
1a20 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
1a40 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..;;.;;.
1a60 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
1a80 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
1aa0 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-
1ac0 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
1ae0 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>").;;....
1b00 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
1b20 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".
1b40 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")).;;.;
1b60 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
1b80 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>.
1ba0 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"..;;.;;
1bc0 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
1be0 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"
1c00 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
1c20 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
1c40 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
1c60 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
1c80 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
1ca0 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").;;.....
1cc0 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
1ce0 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
1d00 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").;;.......("
1d20 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
1d40 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
1d60 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-
1d80 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
1da0 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.
1dc0 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
1de0 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
1e00 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
1e20 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
1e40 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
1e60 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.
1e80 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..;;.;
1ea0 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
1ec0 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
1ee0 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
1f00 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
1f20 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
1f40 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
1f60 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.
1f80 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
1fa0 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
1fc0 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
1fe0 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.
2000 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
2020 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
2040 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.
2060 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
2080 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
20a0 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.")..(
20c0 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...
20e0 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
2100 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
2120 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
2140 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.")..(
2160 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...
2180 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
21a0 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
21c0 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
21e0 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
2200 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
2220 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
2240 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
2260 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
2280 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
22a0 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
22c0 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
22e0 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
2300 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-
2320 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
2340 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
2360 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
2380 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
23a0 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
23c0 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
23e0 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
2400 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
2420 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:.
2440 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.
2460 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
2480 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
24a0 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..
24c0 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).....(
24e0 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).....
2500 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
2520 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
2540 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.
2560 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
2580 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
25a0 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-
25c0 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.(
25e0 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
2600 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."
2620 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
2640 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..
2660 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
2680 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..............
26a0 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
26c0 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
26e0 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
2700 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.........
2720 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
2740 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-
2760 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-
2780 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....
27a0 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........
27c0 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
27e0 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)).......
2800 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............
2820 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)..................
2840 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
2860 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
2880 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
28a0 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
28c0 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
28e0 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
2900 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
2920 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
2940 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
2960 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
2980 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).
29a0 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.
29c0 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)......
29e0 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
2a00 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
2a20 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
2a40 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
2a60 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
2a80 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
2aa0 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.
2ac0 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
2ae0 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.
2b00 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...
2b20 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
2b40 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
2b60 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
2b80 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
2ba0 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
2bc0 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-
2be0 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
2c00 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
2c20 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
2c40 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
2c60 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
2c80 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
2ca0 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
2cc0 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-
2ce0 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
2d00 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
2d20 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)))...........(
2d40 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
2d60 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)).
2d80 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)))
2da0 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-
2dc0 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
2de0 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
2e00 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))).
2e20 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)...
2e40 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
2e60 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
2e80 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.
2ea0 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)).....
2ec0 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
2ee0 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.
2f00 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-
2f20 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
2f40 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
2f60 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
2f80 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)
2fa0 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
2fc0 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
2fe0 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...:
3000 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
3020 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
3040 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
3060 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
3080 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
30a0 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
30c0 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
30e0 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
3100 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...
3120 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
3140 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
3160 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
3180 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
31a0 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
31c0 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
31e0 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).
3200 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
3220 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
3240 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
3260 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
3280 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
32a0 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
32c0 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
32e0 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
3300 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.#'
3320 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.""))
3340 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
3360 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
3380 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
33a0 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'.").
33c0 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
33e0 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
3400 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.....
3420 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)...........
3440 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
3460 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
3480 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
34a0 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.
34c0 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-
34e0 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
3500 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
3520 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,
3540 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
3560 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."...
3580 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
35a0 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
35c0 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
35e0 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
3600 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
3620 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'
3640 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
3660 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
3680 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
36a0 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.'
36c0 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
36e0 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
3700 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
3720 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
3740 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
3760 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.
3780 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
37a0 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
37c0 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
37e0 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
3800 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
3820 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
3840 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
3860 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
3880 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
38a0 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
38c0 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."..
38e0 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
3900 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"
3920 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
3940 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
3960 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
3980 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
39a0 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
39c0 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."
39e0 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
3a00 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
3a20 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))...
3a40 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
3a60 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
3a80 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
3aa0 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
3ac0 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
3ae0 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
3b00 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.
3b20 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
3b40 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
3b60 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
3b80 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
3ba0 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
3bc0 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
3be0 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
3c00 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)))..."
3c20 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
3c40 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
3c60 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.
3c80 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
3ca0 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.`
3cc0 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
3ce0 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-
3d00 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\\)\\_>.
3d20 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
3d40 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
3d60 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
3d80 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\\)\\_>.+\\(.*?\\)\\_>"...
3da0 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)..
3dc0 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)))))
3de0 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-
3e00 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
3e20 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...
3e40 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
3e60 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...
3e80 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
3ea0 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.
3ec0 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
3ee0 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
3f00 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
3f20 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.
3f40 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.
3f60 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
3f80 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
3fa0 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.
3fc0 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)))..........
3fe0 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).........
4000 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."\\`\
4020 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]+\\)/\\(.*\\
4040 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)......................(
4060 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
4080 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)).....
40a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
40c0 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
40e0 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)))........
4100 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
4120 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.
4140 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.((
4160 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))).....(
4180 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
41a0 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
41c0 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
41e0 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].
4200 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
4220 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
4240 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
4260 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
4280 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
42a0 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.[
42c0 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).....
42e0 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
4300 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
4320 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)...
4340 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
4360 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
4380 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).
43a0 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-
43c0 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
43e0 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
4400 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].'
4420 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
4440 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-
4460 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
4480 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)....
44a0 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--
44c0 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.
44e0 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
4500 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
4520 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
4540 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
4560 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
4580 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).....
45a0 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
45c0 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
45e0 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
4600 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
4620 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
4640 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
4660 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)
4680 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
46a0 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").
46c0 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
46e0 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.
4700 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)))................
4720 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.'-)...........
4740 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)........
4760 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
4780 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)..."
47a0 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
47c0 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*.
47e0 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
4800 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
4820 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..................
4840 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
4860 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.(-.(
4880 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
48a0 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
48c0 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).............................
48e0 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)...................
4900 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)......
4920 20 20 20 20 20 20 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 ..............................(-
4940 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).........................
4960 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)))...............
4980 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.'-).......
49a0 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
49c0 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).........................
49e0 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 ........'-......................
4a00 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)))............
4a20 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..............
4a40 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
4a60 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)
4a80 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
4aa0 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")..
4ac0 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
4ae0 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))................
4b00 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).....
4b20 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.'-))))..
4b40 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-
4b60 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
4b80 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
4ba0 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..
4bc0 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
4be0 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
4c00 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
4c20 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
4c40 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.
4c60 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.
4c80 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
4ca0 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.
4cc0 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
4ce0 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)
4d00 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
4d20 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
4d40 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
4d60 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
4d80 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
4da0 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))..;;*.
4dc0 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
4de0 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
4e00 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).......
4e20 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.
4e40 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)))))..(
4e60 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)..
4e80 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
4ea0 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
4ec0 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
4ee0 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
4f00 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
4f20 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)
4f40 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).....
4f60 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).
4f80 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))..
4fa0 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.()..
4fc0 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)........
4fe0 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-
5000 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)
5020 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
5040 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
5060 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.
5080 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...).
50a0 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
50c0 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.
50e0 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
5100 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).
5120 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)....
5140 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
5160 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
5180 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
51a0 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
51c0 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."..
51e0 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
5200 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
5220 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
5240 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.
5260 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
5280 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
52a0 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
52c0 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)...
52e0 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
5300 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
5320 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-
5340 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
5360 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
5380 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
53a0 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)....(
53c0 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
53e0 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
5400 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).
5420 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
5440 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
5460 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."...(
5480 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
54a0 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.(
54c0 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
54e0 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).
5500 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
5520 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
5540 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.
5560 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.
5580 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
55a0 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
55c0 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)
55e0 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
5600 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
5620 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
5640 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)).....(
5660 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)
5680 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.......................
56a0 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)))..
56c0 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
56e0 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
5700 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<.
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 3a 6b 65 79 ............................:key
5740 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
5760 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.
5780 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))..............
57a0 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
57c0 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
57e0 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
5800 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
5820 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
5840 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
5860 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
5880 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
58a0 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
58c0 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
58e0 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
5900 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......
5920 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
5940 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)....
5960 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
5980 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
59a0 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
59c0 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
59e0 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
5a00 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
5a20 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
5a40 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
5a60 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
5a80 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.
5aa0 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
5ac0 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
5ae0 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
5b00 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-
5b20 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
5b40 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
5b60 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
5b80 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
5ba0 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
5bc0 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)).
5be0 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.
5c00 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
5c20 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
5c40 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]:.".
5c60 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
5c80 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.
5ca0 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
5cc0 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
5ce0 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
5d00 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
5d20 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
5d40 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.
5d60 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
5d80 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
5da0 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
5dc0 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
5de0 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)
5e00 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:
5e20 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
5e40 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
5e60 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)..
5e80 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
5ea0 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.
5ec0 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))
5ee0 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
5f00 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
5f20 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").
5f40 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
5f60 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)..."
5f80 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
5fa0 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
5fc0 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
5fe0 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."...
6000 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
6020 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
6040 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
6060 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))).....
6080 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
60a0 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
60c0 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))........
60e0 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.
6100 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.(
6120 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))
6140 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
6160 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
6180 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
61a0 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
61c0 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...
61e0 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+.
6200 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)))......
6220 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
6240 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).(
6260 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)))........
6280 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
62a0 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)....
62c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
62e0 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.(
6300 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
6320 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.
6340 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"........
6360 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
6380 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..............................
63a0 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.......................
63c0 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)...........
63e0 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
6400 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..............................
6420 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)...............
6440 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...
6460 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
6480 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
64a0 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.........................
64c0 20 20 20 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.
64e0 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)..............................
6500 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
6520 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..............................
6540 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
6560 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))................
6580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
65a0 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.""))......
65c0 20 20 20 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
65e0 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))
6600 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 ................................
6620 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
6640 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.....
6660 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
6680 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...
66a0 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 ...............",.")............
66c0 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."."."")))).......
66e0 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.........
6700 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)
6720 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
6740 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
6760 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
6780 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
67a0 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'."...(
67c0 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
67e0 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
6800 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
6820 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).
6840 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
6860 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))....
6880 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
68a0 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
68c0 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)).
68e0 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-
6900 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...........
6920 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
6940 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
6960 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
6980 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.....
69a0 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
69c0 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-
69e0 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
6a00 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
6a20 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)..........
6a40 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-
6a60 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
6a80 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
6aa0 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
6ac0 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
6ae0 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'.")
6b00 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
6b20 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
6b40 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
6b60 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
6b80 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
6ba0 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-
6bc0 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
6be0 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
6c00 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.
6c20 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.........
6c40 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
6c60 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.......
6c80 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
6ca0 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..............
6cc0 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)...............
6ce0 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
6d00 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
6d20 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
6d40 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.
6d60 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"))....
6d80 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
6da0 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))
6dc0 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
6de0 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)..........
6e00 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............(
6e20 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)..........
6e40 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).........
6e60 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
6e80 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-
6ea0 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
6ec0 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
6ee0 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)))))))
6f00 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
6f20 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.
6f40 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
6f60 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.
6f80 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.{}."
6fa0 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
6fc0 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]
6fe0 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
7000 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
7020 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
7040 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
7060 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
7080 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)......
70a0 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-
70c0 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
70e0 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.
7100 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)
7120 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
7140 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))...
7160 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
7180 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)...........(
71a0 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
71c0 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))....
71e0 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)).......
7200 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
7220 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
7240 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-
7260 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>").....(
7280 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>").....("..."..."
72a0 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>")
72c0 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").....("...".
72e0 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>").....("..."..."
7300 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
7320 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
7340 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.
7360 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
7380 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
73a0 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:].~.,;:/|?<>={}*+#%@!&^......
73c0 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
73e0 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
7400 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
7420 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)...
7440 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
7460 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
7480 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,
74a0 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
74c0 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
74e0 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
7500 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
7520 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.
7540 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
7560 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
7580 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.(
75a0 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."___"."
75c0 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
75e0 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)
7600 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)..................
7620 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--
7640 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
7660 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
7680 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
76a0 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)
76c0 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
76e0 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..
7700 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.
7720 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.....
7740 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 ................."\\(?:%%\\(.?-?
7760 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]+\\|
7780 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_\\)\\|\\(?:[?
77a0 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[?]\\)"......................
77c0 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.....................
77e0 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)...................
7800 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
7820 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.
7840 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
7860 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
7880 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
78a0 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)))...........
78c0 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.................
78e0 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.....................
7900 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)..
7920 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
7940 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...........................
7960 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...............
7980 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.............
79a0 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
79c0 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........................
79e0 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
7a00 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"))............
7a20 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
7a40 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
7a60 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)).............
7a80 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:.
7aa0 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
7ac0 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
7ae0 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*.((
7b00 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)).
7b20 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.(
7b40 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)).......
7b60 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......
7b80 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
7ba0 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)....................
7bc0 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-
7be0 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.............................
7c00 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.....
7c20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
7c40 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
7c60 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))).......
7c80 20 20 20 20 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
7ca0 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)))))........
7cc0 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..............
7ce0 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..................
7d00 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.
7d20 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..................
7d40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
7d60 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)).......
7d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
7da0 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)..............
7dc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
7de0 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).......................
7e00 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).................
7e20 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.......
7e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 6f 72 0a 20 20 20 20 ........................(or.....
7e60 20 20 20 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
7e80 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................
7ea0 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
7ec0 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"))))..
7ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 73 65 74 71 20 64 6f ........................(setq.do
7f00 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.........................
7f20 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
7f40 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)).............
7f60 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
7f80 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)))))......
7fa0 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
7fc0 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
7fe0 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))
8000 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............
8020 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
8040 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))
8060 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
8080 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))..
80a0 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
80c0 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
80e0 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.......................
8100 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..............
8120 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
8140 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........
8160 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
8180 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))
81a0 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
81c0 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)).............
81e0 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
8200 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).............
8220 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
8240 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
8260 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).................
8280 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
82a0 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))..............
82c0 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
82e0 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
8300 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
8320 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
8340 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)......
8360 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.....
8380 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
83a0 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
83c0 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
83e0 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)))).
8400 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
8420 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
8440 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).
8460 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.(
8480 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
84a0 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
84c0 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
84e0 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
8500 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.
8520 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.
8540 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"
8560 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
8580 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"."".
85a0 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))
85c0 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)))...
85e0 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))..
8600 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
8620 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.
8640 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.
8660 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......
8680 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 ...........".+$"."".............
86a0 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..........
86c0 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
86e0 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)............
8700 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 .....................":").......
8720 20 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
8740 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)............
8760 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").....
8780 20 20 20 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...
87a0 20 20 20 20 20 20 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 ..............................":
87c0 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
87e0 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..........
8800 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\\
8820 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
8840 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
8860 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)))))
8880 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
88a0 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.
88c0 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
88e0 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.
8900 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
8920 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)..
8940 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
8960 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
8980 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
89a0 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
89c0 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.
89e0 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
8a00 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
8a20 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
8a40 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.
8a60 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
8a80 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
8aa0 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
8ac0 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
8ae0 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.
8b00 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
8b20 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
8b40 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)......""))
8b60 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
8b80 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
8ba0 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
8bc0 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
8be0 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.
8c00 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.
8c20 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............
8c40 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
8c60 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)........................
8c80 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....
8ca0 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
8cc0 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
8ce0 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
8d00 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
8d20 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
8d40 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
8d60 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
8d80 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
8da0 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..
8dc0 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
8de0 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
8e00 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)).....
8e20 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
8e40 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-
8e60 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.
8e80 20 20 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
8ea0 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......
8ec0 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
8ee0 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.
8f00 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,.
8f20 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.
8f40 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'.
8f60 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--
8f80 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
8fa0 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
8fc0 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
8fe0 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
9000 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
9020 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.
9040 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
9060 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))
9080 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)..
90a0 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
90c0 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))
90e0 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)..
9100 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
9120 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.
9140 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".........................
9160 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)..........
9180 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.
91a0 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"........
91c0 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))).....
91e0 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
9200 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
9220 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
9240 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
9260 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))........
9280 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
92a0 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.()...
92c0 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)..
92e0 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
9300 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
9320 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))......
9340 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
9360 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-
9380 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
93a0 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
93c0 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)))......
93e0 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.
9400 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
9420 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..........................
9440 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...................
9460 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
9480 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))).......
94a0 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
94c0 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
94e0 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
9500 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.
9520 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.....
9540 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.(
9560 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
9580 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)))).................(
95a0 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)............
95c0 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.',
95e0 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))
9600 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.....
9620 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
9640 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-
9660 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
9680 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.
96a0 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
96c0 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))
96e0 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
9700 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))...
9720 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
9740 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)..
9760 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
9780 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))...............(
97a0 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.........
97c0 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
97e0 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).,
9800 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)...............
9820 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.......
9840 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
9860 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
9880 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
98a0 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..................
98c0 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)))
98e0 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
9900 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
9920 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
9940 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
9960 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
9980 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
99a0 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
99c0 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
99e0 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
9a00 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)
9a20 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.
9a40 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
9a60 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
9a80 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))))
9aa0 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
9ac0 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
9ae0 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
9b00 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
9b20 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
9b40 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
9b60 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
9b80 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-
9ba0 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
9bc0 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
9be0 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)).........
9c00 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
9c20 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))
9c40 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)....
9c60 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)))..
9c80 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
9ca0 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
9cc0 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.
9ce0 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
9d00 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))..............
9d20 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
9d40 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
9d60 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
9d80 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
9da0 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
9dc0 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
9de0 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.
9e00 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.
9e20 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/
9e40 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
9e60 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)).........
9e80 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))...
9ea0 20 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.(
9ec0 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)).................
9ee0 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
9f00 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))...................
9f20 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)))......
9f40 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........
9f60 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
9f80 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.(
9fa0 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
9fc0 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
9fe0 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
a000 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"))).
a020 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
a040 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
a060 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
a080 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
a0a0 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
a0c0 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.".
a0e0 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...
a100 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
a120 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).
a140 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
a160 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).....................
a180 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
a1a0 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))..................
a1c0 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
a1e0 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
a200 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)))..
a220 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
a240 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
a260 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)).....
a280 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
a2a0 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)).............
a2c0 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)))...
a2e0 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
a300 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
a320 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.
a340 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)
a360 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.(
a380 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
a3a0 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)..
a3c0 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.
a3e0 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.(<=
a400 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
a420 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)).
a440 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.
a460 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.,
a480 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))
a4a0 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
a4c0 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
a4e0 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
a500 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.
a520 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
a540 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
a560 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--
a580 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
a5a0 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)))..(
a5c0 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)..
a5e0 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
a600 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
a620 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
a640 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
a660 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
a680 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.((
a6a0 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
a6c0 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
a6e0 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))..............
a700 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
a720 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
a740 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.......
a760 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...............
a780 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
a7a0 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).......
a7c0 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
a7e0 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)))....................
a800 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
a820 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)).?^))).........
a840 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)..........""))...
a860 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
a880 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
a8a0 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
a8c0 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
a8e0 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
a900 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
a920 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
a940 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.
a960 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
a980 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
a9a0 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..........
a9c0 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).
a9e0 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"))..........
aa00 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
aa20 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".
aa40 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
aa60 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
aa80 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
aaa0 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'-
aac0 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
aae0 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
ab00 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.
ab20 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
ab40 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
ab60 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
ab80 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
aba0 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.".
abc0 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
abe0 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).........
ac00 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
ac20 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
ac40 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)................
ac60 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))..
ac80 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
aca0 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
acc0 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
ace0 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
ad00 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
ad20 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
ad40 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
ad60 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
ad80 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..
ada0 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
adc0 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.
ade0 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.
ae00 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
ae20 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
ae40 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
ae60 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--
ae80 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
aea0 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
aec0 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
aee0 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
af00 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
af20 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)).
af40 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)......
af60 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
af80 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)............
afa0 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-
afc0 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)))..
afe0 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
b000 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)
b020 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
b040 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
b060 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
b080 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
b0a0 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
b0c0 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
b0e0 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
b100 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
b120 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
b140 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
b160 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).(
b180 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
b1a0 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)).............................
b1c0 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
b1e0 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.
b200 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
b220 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).
b240 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
b260 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-
b280 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............................
b2a0 20 20 20 20 20 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
b2c0 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
b2e0 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
b300 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)................
b320 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
b340 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
b360 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)...........................
b380 20 20 20 20 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
b3a0 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))))
b3c0 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
b3e0 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
b400 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
b420 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
b440 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
b460 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.
b480 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
b4a0 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
b4c0 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).....
b4e0 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
b500 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
b520 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..
b540 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
b560 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
b580 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
b5a0 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)
b5c0 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
b5e0 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
b600 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-
b620 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
b640 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
b660 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.
b680 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
b6a0 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
b6c0 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
b6e0 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-
b700 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.
b720 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.
b740 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.(
b760 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
b780 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
b7a0 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.(-.
b7c0 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-
b7e0 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))....
b800 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....
b820 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.
b840 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
b860 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)
b880 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
b8a0 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
b8c0 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.
b8e0 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
b900 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.
b920 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
b940 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
b960 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
b980 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
b9a0 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
b9c0 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..
b9e0 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
ba00 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
ba20 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
ba40 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)).......
ba60 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
ba80 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.".
baa0 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
bac0 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.(
bae0 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))....
bb00 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.
bb20 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
bb40 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)))......
bb60 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.#'
bb80 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.............................
bba0 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).....
bbc0 20 20 20 20 20 20 20 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 ...............................(
bbe0 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
bc00 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-
bc20 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-
bc40 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
bc60 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
bc80 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
bca0 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
bcc0 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).
bce0 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
bd00 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
bd20 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
bd40 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
bd60 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))))...........
bd80 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)......
bda0 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
bdc0 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
bde0 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).....................
be00 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.
be20 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))...
be40 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-
be60 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
be80 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
bea0 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
bec0 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
bee0 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)).
bf00 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
bf20 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)))
bf40 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
bf60 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
bf80 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..............."|.".........
bfa0 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)....
bfc0 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
bfe0 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............
c000 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
c020 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)............
c040 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.(
c060 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
c080 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))).......................
c0a0 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.?%.(
c0c0 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))))....................
c0e0 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
c100 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...............................
c120 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
c140 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)))...................
c160 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
c180 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.((
c1a0 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
c1c0 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
c1e0 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))))).
c200 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
c220 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)))
c240 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).
c260 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.
c280 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
c2a0 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
c2c0 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
c2e0 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
c300 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
c320 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
c340 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
c360 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.
c380 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
c3a0 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.....
c3c0 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
c3e0 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)))....
c400 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
c420 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)).........
c440 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
c460 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)
c480 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.
c4a0 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-
c4c0 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
c4e0 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)).
c500 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
c520 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))......
c540 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....
c560 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.
c580 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))..
c5a0 20 20 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-
c5c0 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--
c5e0 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).....
c600 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
c620 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
c640 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
c660 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
c680 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)...(
c6a0 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-
c6c0 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
c6e0 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..................
c700 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
c720 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
c740 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
c760 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
c780 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
c7a0 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
c7c0 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
c7e0 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.
c800 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
c820 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
c840 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
c860 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
c880 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
c8a0 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
c8c0 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-
c8e0 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...................
c900 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
c920 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
c940 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
c960 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....
c980 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)).....
c9a0 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
c9c0 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)
c9e0 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
ca00 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
ca20 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
ca40 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
ca60 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
ca80 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
caa0 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
cac0 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:....
cae0 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-
cb00 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
cb20 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
cb40 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
cb60 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-
cb80 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
cba0 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
cbc0 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
cbe0 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:
cc00 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
cc20 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
cc40 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
cc60 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
cc80 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
cca0 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
ccc0 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
cce0 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
cd00 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
cd20 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.
cd40 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
cd60 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
cd80 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
cda0 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
cdc0 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
cde0 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
ce00 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
ce20 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
ce40 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
ce60 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
ce80 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
cea0 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.
cec0 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.
cee0 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.
cf00 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
cf20 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
cf40 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.
cf60 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
cf80 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
cfa0 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...:
cfc0 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
cfe0 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
d000 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.
d020 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
d040 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
d060 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
d080 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
d0a0 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
d0c0 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
d0e0 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.
d100 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
d120 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
d140 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
d160 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
d180 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.((
d1a0 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
d1c0 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).............
d1e0 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-
d200 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))).........
d220 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
d240 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....
d260 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
d280 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
d2a0 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.
d2c0 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.
d2e0 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.
d300 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))...
d320 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
d340 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
d360 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)))..
d380 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.(
d3a0 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)))........
d3c0 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))....
d3e0 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
d400 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
d420 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-
d440 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))...........................
d460 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))..............(
d480 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))..
d4a0 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
d4c0 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)............................
d4e0 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)))..
d500 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
d520 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))..............
d540 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
d560 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
d580 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
d5a0 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)................
d5c0 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
d5e0 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))).......
d600 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
d620 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)).....
d640 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
d660 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)).........
d680 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--
d6a0 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))........
d6c0 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
d6e0 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
d700 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
d720 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
d740 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
d760 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
d780 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.
d7a0 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
d7c0 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
d7e0 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)).........
d800 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)............
d820 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).........
d840 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........
d860 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
d880 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...................
d8a0 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
d8c0 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)))...............
d8e0 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.
d900 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)))..............
d920 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.
d940 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)))...........
d960 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
d980 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)..............................
d9a0 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)..............
d9c0 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)
d9e0 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.((
da00 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..................
da20 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
da40 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...........................
da60 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
da80 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))).....................
daa0 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......
dac0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
dae0 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
db00 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)..............................
db20 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............
db40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
db60 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)................
db80 20 20 20 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
dba0 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
dbc0 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)))....
dbe0 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
dc00 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))...............
dc20 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
dc40 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)).......
dc60 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.(
dc80 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))....................
dca0 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
dcc0 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)))..................
dce0 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.............
dd00 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.........
dd20 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
dd40 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...................
dd60 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
dd80 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........................
dda0 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
ddc0 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)............................
dde0 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)))......
de00 20 20 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
de20 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))........
de40 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
de60 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
de80 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)))..............
dea0 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
dec0 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..........................
dee0 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
df00 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).........................
df20 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...
df40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
df60 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))))))))))........
df80 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-
dfa0 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)).
dfc0 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)).
dfe0 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)
e000 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
e020 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))....
e040 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--
e060 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)))......
e080 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
e0a0 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
e0c0 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))................(
e0e0 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
e100 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)...........
e120 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)..
e140 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
e160 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
e180 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)...
e1a0 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
e1c0 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
e1e0 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
e200 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.
e220 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)
e240 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--
e260 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)).........
e280 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).............
e2a0 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
e2c0 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
e2e0 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".........
e300 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))).....
e320 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.
e340 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
e360 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)).....................
e380 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
e3a0 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)).........
e3c0 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)..............(
e3e0 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
e400 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))..............
e420 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.....................,
e440 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)
e460 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).
e480 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
e4a0 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))....
e4c0 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............
e4e0 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.
e500 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
e520 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)................
e540 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
e560 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))).....................
e580 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
e5a0 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)....................
e5c0 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))................
e5e0 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))............
e600 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..............
e620 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.......
e640 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...............
e660 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.".
e680 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
e6a0 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
e6c0 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..............
e6e0 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
e700 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.................,
e720 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
e740 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
e760 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))
e780 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..
e7a0 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...........
e7c0 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)............
e7e0 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
e800 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........
e820 20 20 20 20 20 20 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
e840 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..........................
e860 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....
e880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
e8a0 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)).............
e8c0 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)..............;;
e8e0 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..........
e900 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
e920 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
e940 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)....................
e960 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
e980 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.
e9a0 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.(
e9c0 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)))................
e9e0 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
ea00 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)))).............
ea20 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
ea40 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
ea60 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
ea80 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)........................
eaa0 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
eac0 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)))............
eae0 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.
eb00 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)...........................
eb20 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
eb40 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 )).............................(
eb60 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
eb80 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))..........
eba0 20 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-
ebc0 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.............................
ebe0 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.............
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 20 28 76 63 6f 6e ...........................(vcon
ec20 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
ec40 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)))............................
ec60 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)))))...
ec80 20 20 20 20 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
eca0 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).............
ecc0 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-
ece0 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)................
ed00 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.
ed20 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
ed40 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 ))).............................
ed60 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)....
ed80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
eda0 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)........
edc0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ................................
ede0 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
ee00 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))............................
ee20 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))............
ee40 20 20 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
ee60 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.,
ee80 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))).........................
eea0 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..................
eec0 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
eee0 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
ef00 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)))))))...........
ef20 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)).............
ef40 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............
ef60 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)...
ef80 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........
efa0 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
efc0 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............
efe0 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
f000 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
f020 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
f040 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
f060 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
f080 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.
f0a0 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
f0c0 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
f0e0 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'.".
f100 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
f120 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
f140 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.........
f160 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
f180 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
f1a0 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
f1c0 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
f1e0 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
f200 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
f220 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
f240 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
f260 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))).
f280 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
f2a0 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
f2c0 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
f2e0 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
f300 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.
f320 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
f340 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.
f360 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
f380 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
f3a0 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.
f3c0 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
f3e0 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
f400 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.
f420 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.
f440 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
f460 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
f480 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
f4a0 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
f4c0 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
f4e0 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......,@(
f500 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
f520 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)................
f540 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)).
f560 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))...
f580 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/
f5a0 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.(
f5c0 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/%
f5e0 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))))..............
f600 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
f620 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
f640 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.".
f660 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))......
f680 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."
f6a0 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)))..........(
f6c0 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.(
f6e0 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])))...
f700 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--
f720 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).
f740 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
f760 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.()..
f780 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
f7a0 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
f7c0 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.
f7e0 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)......
f800 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)...
f820 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)).........
f840 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--
f860 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.
f880 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."...
f8a0 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)).
f8c0 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)
f8e0 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
f900 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
f920 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
f940 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.(
f960 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)..............
f980 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)).....
f9a0 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))).....
f9c0 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
f9e0 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..
fa00 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.............
fa20 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).................
fa40 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
fa60 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
fa80 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
faa0 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
fac0 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
fae0 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
fb00 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
fb20 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
fb40 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
fb60 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.".
fb80 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
fba0 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
fbc0 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
fbe0 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
fc00 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.
fc20 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
fc40 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)).......
fc60 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
fc80 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)))))..;;.
fca0 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
fcc0 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
fce0 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
fd00 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
fd20 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......
fd40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fd60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fd80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fda0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fdc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fde0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe00 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........
fe20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fe60 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
fe80 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...
fea0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fec0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
fee0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ff00 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...................
ff20 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...................
ff40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ff60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ff80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ffa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ffc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
ffe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
10000 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
10020 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.
10040 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
10060 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
10080 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.
100a0 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
100c0 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
100e0 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
10100 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
10120 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
10140 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
10160 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
10180 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
101a0 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
101c0 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
101e0 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
10200 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
10220 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
10240 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
10260 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.
10280 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.
102a0 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.
102c0 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
102e0 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..
10300 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
10320 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:.;;
10340 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
10360 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
10380 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)
103a0 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
103c0 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
103e0 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
10400 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
10420 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
10440 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
10460 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
10480 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
104a0 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
104c0 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
104e0 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
10500 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
10520 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.
10540 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
10560 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
10580 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
105a0 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
105c0 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.
105e0 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")..
10600 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
10620 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-
10640 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
10660 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
10680 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.
106a0 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
106c0 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
106e0 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-
10700 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")..
10720 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..
10740 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....
10760 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.'
10780 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
107a0 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
107c0 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
107e0 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
10800 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
10820 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
10840 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
10860 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
10880 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
108a0 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
108c0 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
108e0 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
10900 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
10920 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
10940 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
10960 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
10980 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
109a0 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
109c0 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
109e0 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
10a00 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")).
10a20 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
10a40 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
10a60 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
10a80 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
10aa0 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
10ac0 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
10ae0 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
10b00 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
10b20 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")...("
10b40 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...
10b60 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.........'(
10b80 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))........"
10ba0 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
10bc0 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
10be0 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
10c00 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
10c20 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
10c40 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
10c60 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
10c80 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")...(
10ca0 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..
10cc0 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.........'
10ce0 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))........"
10d00 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/
10d20 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"))
10d40 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
10d60 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
10d80 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:.
10da0 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
10dc0 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
10de0 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
10e00 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.
10e20 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
10e40 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
10e60 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
10e80 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"
10ea0 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)...
10ec0 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
10ee0 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
10f00 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
10f20 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
10f40 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
10f60 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
10f80 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
10fa0 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
10fc0 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.
10fe0 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).
11000 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-
11020 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.................
11040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11080 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
110a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
110c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
110e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11100 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11120 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11160 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11180 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
111a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
111c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
111e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11200 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..
11220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11260 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
11280 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...
112a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
112c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
112e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11300 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...................
11320 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...................
11340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
113a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
113c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
113e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
11400 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
11420 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
11440 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
11460 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
11480 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
114a0 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
114c0 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
114e0 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
11500 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
11520 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
11540 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
11560 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.;;.(
11580 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
115a0 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.
115c0 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
115e0 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;
11600 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
11620 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
11640 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
11660 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
11680 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
116a0 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
116c0 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.;;.
116e0 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
11700 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/
11720 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.
11740 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.
11760 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
11780 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
117a0 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..
117c0 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
117e0 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
11800 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
11820 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)..
11840 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
11860 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.
11880 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
118a0 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
118c0 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
118e0 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-
11900 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
11920 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
11940 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
11960 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
11980 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
119a0 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
119c0 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
119e0 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
11a00 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
11a20 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-
11a40 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
11a60 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
11a80 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
11aa0 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
11ac0 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
11ae0 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
11b00 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
11b20 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
11b40 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].;;.....
11b60 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
11b80 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.
11ba0 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].;;.
11bc0 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-
11be0 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
11c00 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
11c20 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
11c40 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
11c60 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
11c80 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
11ca0 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
11cc0 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
11ce0 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
11d00 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
11d20 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-
11d40 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
11d60 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
11d80 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".
11da0 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")...
11dc0 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").....("
11de0 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").....("
11e00 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
11e20 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
11e40 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
11e60 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
11e80 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
11ea0 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
11ec0 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.
11ee0 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.
11f00 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
11f20 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
11f40 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
11f60 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
11f80 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
11fa0 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
11fc0 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
11fe0 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
12000 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
12020 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)......
12040 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."
12060 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-
12080 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
120a0 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
120c0 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")..
120e0 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
12100 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")))
12120 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
12140 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
12160 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
12180 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
121a0 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.
121c0 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
121e0 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
12200 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
12220 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
12240 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.
12260 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
12280 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.
122a0 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
122c0 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
122e0 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
12300 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
12320 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
12340 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
12360 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
12380 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
123a0 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
123c0 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
123e0 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".;;.
12400 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
12420 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
12440 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.
12460 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...
12480 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
124a0 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
124c0 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/
124e0 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
12500 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
12520 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
12540 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
12560 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/
12580 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
125a0 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
125c0 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
125e0 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)......("
12600 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-
12620 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
12640 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")....
12660 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")..
12680 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
126a0 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
126c0 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"
126e0 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
12700 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))..;
12720 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
12740 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,.
12760 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
12780 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.
127a0 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
127c0 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
127e0 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
12800 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"..;;.;;
12820 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
12840 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.;
12860 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
12880 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
128a0 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,.
128c0 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
128e0 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
12900 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
12920 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
12940 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
12960 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
12980 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"....
129a0 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
129c0 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)..
129e0 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
12a00 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.
12a20 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
12a40 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.
12a60 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
12a80 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
12aa0 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
12ac0 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
12ae0 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
12b00 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:....
12b20 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
12b40 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
12b60 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
12b80 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
12ba0 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
12bc0 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".
12be0 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
12c00 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
12c20 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
12c40 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
12c60 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")).
12c80 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
12ca0 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
12cc0 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
12ce0 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
12d00 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
12d20 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-
12d40 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
12d60 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.
12d80 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.
12da0 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
12dc0 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
12de0 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'.(
12e00 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
12e20 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.........................
12e40 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^......
12e60 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
12e80 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.^^^^^^^^---
12ea0 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 --------------------------------
12ec0 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 ------------------------------..
12ee0 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_:.
12f00 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.......
12f20 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
12f40 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)
12f60 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.
12f80 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
12fa0 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....................../---
12fc0 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........^.^...
12fe0 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.......
13000 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................
13020 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.....^.
13040 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
13060 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^^
13080 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..
130a0 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 ....^.^................^.^......
130c0 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 ..........^^....................
130e0 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
13100 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
13120 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
13140 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-
13160 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
13180 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-
131a0 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
131c0 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
131e0 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)...("
13200 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-
13220 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
13240 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
13260 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
13280 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
132a0 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
132c0 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").
132e0 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
13300 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
13320 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".:
13340 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."
13360 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
13380 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
133a0 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
133c0 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-
133e0 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.;;.
13400 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
13420 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
13440 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
13460 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.
13480 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
134a0 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)...
134c0 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
134e0 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
13500 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
13520 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
13540 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
13560 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
13580 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
135a0 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".;;......
135c0 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
135e0 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
13600 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
13620 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:
13640 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-
13660 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............
13680 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_
136a0 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
136c0 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...
136e0 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
13700 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
13720 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
13740 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
13760 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)..
13780 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
137a0 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
137c0 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
137e0 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).
13800 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
13820 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.
13840 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
13860 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)..............
13880 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.......
138a0 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
138c0 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
138e0 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_..._
13900 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
13920 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
13940 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.^^^^........^.^
13960 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
13980 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
139a0 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"
139c0 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)...
139e0 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)...
13a00 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)...
13a20 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)
13a40 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)...
13a60 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)......
13a80 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).........
13aa0 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)..
13ac0 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"
13ae0 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
13b00 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
13b20 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
13b40 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.
13b60 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
13b80 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
13ba0 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.(
13bc0 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
13be0 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
13c00 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.................
13c20 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
13c40 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
13c60 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)))
13c80 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
13ca0 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
13cc0 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_:
13ce0 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.......
13d00 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
13d20 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
13d40 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
13d60 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
13d80 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?
13da0 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..
13dc0 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?"..
13de0 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)..
13e00 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
13e20 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]"."
13e40 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
13e60 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
13e80 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
13ea0 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
13ec0 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]"."[.
13ee0 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
13f00 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
13f20 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
13f40 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-
13f60 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
13f80 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."%
13fa0 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))...("
13fc0 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)))..
13fe0 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
14000 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
14020 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
14040 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
14060 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
14080 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
140a0 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
140c0 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
140e0 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
14100 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
14120 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
14140 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
14160 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
14180 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
141a0 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
141c0 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
141e0 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
14200 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
14220 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
14240 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
14260 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).
14280 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
142a0 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
142c0 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")
142e0 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
14300 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
14320 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
14340 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
14360 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
14380 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-
143a0 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").
143c0 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
143e0 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
14400 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
14420 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
14440 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
14460 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
14480 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
144a0 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
144c0 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
144e0 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)).......(
14500 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).
14520 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
14540 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
14560 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
14580 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."
145a0 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
145c0 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
145e0 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
14600 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)....
14620 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
14640 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-
14660 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
14680 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.
146a0 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))...
146c0 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
146e0 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
14700 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
14720 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
14740 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
14760 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
14780 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))......
147a0 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.'
147c0 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)..
147e0 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
14800 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
14820 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
14840 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
14860 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....
14880 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
148a0 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)))...
148c0 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).....
148e0 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
14900 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
14920 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
14940 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
14960 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...............................
14980 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
149a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
149c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
149e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14a00 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/...........
14a20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14a40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14a60 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
14a80 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...
14aa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ac0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ae0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14b00 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...................
14b20 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...................
14b40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14b60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14b80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ba0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14be0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14c00 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.
14c20 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..............................
14c40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14c60 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
14c80 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...
14ca0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14cc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14ce0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14d00 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...................
14d20 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...................
14d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14d60 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14d80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14da0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14dc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14de0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
14e00 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
14e20 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
14e40 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...;;
14e60 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
14e80 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
14ea0 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
14ec0 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.;
14ee0 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.
14f00 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
14f20 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
14f40 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.
14f60 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).
14f80 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
14fa0 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
14fc0 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
14fe0 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
15000 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
15020 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
15040 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
15060 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
15080 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
150a0 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
150c0 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
150e0 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
15100 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
15120 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).(
15140 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
15160 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
15180 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)
151a0 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
151c0 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
151e0 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
15200 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 ")).............................
15220 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15240 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15260 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15280 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
152a0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
152c0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
152e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15300 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15320 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15340 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15360 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
15380 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
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 ................................