Mercurial > emacs
diff src/macmenu.c @ 90208:890cc78a5a24
Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-74
Merge from emacs--cvs-trunk--0
Patches applied:
* emacs--cvs-trunk--0 (patch 493-503)
- Update from CVS
- Update from CVS: lisp/startup.el (command-line): Fix typo.
- Merge from gnus--rel--5.10
* gnus--rel--5.10 (patch 95-98)
- Update from CVS
author | Miles Bader <miles@gnu.org> |
---|---|
date | Fri, 29 Jul 2005 01:54:54 +0000 |
parents | f9a65d7ebd29 ceb2de3f0f69 |
children | 2d92f5c9d6ae |
line wrap: on
line diff
--- a/src/macmenu.c Tue Jul 26 12:03:19 2005 +0000 +++ b/src/macmenu.c Fri Jul 29 01:54:54 2005 +0000 @@ -611,37 +611,48 @@ DEFUN ("x-popup-menu", Fx_popup_menu, Sx_popup_menu, 2, 2, 0, doc: /* Pop up a deck-of-cards menu and return user's selection. -POSITION is a position specification. This is either a mouse button -event or a list ((XOFFSET YOFFSET) WINDOW) where XOFFSET and YOFFSET -are positions in pixels from the top left corner of WINDOW's frame -\(WINDOW may be a frame object instead of a window). This controls the -position of the center of the first line in the first pane of the -menu, not the top left of the menu as a whole. If POSITION is t, it -means to use the current mouse position. +POSITION is a position specification. This is either a mouse button event +or a list ((XOFFSET YOFFSET) WINDOW) +where XOFFSET and YOFFSET are positions in pixels from the top left +corner of WINDOW. (WINDOW may be a window or a frame object.) +This controls the position of the top left of the menu as a whole. +If POSITION is t, it means to use the current mouse position. MENU is a specifier for a menu. For the simplest case, MENU is a keymap. The menu items come from key bindings that have a menu string as well as -a definition; actually, the \"definition\" in such a key binding looks like +a definition; actually, the "definition" in such a key binding looks like \(STRING . REAL-DEFINITION). To give the menu a title, put a string into the keymap as a top-level element. If REAL-DEFINITION is nil, that puts a nonselectable string in the menu. Otherwise, REAL-DEFINITION should be a valid key binding definition. -You can also use a list of keymaps as MENU. Then each keymap makes a -separate pane. When MENU is a keymap or a list of keymaps, the return -value is a list of events. +You can also use a list of keymaps as MENU. + Then each keymap makes a separate pane. -Alternatively, you can specify a menu of multiple panes with a list of -the form (TITLE PANE1 PANE2...), where each pane is a list of -form (TITLE ITEM1 ITEM2...). -Each ITEM is normally a cons cell (STRING . VALUE); but a string can -appear as an item--that makes a nonselectable line in the menu. +When MENU is a keymap or a list of keymaps, the return value is the +list of events corresponding to the user's choice. Note that +`x-popup-menu' does not actually execute the command bound to that +sequence of events. + +Alternatively, you can specify a menu of multiple panes + with a list of the form (TITLE PANE1 PANE2...), +where each pane is a list of form (TITLE ITEM1 ITEM2...). +Each ITEM is normally a cons cell (STRING . VALUE); +but a string can appear as an item--that makes a nonselectable line +in the menu. With this form of menu, the return value is VALUE from the chosen item. If POSITION is nil, don't display the menu at all, just precalculate the -cached information about equivalent key sequences. */) - (position, menu) +cached information about equivalent key sequences. + +If the user gets rid of the menu without making a valid choice, for +instance by clicking the mouse away from a valid choice or by typing +keyboard input, then this normally results in a quit and +`x-popup-menu' does not return. But if POSITION is a mouse button +event (indicating that the user invoked the menu with the mouse) then +no quit occurs and `x-popup-menu' returns nil. */) + (position, menu) Lisp_Object position, menu; { Lisp_Object keymap, tem; @@ -840,7 +851,7 @@ The dialog box appears in the middle of the specified frame. CONTENTS specifies the alternatives to display in the dialog box. -It is a list of the form (TITLE ITEM1 ITEM2...). +It is a list of the form (DIALOG ITEM1 ITEM2...). Each ITEM is a cons cell (STRING . VALUE). The return value is VALUE from the chosen item. @@ -850,8 +861,12 @@ \(By default, approximately half appear on each side.) If HEADER is non-nil, the frame title for the box is "Information", -otherwise it is "Question". */) - (position, contents, header) +otherwise it is "Question". + +If the user gets rid of the dialog box without making a valid choice, +for instance using the window manager, then this produces a quit and +`x-popup-dialog' does not return. */) + (position, contents, header) Lisp_Object position, contents, header; { FRAME_PTR f = NULL;