]> git.eshelyaron.com Git - emacs.git/commitdiff
Improve handling of non-character events in input methods
authorGregory Heytings <gregory@heytings.org>
Tue, 12 Oct 2021 12:50:21 +0000 (12:50 +0000)
committerEli Zaretskii <eliz@gnu.org>
Tue, 12 Oct 2021 16:50:41 +0000 (19:50 +0300)
* lisp/international/quail.el (quail-add-unread-command-events):
Handle non-vector event arguments.  Fixes bug#51118.

lisp/international/quail.el

index 50ff307b73a6dac5c4a60d2c93a390c888d28dac..ee935b11ec0fb5110edc38d9b440026e34b22a78 100644 (file)
@@ -1382,6 +1382,8 @@ a cons cell of the form (no-record . KEY).
 If KEY is a vector of events, the events in the vector are prepended
 to `unread-command-events', after converting each event to a cons cell
 of the form (no-record . EVENT).
+If KEY is an event, it is prepended to `unread-command-events' as a cons
+cell of the form (no-record . EVENT).
 If RESET is non-nil, the events in `unread-command-events' are first
 discarded, i.e. in this case KEY will end up being the only key
 in `unread-command-events'."
@@ -1390,7 +1392,7 @@ in `unread-command-events'."
         (if (characterp key)
             (cons (cons 'no-record key) unread-command-events)
           (append (mapcan (lambda (e) (list (cons 'no-record e)))
-                          (append key nil))
+                          (append (if (vectorp key) key (vector key)) nil))
                   unread-command-events))))
 
 (defun quail-start-translation (key)