aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog9
-rw-r--r--src/emacs.c7
-rw-r--r--src/xterm.c21
3 files changed, 26 insertions, 11 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 94a1f9604f5..e1d2ba440ab 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,12 @@
12010-01-16 Stefan Monnier <monnier@iro.umontreal.ca>
2
3 * xterm.c (event_handler_gdk): Block input (Bug#5037).
4
52010-01-16 Chong Yidong <cyd@stupidchicken.com>
6
7 * emacs.c (standard_args): Adjust arg priorities to reflect how
8 they are processed in startup.el.
9
12010-01-16 Andreas Schwab <schwab@linux-m68k.org> 102010-01-16 Andreas Schwab <schwab@linux-m68k.org>
2 11
3 * Makefile.in (lisp, shortlisp): Update. 12 * Makefile.in (lisp, shortlisp): Update.
diff --git a/src/emacs.c b/src/emacs.c
index 2f73e8b837a..71ffa998bfe 100644
--- a/src/emacs.c
+++ b/src/emacs.c
@@ -1869,7 +1869,7 @@ const struct standard_args standard_args[] =
1869 /* -d must come last before the options handled in startup.el. */ 1869 /* -d must come last before the options handled in startup.el. */
1870 { "-d", "--display", 60, 1 }, 1870 { "-d", "--display", 60, 1 },
1871 { "-display", 0, 60, 1 }, 1871 { "-display", 0, 60, 1 },
1872 /* Now for the options handled in startup.el. */ 1872 /* Now for the options handled in `command-line' (startup.el). */
1873 { "-Q", "--quick", 55, 0 }, 1873 { "-Q", "--quick", 55, 0 },
1874 { "-quick", 0, 55, 0 }, 1874 { "-quick", 0, 55, 0 },
1875 { "-q", "--no-init-file", 50, 0 }, 1875 { "-q", "--no-init-file", 50, 0 },
@@ -1878,10 +1878,12 @@ const struct standard_args standard_args[] =
1878 { "-u", "--user", 30, 1 }, 1878 { "-u", "--user", 30, 1 },
1879 { "-user", 0, 30, 1 }, 1879 { "-user", 0, 30, 1 },
1880 { "-debug-init", "--debug-init", 20, 0 }, 1880 { "-debug-init", "--debug-init", 20, 0 },
1881 { "-nbi", "--no-bitmap-icon", 15, 0 },
1882 { "-iconic", "--iconic", 15, 0 }, 1881 { "-iconic", "--iconic", 15, 0 },
1883 { "-D", "--basic-display", 12, 0}, 1882 { "-D", "--basic-display", 12, 0},
1884 { "-basic-display", 0, 12, 0}, 1883 { "-basic-display", 0, 12, 0},
1884 { "-nbc", "--no-blinking-cursor", 12, 0 },
1885 /* Now for the options handled in `command-line-1' (startup.el). */
1886 { "-nbi", "--no-bitmap-icon", 10, 0 },
1885 { "-bg", "--background-color", 10, 1 }, 1887 { "-bg", "--background-color", 10, 1 },
1886 { "-background", 0, 10, 1 }, 1888 { "-background", 0, 10, 1 },
1887 { "-fg", "--foreground-color", 10, 1 }, 1889 { "-fg", "--foreground-color", 10, 1 },
@@ -1891,7 +1893,6 @@ const struct standard_args standard_args[] =
1891 { "-ib", "--internal-border", 10, 1 }, 1893 { "-ib", "--internal-border", 10, 1 },
1892 { "-ms", "--mouse-color", 10, 1 }, 1894 { "-ms", "--mouse-color", 10, 1 },
1893 { "-cr", "--cursor-color", 10, 1 }, 1895 { "-cr", "--cursor-color", 10, 1 },
1894 { "-nbc", "--no-blinking-cursor", 10, 0 },
1895 { "-fn", "--font", 10, 1 }, 1896 { "-fn", "--font", 10, 1 },
1896 { "-font", 0, 10, 1 }, 1897 { "-font", 0, 10, 1 },
1897 { "-fs", "--fullscreen", 10, 0 }, 1898 { "-fs", "--fullscreen", 10, 0 },
diff --git a/src/xterm.c b/src/xterm.c
index b541683e5ad..1add3c415e7 100644
--- a/src/xterm.c
+++ b/src/xterm.c
@@ -5797,6 +5797,7 @@ event_handler_gdk (gxev, ev, data)
5797{ 5797{
5798 XEvent *xev = (XEvent *) gxev; 5798 XEvent *xev = (XEvent *) gxev;
5799 5799
5800 BLOCK_INPUT;
5800 if (current_count >= 0) 5801 if (current_count >= 0)
5801 { 5802 {
5802 struct x_display_info *dpyinfo; 5803 struct x_display_info *dpyinfo;
@@ -5807,23 +5808,27 @@ event_handler_gdk (gxev, ev, data)
5807 /* Filter events for the current X input method. 5808 /* Filter events for the current X input method.
5808 GTK calls XFilterEvent but not for key press and release, 5809 GTK calls XFilterEvent but not for key press and release,
5809 so we do it here. */ 5810 so we do it here. */
5810 if (xev->type == KeyPress || xev->type == KeyRelease) 5811 if ((xev->type == KeyPress || xev->type == KeyRelease)
5811 if (dpyinfo && x_filter_event (dpyinfo, xev)) 5812 && dpyinfo
5812 return GDK_FILTER_REMOVE; 5813 && x_filter_event (dpyinfo, xev))
5814 {
5815 UNBLOCK_INPUT;
5816 return GDK_FILTER_REMOVE;
5817 }
5813#endif 5818#endif
5814 5819
5815 if (! dpyinfo) 5820 if (! dpyinfo)
5816 current_finish = X_EVENT_NORMAL; 5821 current_finish = X_EVENT_NORMAL;
5817 else 5822 else
5818 { 5823 current_count +=
5819 current_count += 5824 handle_one_xevent (dpyinfo, xev, &current_finish,
5820 handle_one_xevent (dpyinfo, xev, &current_finish, 5825 current_hold_quit);
5821 current_hold_quit);
5822 }
5823 } 5826 }
5824 else 5827 else
5825 current_finish = x_dispatch_event (xev, xev->xany.display); 5828 current_finish = x_dispatch_event (xev, xev->xany.display);
5826 5829
5830 UNBLOCK_INPUT;
5831
5827 if (current_finish == X_EVENT_GOTO_OUT || current_finish == X_EVENT_DROP) 5832 if (current_finish == X_EVENT_GOTO_OUT || current_finish == X_EVENT_DROP)
5828 return GDK_FILTER_REMOVE; 5833 return GDK_FILTER_REMOVE;
5829 5834