diff options
| author | Eli Zaretskii | 2010-01-16 16:13:12 -0500 |
|---|---|---|
| committer | Eli Zaretskii | 2010-01-16 16:13:12 -0500 |
| commit | 5a876cd5f810b611f78dd4cf7a1673bffeea19a9 (patch) | |
| tree | 93d7479d8263fb828f95932a0cb3e3b0678fa996 | |
| parent | b3108ead2d1691d8ad3005a6350c4febf92df2fb (diff) | |
| parent | abd5cfe880473c8da925d5b83e52c8019803d87d (diff) | |
| download | emacs-5a876cd5f810b611f78dd4cf7a1673bffeea19a9.tar.gz emacs-5a876cd5f810b611f78dd4cf7a1673bffeea19a9.zip | |
Merge from mainline.
| -rw-r--r-- | admin/notes/commits | 53 | ||||
| -rw-r--r-- | admin/notes/cvslogs | 15 | ||||
| -rw-r--r-- | lisp/ChangeLog | 11 | ||||
| -rw-r--r-- | lisp/emacs-lisp/cl-loaddefs.el | 20 | ||||
| -rw-r--r-- | lisp/emacs-lisp/cl-macs.el | 18 | ||||
| -rw-r--r-- | lisp/pcmpl-unix.el | 5 | ||||
| -rw-r--r-- | lisp/startup.el | 13 | ||||
| -rw-r--r-- | src/ChangeLog | 9 | ||||
| -rw-r--r-- | src/emacs.c | 7 | ||||
| -rw-r--r-- | src/xterm.c | 21 |
10 files changed, 133 insertions, 39 deletions
diff --git a/admin/notes/commits b/admin/notes/commits new file mode 100644 index 00000000000..2896328c664 --- /dev/null +++ b/admin/notes/commits | |||
| @@ -0,0 +1,53 @@ | |||
| 1 | HOW TO COMMIT CHANGES TO EMACS | ||
| 2 | |||
| 3 | http://lists.gnu.org/archive/html/emacs-devel/2009-03/msg00555.html | ||
| 4 | From: Miles Bader | ||
| 5 | Subject: commit style redux | ||
| 6 | Date: Tue, 31 Mar 2009 12:21:20 +0900 | ||
| 7 | |||
| 8 | (1) Commit all changed files at once with a single log message (which | ||
| 9 | in CVS will result in an identical log message for all committed | ||
| 10 | files), not one-by-one. This is pretty easy using vc-dir now. | ||
| 11 | |||
| 12 | (2) Make the log message describe the entire changeset, perhaps | ||
| 13 | including relevant changelog entiries (I often don't bother with | ||
| 14 | the latter if it's a trivial sort of change). | ||
| 15 | |||
| 16 | Many modern source-control systems vaguely distinguish the first | ||
| 17 | line of the log message to use as a short summary for abbreviated | ||
| 18 | history listing (in arch this was explicitly called the summary, | ||
| 19 | but many other systems have a similar concept). So it's nice if | ||
| 20 | you can format the log entry like: | ||
| 21 | |||
| 22 | SHORTISH ONE-LINE SUMMARY | ||
| 23 | |||
| 24 | MULTIPLE-LINE DETAILED DESCRIPTION POSSIBLY INCLUDING (OR | ||
| 25 | CONSISTING OF) CHANGELOG ENTRIES | ||
| 26 | |||
| 27 | [Even with CVS this style is useful, because web CVS browsing | ||
| 28 | interfaces often include the first N words of the log message of | ||
| 29 | the most recent commit as a short "most recent change" | ||
| 30 | description.] | ||
| 31 | |||
| 32 | (3) Don't phrase log messages assuming the filename is known, because | ||
| 33 | in non-file-oriented systems (everything modern other than CVS), | ||
| 34 | the log listing tends to be treated as global information, and the | ||
| 35 | connection with specific files is less explicit. | ||
| 36 | |||
| 37 | For instance, currently I often see log messages like "Regenerate"; | ||
| 38 | for modern source-control systems with a global log, it's better to | ||
| 39 | have something like "Regenerate configure". | ||
| 40 | |||
| 41 | |||
| 42 | Followup discussion: | ||
| 43 | http://lists.gnu.org/archive/html/emacs-devel/2010-01/msg00897.html | ||
| 44 | |||
| 45 | |||
| 46 | PREVIOUS GUIDELINES FOR CVS | ||
| 47 | |||
| 48 | For historical interest only, here is the old-style advice for CVS logs: | ||
| 49 | http://lists.gnu.org/archive/html/emacs-devel/2007-12/msg01208.html | ||
| 50 | |||
| 51 | From: Eli Zaretskii | ||
| 52 | Subject: Re: Log messages in CVS | ||
| 53 | Date: Sat, 29 Dec 2007 16:06:29 +0200 | ||
diff --git a/admin/notes/cvslogs b/admin/notes/cvslogs deleted file mode 100644 index ff2dcc93ff5..00000000000 --- a/admin/notes/cvslogs +++ /dev/null | |||
| @@ -1,15 +0,0 @@ | |||
| 1 | http://lists.gnu.org/archive/html/emacs-devel/2007-12/msg01208.html | ||
| 2 | |||
| 3 | From: Eli Zaretskii | ||
| 4 | Subject: Re: Log messages in CVS | ||
| 5 | Date: Sat, 29 Dec 2007 16:06:29 +0200 | ||
| 6 | |||
| 7 | I once posted a summary that I know about; see: | ||
| 8 | |||
| 9 | http://lists.gnu.org/archive/html/emacs-devel/2006-11/msg00229.html | ||
| 10 | http://lists.gnu.org/archive/html/emacs-devel/2006-11/msg00234.html | ||
| 11 | http://lists.gnu.org/archive/html/emacs-devel/2006-11/msg00312.html | ||
| 12 | |||
| 13 | Richard commented here, basically approving my summary: | ||
| 14 | |||
| 15 | http://lists.gnu.org/archive/html/emacs-devel/2006-11/msg00276.html | ||
diff --git a/lisp/ChangeLog b/lisp/ChangeLog index ea7435c559d..5ff2d7b24c0 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog | |||
| @@ -1,3 +1,14 @@ | |||
| 1 | 2010-01-16 Jari Aalto <jari.aalto@cante.net> | ||
| 2 | |||
| 3 | * pcmpl-unix.el (pcmpl-unix-read-passwd-file): Doc fix. | ||
| 4 | |||
| 5 | 2010-01-16 Chong Yidong <cyd@stupidchicken.com> | ||
| 6 | |||
| 7 | * emacs-lisp/cl-macs.el (defstruct): Doc fix (Bug#5267). | ||
| 8 | |||
| 9 | * startup.el (command-line): Remove unused --icon-type arg. | ||
| 10 | Handle --display arg, passing it to command-line-1 (Bug#5392). | ||
| 11 | |||
| 1 | 2010-01-16 Mario Lang <mlang@delysid.org> | 12 | 2010-01-16 Mario Lang <mlang@delysid.org> |
| 2 | 13 | ||
| 3 | * cedet/ede/cpp-root.el (ede-cpp-root-project): | 14 | * cedet/ede/cpp-root.el (ede-cpp-root-project): |
diff --git a/lisp/emacs-lisp/cl-loaddefs.el b/lisp/emacs-lisp/cl-loaddefs.el index 0be2c643313..3beda28abf2 100644 --- a/lisp/emacs-lisp/cl-loaddefs.el +++ b/lisp/emacs-lisp/cl-loaddefs.el | |||
| @@ -282,7 +282,7 @@ Not documented | |||
| 282 | ;;;;;; flet progv psetq do-all-symbols do-symbols dotimes dolist | 282 | ;;;;;; flet progv psetq do-all-symbols do-symbols dotimes dolist |
| 283 | ;;;;;; do* do loop return-from return block etypecase typecase ecase | 283 | ;;;;;; do* do loop return-from return block etypecase typecase ecase |
| 284 | ;;;;;; case load-time-value eval-when destructuring-bind function* | 284 | ;;;;;; case load-time-value eval-when destructuring-bind function* |
| 285 | ;;;;;; defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "3867c0613dfd69780f561012a1dfe67b") | 285 | ;;;;;; defmacro* defun* gentemp gensym) "cl-macs" "cl-macs.el" "e10a7e42199c08dc39460f67dd2d424b") |
| 286 | ;;; Generated autoloads from cl-macs.el | 286 | ;;; Generated autoloads from cl-macs.el |
| 287 | 287 | ||
| 288 | (autoload 'gensym "cl-macs" "\ | 288 | (autoload 'gensym "cl-macs" "\ |
| @@ -672,11 +672,21 @@ from ARGLIST using FUNC: (define-modify-macro incf (&optional (n 1)) +) | |||
| 672 | 672 | ||
| 673 | (autoload 'defstruct "cl-macs" "\ | 673 | (autoload 'defstruct "cl-macs" "\ |
| 674 | Define a struct type. | 674 | Define a struct type. |
| 675 | This macro defines a new Lisp data type called NAME, which contains data | 675 | This macro defines a new data type called NAME that stores data |
| 676 | stored in SLOTs. This defines a `make-NAME' constructor, a `copy-NAME' | 676 | in SLOTs. It defines a `make-NAME' constructor, a `copy-NAME' |
| 677 | copier, a `NAME-p' predicate, and setf-able `NAME-SLOT' accessors. | 677 | copier, a `NAME-p' predicate, and slot accessors named `NAME-SLOT'. |
| 678 | You can use the accessors to set the corresponding slots, via `setf'. | ||
| 678 | 679 | ||
| 679 | \(fn (NAME OPTIONS...) (SLOT SLOT-OPTS...)...)" nil (quote macro)) | 680 | NAME may instead take the form (NAME OPTIONS...), where each |
| 681 | OPTION is either a single keyword or (KEYWORD VALUE). | ||
| 682 | See Info node `(cl)Structures' for a list of valid keywords. | ||
| 683 | |||
| 684 | Each SLOT may instead take the form (SLOT SLOT-OPTS...), where | ||
| 685 | SLOT-OPTS are keyword-value pairs for that slot. Currently, only | ||
| 686 | one keyword is supported, `:read-only'. If this has a non-nil | ||
| 687 | value, that slot cannot be set via `setf'. | ||
| 688 | |||
| 689 | \(fn NAME SLOTS...)" nil (quote macro)) | ||
| 680 | 690 | ||
| 681 | (autoload 'cl-struct-setf-expander "cl-macs" "\ | 691 | (autoload 'cl-struct-setf-expander "cl-macs" "\ |
| 682 | Not documented | 692 | Not documented |
diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el index 29bb752dbf7..4e3b1fb72d9 100644 --- a/lisp/emacs-lisp/cl-macs.el +++ b/lisp/emacs-lisp/cl-macs.el | |||
| @@ -2191,11 +2191,21 @@ from ARGLIST using FUNC: (define-modify-macro incf (&optional (n 1)) +)" | |||
| 2191 | ;;;###autoload | 2191 | ;;;###autoload |
| 2192 | (defmacro defstruct (struct &rest descs) | 2192 | (defmacro defstruct (struct &rest descs) |
| 2193 | "Define a struct type. | 2193 | "Define a struct type. |
| 2194 | This macro defines a new Lisp data type called NAME, which contains data | 2194 | This macro defines a new data type called NAME that stores data |
| 2195 | stored in SLOTs. This defines a `make-NAME' constructor, a `copy-NAME' | 2195 | in SLOTs. It defines a `make-NAME' constructor, a `copy-NAME' |
| 2196 | copier, a `NAME-p' predicate, and setf-able `NAME-SLOT' accessors. | 2196 | copier, a `NAME-p' predicate, and slot accessors named `NAME-SLOT'. |
| 2197 | You can use the accessors to set the corresponding slots, via `setf'. | ||
| 2197 | 2198 | ||
| 2198 | \(fn (NAME OPTIONS...) (SLOT SLOT-OPTS...)...)" | 2199 | NAME may instead take the form (NAME OPTIONS...), where each |
| 2200 | OPTION is either a single keyword or (KEYWORD VALUE). | ||
| 2201 | See Info node `(cl)Structures' for a list of valid keywords. | ||
| 2202 | |||
| 2203 | Each SLOT may instead take the form (SLOT SLOT-OPTS...), where | ||
| 2204 | SLOT-OPTS are keyword-value pairs for that slot. Currently, only | ||
| 2205 | one keyword is supported, `:read-only'. If this has a non-nil | ||
| 2206 | value, that slot cannot be set via `setf'. | ||
| 2207 | |||
| 2208 | \(fn NAME SLOTS...)" | ||
| 2199 | (let* ((name (if (consp struct) (car struct) struct)) | 2209 | (let* ((name (if (consp struct) (car struct) struct)) |
| 2200 | (opts (cdr-safe struct)) | 2210 | (opts (cdr-safe struct)) |
| 2201 | (slots nil) | 2211 | (slots nil) |
diff --git a/lisp/pcmpl-unix.el b/lisp/pcmpl-unix.el index 546d4a2591d..9282fe87b5a 100644 --- a/lisp/pcmpl-unix.el +++ b/lisp/pcmpl-unix.el | |||
| @@ -85,7 +85,10 @@ with the SSH option \"HashKnownHosts no\"." | |||
| 85 | (while (pcomplete-here (funcall pcomplete-command-completion-function)))) | 85 | (while (pcomplete-here (funcall pcomplete-command-completion-function)))) |
| 86 | 86 | ||
| 87 | (defun pcmpl-unix-read-passwd-file (file) | 87 | (defun pcmpl-unix-read-passwd-file (file) |
| 88 | "Return an alist correlating gids to group names in FILE." | 88 | "Return an alist correlating gids to group names in FILE. |
| 89 | |||
| 90 | If FILE is in hashed format (as described in the OpenSSH | ||
| 91 | documentation), this function returns nil." | ||
| 89 | (let (names) | 92 | (let (names) |
| 90 | (when (file-readable-p file) | 93 | (when (file-readable-p file) |
| 91 | (with-temp-buffer | 94 | (with-temp-buffer |
diff --git a/lisp/startup.el b/lisp/startup.el index 9de08852ae2..857ad97e448 100644 --- a/lisp/startup.el +++ b/lisp/startup.el | |||
| @@ -758,7 +758,8 @@ opening the first frame (e.g. open a connection to an X server).") | |||
| 758 | (pop args))) | 758 | (pop args))) |
| 759 | 759 | ||
| 760 | (let ((done nil) | 760 | (let ((done nil) |
| 761 | (args (cdr command-line-args))) | 761 | (args (cdr command-line-args)) |
| 762 | display-arg) | ||
| 762 | 763 | ||
| 763 | ;; Figure out which user's init file to load, | 764 | ;; Figure out which user's init file to load, |
| 764 | ;; either from the environment or from the options. | 765 | ;; either from the environment or from the options. |
| @@ -794,6 +795,11 @@ opening the first frame (e.g. open a connection to an X server).") | |||
| 794 | (setq argval nil | 795 | (setq argval nil |
| 795 | argi orig-argi))))) | 796 | argi orig-argi))))) |
| 796 | (cond | 797 | (cond |
| 798 | ;; The --display arg is handled partly in C, partly in Lisp. | ||
| 799 | ;; When it shows up here, we just put it back to be handled | ||
| 800 | ;; by `command-line-1'. | ||
| 801 | ((member argi '("-d" "-display")) | ||
| 802 | (setq display-arg (list argi (pop args)))) | ||
| 797 | ((member argi '("-Q" "-quick")) | 803 | ((member argi '("-Q" "-quick")) |
| 798 | (setq init-file-user nil | 804 | (setq init-file-user nil |
| 799 | site-run-file nil | 805 | site-run-file nil |
| @@ -813,8 +819,6 @@ opening the first frame (e.g. open a connection to an X server).") | |||
| 813 | (setq init-file-debug t)) | 819 | (setq init-file-debug t)) |
| 814 | ((equal argi "-iconic") | 820 | ((equal argi "-iconic") |
| 815 | (push '(visibility . icon) initial-frame-alist)) | 821 | (push '(visibility . icon) initial-frame-alist)) |
| 816 | ((member argi '("-icon-type" "-i" "-itype")) | ||
| 817 | (push '(icon-type . t) default-frame-alist)) | ||
| 818 | ((member argi '("-nbc" "-no-blinking-cursor")) | 822 | ((member argi '("-nbc" "-no-blinking-cursor")) |
| 819 | (setq no-blinking-cursor t)) | 823 | (setq no-blinking-cursor t)) |
| 820 | ;; Push the popped arg back on the list of arguments. | 824 | ;; Push the popped arg back on the list of arguments. |
| @@ -825,6 +829,9 @@ opening the first frame (e.g. open a connection to an X server).") | |||
| 825 | (and argval | 829 | (and argval |
| 826 | (error "Option `%s' doesn't allow an argument" argi)))) | 830 | (error "Option `%s' doesn't allow an argument" argi)))) |
| 827 | 831 | ||
| 832 | ;; Re-attach the --display arg. | ||
| 833 | (and display-arg (setq args (append display-arg args))) | ||
| 834 | |||
| 828 | ;; Re-attach the program name to the front of the arg list. | 835 | ;; Re-attach the program name to the front of the arg list. |
| 829 | (and command-line-args | 836 | (and command-line-args |
| 830 | (setcdr command-line-args args))) | 837 | (setcdr command-line-args args))) |
diff --git a/src/ChangeLog b/src/ChangeLog index 94a1f9604f5..e1d2ba440ab 100644 --- a/src/ChangeLog +++ b/src/ChangeLog | |||
| @@ -1,3 +1,12 @@ | |||
| 1 | 2010-01-16 Stefan Monnier <monnier@iro.umontreal.ca> | ||
| 2 | |||
| 3 | * xterm.c (event_handler_gdk): Block input (Bug#5037). | ||
| 4 | |||
| 5 | 2010-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 | |||
| 1 | 2010-01-16 Andreas Schwab <schwab@linux-m68k.org> | 10 | 2010-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, ¤t_finish, |
| 5820 | handle_one_xevent (dpyinfo, xev, ¤t_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 | ||