4.4BSD/usr/src/contrib/emacs-18.57/lisp/x-menu.elc


(defmacro caar (conscell) (byte-code "มมDD‡" [conscell car] 3))

(defmacro cdar (conscell) (byte-code "มยDD‡" [conscell cdr car] 3))

(defun x-menu-mode nil "\
Major mode for creating permanent menus for use with X.
These menus are implemented entirely in Lisp; popup menus, implemented
with x-popup-menu, are implemented using XMenu primitives." (byte-code "ลฦ!ˆลว!ˆลศ!ˆลร!ˆลษ!ˆม‰ˆม‰ˆส‰ˆห‰‡" [buffer-read-only t truncate-lines x-process-mouse-hook mode-line-buffer-identification make-local-variable x-menu-items-per-line x-menu-item-width x-menu-items-alist x-menu-assoc-buffer x-menu-pick-entry ("MENU: %32b")] 7))

(defvar x-menu-max-width 0)

(defvar x-menu-items-per-line 0)

(defvar x-menu-item-width 0)

(defvar x-menu-items-alist nil)

(defvar x-menu-assoc-buffer nil)

(defvar x-menu-item-spacing 1 "\
*Minimum horizontal spacing between objects in a permanent X menu.")

(defun x-menu-create-menu (name) "\
Create a permanent X menu.  Returns an item which should be used as a
menu object whenever referring to the menu." (byte-code "pฤ
!	qˆล ˆ‰ˆqˆ	*‡" [old buf name x-menu-assoc-buffer get-buffer-create x-menu-mode] 4))

(defun x-menu-change-associated-buffer (menu buffer) "\
Change associated buffer of MENU to BUFFER.  BUFFER should be a buffer
object." (byte-code "p	qˆ‰ˆq)‡" [old menu x-menu-assoc-buffer buffer] 2))

(defun x-menu-add-item (menu item binding) "\
Adds to MENU an item with name ITEM, associated with BINDING.
Following a sequence of calls to x-menu-add-item, a call to x-menu-compute
should be performed before the menu will be made available to the user.

BINDING should be a function of one argument, which is the numerical
button/key code as defined in x-menu.el." (byte-code "pฦ
qˆว\"‰ƒศ	
\"‚ ษ
BC\"‰ˆqˆ*‡" [old elt menu item x-menu-items-alist binding nil assoc rplacd append] 6))

(defun x-menu-delete-item (menu item) "\
Deletes from MENU the item named ITEM.  x-menu-compute should be called
before the menu is made available to the user." (byte-code "pล
qˆฦ\"‰…ว	ล\"ˆqˆ*‡" [old elt menu item x-menu-items-alist nil assoc rplaca] 4))

(defun x-menu-activate (menu) "\
Computes all necessary parameters for MENU.  This must be called whenever
a menu is modified before it is made available to the user.

This also creates the menu itself." (byte-code "pห	!ˆฬอ S‰ˆฮ‰ˆฬ…@@@…5@
B‰ˆ@@G]‰ˆA‰ˆ‚ˆฯ
!‰*ˆ\\‰ˆะั\"]‰	ˆา ˆ
…”ฮ

…t
T‰
	X…Œำิี!ึQ
@@\"cˆ
A‰ˆ‚g)ˆืcˆ‚`)ˆุฮู ฺed\"TZ]!ˆeb)ˆห!)‡" [buf menu buffer-read-only x-menu-max-width x-menu-item-width items-head items-tail x-menu-items-alist x-menu-item-spacing x-menu-items-per-line items pop-to-buffer nil screen-width 0 reverse 1 / erase-buffer format "%" int-to-string "s" 10 shrink-window window-height count-lines] 14))

(defun x-menu-pick-entry (position event) "\
Internal function for dispatching on mouse/menu events" (byte-code "	Sษi
\"^สe`\"หi!ƒฬ‚อZฮ	\"\\8A
…/ฯ
\",ˆะ!‡" [x x-menu-items-per-line x-menu-item-width y item litem x-menu-items-alist event x-menu-assoc-buffer / count-lines zerop 0 1 * funcall pop-to-buffer] 7))