summaryrefslogtreecommitdiff
path: root/lisp/leim
diff options
context:
space:
mode:
authorDavid Kastrup <dak@gnu.org>2015-07-25 18:54:42 +0200
committerDavid Kastrup <dak@gnu.org>2015-08-04 14:34:15 +0200
commit5022e27dac4c13651941e425dbec5b3a2cecdae4 (patch)
tree696d748c8abc3aea1bfd5305a8e71dc985053496 /lisp/leim
parent227e996946d4629fa8f6d665564a37668290c87f (diff)
downloademacs-5022e27dac4c13651941e425dbec5b3a2cecdae4.tar.gz
emacs-5022e27dac4c13651941e425dbec5b3a2cecdae4.tar.bz2
emacs-5022e27dac4c13651941e425dbec5b3a2cecdae4.zip
; Do not overwrite preexisting contents of unread-command-events
Diffstat (limited to 'lisp/leim')
-rw-r--r--lisp/leim/quail/hangul.el12
-rw-r--r--lisp/leim/quail/japanese.el7
-rw-r--r--lisp/leim/quail/lao.el5
-rw-r--r--lisp/leim/quail/lrt.el5
-rw-r--r--lisp/leim/quail/tibetan.el10
5 files changed, 25 insertions, 14 deletions
diff --git a/lisp/leim/quail/hangul.el b/lisp/leim/quail/hangul.el
index 12d7358841b..56a244f4574 100644
--- a/lisp/leim/quail/hangul.el
+++ b/lisp/leim/quail/hangul.el
@@ -410,7 +410,9 @@ When a Korean input method is off, convert the following hangul character."
((commandp cmd)
(call-interactively cmd))
(t
- (setq unread-command-events (listify-key-sequence seq))
+ (setq unread-command-events
+ (nconc (listify-key-sequence seq)
+ unread-command-events))
(throw 'exit-input-loop nil))))))
(quail-delete-overlays)))))
@@ -454,7 +456,9 @@ When a Korean input method is off, convert the following hangul character."
((commandp cmd)
(call-interactively cmd))
(t
- (setq unread-command-events (listify-key-sequence seq))
+ (setq unread-command-events
+ (nconc (listify-key-sequence seq)
+ unread-command-events))
(throw 'exit-input-loop nil))))))
(quail-delete-overlays)))))
@@ -499,7 +503,9 @@ When a Korean input method is off, convert the following hangul character."
((commandp cmd)
(call-interactively cmd))
(t
- (setq unread-command-events (listify-key-sequence seq))
+ (setq unread-command-events
+ (nconc (listify-key-sequence seq)
+ unread-command-events))
(throw 'exit-input-loop nil))))))
(quail-delete-overlays)))))
diff --git a/lisp/leim/quail/japanese.el b/lisp/leim/quail/japanese.el
index fd6628b8a45..831725f8065 100644
--- a/lisp/leim/quail/japanese.el
+++ b/lisp/leim/quail/japanese.el
@@ -59,8 +59,9 @@
(setq quail-current-str (aref quail-current-key 0))))
(if (integerp control-flag)
(setq unread-command-events
- (string-to-list
- (substring quail-current-key control-flag)))))))
+ (append
+ (substring quail-current-key control-flag)
+ unread-command-events))))))
control-flag)
;; Convert Hiragana <-> Katakana in the current translation region.
@@ -103,7 +104,7 @@
(defun quail-japanese-self-insert-and-switch-to-alpha (key idx)
(quail-delete-region)
- (setq unread-command-events (list (aref key (1- idx))))
+ (push (aref key (1- idx)) unread-command-events)
(quail-japanese-switch-package "q" 1))
(defvar quail-japanese-switch-table
diff --git a/lisp/leim/quail/lao.el b/lisp/leim/quail/lao.el
index 52357afd8dd..14cf9268287 100644
--- a/lisp/leim/quail/lao.el
+++ b/lisp/leim/quail/lao.el
@@ -36,8 +36,9 @@
(buffer-substring (overlay-start quail-overlay)
(overlay-end quail-overlay))
unread-command-events
- (string-to-list
- (substring quail-current-key control-flag)))
+ (append
+ (substring quail-current-key control-flag)
+ unread-command-events))
(setq quail-current-str
(compose-string (quail-lookup-map-and-concat quail-current-key))))
control-flag)
diff --git a/lisp/leim/quail/lrt.el b/lisp/leim/quail/lrt.el
index 342b52d6ab6..ed9138d2134 100644
--- a/lisp/leim/quail/lrt.el
+++ b/lisp/leim/quail/lrt.el
@@ -41,8 +41,9 @@
(buffer-substring (overlay-start quail-overlay)
(overlay-end quail-overlay))
unread-command-events
- (string-to-list
- (substring quail-current-key control-flag)))
+ (append
+ (substring quail-current-key control-flag)
+ unread-command-events))
(let ((lao-str (lao-transcribe-roman-to-lao-string quail-current-key)))
(if (> (aref lao-str 0) 255)
(setq quail-current-str lao-str)
diff --git a/lisp/leim/quail/tibetan.el b/lisp/leim/quail/tibetan.el
index 1313f566def..5dacf290c10 100644
--- a/lisp/leim/quail/tibetan.el
+++ b/lisp/leim/quail/tibetan.el
@@ -50,8 +50,9 @@
(buffer-substring (overlay-start quail-overlay)
(overlay-end quail-overlay))
unread-command-events
- (string-to-list
- (substring quail-current-key control-flag)))
+ (append
+ (substring quail-current-key control-flag)
+ unread-command-events))
;; Special treatment of "-d..." and "-y...".
(if (string-match "^-[dy]" quail-current-key)
(setq quail-current-key (substring quail-current-key 1)))
@@ -381,8 +382,9 @@
(buffer-substring (overlay-start quail-overlay)
(overlay-end quail-overlay))
unread-command-events
- (string-to-list
- (substring quail-current-key control-flag)))
+ (append
+ (substring quail-current-key control-flag)
+ unread-command-events))
(let ((transcription (quail-tibkey-to-transcription quail-current-key)))
(if (> (length transcription) 0)
(let ((quail-current-key transcription))