aboutsummaryrefslogtreecommitdiffstats
path: root/src/xmenu.c
diff options
context:
space:
mode:
authorKaroly Lorentey2006-10-14 17:36:28 +0000
committerKaroly Lorentey2006-10-14 17:36:28 +0000
commit12b6af5c7ed2cfdb9783312bf890cf1e6c80c67a (patch)
tree1775f9fd1c92defd8b61304a08ec00da95bc4539 /src/xmenu.c
parent3f87f67ee215ffeecbd2f53bd7f342cdf03f47df (diff)
parentf763da8d0808af7c80d72bc586bf4fcf50b37ddd (diff)
downloademacs-12b6af5c7ed2cfdb9783312bf890cf1e6c80c67a.tar.gz
emacs-12b6af5c7ed2cfdb9783312bf890cf1e6c80c67a.zip
Merged from emacs@sv.gnu.org
Patches applied: * emacs@sv.gnu.org/emacs--devo--0--patch-413 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-414 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-415 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-416 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-417 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-418 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-419 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-420 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-421 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-422 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-423 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-424 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-425 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-426 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-427 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-428 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-429 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-430 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-431 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-432 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-433 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-434 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-435 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-436 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-437 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-438 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-439 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-440 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-441 lisp/url/url-methods.el: Fix format error when http_proxy is empty string * emacs@sv.gnu.org/emacs--devo--0--patch-442 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-443 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-444 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-445 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-446 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-447 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-448 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-449 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-450 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-451 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-452 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-453 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-454 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-455 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-456 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-457 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-458 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-459 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-460 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-461 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-462 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-463 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-464 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-465 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-466 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-467 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-468 Merge from gnus--rel--5.10 * emacs@sv.gnu.org/emacs--devo--0--patch-469 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-470 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-471 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-472 Update from CVS * emacs@sv.gnu.org/emacs--devo--0--patch-473 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-128 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-129 Merge from emacs--devo--0 * emacs@sv.gnu.org/gnus--rel--5.10--patch-130 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-131 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-132 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-133 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-134 Merge from emacs--devo--0 * emacs@sv.gnu.org/gnus--rel--5.10--patch-135 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-136 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-137 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-138 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-139 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-140 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-141 Merge from emacs--devo--0 * emacs@sv.gnu.org/gnus--rel--5.10--patch-142 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-143 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-144 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-145 Merge from emacs--devo--0 * emacs@sv.gnu.org/gnus--rel--5.10--patch-146 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-147 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-148 Update from CVS * emacs@sv.gnu.org/gnus--rel--5.10--patch-149 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-582
Diffstat (limited to 'src/xmenu.c')
-rw-r--r--src/xmenu.c29
1 files changed, 16 insertions, 13 deletions
diff --git a/src/xmenu.c b/src/xmenu.c
index 1650222ae84..b615d321cc7 100644
--- a/src/xmenu.c
+++ b/src/xmenu.c
@@ -97,10 +97,10 @@ Boston, MA 02110-1301, USA. */
97#define FALSE 0 97#define FALSE 0
98#endif /* no TRUE */ 98#endif /* no TRUE */
99 99
100Lisp_Object Vmenu_updating_frame;
101
102Lisp_Object Qdebug_on_next_call; 100Lisp_Object Qdebug_on_next_call;
103 101
102extern Lisp_Object Vmenu_updating_frame;
103
104extern Lisp_Object Qmenu_bar; 104extern Lisp_Object Qmenu_bar;
105 105
106extern Lisp_Object QCtoggle, QCradio; 106extern Lisp_Object QCtoggle, QCradio;
@@ -1191,6 +1191,10 @@ x_menu_set_in_use (in_use)
1191{ 1191{
1192 menu_items_inuse = in_use ? Qt : Qnil; 1192 menu_items_inuse = in_use ? Qt : Qnil;
1193 popup_activated_flag = in_use; 1193 popup_activated_flag = in_use;
1194#ifdef USE_X_TOOLKIT
1195 if (popup_activated_flag)
1196 x_activate_timeout_atimer ();
1197#endif
1194} 1198}
1195 1199
1196/* Wait for an X event to arrive or for a timer to expire. */ 1200/* Wait for an X event to arrive or for a timer to expire. */
@@ -1310,7 +1314,7 @@ popup_get_selection (initial_event, dpyinfo, id, do_timers)
1310 } 1314 }
1311} 1315}
1312 1316
1313DEFUN ("x-menu-bar-open", Fx_menu_bar_open, Sx_menu_bar_open, 0, 1, "i", 1317DEFUN ("x-menu-bar-open-internal", Fx_menu_bar_open_internal, Sx_menu_bar_open_internal, 0, 1, "i",
1314 doc: /* Start key navigation of the menu bar in FRAME. 1318 doc: /* Start key navigation of the menu bar in FRAME.
1315This initially opens the first menu bar item and you can then navigate with the 1319This initially opens the first menu bar item and you can then navigate with the
1316arrow keys, select a menu entry with the return key or cancel with the 1320arrow keys, select a menu entry with the return key or cancel with the
@@ -1389,7 +1393,7 @@ If FRAME is nil or not given, use the selected frame. */)
1389 1393
1390 1394
1391#ifdef USE_GTK 1395#ifdef USE_GTK
1392DEFUN ("x-menu-bar-open", Fx_menu_bar_open, Sx_menu_bar_open, 0, 1, "i", 1396DEFUN ("x-menu-bar-open-internal", Fx_menu_bar_open_internal, Sx_menu_bar_open_internal, 0, 1, "i",
1393 doc: /* Start key navigation of the menu bar in FRAME. 1397 doc: /* Start key navigation of the menu bar in FRAME.
1394This initially opens the first menu bar item and you can then navigate with the 1398This initially opens the first menu bar item and you can then navigate with the
1395arrow keys, select a menu entry with the return key or cancel with the 1399arrow keys, select a menu entry with the return key or cancel with the
@@ -1510,6 +1514,9 @@ popup_activate_callback (widget, id, client_data)
1510 XtPointer client_data; 1514 XtPointer client_data;
1511{ 1515{
1512 popup_activated_flag = 1; 1516 popup_activated_flag = 1;
1517#ifdef USE_X_TOOLKIT
1518 x_activate_timeout_atimer ();
1519#endif
1513} 1520}
1514#endif 1521#endif
1515 1522
@@ -2828,6 +2835,7 @@ create_and_show_popup_menu (f, first_wv, x, y, for_click)
2828 /* Display the menu. */ 2835 /* Display the menu. */
2829 lw_popup_menu (menu, (XEvent *) &dummy); 2836 lw_popup_menu (menu, (XEvent *) &dummy);
2830 popup_activated_flag = 1; 2837 popup_activated_flag = 1;
2838 x_activate_timeout_atimer ();
2831 2839
2832 { 2840 {
2833 int fact = 4 * sizeof (LWLIB_ID); 2841 int fact = 4 * sizeof (LWLIB_ID);
@@ -3214,6 +3222,7 @@ create_and_show_dialog (f, first_wv)
3214 /* Display the dialog box. */ 3222 /* Display the dialog box. */
3215 lw_pop_up_all_widgets (dialog_id); 3223 lw_pop_up_all_widgets (dialog_id);
3216 popup_activated_flag = 1; 3224 popup_activated_flag = 1;
3225 x_activate_timeout_atimer ();
3217 3226
3218 /* Process events that apply to the dialog box. 3227 /* Process events that apply to the dialog box.
3219 Also handle timers. */ 3228 Also handle timers. */
@@ -3803,11 +3812,6 @@ syms_of_xmenu ()
3803 Qdebug_on_next_call = intern ("debug-on-next-call"); 3812 Qdebug_on_next_call = intern ("debug-on-next-call");
3804 staticpro (&Qdebug_on_next_call); 3813 staticpro (&Qdebug_on_next_call);
3805 3814
3806 DEFVAR_LISP ("menu-updating-frame", &Vmenu_updating_frame,
3807 doc: /* Frame for which we are updating a menu.
3808The enable predicate for a menu command should check this variable. */);
3809 Vmenu_updating_frame = Qnil;
3810
3811#ifdef USE_X_TOOLKIT 3815#ifdef USE_X_TOOLKIT
3812 widget_id_tick = (1<<16); 3816 widget_id_tick = (1<<16);
3813 next_menubar_widget_id = 1; 3817 next_menubar_widget_id = 1;
@@ -3816,10 +3820,9 @@ The enable predicate for a menu command should check this variable. */);
3816 defsubr (&Sx_popup_menu); 3820 defsubr (&Sx_popup_menu);
3817 3821
3818#if defined (USE_GTK) || defined (USE_X_TOOLKIT) 3822#if defined (USE_GTK) || defined (USE_X_TOOLKIT)
3819 defsubr (&Sx_menu_bar_open); 3823 defsubr (&Sx_menu_bar_open_internal);
3820 Fdefalias (intern ("accelerate-menu"), 3824 Ffset (intern ("accelerate-menu"),
3821 intern (Sx_menu_bar_open.symbol_name), 3825 intern (Sx_menu_bar_open_internal.symbol_name));
3822 Qnil);
3823#endif 3826#endif
3824 3827
3825#ifdef HAVE_MENUS 3828#ifdef HAVE_MENUS