summaryrefslogtreecommitdiff
path: root/lisp/x-menu.elc
blob: b7707c57aa7960e8b1bb6cfeba02c160c5e8bc6a (plain)
ofshex dumpascii
0000 0a 28 64 65 66 6d 61 63 72 6f 20 63 61 61 72 20 28 63 6f 6e 73 63 65 6c 6c 29 20 28 62 79 74 65 .(defmacro.caar.(conscell).(byte
0020 2d 63 6f 64 65 20 22 c1 c1 08 44 44 87 22 20 5b 63 6f 6e 73 63 65 6c 6c 20 63 61 72 5d 20 33 29 -code."...DD.".[conscell.car].3)
0040 29 0a 0a 28 64 65 66 6d 61 63 72 6f 20 63 64 61 72 20 28 63 6f 6e 73 63 65 6c 6c 29 20 28 62 79 )..(defmacro.cdar.(conscell).(by
0060 74 65 2d 63 6f 64 65 20 22 c1 c2 08 44 44 87 22 20 5b 63 6f 6e 73 63 65 6c 6c 20 63 64 72 20 63 te-code."...DD.".[conscell.cdr.c
0080 61 72 5d 20 33 29 29 0a 0a 28 64 65 66 75 6e 20 78 2d 6d 65 6e 75 2d 6d 6f 64 65 20 6e 69 6c 20 ar].3))..(defun.x-menu-mode.nil.
00a0 22 5c 0a 4d 61 6a 6f 72 20 6d 6f 64 65 20 66 6f 72 20 63 72 65 61 74 69 6e 67 20 70 65 72 6d 61 "\.Major.mode.for.creating.perma
00c0 6e 65 6e 74 20 6d 65 6e 75 73 20 66 6f 72 20 75 73 65 20 77 69 74 68 20 58 2e 0a 54 68 65 73 65 nent.menus.for.use.with.X..These
00e0 20 6d 65 6e 75 73 20 61 72 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 65 6e 74 69 72 65 6c 79 20 .menus.are.implemented.entirely.
0100 69 6e 20 4c 69 73 70 3b 20 70 6f 70 75 70 20 6d 65 6e 75 73 2c 20 69 6d 70 6c 65 6d 65 6e 74 65 in.Lisp;.popup.menus,.implemente
0120 64 0a 77 69 74 68 20 78 2d 70 6f 70 75 70 2d 6d 65 6e 75 2c 20 61 72 65 20 69 6d 70 6c 65 6d 65 d.with.x-popup-menu,.are.impleme
0140 6e 74 65 64 20 75 73 69 6e 67 20 58 4d 65 6e 75 20 70 72 69 6d 69 74 69 76 65 73 2e 22 20 28 62 nted.using.XMenu.primitives.".(b
0160 79 74 65 2d 63 6f 64 65 20 22 c5 c6 21 88 c5 c7 21 88 c5 c8 21 88 c5 c3 21 88 c5 c9 21 88 c1 89 yte-code."..!...!...!...!...!...
0180 10 88 c1 89 12 88 ca 89 13 88 cb 89 14 87 22 20 5b 62 75 66 66 65 72 2d 72 65 61 64 2d 6f 6e 6c ..............".[buffer-read-onl
01a0 79 20 74 20 74 72 75 6e 63 61 74 65 2d 6c 69 6e 65 73 20 78 2d 70 72 6f 63 65 73 73 2d 6d 6f 75 y.t.truncate-lines.x-process-mou
01c0 73 65 2d 68 6f 6f 6b 20 6d 6f 64 65 2d 6c 69 6e 65 2d 62 75 66 66 65 72 2d 69 64 65 6e 74 69 66 se-hook.mode-line-buffer-identif
01e0 69 63 61 74 69 6f 6e 20 6d 61 6b 65 2d 6c 6f 63 61 6c 2d 76 61 72 69 61 62 6c 65 20 78 2d 6d 65 ication.make-local-variable.x-me
0200 6e 75 2d 69 74 65 6d 73 2d 70 65 72 2d 6c 69 6e 65 20 78 2d 6d 65 6e 75 2d 69 74 65 6d 2d 77 69 nu-items-per-line.x-menu-item-wi
0220 64 74 68 20 78 2d 6d 65 6e 75 2d 69 74 65 6d 73 2d 61 6c 69 73 74 20 78 2d 6d 65 6e 75 2d 61 73 dth.x-menu-items-alist.x-menu-as
0240 73 6f 63 2d 62 75 66 66 65 72 20 78 2d 6d 65 6e 75 2d 70 69 63 6b 2d 65 6e 74 72 79 20 28 22 4d soc-buffer.x-menu-pick-entry.("M
0260 45 4e 55 3a 20 25 33 32 62 22 29 5d 20 37 29 29 0a 0a 28 64 65 66 76 61 72 20 78 2d 6d 65 6e 75 ENU:.%32b")].7))..(defvar.x-menu
0280 2d 6d 61 78 2d 77 69 64 74 68 20 30 29 0a 0a 28 64 65 66 76 61 72 20 78 2d 6d 65 6e 75 2d 69 74 -max-width.0)..(defvar.x-menu-it
02a0 65 6d 73 2d 70 65 72 2d 6c 69 6e 65 20 30 29 0a 0a 28 64 65 66 76 61 72 20 78 2d 6d 65 6e 75 2d ems-per-line.0)..(defvar.x-menu-
02c0 69 74 65 6d 2d 77 69 64 74 68 20 30 29 0a 0a 28 64 65 66 76 61 72 20 78 2d 6d 65 6e 75 2d 69 74 item-width.0)..(defvar.x-menu-it
02e0 65 6d 73 2d 61 6c 69 73 74 20 6e 69 6c 29 0a 0a 28 64 65 66 76 61 72 20 78 2d 6d 65 6e 75 2d 61 ems-alist.nil)..(defvar.x-menu-a
0300 73 73 6f 63 2d 62 75 66 66 65 72 20 6e 69 6c 29 0a 0a 28 64 65 66 76 61 72 20 78 2d 6d 65 6e 75 ssoc-buffer.nil)..(defvar.x-menu
0320 2d 69 74 65 6d 2d 73 70 61 63 69 6e 67 20 31 20 22 5c 0a 2a 4d 69 6e 69 6d 75 6d 20 68 6f 72 69 -item-spacing.1."\.*Minimum.hori
0340 7a 6f 6e 74 61 6c 20 73 70 61 63 69 6e 67 20 62 65 74 77 65 65 6e 20 6f 62 6a 65 63 74 73 20 69 zontal.spacing.between.objects.i
0360 6e 20 61 20 70 65 72 6d 61 6e 65 6e 74 20 58 20 6d 65 6e 75 2e 22 29 0a 0a 28 64 65 66 75 6e 20 n.a.permanent.X.menu.")..(defun.
0380 78 2d 6d 65 6e 75 2d 63 72 65 61 74 65 2d 6d 65 6e 75 20 28 6e 61 6d 65 29 20 22 5c 0a 43 72 65 x-menu-create-menu.(name)."\.Cre
03a0 61 74 65 20 61 20 70 65 72 6d 61 6e 65 6e 74 20 58 20 6d 65 6e 75 2e 20 20 52 65 74 75 72 6e 73 ate.a.permanent.X.menu...Returns
03c0 20 61 6e 20 69 74 65 6d 20 77 68 69 63 68 20 73 68 6f 75 6c 64 20 62 65 20 75 73 65 64 20 61 73 .an.item.which.should.be.used.as
03e0 20 61 0a 6d 65 6e 75 20 6f 62 6a 65 63 74 20 77 68 65 6e 65 76 65 72 20 72 65 66 65 72 72 69 6e .a.menu.object.whenever.referrin
0400 67 20 74 6f 20 74 68 65 20 6d 65 6e 75 2e 22 20 28 62 79 74 65 2d 63 6f 64 65 20 22 70 c4 0a 21 g.to.the.menu.".(byte-code."p..!
0420 19 18 09 71 88 c5 20 88 08 89 13 88 08 71 88 09 2a 87 22 20 5b 6f 6c 64 20 62 75 66 20 6e 61 6d ...q.........q..*.".[old.buf.nam
0440 65 20 78 2d 6d 65 6e 75 2d 61 73 73 6f 63 2d 62 75 66 66 65 72 20 67 65 74 2d 62 75 66 66 65 72 e.x-menu-assoc-buffer.get-buffer
0460 2d 63 72 65 61 74 65 20 78 2d 6d 65 6e 75 2d 6d 6f 64 65 5d 20 34 29 29 0a 0a 28 64 65 66 75 6e -create.x-menu-mode].4))..(defun
0480 20 78 2d 6d 65 6e 75 2d 63 68 61 6e 67 65 2d 61 73 73 6f 63 69 61 74 65 64 2d 62 75 66 66 65 72 .x-menu-change-associated-buffer
04a0 20 28 6d 65 6e 75 20 62 75 66 66 65 72 29 20 22 5c 0a 43 68 61 6e 67 65 20 61 73 73 6f 63 69 61 .(menu.buffer)."\.Change.associa
04c0 74 65 64 20 62 75 66 66 65 72 20 6f 66 20 4d 45 4e 55 20 74 6f 20 42 55 46 46 45 52 2e 20 20 42 ted.buffer.of.MENU.to.BUFFER...B
04e0 55 46 46 45 52 20 73 68 6f 75 6c 64 20 62 65 20 61 20 62 75 66 66 65 72 0a 6f 62 6a 65 63 74 2e UFFER.should.be.a.buffer.object.
0500 22 20 28 62 79 74 65 2d 63 6f 64 65 20 22 70 18 09 71 88 0b 89 12 88 08 71 29 87 22 20 5b 6f 6c ".(byte-code."p..q......q).".[ol
0520 64 20 6d 65 6e 75 20 78 2d 6d 65 6e 75 2d 61 73 73 6f 63 2d 62 75 66 66 65 72 20 62 75 66 66 65 d.menu.x-menu-assoc-buffer.buffe
0540 72 5d 20 32 29 29 0a 0a 28 64 65 66 75 6e 20 78 2d 6d 65 6e 75 2d 61 64 64 2d 69 74 65 6d 20 28 r].2))..(defun.x-menu-add-item.(
0560 6d 65 6e 75 20 69 74 65 6d 20 62 69 6e 64 69 6e 67 29 20 22 5c 0a 41 64 64 73 20 74 6f 20 4d 45 menu.item.binding)."\.Adds.to.ME
0580 4e 55 20 61 6e 20 69 74 65 6d 20 77 69 74 68 20 6e 61 6d 65 20 49 54 45 4d 2c 20 61 73 73 6f 63 NU.an.item.with.name.ITEM,.assoc
05a0 69 61 74 65 64 20 77 69 74 68 20 42 49 4e 44 49 4e 47 2e 0a 46 6f 6c 6c 6f 77 69 6e 67 20 61 20 iated.with.BINDING..Following.a.
05c0 73 65 71 75 65 6e 63 65 20 6f 66 20 63 61 6c 6c 73 20 74 6f 20 78 2d 6d 65 6e 75 2d 61 64 64 2d sequence.of.calls.to.x-menu-add-
05e0 69 74 65 6d 2c 20 61 20 63 61 6c 6c 20 74 6f 20 78 2d 6d 65 6e 75 2d 63 6f 6d 70 75 74 65 0a 73 item,.a.call.to.x-menu-compute.s
0600 68 6f 75 6c 64 20 62 65 20 70 65 72 66 6f 72 6d 65 64 20 62 65 66 6f 72 65 20 74 68 65 20 6d 65 hould.be.performed.before.the.me
0620 6e 75 20 77 69 6c 6c 20 62 65 20 6d 61 64 65 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 65 nu.will.be.made.available.to.the
0640 20 75 73 65 72 2e 0a 0a 42 49 4e 44 49 4e 47 20 73 68 6f 75 6c 64 20 62 65 20 61 20 66 75 6e 63 .user...BINDING.should.be.a.func
0660 74 69 6f 6e 20 6f 66 20 6f 6e 65 20 61 72 67 75 6d 65 6e 74 2c 20 77 68 69 63 68 20 69 73 20 74 tion.of.one.argument,.which.is.t
0680 68 65 20 6e 75 6d 65 72 69 63 61 6c 0a 62 75 74 74 6f 6e 2f 6b 65 79 20 63 6f 64 65 20 61 73 20 he.numerical.button/key.code.as.
06a0 64 65 66 69 6e 65 64 20 69 6e 20 78 2d 6d 65 6e 75 2e 65 6c 2e 22 20 28 62 79 74 65 2d 63 6f 64 defined.in.x-menu.el.".(byte-cod
06c0 65 20 22 70 c6 19 18 0a 71 88 c7 0b 0c 5c 22 89 11 83 17 00 c8 09 0d 5c 22 82 20 00 c9 0c 0b 0d e."p....q....\"........\".......
06e0 42 43 5c 22 89 14 88 08 71 88 0b 2a 87 22 20 5b 6f 6c 64 20 65 6c 74 20 6d 65 6e 75 20 69 74 65 BC\"....q..*.".[old.elt.menu.ite
0700 6d 20 78 2d 6d 65 6e 75 2d 69 74 65 6d 73 2d 61 6c 69 73 74 20 62 69 6e 64 69 6e 67 20 6e 69 6c m.x-menu-items-alist.binding.nil
0720 20 61 73 73 6f 63 20 72 70 6c 61 63 64 20 61 70 70 65 6e 64 5d 20 36 29 29 0a 0a 28 64 65 66 75 .assoc.rplacd.append].6))..(defu
0740 6e 20 78 2d 6d 65 6e 75 2d 64 65 6c 65 74 65 2d 69 74 65 6d 20 28 6d 65 6e 75 20 69 74 65 6d 29 n.x-menu-delete-item.(menu.item)
0760 20 22 5c 0a 44 65 6c 65 74 65 73 20 66 72 6f 6d 20 4d 45 4e 55 20 74 68 65 20 69 74 65 6d 20 6e ."\.Deletes.from.MENU.the.item.n
0780 61 6d 65 64 20 49 54 45 4d 2e 20 20 78 2d 6d 65 6e 75 2d 63 6f 6d 70 75 74 65 20 73 68 6f 75 6c amed.ITEM...x-menu-compute.shoul
07a0 64 20 62 65 20 63 61 6c 6c 65 64 0a 62 65 66 6f 72 65 20 74 68 65 20 6d 65 6e 75 20 69 73 20 6d d.be.called.before.the.menu.is.m
07c0 61 64 65 20 61 76 61 69 6c 61 62 6c 65 20 74 6f 20 74 68 65 20 75 73 65 72 2e 22 20 28 62 79 74 ade.available.to.the.user.".(byt
07e0 65 2d 63 6f 64 65 20 22 70 c5 19 18 0a 71 88 c6 0b 0c 5c 22 89 11 85 14 00 c7 09 c5 5c 22 88 08 e-code."p....q....\"........\"..
0800 71 88 0b 2a 87 22 20 5b 6f 6c 64 20 65 6c 74 20 6d 65 6e 75 20 69 74 65 6d 20 78 2d 6d 65 6e 75 q..*.".[old.elt.menu.item.x-menu
0820 2d 69 74 65 6d 73 2d 61 6c 69 73 74 20 6e 69 6c 20 61 73 73 6f 63 20 72 70 6c 61 63 61 5d 20 34 -items-alist.nil.assoc.rplaca].4
0840 29 29 0a 0a 28 64 65 66 75 6e 20 78 2d 6d 65 6e 75 2d 61 63 74 69 76 61 74 65 20 28 6d 65 6e 75 ))..(defun.x-menu-activate.(menu
0860 29 20 22 5c 0a 43 6f 6d 70 75 74 65 73 20 61 6c 6c 20 6e 65 63 65 73 73 61 72 79 20 70 61 72 61 )."\.Computes.all.necessary.para
0880 6d 65 74 65 72 73 20 66 6f 72 20 4d 45 4e 55 2e 20 20 54 68 69 73 20 6d 75 73 74 20 62 65 20 63 meters.for.MENU...This.must.be.c
08a0 61 6c 6c 65 64 20 77 68 65 6e 65 76 65 72 0a 61 20 6d 65 6e 75 20 69 73 20 6d 6f 64 69 66 69 65 alled.whenever.a.menu.is.modifie
08c0 64 20 62 65 66 6f 72 65 20 69 74 20 69 73 20 6d 61 64 65 20 61 76 61 69 6c 61 62 6c 65 20 74 6f d.before.it.is.made.available.to
08e0 20 74 68 65 20 75 73 65 72 2e 0a 0a 54 68 69 73 20 61 6c 73 6f 20 63 72 65 61 74 65 73 20 74 68 .the.user...This.also.creates.th
0900 65 20 6d 65 6e 75 20 69 74 73 65 6c 66 2e 22 20 28 62 79 74 65 2d 63 6f 64 65 20 22 70 18 cb 09 e.menu.itself.".(byte-code."p...
0920 21 88 cc 1a cd 20 53 89 13 88 ce 89 14 88 cc 0e 07 1e 06 1d 0e 06 85 40 00 0e 06 40 40 85 35 00 !.....S................@...@@.5.
0940 0e 06 40 0d 42 89 15 88 0c 0e 06 40 40 47 5d 89 14 88 0e 06 41 89 16 06 88 82 18 00 88 cf 0d 21 ..@.B......@@G].....A..........!
0960 89 16 07 2a 88 0e 08 0c 5c 5c 89 14 88 d0 d1 0b 0c 5c 22 5d 89 16 09 88 d2 20 88 0e 07 1d 0d 85 ...*....\\.......\"]............
0980 94 00 ce 1e 0a 0d 85 74 00 0e 0a 54 89 16 0a 0e 09 58 85 8c 00 d3 d4 d5 0c 21 d6 51 0d 40 40 5c .......t...T.....X.......!.Q.@@\
09a0 22 63 88 0d 41 89 15 88 82 67 00 29 88 d7 63 88 82 60 00 29 88 d8 ce d9 20 da 65 64 5c 22 54 5a "c..A....g.)..c..`.)......ed\"TZ
09c0 5d 21 88 65 62 29 88 cb 08 21 29 87 22 20 5b 62 75 66 20 6d 65 6e 75 20 62 75 66 66 65 72 2d 72 ]!.eb)...!).".[buf.menu.buffer-r
09e0 65 61 64 2d 6f 6e 6c 79 20 78 2d 6d 65 6e 75 2d 6d 61 78 2d 77 69 64 74 68 20 78 2d 6d 65 6e 75 ead-only.x-menu-max-width.x-menu
0a00 2d 69 74 65 6d 2d 77 69 64 74 68 20 69 74 65 6d 73 2d 68 65 61 64 20 69 74 65 6d 73 2d 74 61 69 -item-width.items-head.items-tai
0a20 6c 20 78 2d 6d 65 6e 75 2d 69 74 65 6d 73 2d 61 6c 69 73 74 20 78 2d 6d 65 6e 75 2d 69 74 65 6d l.x-menu-items-alist.x-menu-item
0a40 2d 73 70 61 63 69 6e 67 20 78 2d 6d 65 6e 75 2d 69 74 65 6d 73 2d 70 65 72 2d 6c 69 6e 65 20 69 -spacing.x-menu-items-per-line.i
0a60 74 65 6d 73 20 70 6f 70 2d 74 6f 2d 62 75 66 66 65 72 20 6e 69 6c 20 73 63 72 65 65 6e 2d 77 69 tems.pop-to-buffer.nil.screen-wi
0a80 64 74 68 20 30 20 72 65 76 65 72 73 65 20 31 20 2f 20 65 72 61 73 65 2d 62 75 66 66 65 72 20 66 dth.0.reverse.1./.erase-buffer.f
0aa0 6f 72 6d 61 74 20 22 25 22 20 69 6e 74 2d 74 6f 2d 73 74 72 69 6e 67 20 22 73 22 20 31 30 20 73 ormat."%".int-to-string."s".10.s
0ac0 68 72 69 6e 6b 2d 77 69 6e 64 6f 77 20 77 69 6e 64 6f 77 2d 68 65 69 67 68 74 20 63 6f 75 6e 74 hrink-window.window-height.count
0ae0 2d 6c 69 6e 65 73 5d 20 31 34 29 29 0a 0a 28 64 65 66 75 6e 20 78 2d 6d 65 6e 75 2d 70 69 63 6b -lines].14))..(defun.x-menu-pick
0b00 2d 65 6e 74 72 79 20 28 70 6f 73 69 74 69 6f 6e 20 65 76 65 6e 74 29 20 22 5c 0a 49 6e 74 65 72 -entry.(position.event)."\.Inter
0b20 6e 61 6c 20 66 75 6e 63 74 69 6f 6e 20 66 6f 72 20 64 69 73 70 61 74 63 68 69 6e 67 20 6f 6e 20 nal.function.for.dispatching.on.
0b40 6d 6f 75 73 65 2f 6d 65 6e 75 20 65 76 65 6e 74 73 22 20 28 62 79 74 65 2d 63 6f 64 65 20 22 09 mouse/menu.events".(byte-code.".
0b60 53 c9 69 0a 5c 22 5e 18 ca 65 60 5c 22 cb 69 21 83 16 00 cc 82 17 00 cd 5a 1b 08 ce 0b 09 5c 22 S.i.\"^..e`\".i!........Z.....\"
0b80 5c 5c 1c 0c 0e 06 38 41 1d 0d 85 2f 00 cf 0d 0e 07 5c 22 2c 88 d0 0e 08 21 87 22 20 5b 78 20 78 \\....8A.../.....\",....!.".[x.x
0ba0 2d 6d 65 6e 75 2d 69 74 65 6d 73 2d 70 65 72 2d 6c 69 6e 65 20 78 2d 6d 65 6e 75 2d 69 74 65 6d -menu-items-per-line.x-menu-item
0bc0 2d 77 69 64 74 68 20 79 20 69 74 65 6d 20 6c 69 74 65 6d 20 78 2d 6d 65 6e 75 2d 69 74 65 6d 73 -width.y.item.litem.x-menu-items
0be0 2d 61 6c 69 73 74 20 65 76 65 6e 74 20 78 2d 6d 65 6e 75 2d 61 73 73 6f 63 2d 62 75 66 66 65 72 -alist.event.x-menu-assoc-buffer
0c00 20 2f 20 63 6f 75 6e 74 2d 6c 69 6e 65 73 20 7a 65 72 6f 70 20 30 20 31 20 2a 20 66 75 6e 63 61 ./.count-lines.zerop.0.1.*.funca
0c20 6c 6c 20 70 6f 70 2d 74 6f 2d 62 75 66 66 65 72 5d 20 37 29 29 0a ll.pop-to-buffer].7)).