Mercurial > emacs
view oldXMenu/Post.c @ 112210:43d75ad47207
* lisp/progmodes/prolog.el: Use syntax-propertize. Further code cleanup.
(prolog-use-prolog-tokenizer-flag): Change default when
syntax-propertize can be used.
(prolog-syntax-propertize-function): New var.
(prolog-mode-variables): Move make-local-variable into `set'.
Don't make comment-column local since we don't set it.
Set comment-add (as it was in previous prolog.el). Use dolist.
Set syntax-propertize-function.
(prolog-mode, prolog-inferior-mode):
Call prolog(-inferior)-menu directly, not through the mode-hook.
(prolog-buffer-module, prolog-indent-level)
(prolog-paren-is-the-first-on-line-p, prolog-paren-balance)
(prolog-comment-limits, prolog-goto-comment-column):
Use line-(end|beginning)-position.
(prolog-build-prolog-command): Tighten up regexp.
(prolog-consult-compile): Move make-local-variable into `set'.
(prolog-consult-compile-filter, prolog-goto-next-paren)
(prolog-help-on-predicate, prolog-clause-info)
(prolog-mark-predicate): Don't let+setq.
(prolog-indent-line): Use indent-line-to.
Only call prolog-goto-comment-column if necessary.
(prolog-indent-level): Use bobp.
(prolog-first-pos-on-line): Remove, not used any more.
(prolog-in-string-or-comment): Use syntax-ppss if available.
(prolog-help-on-predicate): Use read-string.
(prolog-goto-predicate-info): Simplify.
(prolog-read-predicate): Use `default' rather than `initial'.
(prolog-temporary-file): Use make-temp-file to close a security hole.
(prolog-toggle-sicstus-sd): New command.
(prolog-electric-underscore, prolog-variables-to-anonymous):
Use dynamic-scoping as it was meant.
(prolog-menu): Move menu definitions to top-level.
Use a toggle-button for Sicstus's source debugger.
Change "Code" to the more usual "Prolog", and hence change "Prolog"
to "System".
(prolog-inferior-menu): Reuse prolog-menu's help menu.
Move other menu definition to top-level.
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Thu, 13 Jan 2011 15:46:38 -0500 |
parents | 5cc91198ffb2 |
children | ef719132ddfa |
line wrap: on
line source
/* Copyright Massachusetts Institute of Technology 1985 */ #include "copyright.h" /* * XMenu: MIT Project Athena, X Window system menu package * * XMenuPost - Maps a given menu to the display and activates * the menu for user selection. The user is allowed to * specify the mouse button event mask that will be used * to identify a selection request. When a selection * request is received (i.e., when the specified mouse * event occurs) the data returned will be either the * data associated with the particular selection active * at the time of the selection request or NULL if no * selection was active. A menu selection is shown to * be active by placing a highlight box around the * selection as the mouse cursor enters its active * region. Inactive selections will not be highlighted. * As the mouse cursor moved from one menu pane * to another menu pane the pane being entered is raised * and activated and the pane being left is deactivated. * If an error occurs NULL will be returned with the * p_num set to POST_ERROR, s_num set to * NO_SELECTION and _XMErrorCode set to an * appropriate value. * Every time the routine returns successfully the * p_num and s_num indices will be set to indicate * the currently active pane and/or selection. If the * mouse was not in a selection window at the time * s_num will be set to NO_SELECTION. * * Author: Tony Della Fera, DEC * August, 1984 * */ #include "XMenuInt.h" char * XMenuPost(register Display *display, register XMenu *menu, register int *p_num, register int *s_num, register int x_pos, register int y_pos, int event_mask) /* Previously opened display. */ /* Menu to post. */ /* Pane number selected. */ /* Selection number selected. */ /* X coordinate of menu position. */ /* Y coordinate of menu position. */ /* Mouse button event mask. */ { register int stat; /* Routine call return status. */ char *data; /* Return data. */ /* * Set up initial pane and selection assumptions. */ /* * Make the procedure call. */ stat = XMenuActivate( display, menu, p_num, s_num, x_pos, y_pos, event_mask, &data, 0); /* * Check the return value and return accordingly. */ switch (stat) { case XM_FAILURE: *p_num = POST_ERROR; *s_num = NO_SELECTION; return(NULL); case XM_NO_SELECT: case XM_IA_SELECT: *s_num = NO_SELECTION; return(NULL); case XM_SUCCESS: default: return(data); } } /* arch-tag: 7b6104e5-fa32-4342-aa17-05296a30dd70 (do not change this comment) */