aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKaroly Lorentey2005-05-06 21:06:31 +0000
committerKaroly Lorentey2005-05-06 21:06:31 +0000
commitc25b55138a36cf5f334070baf79ce61c1e956eed (patch)
tree74ec7f847395839fae3acd0179f1a779c5ebc3b9 /src
parent97c57fb2b8d271b2beba317c6213ab34190bfac7 (diff)
parent31640842b6cd2970ced612a422fa785d2d718dc0 (diff)
downloademacs-c25b55138a36cf5f334070baf79ce61c1e956eed.tar.gz
emacs-c25b55138a36cf5f334070baf79ce61c1e956eed.zip
Merged from miles@gnu.org--gnu-2005 (patch 68, 286-291)
Patches applied: * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-286 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-287 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-288 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-289 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-290 Update from CVS * miles@gnu.org--gnu-2005/emacs--cvs-trunk--0--patch-291 Merge from gnus--rel--5.10 * miles@gnu.org--gnu-2005/gnus--rel--5.10--patch-68 Update from CVS git-archimport-id: lorentey@elte.hu--2004/emacs--multi-tty--0--patch-341
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog82
-rw-r--r--src/buffer.c16
-rw-r--r--src/buffer.h5
-rw-r--r--src/charset.c17
-rw-r--r--src/commands.h4
-rw-r--r--src/dispnew.c2
-rw-r--r--src/emacs.c8
-rw-r--r--src/eval.c4
-rw-r--r--src/keyboard.c48
-rw-r--r--src/mac.c1
-rw-r--r--src/macros.c52
-rw-r--r--src/macros.h8
-rw-r--r--src/sysselect.h2
-rw-r--r--src/xdisp.c26
-rw-r--r--src/xmenu.c31
15 files changed, 201 insertions, 105 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 47d24852a66..02a81fb7f7c 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,85 @@
12005-05-05 Luc Teirlinck <teirllm@auburn.edu>
2
3 * eval.c (Fdefvaralias): Doc fix.
4
5 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Doc fixes.
6
72005-05-05 Kim F. Storm <storm@cua.dk>
8
9 * buffer.c (init_buffer_once): Set cursor_in_non_selected_windows
10 default value.
11 (syms_of_buffer): Add default-cursor-in-non-selected-windows.
12 Fix type of cursor-in-non-selected-windows.
13
142005-05-03 Jan Dj,Ad(Brv <jan.h.d@swipnet.se>
15
16 * mac.c: #undef init_process so not to conflict with system headers.
17
182005-05-02 Richard M. Stallman <rms@gnu.org>
19
20 * buffer.c (syms_of_buffer): Define cursor-in-non-selected-windows.
21
22 * buffer.h (struct buffer): Add cursor_in_non_selected_windows slot.
23
24 * xdisp.c (Vcursor_in_non_selected_windows)
25 (Qcursor_in_non_selected_windows): Vars deleted.
26 (syms_of_xdisp): Don't initialize them.
27 (get_window_cursor_type): Use cursor_in_non_selected_windows
28 buffer slot.
29
302005-05-02 Kim F. Storm <storm@cua.dk>
31
32 * macros.c (executing_kbd_macro_index): Rename from
33 executing_macro_index. All uses changed.
34 (executing_kbd_macro_iterations): Rename from
35 executing_macro_iterations. All uses changed.
36 (executing_kbd_macro): Rename from executing_macro.
37 All uses changed.
38 (syms_of_macros): Rename Lisp var executing-macro-index to
39 executing-kbd-macro-index.
40
41 * xdisp.c (move_it_in_display_line_to): Fix last change.
42
432005-05-01 Luc Teirlinck <teirllm@auburn.edu>
44
45 * xmenu.c (Fx_popup_menu): Doc fix.
46
47 * charset.c (syms_of_charset): Delete defsubr for Schars_in_region.
48
492005-05-02 Jason Rumney <jasonr@gnu.org>
50
51 * emacs.c (USAGE3, USAGE4): Keep strings below 2048 bytes.
52
532005-05-02 Nozomu Ando <nand@mac.com>
54
55 * sysselect.h: Fix typo.
56
572005-05-02 Nick Roberts <nickrob@snap.net.nz>
58
59 * charset.c (Fchars_in_region): Remove as obsolete.
60
612005-05-01 Kim F. Storm <storm@cua.dk>
62
63 * xdisp.c (move_it_in_display_line_to): Stop if we move beyond
64 TO_CHARPOS. This may happen if last glyphs was an image or stretch
65 glyph.
66
672005-05-01 Luc Teirlinck <teirllm@auburn.edu>
68
69 * dispnew.c (sit_for): Vexecuting_macro -> Vexecuting_kbd_macro.
70
712005-05-01 Richard M. Stallman <rms@gnu.org>
72
73 * xmenu.c [not HAVE_X_TOOLKIT] (xmenu_show):
74 If user cancels the menu, quit unless FOR_CLICK.
75
76 * macros.c (Vexecuting_kbd_macro): Renamed from Vexecuting_macro.
77 All uses changed.
78 (syms_of_macros): Define only executing-kbd-macro, not executing-macro.
79 * keyboard.c: Change Vexecuting_macro to Vexecuting_kbd_macro.
80 * macros.h (Vexecuting_kbd_macro): Declare instead of Vexecuting_macro.
81 * commands.h (Vexecuting_kbd_macro): Likewise.
82
12005-05-01 Thien-Thi Nguyen <ttn@gnu.org> 832005-05-01 Thien-Thi Nguyen <ttn@gnu.org>
2 84
3 * sysdep.c (get_frame_size) [VMS]: Use a fresh i/o channel. 85 * sysdep.c (get_frame_size) [VMS]: Use a fresh i/o channel.
diff --git a/src/buffer.c b/src/buffer.c
index 1fba9136375..e9567841c8e 100644
--- a/src/buffer.c
+++ b/src/buffer.c
@@ -1,6 +1,6 @@
1/* Buffer manipulation primitives for GNU Emacs. 1/* Buffer manipulation primitives for GNU Emacs.
2 Copyright (C) 1985, 86, 87, 88, 89, 93, 94, 95, 97, 98, 99, 2 Copyright (C) 1985, 86, 87, 88, 89, 93, 94, 95, 97, 98, 99,
3 2000, 01, 02, 03, 04, 2005 Free Software Foundation, Inc. 3 2000, 01, 02, 03, 04, 2005 Free Software Foundation, Inc.
4 4
5This file is part of GNU Emacs. 5This file is part of GNU Emacs.
6 6
@@ -4972,6 +4972,7 @@ init_buffer_once ()
4972 buffer_defaults.direction_reversed = Qnil; 4972 buffer_defaults.direction_reversed = Qnil;
4973 buffer_defaults.cursor_type = Qt; 4973 buffer_defaults.cursor_type = Qt;
4974 buffer_defaults.extra_line_spacing = Qnil; 4974 buffer_defaults.extra_line_spacing = Qnil;
4975 buffer_defaults.cursor_in_non_selected_windows = Qt;
4975 4976
4976#ifdef DOS_NT 4977#ifdef DOS_NT
4977 buffer_defaults.buffer_file_type = Qnil; /* TEXT */ 4978 buffer_defaults.buffer_file_type = Qnil; /* TEXT */
@@ -5068,6 +5069,7 @@ init_buffer_once ()
5068 XSETFASTINT (buffer_local_flags.header_line_format, idx); ++idx; 5069 XSETFASTINT (buffer_local_flags.header_line_format, idx); ++idx;
5069 XSETFASTINT (buffer_local_flags.cursor_type, idx); ++idx; 5070 XSETFASTINT (buffer_local_flags.cursor_type, idx); ++idx;
5070 XSETFASTINT (buffer_local_flags.extra_line_spacing, idx); ++idx; 5071 XSETFASTINT (buffer_local_flags.extra_line_spacing, idx); ++idx;
5072 XSETFASTINT (buffer_local_flags.cursor_in_non_selected_windows, idx); ++idx;
5071 5073
5072 /* Need more room? */ 5074 /* Need more room? */
5073 if (idx >= MAX_PER_BUFFER_VARS) 5075 if (idx >= MAX_PER_BUFFER_VARS)
@@ -5259,6 +5261,11 @@ This is the same as (default-value 'cursor-type). */);
5259 doc: /* Default value of `line-spacing' for buffers that don't override it. 5261 doc: /* Default value of `line-spacing' for buffers that don't override it.
5260This is the same as (default-value 'line-spacing). */); 5262This is the same as (default-value 'line-spacing). */);
5261 5263
5264 DEFVAR_LISP_NOPRO ("default-cursor-in-non-selected-windows",
5265 &buffer_defaults.cursor_in_non_selected_windows,
5266 doc: /* Default value of `cursor-in-non-selected-windows'.
5267This is the same as (default-value 'cursor-in-non-selected-windows). */);
5268
5262 DEFVAR_LISP_NOPRO ("default-abbrev-mode", 5269 DEFVAR_LISP_NOPRO ("default-abbrev-mode",
5263 &buffer_defaults.abbrev_mode, 5270 &buffer_defaults.abbrev_mode,
5264 doc: /* Default value of `abbrev-mode' for buffers that do not override it. 5271 doc: /* Default value of `abbrev-mode' for buffers that do not override it.
@@ -5938,6 +5945,11 @@ The space is measured in pixels, and put below lines on window systems.
5938If value is a floating point number, it specifies the spacing relative 5945If value is a floating point number, it specifies the spacing relative
5939to the default frame line height. */); 5946to the default frame line height. */);
5940 5947
5948 DEFVAR_PER_BUFFER ("cursor-in-non-selected-windows",
5949 &current_buffer->cursor_in_non_selected_windows, Qnil,
5950 doc: /* *Cursor type to display in non-selected windows.
5951t means to use hollow box cursor. See `cursor-type' for other values. */);
5952
5941 DEFVAR_LISP ("kill-buffer-query-functions", &Vkill_buffer_query_functions, 5953 DEFVAR_LISP ("kill-buffer-query-functions", &Vkill_buffer_query_functions,
5942 doc: /* List of functions called with no args to query before killing a buffer. */); 5954 doc: /* List of functions called with no args to query before killing a buffer. */);
5943 Vkill_buffer_query_functions = Qnil; 5955 Vkill_buffer_query_functions = Qnil;
diff --git a/src/buffer.h b/src/buffer.h
index bcb293a2e85..08627487c66 100644
--- a/src/buffer.h
+++ b/src/buffer.h
@@ -761,6 +761,11 @@ struct buffer
761 /* An integer > 0 means put that number of pixels below text lines 761 /* An integer > 0 means put that number of pixels below text lines
762 in the display of this buffer. */ 762 in the display of this buffer. */
763 Lisp_Object extra_line_spacing; 763 Lisp_Object extra_line_spacing;
764
765 /* *Cursor type to display in non-selected windows.
766 t means to use hollow box cursor.
767 See `cursor-type' for other values. */
768 Lisp_Object cursor_in_non_selected_windows;
764}; 769};
765 770
766 771
diff --git a/src/charset.c b/src/charset.c
index c03107a9c46..4a51c389d6d 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -1431,22 +1431,6 @@ The returned value is 0 for left-to-right and 1 for right-to-left. */)
1431 return CHARSET_TABLE_INFO (charset, CHARSET_DIRECTION_IDX); 1431 return CHARSET_TABLE_INFO (charset, CHARSET_DIRECTION_IDX);
1432} 1432}
1433 1433
1434DEFUN ("chars-in-region", Fchars_in_region, Schars_in_region, 2, 2, 0,
1435 doc: /* Return number of characters between BEG and END. */)
1436 (beg, end)
1437 Lisp_Object beg, end;
1438{
1439 int from, to;
1440
1441 CHECK_NUMBER_COERCE_MARKER (beg);
1442 CHECK_NUMBER_COERCE_MARKER (end);
1443
1444 from = min (XFASTINT (beg), XFASTINT (end));
1445 to = max (XFASTINT (beg), XFASTINT (end));
1446
1447 return make_number (to - from);
1448}
1449
1450/* Return the number of characters in the NBYTES bytes at PTR. 1434/* Return the number of characters in the NBYTES bytes at PTR.
1451 This works by looking at the contents and checking for multibyte sequences. 1435 This works by looking at the contents and checking for multibyte sequences.
1452 However, if the current buffer has enable-multibyte-characters = nil, 1436 However, if the current buffer has enable-multibyte-characters = nil,
@@ -1855,7 +1839,6 @@ syms_of_charset ()
1855 defsubr (&Schar_width); 1839 defsubr (&Schar_width);
1856 defsubr (&Sstring_width); 1840 defsubr (&Sstring_width);
1857 defsubr (&Schar_direction); 1841 defsubr (&Schar_direction);
1858 defsubr (&Schars_in_region);
1859 defsubr (&Sstring); 1842 defsubr (&Sstring);
1860 defsubr (&Ssetup_special_charsets); 1843 defsubr (&Ssetup_special_charsets);
1861 1844
diff --git a/src/commands.h b/src/commands.h
index f7831bc36a9..b9b1ad41933 100644
--- a/src/commands.h
+++ b/src/commands.h
@@ -76,11 +76,11 @@ extern Lisp_Object last_point_position_buffer;
76/* Nonzero means ^G can quit instantly */ 76/* Nonzero means ^G can quit instantly */
77extern int immediate_quit; 77extern int immediate_quit;
78 78
79extern Lisp_Object Vexecuting_macro; 79extern Lisp_Object Vexecuting_kbd_macro;
80 80
81/* Nonzero if input is coming from the keyboard */ 81/* Nonzero if input is coming from the keyboard */
82 82
83#define INTERACTIVE (NILP (Vexecuting_macro) && !noninteractive) 83#define INTERACTIVE (NILP (Vexecuting_kbd_macro) && !noninteractive)
84 84
85/* Set this nonzero to force reconsideration of mode line. */ 85/* Set this nonzero to force reconsideration of mode line. */
86 86
diff --git a/src/dispnew.c b/src/dispnew.c
index d7b5590c532..b0e9944868b 100644
--- a/src/dispnew.c
+++ b/src/dispnew.c
@@ -6383,7 +6383,7 @@ sit_for (sec, usec, reading, display, initial_display)
6383{ 6383{
6384 swallow_events (display); 6384 swallow_events (display);
6385 6385
6386 if (detect_input_pending_run_timers (display) || !NILP (Vexecuting_macro)) 6386 if (detect_input_pending_run_timers (display) || !NILP (Vexecuting_kbd_macro))
6387 return Qnil; 6387 return Qnil;
6388 6388
6389 if (initial_display) 6389 if (initial_display)
diff --git a/src/emacs.c b/src/emacs.c
index c084f61fd07..67cf1eb03be 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -324,16 +324,16 @@ Display options:\n\
324--xrm XRESOURCES set additional X resources\n\ 324--xrm XRESOURCES set additional X resources\n\
325--help display this help and exit\n\ 325--help display this help and exit\n\
326--version output version information and exit\n\ 326--version output version information and exit\n\
327\n\ 327\n"
328
329#define USAGE4 "\
328You can generally also specify long option names with a single -; for\n\ 330You can generally also specify long option names with a single -; for\n\
329example, -batch as well as --batch. You can use any unambiguous\n\ 331example, -batch as well as --batch. You can use any unambiguous\n\
330abbreviation for a --option.\n\ 332abbreviation for a --option.\n\
331\n\ 333\n\
332Various environment variables and window system resources also affect\n\ 334Various environment variables and window system resources also affect\n\
333Emacs' operation. See the main documentation.\n\ 335Emacs' operation. See the main documentation.\n\
334\n" 336\n\
335
336#define USAGE4 "\
337Report bugs to %s. First, please see the Bugs\n\ 337Report bugs to %s. First, please see the Bugs\n\
338section of the Emacs manual or the file BUGS.\n" 338section of the Emacs manual or the file BUGS.\n"
339 339
diff --git a/src/eval.c b/src/eval.c
index 6832f3197ad..8b6c1885727 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -725,7 +725,9 @@ DEFUN ("defvaralias", Fdefvaralias, Sdefvaralias, 2, 3, 0,
725 doc: /* Make SYMBOL a variable alias for symbol ALIASED. 725 doc: /* Make SYMBOL a variable alias for symbol ALIASED.
726Setting the value of SYMBOL will subsequently set the value of ALIASED, 726Setting the value of SYMBOL will subsequently set the value of ALIASED,
727and getting the value of SYMBOL will return the value ALIASED has. 727and getting the value of SYMBOL will return the value ALIASED has.
728Third arg DOCSTRING, if non-nil, is documentation for SYMBOL. 728Third arg DOCSTRING, if non-nil, is documentation for SYMBOL. If it is
729omitted or nil, SYMBOL gets the documentation string of ALIASED, or of the
730variable at the end of the chain of aliases, if ALIASED is itself an alias.
729The return value is ALIASED. */) 731The return value is ALIASED. */)
730 (symbol, aliased, docstring) 732 (symbol, aliased, docstring)
731 Lisp_Object symbol, aliased, docstring; 733 Lisp_Object symbol, aliased, docstring;
diff --git a/src/keyboard.c b/src/keyboard.c
index 9afcab10acd..e78b51d247b 100644
--- a/src/keyboard.c
+++ b/src/keyboard.c
@@ -1162,21 +1162,21 @@ cmd_error (data)
1162 cancel_hourglass (); 1162 cancel_hourglass ();
1163#endif 1163#endif
1164 1164
1165 if (!NILP (executing_macro)) 1165 if (!NILP (executing_kbd_macro))
1166 { 1166 {
1167 if (executing_macro_iterations == 1) 1167 if (executing_kbd_macro_iterations == 1)
1168 sprintf (macroerror, "After 1 kbd macro iteration: "); 1168 sprintf (macroerror, "After 1 kbd macro iteration: ");
1169 else 1169 else
1170 sprintf (macroerror, "After %d kbd macro iterations: ", 1170 sprintf (macroerror, "After %d kbd macro iterations: ",
1171 executing_macro_iterations); 1171 executing_kbd_macro_iterations);
1172 } 1172 }
1173 else 1173 else
1174 *macroerror = 0; 1174 *macroerror = 0;
1175 1175
1176 Vstandard_output = Qt; 1176 Vstandard_output = Qt;
1177 Vstandard_input = Qt; 1177 Vstandard_input = Qt;
1178 Vexecuting_macro = Qnil; 1178 Vexecuting_kbd_macro = Qnil;
1179 executing_macro = Qnil; 1179 executing_kbd_macro = Qnil;
1180 current_kboard->Vprefix_arg = Qnil; 1180 current_kboard->Vprefix_arg = Qnil;
1181 current_kboard->Vlast_prefix_arg = Qnil; 1181 current_kboard->Vlast_prefix_arg = Qnil;
1182 cancel_echoing (); 1182 cancel_echoing ();
@@ -1273,7 +1273,7 @@ command_loop ()
1273 { 1273 {
1274 Lisp_Object val; 1274 Lisp_Object val;
1275 val = internal_catch (Qexit, command_loop_2, Qnil); 1275 val = internal_catch (Qexit, command_loop_2, Qnil);
1276 executing_macro = Qnil; 1276 executing_kbd_macro = Qnil;
1277 return val; 1277 return val;
1278 } 1278 }
1279 else 1279 else
@@ -1285,7 +1285,7 @@ command_loop ()
1285 other reason. */ 1285 other reason. */
1286 any_kboard_state (); 1286 any_kboard_state ();
1287 internal_catch (Qtop_level, command_loop_2, Qnil); 1287 internal_catch (Qtop_level, command_loop_2, Qnil);
1288 executing_macro = Qnil; 1288 executing_kbd_macro = Qnil;
1289 1289
1290 /* End of file in -batch run causes exit here. */ 1290 /* End of file in -batch run causes exit here. */
1291 if (noninteractive) 1291 if (noninteractive)
@@ -1438,7 +1438,7 @@ command_loop_1 ()
1438 if (NILP (Vunread_command_events) 1438 if (NILP (Vunread_command_events)
1439 && NILP (Vunread_input_method_events) 1439 && NILP (Vunread_input_method_events)
1440 && NILP (Vunread_post_input_method_events) 1440 && NILP (Vunread_post_input_method_events)
1441 && NILP (Vexecuting_macro) 1441 && NILP (Vexecuting_kbd_macro)
1442 && !NILP (sit_for (0, post_command_idle_delay, 0, 1, 1))) 1442 && !NILP (sit_for (0, post_command_idle_delay, 0, 1, 1)))
1443 safe_run_hooks (Qpost_command_idle_hook); 1443 safe_run_hooks (Qpost_command_idle_hook);
1444 } 1444 }
@@ -1567,11 +1567,11 @@ command_loop_1 ()
1567 } 1567 }
1568 1568
1569 cmd = read_key_sequence_cmd; 1569 cmd = read_key_sequence_cmd;
1570 if (!NILP (Vexecuting_macro)) 1570 if (!NILP (Vexecuting_kbd_macro))
1571 { 1571 {
1572 if (!NILP (Vquit_flag)) 1572 if (!NILP (Vquit_flag))
1573 { 1573 {
1574 Vexecuting_macro = Qt; 1574 Vexecuting_kbd_macro = Qt;
1575 QUIT; /* Make some noise. */ 1575 QUIT; /* Make some noise. */
1576 /* Will return since macro now empty. */ 1576 /* Will return since macro now empty. */
1577 } 1577 }
@@ -1670,7 +1670,7 @@ command_loop_1 ()
1670 && EQ (current_buffer->selective_display, Qnil) 1670 && EQ (current_buffer->selective_display, Qnil)
1671 && !detect_input_pending () 1671 && !detect_input_pending ()
1672 && NILP (XWINDOW (selected_window)->column_number_displayed) 1672 && NILP (XWINDOW (selected_window)->column_number_displayed)
1673 && NILP (Vexecuting_macro)) 1673 && NILP (Vexecuting_kbd_macro))
1674 direct_output_forward_char (1); 1674 direct_output_forward_char (1);
1675 goto directly_done; 1675 goto directly_done;
1676 } 1676 }
@@ -1705,7 +1705,7 @@ command_loop_1 ()
1705 && EQ (current_buffer->selective_display, Qnil) 1705 && EQ (current_buffer->selective_display, Qnil)
1706 && !detect_input_pending () 1706 && !detect_input_pending ()
1707 && NILP (XWINDOW (selected_window)->column_number_displayed) 1707 && NILP (XWINDOW (selected_window)->column_number_displayed)
1708 && NILP (Vexecuting_macro)) 1708 && NILP (Vexecuting_kbd_macro))
1709 direct_output_forward_char (-1); 1709 direct_output_forward_char (-1);
1710 goto directly_done; 1710 goto directly_done;
1711 } 1711 }
@@ -1718,7 +1718,7 @@ command_loop_1 ()
1718 = translate_char (Vtranslation_table_for_input, 1718 = translate_char (Vtranslation_table_for_input,
1719 XFASTINT (last_command_char), 0, 0, 0); 1719 XFASTINT (last_command_char), 0, 0, 0);
1720 int value; 1720 int value;
1721 if (NILP (Vexecuting_macro) 1721 if (NILP (Vexecuting_kbd_macro)
1722 && !EQ (minibuf_window, selected_window)) 1722 && !EQ (minibuf_window, selected_window))
1723 { 1723 {
1724 if (!nonundocount || nonundocount >= 20) 1724 if (!nonundocount || nonundocount >= 20)
@@ -1740,7 +1740,7 @@ command_loop_1 ()
1740 || !EQ (current_buffer->selective_display, Qnil) 1740 || !EQ (current_buffer->selective_display, Qnil)
1741 || detect_input_pending () 1741 || detect_input_pending ()
1742 || !NILP (XWINDOW (selected_window)->column_number_displayed) 1742 || !NILP (XWINDOW (selected_window)->column_number_displayed)
1743 || !NILP (Vexecuting_macro)); 1743 || !NILP (Vexecuting_kbd_macro));
1744 1744
1745 value = internal_self_insert (c, 0); 1745 value = internal_self_insert (c, 0);
1746 1746
@@ -1768,7 +1768,7 @@ command_loop_1 ()
1768 int scount = SPECPDL_INDEX (); 1768 int scount = SPECPDL_INDEX ();
1769 1769
1770 if (display_hourglass_p 1770 if (display_hourglass_p
1771 && NILP (Vexecuting_macro)) 1771 && NILP (Vexecuting_kbd_macro))
1772 { 1772 {
1773 record_unwind_protect (cancel_hourglass_unwind, Qnil); 1773 record_unwind_protect (cancel_hourglass_unwind, Qnil);
1774 start_hourglass (); 1774 start_hourglass ();
@@ -1786,7 +1786,7 @@ command_loop_1 ()
1786 hourglass cursor anyway. 1786 hourglass cursor anyway.
1787 But don't cancel the hourglass within a macro 1787 But don't cancel the hourglass within a macro
1788 just because a command in the macro finishes. */ 1788 just because a command in the macro finishes. */
1789 if (NILP (Vexecuting_macro)) 1789 if (NILP (Vexecuting_kbd_macro))
1790 unbind_to (scount, Qnil); 1790 unbind_to (scount, Qnil);
1791#endif 1791#endif
1792 } 1792 }
@@ -1812,7 +1812,7 @@ command_loop_1 ()
1812 if (NILP (Vunread_command_events) 1812 if (NILP (Vunread_command_events)
1813 && NILP (Vunread_input_method_events) 1813 && NILP (Vunread_input_method_events)
1814 && NILP (Vunread_post_input_method_events) 1814 && NILP (Vunread_post_input_method_events)
1815 && NILP (Vexecuting_macro) 1815 && NILP (Vexecuting_kbd_macro)
1816 && !NILP (sit_for (0, post_command_idle_delay, 0, 1, 1))) 1816 && !NILP (sit_for (0, post_command_idle_delay, 0, 1, 1)))
1817 safe_run_hooks (Qpost_command_idle_hook); 1817 safe_run_hooks (Qpost_command_idle_hook);
1818 } 1818 }
@@ -2493,7 +2493,7 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu)
2493 2493
2494 this_command_key_count_reset = 0; 2494 this_command_key_count_reset = 0;
2495 2495
2496 if (!NILP (Vexecuting_macro)) 2496 if (!NILP (Vexecuting_kbd_macro))
2497 { 2497 {
2498 /* We set this to Qmacro; since that's not a frame, nobody will 2498 /* We set this to Qmacro; since that's not a frame, nobody will
2499 try to switch frames on us, and the selected window will 2499 try to switch frames on us, and the selected window will
@@ -2510,19 +2510,19 @@ read_char (commandflag, nmaps, maps, prev_event, used_mouse_menu)
2510 /* Exit the macro if we are at the end. 2510 /* Exit the macro if we are at the end.
2511 Also, some things replace the macro with t 2511 Also, some things replace the macro with t
2512 to force an early exit. */ 2512 to force an early exit. */
2513 if (EQ (Vexecuting_macro, Qt) 2513 if (EQ (Vexecuting_kbd_macro, Qt)
2514 || executing_macro_index >= XFASTINT (Flength (Vexecuting_macro))) 2514 || executing_kbd_macro_index >= XFASTINT (Flength (Vexecuting_kbd_macro)))
2515 { 2515 {
2516 XSETINT (c, -1); 2516 XSETINT (c, -1);
2517 goto exit; 2517 goto exit;
2518 } 2518 }
2519 2519
2520 c = Faref (Vexecuting_macro, make_number (executing_macro_index)); 2520 c = Faref (Vexecuting_kbd_macro, make_number (executing_kbd_macro_index));
2521 if (STRINGP (Vexecuting_macro) 2521 if (STRINGP (Vexecuting_kbd_macro)
2522 && (XINT (c) & 0x80) && (XUINT (c) <= 0xff)) 2522 && (XINT (c) & 0x80) && (XUINT (c) <= 0xff))
2523 XSETFASTINT (c, CHAR_META | (XINT (c) & ~0x80)); 2523 XSETFASTINT (c, CHAR_META | (XINT (c) & ~0x80));
2524 2524
2525 executing_macro_index++; 2525 executing_kbd_macro_index++;
2526 2526
2527 goto from_macro; 2527 goto from_macro;
2528 } 2528 }
@@ -9886,7 +9886,7 @@ DEFUN ("execute-extended-command", Fexecute_extended_command, Sexecute_extended_
9886 9886
9887 /* If enabled, show which key runs this command. */ 9887 /* If enabled, show which key runs this command. */
9888 if (!NILP (Vsuggest_key_bindings) 9888 if (!NILP (Vsuggest_key_bindings)
9889 && NILP (Vexecuting_macro) 9889 && NILP (Vexecuting_kbd_macro)
9890 && SYMBOLP (function)) 9890 && SYMBOLP (function))
9891 bindings = Fwhere_is_internal (function, Voverriding_local_map, 9891 bindings = Fwhere_is_internal (function, Voverriding_local_map,
9892 Qt, Qnil, Qnil); 9892 Qt, Qnil, Qnil);
diff --git a/src/mac.c b/src/mac.c
index e9930ada151..14257fdee94 100644
--- a/src/mac.c
+++ b/src/mac.c
@@ -27,6 +27,7 @@ Boston, MA 02111-1307, USA. */
27 27
28#include "lisp.h" 28#include "lisp.h"
29#include "process.h" 29#include "process.h"
30#undef init_process
30#include "systime.h" 31#include "systime.h"
31#include "sysselect.h" 32#include "sysselect.h"
32#include "blockinput.h" 33#include "blockinput.h"
diff --git a/src/macros.c b/src/macros.c
index 09ae87b0a59..8b17c9fb261 100644
--- a/src/macros.c
+++ b/src/macros.c
@@ -31,25 +31,25 @@ Lisp_Object Qexecute_kbd_macro, Qkbd_macro_termination_hook;
31 31
32/* Kbd macro currently being executed (a string or vector). */ 32/* Kbd macro currently being executed (a string or vector). */
33 33
34Lisp_Object Vexecuting_macro; 34Lisp_Object Vexecuting_kbd_macro;
35 35
36/* Index of next character to fetch from that macro. */ 36/* Index of next character to fetch from that macro. */
37 37
38EMACS_INT executing_macro_index; 38EMACS_INT executing_kbd_macro_index;
39 39
40/* Number of successful iterations so far 40/* Number of successful iterations so far
41 for innermost keyboard macro. 41 for innermost keyboard macro.
42 This is not bound at each level, 42 This is not bound at each level,
43 so after an error, it describes the innermost interrupted macro. */ 43 so after an error, it describes the innermost interrupted macro. */
44 44
45int executing_macro_iterations; 45int executing_kbd_macro_iterations;
46 46
47/* This is the macro that was executing. 47/* This is the macro that was executing.
48 This is not bound at each level, 48 This is not bound at each level,
49 so after an error, it describes the innermost interrupted macro. 49 so after an error, it describes the innermost interrupted macro.
50 We use it only as a kind of flag, so no need to protect it. */ 50 We use it only as a kind of flag, so no need to protect it. */
51 51
52Lisp_Object executing_macro; 52Lisp_Object executing_kbd_macro;
53 53
54extern Lisp_Object real_this_command; 54extern Lisp_Object real_this_command;
55 55
@@ -114,7 +114,7 @@ macro before appending to it. */)
114 } 114 }
115 115
116 /* Must convert meta modifier when copying string to vector. */ 116 /* Must convert meta modifier when copying string to vector. */
117 cvt = STRINGP (current_kboard->Vlast_kbd_macro); 117 cvt = STRINGP (current_kboard->Vlast_kbd_macro);
118 for (i = 0; i < len; i++) 118 for (i = 0; i < len; i++)
119 { 119 {
120 Lisp_Object c; 120 Lisp_Object c;
@@ -285,17 +285,17 @@ each iteration of the macro. Iteration stops if LOOPFUNC returns nil. */)
285 return Qnil; 285 return Qnil;
286} 286}
287 287
288/* Restore Vexecuting_macro and executing_macro_index - called when 288/* Restore Vexecuting_kbd_macro and executing_kbd_macro_index.
289 the unwind-protect in Fexecute_kbd_macro gets invoked. */ 289 Called when the unwind-protect in Fexecute_kbd_macro gets invoked. */
290 290
291static Lisp_Object 291static Lisp_Object
292pop_kbd_macro (info) 292pop_kbd_macro (info)
293 Lisp_Object info; 293 Lisp_Object info;
294{ 294{
295 Lisp_Object tem; 295 Lisp_Object tem;
296 Vexecuting_macro = XCAR (info); 296 Vexecuting_kbd_macro = XCAR (info);
297 tem = XCDR (info); 297 tem = XCDR (info);
298 executing_macro_index = XINT (XCAR (tem)); 298 executing_kbd_macro_index = XINT (XCAR (tem));
299 real_this_command = XCDR (tem); 299 real_this_command = XCDR (tem);
300 Frun_hooks (1, &Qkbd_macro_termination_hook); 300 Frun_hooks (1, &Qkbd_macro_termination_hook);
301 return Qnil; 301 return Qnil;
@@ -318,7 +318,7 @@ each iteration of the macro. Iteration stops if LOOPFUNC returns nil. */)
318 struct gcpro gcpro1, gcpro2; 318 struct gcpro gcpro1, gcpro2;
319 int success_count = 0; 319 int success_count = 0;
320 320
321 executing_macro_iterations = 0; 321 executing_kbd_macro_iterations = 0;
322 322
323 if (!NILP (count)) 323 if (!NILP (count))
324 { 324 {
@@ -330,17 +330,17 @@ each iteration of the macro. Iteration stops if LOOPFUNC returns nil. */)
330 if (!STRINGP (final) && !VECTORP (final)) 330 if (!STRINGP (final) && !VECTORP (final))
331 error ("Keyboard macros must be strings or vectors"); 331 error ("Keyboard macros must be strings or vectors");
332 332
333 tem = Fcons (Vexecuting_macro, 333 tem = Fcons (Vexecuting_kbd_macro,
334 Fcons (make_number (executing_macro_index), 334 Fcons (make_number (executing_kbd_macro_index),
335 real_this_command)); 335 real_this_command));
336 record_unwind_protect (pop_kbd_macro, tem); 336 record_unwind_protect (pop_kbd_macro, tem);
337 337
338 GCPRO2 (final, loopfunc); 338 GCPRO2 (final, loopfunc);
339 do 339 do
340 { 340 {
341 Vexecuting_macro = final; 341 Vexecuting_kbd_macro = final;
342 executing_macro = final; 342 executing_kbd_macro = final;
343 executing_macro_index = 0; 343 executing_kbd_macro_index = 0;
344 344
345 current_kboard->Vprefix_arg = Qnil; 345 current_kboard->Vprefix_arg = Qnil;
346 346
@@ -354,16 +354,16 @@ each iteration of the macro. Iteration stops if LOOPFUNC returns nil. */)
354 354
355 command_loop_1 (); 355 command_loop_1 ();
356 356
357 executing_macro_iterations = ++success_count; 357 executing_kbd_macro_iterations = ++success_count;
358 358
359 QUIT; 359 QUIT;
360 } 360 }
361 while (--repeat 361 while (--repeat
362 && (STRINGP (Vexecuting_macro) || VECTORP (Vexecuting_macro))); 362 && (STRINGP (Vexecuting_kbd_macro) || VECTORP (Vexecuting_kbd_macro)));
363 363
364 executing_macro = Qnil; 364 executing_kbd_macro = Qnil;
365 365
366 real_this_command = Vexecuting_macro; 366 real_this_command = Vexecuting_kbd_macro;
367 367
368 UNGCPRO; 368 UNGCPRO;
369 return unbind_to (pdlcount, Qnil); 369 return unbind_to (pdlcount, Qnil);
@@ -372,8 +372,8 @@ each iteration of the macro. Iteration stops if LOOPFUNC returns nil. */)
372void 372void
373init_macros () 373init_macros ()
374{ 374{
375 Vexecuting_macro = Qnil; 375 Vexecuting_kbd_macro = Qnil;
376 executing_macro = Qnil; 376 executing_kbd_macro = Qnil;
377} 377}
378 378
379void 379void
@@ -396,15 +396,13 @@ syms_of_macros ()
396The value is the symbol `append' while appending to the definition of 396The value is the symbol `append' while appending to the definition of
397an existing macro. */); 397an existing macro. */);
398 398
399 DEFVAR_LISP ("executing-macro", &Vexecuting_macro, 399 DEFVAR_LISP ("executing-kbd-macro", &Vexecuting_kbd_macro,
400 doc: /* Currently executing keyboard macro (string or vector); nil if none executing. */); 400 doc: /* Currently executing keyboard macro (string or vector).
401This is nil when not executing a keyboard macro. */);
401 402
402 DEFVAR_INT ("executing-macro-index", &executing_macro_index, 403 DEFVAR_INT ("executing-kbd-macro-index", &executing_kbd_macro_index,
403 doc: /* Index in currently executing keyboard macro; undefined if none executing. */); 404 doc: /* Index in currently executing keyboard macro; undefined if none executing. */);
404 405
405 DEFVAR_LISP_NOPRO ("executing-kbd-macro", &Vexecuting_macro,
406 doc: /* Currently executing keyboard macro (string or vector); nil if none executing. */);
407
408 DEFVAR_KBOARD ("last-kbd-macro", Vlast_kbd_macro, 406 DEFVAR_KBOARD ("last-kbd-macro", Vlast_kbd_macro,
409 doc: /* Last kbd macro defined, as a string or vector; nil if none defined. */); 407 doc: /* Last kbd macro defined, as a string or vector; nil if none defined. */);
410} 408}
diff --git a/src/macros.h b/src/macros.h
index 41a32efe2e0..bf33ea8325b 100644
--- a/src/macros.h
+++ b/src/macros.h
@@ -21,24 +21,24 @@ Boston, MA 02111-1307, USA. */
21 21
22/* Kbd macro currently being executed (a string or vector). */ 22/* Kbd macro currently being executed (a string or vector). */
23 23
24extern Lisp_Object Vexecuting_macro; 24extern Lisp_Object Vexecuting_kbd_macro;
25 25
26/* Index of next character to fetch from that macro. */ 26/* Index of next character to fetch from that macro. */
27 27
28extern EMACS_INT executing_macro_index; 28extern EMACS_INT executing_kbd_macro_index;
29 29
30/* Number of successful iterations so far 30/* Number of successful iterations so far
31 for innermost keyboard macro. 31 for innermost keyboard macro.
32 This is not bound at each level, 32 This is not bound at each level,
33 so after an error, it describes the innermost interrupted macro. */ 33 so after an error, it describes the innermost interrupted macro. */
34 34
35extern int executing_macro_iterations; 35extern int executing_kbd_macro_iterations;
36 36
37/* This is the macro that was executing. 37/* This is the macro that was executing.
38 This is not bound at each level, 38 This is not bound at each level,
39 so after an error, it describes the innermost interrupted macro. */ 39 so after an error, it describes the innermost interrupted macro. */
40 40
41extern Lisp_Object executing_macro; 41extern Lisp_Object executing_kbd_macro;
42 42
43/* Finish defining the current keyboard macro. */ 43/* Finish defining the current keyboard macro. */
44 44
diff --git a/src/sysselect.h b/src/sysselect.h
index 5aa9eb4aee7..4c52bba677a 100644
--- a/src/sysselect.h
+++ b/src/sysselect.h
@@ -18,7 +18,7 @@ along with GNU Emacs; see the file COPYING. If not, write to
18the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 18the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
19Boston, MA 02111-1307, USA. */ 19Boston, MA 02111-1307, USA. */
20 20
21#ifdef HAVE_SYS_SELECT 21#ifdef HAVE_SYS_SELECT_H
22#include <sys/select.h> 22#include <sys/select.h>
23#endif 23#endif
24 24
diff --git a/src/xdisp.c b/src/xdisp.c
index 288b6356b49..92e85dd8786 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -612,12 +612,6 @@ Lisp_Object Qmessage_truncate_lines;
612 612
613static int message_cleared_p; 613static int message_cleared_p;
614 614
615/* Non-zero means we want a hollow cursor in windows that are not
616 selected. Zero means there's no cursor in such windows. */
617
618Lisp_Object Vcursor_in_non_selected_windows;
619Lisp_Object Qcursor_in_non_selected_windows;
620
621/* How to blink the default frame cursor off. */ 615/* How to blink the default frame cursor off. */
622Lisp_Object Vblink_cursor_alist; 616Lisp_Object Vblink_cursor_alist;
623 617
@@ -5864,6 +5858,16 @@ move_it_in_display_line_to (it, to_charpos, to_x, op)
5864 { 5858 {
5865 int x, i, ascent = 0, descent = 0; 5859 int x, i, ascent = 0, descent = 0;
5866 5860
5861 /* Stop if we move beyond TO_CHARPOS (after an image or stretch glyph). */
5862 if ((op & MOVE_TO_POS) != 0
5863 && BUFFERP (it->object)
5864 && it->method == GET_FROM_BUFFER
5865 && IT_CHARPOS (*it) > to_charpos)
5866 {
5867 result = MOVE_POS_MATCH_OR_ZV;
5868 break;
5869 }
5870
5867 /* Stop when ZV reached. 5871 /* Stop when ZV reached.
5868 We used to stop here when TO_CHARPOS reached as well, but that is 5872 We used to stop here when TO_CHARPOS reached as well, but that is
5869 too soon if this glyph does not fit on this line. So we handle it 5873 too soon if this glyph does not fit on this line. So we handle it
@@ -20131,7 +20135,7 @@ get_window_cursor_type (w, glyph, width, active_cursor)
20131 /* Use cursor-in-non-selected-windows for non-selected window or frame. */ 20135 /* Use cursor-in-non-selected-windows for non-selected window or frame. */
20132 if (non_selected) 20136 if (non_selected)
20133 { 20137 {
20134 alt_cursor = Fbuffer_local_value (Qcursor_in_non_selected_windows, w->buffer); 20138 alt_cursor = XBUFFER (w->buffer)->cursor_in_non_selected_windows;
20135 return get_specified_cursor_type (alt_cursor, width); 20139 return get_specified_cursor_type (alt_cursor, width);
20136 } 20140 }
20137 20141
@@ -22496,8 +22500,6 @@ syms_of_xdisp ()
22496 staticpro (&Qpoly); 22500 staticpro (&Qpoly);
22497 Qmessage_truncate_lines = intern ("message-truncate-lines"); 22501 Qmessage_truncate_lines = intern ("message-truncate-lines");
22498 staticpro (&Qmessage_truncate_lines); 22502 staticpro (&Qmessage_truncate_lines);
22499 Qcursor_in_non_selected_windows = intern ("cursor-in-non-selected-windows");
22500 staticpro (&Qcursor_in_non_selected_windows);
22501 Qgrow_only = intern ("grow-only"); 22503 Qgrow_only = intern ("grow-only");
22502 staticpro (&Qgrow_only); 22504 staticpro (&Qgrow_only);
22503 Qinhibit_menubar_update = intern ("inhibit-menubar-update"); 22505 Qinhibit_menubar_update = intern ("inhibit-menubar-update");
@@ -22791,12 +22793,6 @@ only, until their display becomes empty, at which point the windows
22791go back to their normal size. */); 22793go back to their normal size. */);
22792 Vresize_mini_windows = Qgrow_only; 22794 Vresize_mini_windows = Qgrow_only;
22793 22795
22794 DEFVAR_LISP ("cursor-in-non-selected-windows",
22795 &Vcursor_in_non_selected_windows,
22796 doc: /* *Cursor type to display in non-selected windows.
22797t means to use hollow box cursor. See `cursor-type' for other values. */);
22798 Vcursor_in_non_selected_windows = Qt;
22799
22800 DEFVAR_LISP ("blink-cursor-alist", &Vblink_cursor_alist, 22796 DEFVAR_LISP ("blink-cursor-alist", &Vblink_cursor_alist,
22801 doc: /* Alist specifying how to blink the cursor off. 22797 doc: /* Alist specifying how to blink the cursor off.
22802Each element has the form (ON-STATE . OFF-STATE). Whenever the 22798Each element has the form (ON-STATE . OFF-STATE). Whenever the
diff --git a/src/xmenu.c b/src/xmenu.c
index f32074c2f6a..1a2386fe916 100644
--- a/src/xmenu.c
+++ b/src/xmenu.c
@@ -737,7 +737,7 @@ DEFUN ("x-popup-menu", Fx_popup_menu, Sx_popup_menu, 2, 2, 0,
737POSITION is a position specification. This is either a mouse button event 737POSITION is a position specification. This is either a mouse button event
738or a list ((XOFFSET YOFFSET) WINDOW) 738or a list ((XOFFSET YOFFSET) WINDOW)
739where XOFFSET and YOFFSET are positions in pixels from the top left 739where XOFFSET and YOFFSET are positions in pixels from the top left
740corner of WINDOW's frame. (WINDOW may be a frame object instead of a window.) 740corner of WINDOW. (WINDOW may be a window or a frame object.)
741This controls the position of the top left of the menu as a whole. 741This controls the position of the top left of the menu as a whole.
742If POSITION is t, it means to use the current mouse position. 742If POSITION is t, it means to use the current mouse position.
743 743
@@ -752,8 +752,11 @@ Otherwise, REAL-DEFINITION should be a valid key binding definition.
752 752
753You can also use a list of keymaps as MENU. 753You can also use a list of keymaps as MENU.
754 Then each keymap makes a separate pane. 754 Then each keymap makes a separate pane.
755When MENU is a keymap or a list of keymaps, the return value 755
756is a list of events. 756When MENU is a keymap or a list of keymaps, the return value is the
757list of events corresponding to the user's choice. Note that
758`x-popup-menu' does not actually execute the command bound to that
759sequence of events.
757 760
758Alternatively, you can specify a menu of multiple panes 761Alternatively, you can specify a menu of multiple panes
759 with a list of the form (TITLE PANE1 PANE2...), 762 with a list of the form (TITLE PANE1 PANE2...),
@@ -764,7 +767,14 @@ in the menu.
764With this form of menu, the return value is VALUE from the chosen item. 767With this form of menu, the return value is VALUE from the chosen item.
765 768
766If POSITION is nil, don't display the menu at all, just precalculate the 769If POSITION is nil, don't display the menu at all, just precalculate the
767cached information about equivalent key sequences. */) 770cached information about equivalent key sequences.
771
772If the user gets rid of the menu without making a valid choice, for
773instance by clicking the mouse away from a valid choice or by typing
774keyboard input, then this normally results in a quit and
775`x-popup-menu' does not return. But if POSITION is a mouse button
776event (indicating that the user invoked the menu with the mouse) then
777no quit occurs and `x-popup-menu' returns nil. */)
768 (position, menu) 778 (position, menu)
769 Lisp_Object position, menu; 779 Lisp_Object position, menu;
770{ 780{
@@ -1002,7 +1012,11 @@ The return value is VALUE from the chosen item.
1002An ITEM may also be just a string--that makes a nonselectable item. 1012An ITEM may also be just a string--that makes a nonselectable item.
1003An ITEM may also be nil--that means to put all preceding items 1013An ITEM may also be nil--that means to put all preceding items
1004on the left of the dialog box and all following items on the right. 1014on the left of the dialog box and all following items on the right.
1005\(By default, approximately half appear on each side.) */) 1015\(By default, approximately half appear on each side.)
1016
1017If the user gets rid of the dialog box without making a valid choice,
1018for instance using the window manager, then this produces a quit and
1019`x-popup-dialog' does not return. */)
1006 (position, contents) 1020 (position, contents)
1007 Lisp_Object position, contents; 1021 Lisp_Object position, contents;
1008{ 1022{
@@ -2889,6 +2903,9 @@ xmenu_show (f, x, y, for_click, keymaps, title, error)
2889 } 2903 }
2890 } 2904 }
2891 } 2905 }
2906 else if (!for_click)
2907 /* Make "Cancel" equivalent to C-g. */
2908 Fsignal (Qquit, Qnil);
2892 2909
2893 return Qnil; 2910 return Qnil;
2894} 2911}
@@ -3519,8 +3536,8 @@ xmenu_show (f, x, y, for_click, keymaps, title, error)
3519 entry = Qnil; 3536 entry = Qnil;
3520 break; 3537 break;
3521 case XM_NO_SELECT: 3538 case XM_NO_SELECT:
3522 /* Make "Cancel" equivalent to C-g unless this menu was popped up by 3539 /* Make "Cancel" equivalent to C-g unless FOR_CLICK (which means
3523 a mouse press. */ 3540 the menu was invoked with a mouse event as POSITION). */
3524 if (! for_click) 3541 if (! for_click)
3525 Fsignal (Qquit, Qnil); 3542 Fsignal (Qquit, Qnil);
3526 entry = Qnil; 3543 entry = Qnil;