;ELC   
;;; Compiled by rms@psilocin.gnu.ai.mit.edu on Mon Jun 23 15:03:44 1997
;;; from file /home/fsf/rms/e19/lisp/x-menu.el
;;; in Emacs version 19.34.94.37
;;; with bytecomp version 2.29
;;; with all optimizations.
;;; This file uses opcodes which do not exist in Emacs 18.

(if (and (boundp 'emacs-version)
	 (< (aref emacs-version (1- (length emacs-version))) ?A)
	 (or (and (boundp 'epoch::version) epoch::version)
	     (string-lessp emacs-version "19.29")))
    (error "`x-menu.el' was compiled for Emacs 19.29 or later"))


#@187 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.
(defalias 'x-menu-mode #[nil "!!!!!ʉ" [make-local-variable x-menu-items-per-line x-menu-item-width x-menu-items-alist x-process-mouse-hook x-menu-assoc-buffer t buffer-read-only truncate-lines x-menu-pick-entry ("MENU: %32b") mode-line-buffer-identification] 2 (#$ . 541)])
(byte-code "! B! B!  B!- B!: BǇ" [boundp x-menu-max-width 0 current-load-list x-menu-items-per-line x-menu-item-width x-menu-items-alist nil x-menu-assoc-buffer] 2)
#@68 *Minimum horizontal spacing between objects in a permanent X menu.
(defvar x-menu-item-spacing 1 (#$ . -1244))
#@114 Create a permanent X menu.
Returns an item which should be used as a
menu object whenever referring to the menu.
(defalias 'x-menu-create-menu #[(name) "p	!\nq q\n*" [get-buffer-create name buf old x-menu-mode x-menu-assoc-buffer] 3 (#$ . 1362)])
#@79 Change associated buffer of MENU to BUFFER.
BUFFER should be a buffer object.
(defalias 'x-menu-change-associated-buffer #[(menu buffer) "p	q\nq)" [old menu buffer x-menu-assoc-buffer] 1 (#$ . 1626)])
#@320 Add 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.
(defalias 'x-menu-add-item #[(menu item binding) "pq\" 	$ BC\"\nq*" [nil elt old menu assoc item x-menu-items-alist binding append] 4 (#$ . 1839)])
#@107 Delete from MENU the item named ITEM.
Call `x-menu-compute' before making the menu available to the user.
(defalias 'x-menu-delete-item #[(menu item) "pq\" 	\nq*" [nil elt old menu assoc item x-menu-items-alist] 3 (#$ . 2342)])
#@169 Compute 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.
(defalias 'x-menu-activate #[(menu) "p\n! S	\n\n> \n@@5 \n@B\n@@G]\nA\n !	*\\] 	  TX !Q@@\"cAi )c\\ ) ed\"TZ]!eb)!)" [buf pop-to-buffer menu nil buffer-read-only frame-width x-menu-max-width 0 x-menu-item-width x-menu-items-alist items-tail items-head reverse x-menu-item-spacing 1 x-menu-items-per-line erase-buffer items format "%" int-to-string "s" 10 shrink-window window-height count-lines] 7 (#$ . 2596)])
#@56 Internal function for dispatching on mouse/menu events
(defalias 'x-menu-pick-entry #[(position event) "Si	^e`\"iU Ă Z\n_\\8A	2 	\n!,\f!" [x-menu-items-per-line x-menu-item-width x count-lines 0 1 y item x-menu-items-alist litem event pop-to-buffer x-menu-assoc-buffer] 4 (#$ . 3287)])
(provide 'x-menu)
