[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master c1021ba: Fix "C-u" when an input method is active
From: |
Eli Zaretskii |
Subject: |
[Emacs-diffs] master c1021ba: Fix "C-u" when an input method is active |
Date: |
Sat, 13 Aug 2016 09:27:32 +0000 (UTC) |
branch: master
commit c1021ba910efac334027ad03ff6aed64306fad3c
Author: Joakim Jalap <address@hidden>
Commit: Eli Zaretskii <address@hidden>
Fix "C-u" when an input method is active
* lisp/international/quail.el (quail-input-method): Defer to the
input method iff 'overriding-terminal-local-map' is
'universal-argument-map' and the given key has no binding there.
(Bug#22958)
---
lisp/international/quail.el | 10 +++++++++-
1 file changed, 9 insertions(+), 1 deletion(-)
diff --git a/lisp/international/quail.el b/lisp/international/quail.el
index f5e3902..320d783 100644
--- a/lisp/international/quail.el
+++ b/lisp/international/quail.el
@@ -1333,7 +1333,15 @@ If STR has `advice' text property, append the following
special event:
(defun quail-input-method (key)
(if (or buffer-read-only
- overriding-terminal-local-map
+ (and overriding-terminal-local-map
+ ;; If the overriding map is `universal-argument-map', that
+ ;; must mean the user has pressed 'C-u KEY'. If KEY has a
+ ;; binding in `universal-argument-map' just return
+ ;; (list KEY), otherwise act as if there was no
+ ;; overriding map.
+ (or (not (eq (cadr overriding-terminal-local-map)
+ universal-argument-map))
+ (lookup-key overriding-terminal-local-map (vector key))))
overriding-local-map)
(list key)
(quail-setup-overlays (quail-conversion-keymap))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master c1021ba: Fix "C-u" when an input method is active,
Eli Zaretskii <=