;ELC   
;;; Compiled by nelhage@localhost.localdomain on Sun Dec 11 02:47:27 2005
;;; from file /home/nelhage/Desktop/vm-7.19/vm-easymenu.el
;;; in Emacs version 22.0.50.7
;;; 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")))
    (error "`vm-easymenu.el' was compiled for Emacs 19 or later"))

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(defalias 'vm-easy-menu-define '(macro . #[(symbol maps doc menu) "\304\305\306	F\307\310D\n	\257E\207" [symbol doc maps menu progn defvar nil vm-easy-menu-do-define quote] 7 "\
Define a menu bar submenu in maps MAPS, according to MENU.
The menu keymap is stored in symbol SYMBOL, both as its value
and as its function definition.   DOC is used as the doc string for SYMBOL.

The first element of MENU must be a string.  It is the menu bar item name.
The rest of the elements are menu items.

A menu item is usually a vector of three elements:  [NAME CALLBACK ENABLE]

NAME is a string--the menu item name.

CALLBACK is a command to run when the item is chosen,
or a list to evaluate when the item is chosen.

ENABLE is an expression; the item is enabled for selection
whenever this expression's value is non-nil.

Alternatively, a menu item may have the form: 

   [ NAME CALLBACK [ KEYWORD ARG ] ... ]

Where KEYWORD is one of the symbol defined below.

   :keys KEYS

KEYS is a string; a complex keyboard equivalent to this menu item.
This is normally not needed because keyboard equivalents are usually
computed automatically.

   :active ENABLE

ENABLE is an expression; the item is enabled for selection
whenever this expression's value is non-nil.

   :suffix NAME

NAME is a string; the name of an argument to CALLBACK.

   :style 
   
STYLE is a symbol describing the type of menu item.  The following are
defined:  

toggle: A checkbox.  
        Currently just prepend the name with the string \"Toggle \".
radio: A radio button. 
nil: An ordinary menu item.

   :selected SELECTED

SELECTED is an expression; the checkbox or radio button is selected
whenever this expression's value is non-nil.
Currently just disable radio buttons, no effect on checkboxes.

A menu item can be a string.  Then that string appears in the menu as
unselectable text.  A string consisting solely of hyphens is displayed
as a solid horizontal line.

A menu item can be a list.  It is treated as a submenu.
The first element should be the submenu name.  That's used as the
menu item in the top-level menu.  The cdr of the submenu list
is a list of menu items, as above."]))
(defalias 'vm-easy-menu-do-define #[(symbol maps doc menu) "\304	@	A\"L\210\305\306\n\307\310\311E\257M\210\312\313\314!\203# C\202$ \"\207" [symbol menu doc maps vm-easy-menu-create-keymaps lambda (event) (interactive "@e") easy-popup-menu event mapcar #[(map) "\303\304\305\306	@!\"	@\nJB#\207" [map menu symbol define-key vector menu-bar intern] 6] keymapp] 8])
(byte-code "\301B\302\301!\204 \303\301\304\"\210\301\207" [current-load-list vm-easy-menu-item-count default-boundp set-default 0] 3)
(defalias 'vm-easy-menu-create-keymaps #[(menu-name menu-items) "\306!\307\n!\211\203\233\n@\310!\205 \311H\312\211.\312/;\2039 \312\313\314\"\2033 \315\2024 /\202o:\203L \316@A\"@/\202o\310!\203o\f9\203\\ \f\202i \317\320\3210\"!0T0\322H/\323H\21119\203>\3241!\322H\325U\203>\323\312\211\211\211\211234567G7V\203\372 7H17TH27\323\\71\326=\203\276 23\202\225 1\327=\203\314 24\202\225 1\330=\203\336 /\3312Q/\202\225 1\332=\203\354 26\202\225 1\333=\203\225 25\202\225 3\203/\3343\335R/6\336=\203\337/P/4\203$\340\3414#\210\20296\342=\20395\2039\340\341\3435D#\210.\202UG\344U\203N/\345\346HQ/\340\3411#\210)\347\f!\203b/\350P/\f9\204o\351\312\352\fFM\210\204\200	\312/D	AB\241\210\202\223/\203\223\353	\354\355/!!/B#\210-\nA\211\204\f 	)\207" [menu-name menu menu-items item callback command make-sparse-keymap reverse vectorp 1 nil string-match "^-+$" "" vm-easy-menu-create-keymaps make-symbol format "menu-function-%d" 0 2 symbol-name 58 :keys :active :suffix " " :style :selected "  (" ")" toggle "Toggle " put menu-enable radio not 4 " " 3 keymapp " ..." lambda (interactive) define-key vector intern enabler name vm-easy-menu-item-count keyword arg keys active selected style count] 7])
(defalias 'vm-easy-menu-change #[(path name items) "\304\305\306\307\310\311\312	C\"\"#!\313\n!\203 \n\314	\"A\241\202\" \315\316!)\207" [path name map items key-binding apply vector menu-bar mapcar intern append keymapp vm-easy-menu-create-keymaps error "Malformed menu in `vm-easy-menu-change'"] 9 "\
Change menu found at PATH as item NAME to contain ITEMS.
PATH is a list of strings for locating the menu containing NAME in the
menu bar.  ITEMS is a list of menu items, as in `vm-easy-menu-define'.
These items entirely replace the previous items in that map.

Call this from `activate-menubar-hook' to implement dynamic menus."])
(defalias 'vm-easy-menu-remove #[(menu) "\300\207" [nil] 1])
(defalias 'vm-easy-menu-add #[(menu &optional map) "\300\207" [nil] 1])
(provide 'vm-easymenu)
