aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenichi Handa2010-04-07 15:08:27 +0900
committerKenichi Handa2010-04-07 15:08:27 +0900
commit64e692b56e84153d45b2c46d833dce14243f7c69 (patch)
treedb049db5995f5cfcba3db28dfeb305ef5e04157c /src
parent86a366f4015868f03bc8399b412ea767e9337072 (diff)
parente59c4233e20bfb2b8b50c77a42023a2473405391 (diff)
downloademacs-64e692b56e84153d45b2c46d833dce14243f7c69.tar.gz
emacs-64e692b56e84153d45b2c46d833dce14243f7c69.zip
merge trunk
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog36
-rw-r--r--src/ChangeLog.1018
-rw-r--r--src/ChangeLog.842
-rw-r--r--src/menu.c18
-rw-r--r--src/nsfns.m2
-rw-r--r--src/w32fns.c4
-rw-r--r--src/xdisp.c6
7 files changed, 83 insertions, 43 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index ceb9cad4d88..be916dff20d 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,8 +1,36 @@
12010-04-05 Chong Yidong <cyd@stupidchicken.com>
2
3 * xdisp.c (prepare_menu_bars): Don't call ns_set_doc_edited for
4 terminal frames (Bug#5837).
5
62010-03-31 Chong Yidong <cyd@stupidchicken.com>
7
8 * nsfns.m (ns_set_doc_edited): Remove unused arg OLDVAL.
9 * nsterm.h: Fix prototype.
10
112010-03-31 Eli Zaretskii <eliz@gnu.org>
12
13 * w32fns.c (x_create_tip_frame): Copy `parms' before we modify it
14 in this function. (Bug#5703)
15
162010-03-31 Chong Yidong <cyd@stupidchicken.com>
17
18 * nsterm.h: Fix last change.
19
202010-03-30 Bernhard Herzog <bh@intevation.de> (tiny change)
21
22 * menu.c (Fx_popup_menu): Use last_event_timestamp (Bug#4930).
23
242010-03-30 Jan Djärv <jan.h.d@swipnet.se>
25
26 * xdisp.c (note_mouse_highlight): Don't do highlight if pointer is
27 invisible (Bug#5766).
28
12010-03-29 Adrian Robert <adrian.b.robert@gmail.com> 292010-03-29 Adrian Robert <adrian.b.robert@gmail.com>
2 30
3 * xdisp.c (x_consider_frame_title, update_window_cursor): Remove 31 * xdisp.c (x_consider_frame_title, update_window_cursor): Remove
4 HAVE_NS conditionals. 32 HAVE_NS conditionals.
5 (prepare_menu_bars)[HAVE_NS]: Call ns_set_doc_edited. 33 (prepare_menu_bars) [HAVE_NS]: Call ns_set_doc_edited.
6 34
7 * nsfns.m (x_implicitly_set_name): If frame-title-format is t, use 35 * nsfns.m (x_implicitly_set_name): If frame-title-format is t, use
8 filename for the title. 36 filename for the title.
@@ -308,7 +336,7 @@
3082010-01-19 Alan Mackenzie <acm@muc.de> 3362010-01-19 Alan Mackenzie <acm@muc.de>
309 337
310 Fix spurious before-change-functions invocation from (insert ?\n). 338 Fix spurious before-change-functions invocation from (insert ?\n).
311 * textprop.c (set_text_properties): rename parameter 339 * textprop.c (set_text_properties): Rename parameter
312 `signal_after_change_p' to `coherent_change_p', and make the 340 `signal_after_change_p' to `coherent_change_p', and make the
313 invocation of `modify_region' conditional on it. 341 invocation of `modify_region' conditional on it.
314 342
@@ -10330,7 +10358,7 @@
10330 10358
10331 * font.c (Vfont_encoding_alist, find_font_encoding): Move from 10359 * font.c (Vfont_encoding_alist, find_font_encoding): Move from
10332 fontset.c. 10360 fontset.c.
10333 (font_pixel_size)[! HAVE_WINDOW_SYSTEM]: Return 1. 10361 (font_pixel_size) [! HAVE_WINDOW_SYSTEM]: Return 1.
10334 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts, 10362 (font_open_entity): Update FRAME_X_DISPLAY_INFO (f)->n_fonts,
10335 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f) 10363 FRAME_SMALLEST_CHAR_WIDTH (f), and FRAME_SMALLEST_FONT_HEIGHT (f)
10336 only when HAVE_WINDOW_SYSTEM is defined. 10364 only when HAVE_WINDOW_SYSTEM is defined.
@@ -20164,7 +20192,7 @@
20164 20192
201652007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change) 201932007-08-29 ARISAWA Akihiro <ari@mbf.ocn.ne.jp> (tiny change)
20166 20194
20167 * term.c (dissociate_if_controlling_tty)[USG]: Fix parse error. 20195 * term.c (dissociate_if_controlling_tty) [USG]: Fix parse error.
20168 20196
201692007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change) 201972007-08-29 Yoshiaki Kasahara <kasahara@nc.kyushu-u.ac.jp> (tiny change)
20170 20198
diff --git a/src/ChangeLog.10 b/src/ChangeLog.10
index d4d99a80a18..39b70d9b199 100644
--- a/src/ChangeLog.10
+++ b/src/ChangeLog.10
@@ -2137,7 +2137,7 @@
2137 2137
2138 * Makefile.in (keymap.o): Add "keymap.h" and "window.h" dependencies. 2138 * Makefile.in (keymap.o): Add "keymap.h" and "window.h" dependencies.
2139 2139
2140 * keymap.c: include "window.h". 2140 * keymap.c: Include "window.h".
2141 (Fcommand_remapping): New optional POSITION argument. 2141 (Fcommand_remapping): New optional POSITION argument.
2142 (Fkey_binding): New optional POSITION argument. Completely rework 2142 (Fkey_binding): New optional POSITION argument. Completely rework
2143 handling of mouse clicks to get the same order of keymaps as 2143 handling of mouse clicks to get the same order of keymaps as
@@ -5867,9 +5867,9 @@
5867 5867
58682005-12-26 Luc Teirlinck <teirllm@auburn.edu> 58682005-12-26 Luc Teirlinck <teirllm@auburn.edu>
5869 5869
5870 * keyboard.h: extern last_point_position_window. 5870 * keyboard.h: Extern last_point_position_window.
5871 5871
5872 * undo.c: include keyboard.h. 5872 * undo.c: Include keyboard.h.
5873 5873
5874 * Makefile.in (undo.o): Depend on keyboard.h. 5874 * Makefile.in (undo.o): Depend on keyboard.h.
5875 5875
@@ -8276,7 +8276,7 @@
8276 * xdisp.c (syms_of_xdisp) <nobreak-char-display>: Doc fix. 8276 * xdisp.c (syms_of_xdisp) <nobreak-char-display>: Doc fix.
8277 (syms_of_xdisp) <void-text-area-pointer>: Doc fix. 8277 (syms_of_xdisp) <void-text-area-pointer>: Doc fix.
8278 8278
8279 * fileio.c (Frename_file)[!DOS_NT]: Don't call chown on MSDOS/Windows. 8279 * fileio.c (Frename_file) [!DOS_NT]: Don't call chown on MSDOS/Windows.
8280 8280
82812005-06-23 Richard M. Stallman <rms@gnu.org> 82812005-06-23 Richard M. Stallman <rms@gnu.org>
8282 8282
@@ -12611,7 +12611,7 @@
12611 * macterm.c (mac_check_for_quit_char): Remove warning for using 12611 * macterm.c (mac_check_for_quit_char): Remove warning for using
12612 NULL where 0 should be used. 12612 NULL where 0 should be used.
12613 * unexmacosx.c: Use malloc/malloc.h on Tiger instead of 12613 * unexmacosx.c: Use malloc/malloc.h on Tiger instead of
12614 objc/malloc.h 12614 objc/malloc.h.
12615 * mac.c: Include time.h for Tiger compatibility. 12615 * mac.c: Include time.h for Tiger compatibility.
12616 12616
126172004-10-07 Kim F. Storm <storm@cua.dk> 126172004-10-07 Kim F. Storm <storm@cua.dk>
@@ -12843,7 +12843,7 @@
12843 * Makefile.in (msdos.o): Depend on buffer.h, commands.h, and 12843 * Makefile.in (msdos.o): Depend on buffer.h, commands.h, and
12844 blockinput.h. 12844 blockinput.h.
12845 (dosfns.o): Depend on blockinput.h, window.h, dispextern.h, 12845 (dosfns.o): Depend on blockinput.h, window.h, dispextern.h,
12846 charset.h, and coding.h 12846 charset.h, and coding.h.
12847 (w16select.o): Depend on buffer.h, charset.h, coding.h, and composite.h. 12847 (w16select.o): Depend on buffer.h, charset.h, coding.h, and composite.h.
12848 (term.o): Depend on window.h and keymap.h. 12848 (term.o): Depend on window.h and keymap.h.
12849 (abbrev.o): Depend on syntax.h. 12849 (abbrev.o): Depend on syntax.h.
@@ -17222,7 +17222,7 @@
172222003-09-01 Jason Rumney <jasonr@gnu.org> 172222003-09-01 Jason Rumney <jasonr@gnu.org>
17223 17223
17224 * makefile.w32-in (alloca.o): Remove. 17224 * makefile.w32-in (alloca.o): Remove.
17225 (coding.o): Depend on intervals.h 17225 (coding.o): Depend on intervals.h.
17226 (emacs.o, bytecode.o): Depend on window.h. 17226 (emacs.o, bytecode.o): Depend on window.h.
17227 17227
172282003-09-01 Dave Love <fx@gnu.org> 172282003-09-01 Dave Love <fx@gnu.org>
@@ -22643,7 +22643,7 @@
22643 (Fx_popup_menu): Don't show pop up menu until preceding one is 22643 (Fx_popup_menu): Don't show pop up menu until preceding one is
22644 actually cleaned up. Moved UNGCPRO outside #ifdef HAVE_MENUS block. 22644 actually cleaned up. Moved UNGCPRO outside #ifdef HAVE_MENUS block.
22645 22645
22646 * w32menu.c: Changes adapted from xmenu.c 22646 * w32menu.c: Changes adapted from xmenu.c.
22647 (set_frame_menubar): First parse all submenus, 22647 (set_frame_menubar): First parse all submenus,
22648 then make widget_value trees from them. 22648 then make widget_value trees from them.
22649 Don't allocate any widget_value objects 22649 Don't allocate any widget_value objects
@@ -24232,7 +24232,7 @@
24232 m/ibmps2-aix.h, m/ibmrs6000.h, m/ibmrt-aix.h, m/ibmrt.h, 24232 m/ibmps2-aix.h, m/ibmrs6000.h, m/ibmrt-aix.h, m/ibmrt.h,
24233 m/ibms390.h, m/intel386.h, m/iris4d.h, m/irist.h, m/isi-ov.h, 24233 m/ibms390.h, m/intel386.h, m/iris4d.h, m/irist.h, m/isi-ov.h,
24234 m/m68k.h, m/macppc.h, m/masscomp.h, m/mg1.h, m/mips-siemens.h, 24234 m/m68k.h, m/macppc.h, m/masscomp.h, m/mg1.h, m/mips-siemens.h,
24235 m/mips.h, m/news-r6.h, m/news.h, m/next.h, m/nh3000.h, m/nh4000.h 24235 m/mips.h, m/news-r6.h, m/news.h, m/next.h, m/nh3000.h, m/nh4000.h,
24236 m/ns32000.h, m/orion.h, m/pfa50.h, m/plexus.h, m/pmax.h, 24236 m/ns32000.h, m/orion.h, m/pfa50.h, m/plexus.h, m/pmax.h,
24237 m/powerpcle.h, m/pyrmips.h, m/sequent-ptx.h, m/sequent.h, 24237 m/powerpcle.h, m/pyrmips.h, m/sequent-ptx.h, m/sequent.h,
24238 m/sparc.h, m/sr2k.h, m/symmetry.h, m/tad68k.h, m/tahoe.h, 24238 m/sparc.h, m/sr2k.h, m/symmetry.h, m/tad68k.h, m/tahoe.h,
diff --git a/src/ChangeLog.8 b/src/ChangeLog.8
index de162cb39bc..6da7b6862a5 100644
--- a/src/ChangeLog.8
+++ b/src/ChangeLog.8
@@ -2886,10 +2886,10 @@
2886 2886
2887 * sysdep.c: Define numerous routines to emulate Unix system calls. 2887 * sysdep.c: Define numerous routines to emulate Unix system calls.
2888 2888
2889 * xfaces.c: on MacOS, define the set of colors listed in rgb.txt 2889 * xfaces.c: On MacOS, define the set of colors listed in rgb.txt
2890 file of an X Window environment. 2890 file of an X Window environment.
2891 2891
2892 * xfaces.c: on MacOS, define the Lisp functions x-display-color-p, 2892 * xfaces.c: On MacOS, define the Lisp functions x-display-color-p,
2893 x-display-grayscale, x-color-defined-p, and x-color-values. 2893 x-display-grayscale, x-color-defined-p, and x-color-values.
2894 2894
2895 * sysdep.c [macintosh] (stat, fstat, mkdir, rmdir, utime, access) 2895 * sysdep.c [macintosh] (stat, fstat, mkdir, rmdir, utime, access)
@@ -3160,7 +3160,7 @@
3160 3160
31611999-08-25 Alexandre Oliva <oliva@dcc.unicamp.br> 31611999-08-25 Alexandre Oliva <oliva@dcc.unicamp.br>
3162 3162
3163 * unexelf.c: Merge IRIX debugging info patch from unexsgi.c 3163 * unexelf.c: Merge IRIX debugging info patch from unexsgi.c.
3164 * m/iris4d.h: Use unexelf for IRIX 5.*. 3164 * m/iris4d.h: Use unexelf for IRIX 5.*.
3165 * m/iris5d.h: Use unexelf for IRIX 6.*. 3165 * m/iris5d.h: Use unexelf for IRIX 6.*.
3166 * unexsgi.c: Deleted. 3166 * unexsgi.c: Deleted.
@@ -3767,8 +3767,8 @@
37671999-08-06 Gerd Moellmann <gerd@gnu.org> 37671999-08-06 Gerd Moellmann <gerd@gnu.org>
3768 3768
3769 * xdisp.c (compute_line_metrics): If first line's physical ascent 3769 * xdisp.c (compute_line_metrics): If first line's physical ascent
3770 is larger than its logical ascent, use the physical ascent, and 3770 is larger than its logical ascent, use the physical ascent, and
3771 make the row taller. Set row's overlapping_p flag. 3771 make the row taller. Set row's overlapping_p flag.
3772 3772
3773 * dispnew.c (redraw_overlapping_rows): Use flag overlapping_p. 3773 * dispnew.c (redraw_overlapping_rows): Use flag overlapping_p.
3774 (direct_output_for_insert): Ditto. 3774 (direct_output_for_insert): Ditto.
@@ -4675,7 +4675,7 @@
4675 4675
46761999-06-04 Gerd Moellmann <gerd@gnu.org> 46761999-06-04 Gerd Moellmann <gerd@gnu.org>
4677 4677
4678 * xfaces.c (recompute_basic_faces)[GLYPH_DEBUG]: Check return 4678 * xfaces.c (recompute_basic_faces) [GLYPH_DEBUG]: Check return
4679 value of realize_basic_faces. 4679 value of realize_basic_faces.
4680 (load_face_font_or_fontset): Store full font name in face. 4680 (load_face_font_or_fontset): Store full font name in face.
4681 (realize_default_face): Use full font name. 4681 (realize_default_face): Use full font name.
@@ -5601,9 +5601,9 @@
5601 * window.c (coordinates_in_window): Use CURRENT_MODE_LINE_HEIGHT. 5601 * window.c (coordinates_in_window): Use CURRENT_MODE_LINE_HEIGHT.
5602 5602
5603 * xdisp.c (redisplay_window): If mode line height has changed, 5603 * xdisp.c (redisplay_window): If mode line height has changed,
5604 arrange for a thorough immediate redisplay using the correct mode 5604 arrange for a thorough immediate redisplay using the correct mode
5605 line height. 5605 line height.
5606 (window_box_height): Use CURRENT_MODE_LINE_HEIGHT. 5606 (window_box_height): Use CURRENT_MODE_LINE_HEIGHT.
5607 5607
5608 * dispextern.h (MATRIX_MODE_LINE_HEIGHT): New. 5608 * dispextern.h (MATRIX_MODE_LINE_HEIGHT): New.
5609 (CURRENT_MODE_LINE_HEIGHT): New. 5609 (CURRENT_MODE_LINE_HEIGHT): New.
@@ -7062,7 +7062,7 @@
70621998-05-04 Gerd Moellmann <gerd@gnu.org> 70621998-05-04 Gerd Moellmann <gerd@gnu.org>
7063 7063
7064 * Makefile.in (LIBXPM): If not already defined, define to -lXpm. 7064 * Makefile.in (LIBXPM): If not already defined, define to -lXpm.
7065 (LIBX)[HAVE_X11]: Add LIBXPM. 7065 (LIBX) [HAVE_X11]: Add LIBXPM.
7066 7066
7067 * xfns.c (xpm_image_p): Implementation of image type functions 7067 * xfns.c (xpm_image_p): Implementation of image type functions
7068 for XPM. 7068 for XPM.
@@ -10052,7 +10052,7 @@
10052 10052
10053 * xterm.h (WINDOW_COL_PIXEL_X etc.) Removed. 10053 * xterm.h (WINDOW_COL_PIXEL_X etc.) Removed.
10054 10054
10055 * dispextern.h (WINDOW_TO_FRAME_HPOS/VPOS): Moved to dispnew.c 10055 * dispextern.h (WINDOW_TO_FRAME_HPOS/VPOS): Moved to dispnew.c.
10056 10056
10057 * xfns.c (x_contour_region): Use pixel coordinates from window 10057 * xfns.c (x_contour_region): Use pixel coordinates from window
10058 cursor instead of WINDOW_TO_FRAME_H/VPOS. 10058 cursor instead of WINDOW_TO_FRAME_H/VPOS.
@@ -10897,7 +10897,7 @@
10897 (MATRIX_ROW_INVERSE_P): Former MATRIX_ROW_HIGHLIGHT_P. 10897 (MATRIX_ROW_INVERSE_P): Former MATRIX_ROW_HIGHLIGHT_P.
10898 (struct glyph_row): HIGHLIGHT_P -> INVERSE_P 10898 (struct glyph_row): HIGHLIGHT_P -> INVERSE_P
10899 10899
10900 * all files: use above new names. 10900 * all files: Use above new names.
10901 10901
10902 * dispnew.c (scroll_frame_lines): Simplified. Use 10902 * dispnew.c (scroll_frame_lines): Simplified. Use
10903 SCROLL_GLYPH_MATRIX. 10903 SCROLL_GLYPH_MATRIX.
@@ -10961,7 +10961,7 @@
10961 (init_display): Ditto. 10961 (init_display): Ditto.
10962 (syms_of_display): Ditto. 10962 (syms_of_display): Ditto.
10963 10963
10964 * dispextern.h: add prototypes for REDRAW_FRAME, 10964 * dispextern.h: Add prototypes for REDRAW_FRAME,
10965 REDRAW_GARBAGED_FRAMES, CANCEL_LINE, CLEAR_FRAME_RECORDS, 10965 REDRAW_GARBAGED_FRAMES, CANCEL_LINE, CLEAR_FRAME_RECORDS,
10966 INIT_DESIRED_GLYPHS, SCROLL_FRAME_LINES, PRESERVE_OTHER_COLUMNS, 10966 INIT_DESIRED_GLYPHS, SCROLL_FRAME_LINES, PRESERVE_OTHER_COLUMNS,
10967 ADJUST_WINDOW_CHARSTARTS, CANCEL_MY_COLUMNS, 10967 ADJUST_WINDOW_CHARSTARTS, CANCEL_MY_COLUMNS,
@@ -11108,9 +11108,9 @@
11108 (make_window): Initialize DESIRED_MATRIX and CURRENT_MATRIX. 11108 (make_window): Initialize DESIRED_MATRIX and CURRENT_MATRIX.
11109 (replace_window): Reset DESIRED_MATRIX and CURRENT_MATRIX 11109 (replace_window): Reset DESIRED_MATRIX and CURRENT_MATRIX
11110 11110
11111 * Makefile.in (window.o): Add dependency window.c -> dispextern.h 11111 * Makefile.in (window.o): Add dependency window.c -> dispextern.h.
11112 11112
11113 * window.c: Include dispextern.h 11113 * window.c: Include dispextern.h.
11114 11114
11115 * scroll.c (do_scrolling): Use new glyphs. 11115 * scroll.c (do_scrolling): Use new glyphs.
11116 (do_direct_scrolling): Ditto. 11116 (do_direct_scrolling): Ditto.
@@ -11141,9 +11141,9 @@
11141 (write_glyphs): Ditto. 11141 (write_glyphs): Ditto.
11142 (insert_glyphs): Ditto. 11142 (insert_glyphs): Ditto.
11143 11143
11144 * Makefile.in (term.o): term.c depends on dispextern.h 11144 * Makefile.in (term.o): term.c depends on dispextern.h.
11145 11145
11146 * term.c: Include dispextern.h 11146 * term.c: Include dispextern.h.
11147 11147
11148 * dispnew.c (direct_output_forward_char): Old glyph functions 11148 * dispnew.c (direct_output_forward_char): Old glyph functions
11149 removed, new inserted. 11149 removed, new inserted.
@@ -11560,8 +11560,8 @@
115601999-05-02 Andrew Innes <andrewi@gnu.org> 115601999-05-02 Andrew Innes <andrewi@gnu.org>
11561 11561
11562 * s/ms-w32.h (HAVE_FSYNC): New macro. 11562 * s/ms-w32.h (HAVE_FSYNC): New macro.
11563 (fsync): Map to _commit. 11563 (fsync): Map to _commit.
11564 (ftruncate): Map to _chsize. 11564 (ftruncate): Map to _chsize.
11565 11565
11566 * w32term.c (dumpglyphs): On Windows NT, do output in Unicode even 11566 * w32term.c (dumpglyphs): On Windows NT, do output in Unicode even
11567 for ASCII, if enabled, to avoid memory allocation overhead for 11567 for ASCII, if enabled, to avoid memory allocation overhead for
@@ -11666,7 +11666,7 @@
11666 11666
11667 * fontset.c (Fquery_fontset): Don't check for fontset aliases here. 11667 * fontset.c (Fquery_fontset): Don't check for fontset aliases here.
11668 (Fnew_fontset, Fset_fontset_font): Check for them here. 11668 (Fnew_fontset, Fset_fontset_font): Check for them here.
11669 (Ffontset_info, Fnew_fontset, Fset_fontset_font): 11669 (Ffontset_info, Fnew_fontset, Fset_fontset_font):
11670 Fix error message syntax. 11670 Fix error message syntax.
11671 11671
11672 * buffer.c (Fmake_indirect_buffer): Copy multibyte status 11672 * buffer.c (Fmake_indirect_buffer): Copy multibyte status
@@ -12775,7 +12775,7 @@
127751998-12-06 Eli Zaretskii <eliz@mescaline.gnu.org> 127751998-12-06 Eli Zaretskii <eliz@mescaline.gnu.org>
12776 12776
12777 * Makefile.in (msdos.o): Depend on termchar.h, charset.h, 12777 * Makefile.in (msdos.o): Depend on termchar.h, charset.h,
12778 coding.h, and disptab.h 12778 coding.h, and disptab.h.
12779 12779
12780 * msdos.c (Vdos_unsupported_char_glyph): New variable. 12780 * msdos.c (Vdos_unsupported_char_glyph): New variable.
12781 (syms_of_msdos): DEFVAR_LISP it. 12781 (syms_of_msdos): DEFVAR_LISP it.
diff --git a/src/menu.c b/src/menu.c
index ad6054d7192..bfe54a53328 100644
--- a/src/menu.c
+++ b/src/menu.c
@@ -61,6 +61,10 @@ extern HMENU current_popup_menu;
61#define HAVE_BOXES 1 61#define HAVE_BOXES 1
62#endif 62#endif
63 63
64/* The timestamp of the last input event Emacs received from the X server. */
65/* Defined in keyboard.c. */
66extern unsigned long last_event_timestamp;
67
64extern Lisp_Object QCtoggle, QCradio; 68extern Lisp_Object QCtoggle, QCradio;
65 69
66Lisp_Object menu_items; 70Lisp_Object menu_items;
@@ -1073,7 +1077,6 @@ no quit occurs and `x-popup-menu' returns nil. */)
1073 int keymaps = 0; 1077 int keymaps = 0;
1074 int for_click = 0; 1078 int for_click = 0;
1075 int specpdl_count = SPECPDL_INDEX (); 1079 int specpdl_count = SPECPDL_INDEX ();
1076 Lisp_Object timestamp = Qnil;
1077 struct gcpro gcpro1; 1080 struct gcpro gcpro1;
1078 1081
1079 if (NILP (position)) 1082 if (NILP (position))
@@ -1107,10 +1110,9 @@ no quit occurs and `x-popup-menu' returns nil. */)
1107 for_click = 1; 1110 for_click = 1;
1108 tem = Fcar (Fcdr (position)); /* EVENT_START (position) */ 1111 tem = Fcar (Fcdr (position)); /* EVENT_START (position) */
1109 window = Fcar (tem); /* POSN_WINDOW (tem) */ 1112 window = Fcar (tem); /* POSN_WINDOW (tem) */
1110 tem = Fcdr (Fcdr (tem)); 1113 tem = Fcar (Fcdr (Fcdr (tem))); /* POSN_WINDOW_POSN (tem) */
1111 x = Fcar (Fcar (tem)); 1114 x = Fcar (tem);
1112 y = Fcdr (Fcar (tem)); 1115 y = Fcdr (tem);
1113 timestamp = Fcar (Fcdr (tem));
1114 } 1116 }
1115 1117
1116 /* If a click happens in an external tool bar or a detached 1118 /* If a click happens in an external tool bar or a detached
@@ -1318,9 +1320,13 @@ no quit occurs and `x-popup-menu' returns nil. */)
1318 selection = ns_menu_show (f, xpos, ypos, for_click, 1320 selection = ns_menu_show (f, xpos, ypos, for_click,
1319 keymaps, title, &error_name); 1321 keymaps, title, &error_name);
1320#else /* MSDOS and X11 */ 1322#else /* MSDOS and X11 */
1323 /* Assume last_event_timestamp is the timestamp of the button event.
1324 Is this assumption ever violated? We can't use the timestamp
1325 stored within POSITION because there the top bits from the actual
1326 timestamp may be truncated away (Bug#4930). */
1321 selection = xmenu_show (f, xpos, ypos, for_click, 1327 selection = xmenu_show (f, xpos, ypos, for_click,
1322 keymaps, title, &error_name, 1328 keymaps, title, &error_name,
1323 INTEGERP (timestamp) ? XUINT (timestamp) : 0); 1329 last_event_timestamp);
1324#endif 1330#endif
1325 1331
1326 UNBLOCK_INPUT; 1332 UNBLOCK_INPUT;
diff --git a/src/nsfns.m b/src/nsfns.m
index 9de7681b2f7..7e7fd48caf0 100644
--- a/src/nsfns.m
+++ b/src/nsfns.m
@@ -686,7 +686,7 @@ ns_set_name_as_filename (struct frame *f)
686 686
687 687
688void 688void
689ns_set_doc_edited (struct frame *f, Lisp_Object arg, Lisp_Object oldval) 689ns_set_doc_edited (struct frame *f, Lisp_Object arg)
690{ 690{
691 NSView *view = FRAME_NS_VIEW (f); 691 NSView *view = FRAME_NS_VIEW (f);
692 NSAutoreleasePool *pool; 692 NSAutoreleasePool *pool;
diff --git a/src/w32fns.c b/src/w32fns.c
index 938bd463b25..795e7208569 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -5427,6 +5427,10 @@ x_create_tip_frame (dpyinfo, parms, text)
5427 5427
5428 kb = dpyinfo->terminal->kboard; 5428 kb = dpyinfo->terminal->kboard;
5429 5429
5430 /* The calls to x_get_arg remove elements from PARMS, so copy it to
5431 avoid destructive changes behind our caller's back. */
5432 parms = Fcopy_alist (parms);
5433
5430 /* Get the name of the frame to use for resource lookup. */ 5434 /* Get the name of the frame to use for resource lookup. */
5431 name = x_get_arg (dpyinfo, parms, Qname, "name", "Name", RES_TYPE_STRING); 5435 name = x_get_arg (dpyinfo, parms, Qname, "name", "Name", RES_TYPE_STRING);
5432 if (!STRINGP (name) 5436 if (!STRINGP (name)
diff --git a/src/xdisp.c b/src/xdisp.c
index 81b97b25c1c..734b60bc1dd 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -9570,7 +9570,8 @@ prepare_menu_bars ()
9570 update_tool_bar (f, 0); 9570 update_tool_bar (f, 0);
9571#endif 9571#endif
9572#ifdef HAVE_NS 9572#ifdef HAVE_NS
9573 if (windows_or_buffers_changed) 9573 if (windows_or_buffers_changed
9574 && FRAME_NS_P (f))
9574 ns_set_doc_edited (f, Fbuffer_modified_p 9575 ns_set_doc_edited (f, Fbuffer_modified_p
9575 (XWINDOW (f->selected_window)->buffer)); 9576 (XWINDOW (f->selected_window)->buffer));
9576#endif 9577#endif
@@ -23551,7 +23552,8 @@ note_mouse_highlight (f, x, y)
23551#endif 23552#endif
23552 23553
23553 if (NILP (Vmouse_highlight) 23554 if (NILP (Vmouse_highlight)
23554 || !f->glyphs_initialized_p) 23555 || !f->glyphs_initialized_p
23556 || f->pointer_invisible)
23555 return; 23557 return;
23556 23558
23557 dpyinfo->mouse_face_mouse_x = x; 23559 dpyinfo->mouse_face_mouse_x = x;