aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMiles Bader2008-09-02 05:35:54 +0000
committerMiles Bader2008-09-02 05:35:54 +0000
commit9850eff524bd0747a9561f3b4c90dfc3749f4ecb (patch)
treec05e918b9763310aea577eefc476aaccf20eb86a /src
parent9a73a6c9dbd5a98e8e27cccbf1361f89070b94e7 (diff)
parent7f02dd2cf6cb7395cb06104fd052f08cc91e9e10 (diff)
downloademacs-9850eff524bd0747a9561f3b4c90dfc3749f4ecb.tar.gz
emacs-9850eff524bd0747a9561f3b4c90dfc3749f4ecb.zip
Merge from emacs--rel--22
Revision: emacs@sv.gnu.org/emacs--devo--0--patch-1398
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog10
-rw-r--r--src/fileio.c7
-rw-r--r--src/w32menu.c5
-rw-r--r--src/xterm.c1
4 files changed, 19 insertions, 4 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index b6b6be212a5..e8e50319c12 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,13 @@
12008-09-02 Eli Zaretskii <eliz@gnu.org>
2
3 * fileio.c (Fexpand_file_name): Copy argument `name' into local
4 storage on all platforms, not just on DOS_NT.
5
62008-09-02 Jason Rumney <jasonr@gnu.org>
7
8 * w32menu.c (Fx_popup_menu, Fx_popup_dialog, w32_menu_show): Ensure
9 mouse is not grabbed after menu is finished.
10
12008-09-01 Chong Yidong <cyd@stupidchicken.com> 112008-09-01 Chong Yidong <cyd@stupidchicken.com>
2 12
3 * xfaces.c (Finternal_set_alternative_font_family_alist) 13 * xfaces.c (Finternal_set_alternative_font_family_alist)
diff --git a/src/fileio.c b/src/fileio.c
index 02c41243cb6..ad8f7d7a538 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -932,12 +932,11 @@ See also the function `substitute-in-file-name'. */)
932 nm = SDATA (name); 932 nm = SDATA (name);
933 nm_in_name = 1; 933 nm_in_name = 1;
934 934
935#ifdef DOS_NT 935 /* Make a local copy of nm[] to protect it from GC in DECODE_FILE below. */
936 /* We will force directory separators to be either all \ or /, so make
937 a local copy to modify, even if there ends up being no change. */
938 nm = strcpy (alloca (strlen (nm) + 1), nm); 936 nm = strcpy (alloca (strlen (nm) + 1), nm);
939 nm_in_name = 0; 937 nm_in_name = 0;
940 938
939#ifdef DOS_NT
941 /* Note if special escape prefix is present, but remove for now. */ 940 /* Note if special escape prefix is present, but remove for now. */
942 if (nm[0] == '/' && nm[1] == ':') 941 if (nm[0] == '/' && nm[1] == ':')
943 { 942 {
@@ -1038,7 +1037,7 @@ See also the function `substitute-in-file-name'. */)
1038 } 1037 }
1039 return name; 1038 return name;
1040#else /* not DOS_NT */ 1039#else /* not DOS_NT */
1041 if (nm == SDATA (name)) 1040 if (strcmp (nm, SDATA (name)) == 0)
1042 return name; 1041 return name;
1043 return make_specified_string (nm, -1, strlen (nm), multibyte); 1042 return make_specified_string (nm, -1, strlen (nm), multibyte);
1044#endif /* not DOS_NT */ 1043#endif /* not DOS_NT */
diff --git a/src/w32menu.c b/src/w32menu.c
index fb54caf8806..067049808ad 100644
--- a/src/w32menu.c
+++ b/src/w32menu.c
@@ -342,6 +342,7 @@ cached information about equivalent key sequences. */)
342 if (NILP (position)) 342 if (NILP (position))
343 { 343 {
344 discard_menu_items (); 344 discard_menu_items ();
345 FRAME_X_DISPLAY_INFO (f)->grabbed = 0;
345 UNGCPRO; 346 UNGCPRO;
346 return Qnil; 347 return Qnil;
347 } 348 }
@@ -355,6 +356,7 @@ cached information about equivalent key sequences. */)
355 if (current_popup_menu) 356 if (current_popup_menu)
356 { 357 {
357 discard_menu_items (); 358 discard_menu_items ();
359 FRAME_X_DISPLAY_INFO (f)->grabbed = 0;
358 UNGCPRO; 360 UNGCPRO;
359 return Qnil; 361 return Qnil;
360 } 362 }
@@ -367,6 +369,7 @@ cached information about equivalent key sequences. */)
367 UNBLOCK_INPUT; 369 UNBLOCK_INPUT;
368 370
369 discard_menu_items (); 371 discard_menu_items ();
372 FRAME_X_DISPLAY_INFO (f)->grabbed = 0;
370 373
371#endif /* HAVE_MENUS */ 374#endif /* HAVE_MENUS */
372 375
@@ -495,6 +498,7 @@ otherwise it is "Question". */)
495 UNBLOCK_INPUT; 498 UNBLOCK_INPUT;
496 499
497 discard_menu_items (); 500 discard_menu_items ();
501 FRAME_X_DISPLAY_INFO (f)->grabbed = 0;
498 502
499 if (error_name) error (error_name); 503 if (error_name) error (error_name);
500 return selection; 504 return selection;
@@ -1165,6 +1169,7 @@ w32_menu_show (f, x, y, for_click, keymaps, title, error)
1165 /* Clean up extraneous mouse events which might have been generated 1169 /* Clean up extraneous mouse events which might have been generated
1166 during the call. */ 1170 during the call. */
1167 discard_mouse_events (); 1171 discard_mouse_events ();
1172 FRAME_X_DISPLAY_INFO (f)->grabbed = 0;
1168 1173
1169 /* Free the widget_value objects we used to specify the contents. */ 1174 /* Free the widget_value objects we used to specify the contents. */
1170 free_menubar_widget_value_tree (first_wv); 1175 free_menubar_widget_value_tree (first_wv);
diff --git a/src/xterm.c b/src/xterm.c
index 88fb04d665e..603ec993af2 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -10516,6 +10516,7 @@ x_delete_display (dpyinfo)
10516 /* Xt and GTK do this themselves. */ 10516 /* Xt and GTK do this themselves. */
10517#if ! defined (USE_X_TOOLKIT) && ! defined (USE_GTK) 10517#if ! defined (USE_X_TOOLKIT) && ! defined (USE_GTK)
10518#ifndef AIX /* On AIX, XCloseDisplay calls this. */ 10518#ifndef AIX /* On AIX, XCloseDisplay calls this. */
10519 /* Xt and GTK does this themselves. */
10519 XrmDestroyDatabase (dpyinfo->xrdb); 10520 XrmDestroyDatabase (dpyinfo->xrdb);
10520#endif 10521#endif
10521#endif 10522#endif