diff options
Diffstat (limited to 'lisp/international')
-rw-r--r-- | lisp/international/isearch-x.el | 5 | ||||
-rw-r--r-- | lisp/international/quail.el | 28 |
2 files changed, 18 insertions, 15 deletions
diff --git a/lisp/international/isearch-x.el b/lisp/international/isearch-x.el index 60736277b97..aad6b6e745e 100644 --- a/lisp/international/isearch-x.el +++ b/lisp/international/isearch-x.el @@ -97,7 +97,7 @@ (defun isearch-process-search-multibyte-characters (last-char) (if (eq this-command 'isearch-printing-char) (let ((overriding-terminal-local-map nil) - (prompt (concat (isearch-message-prefix) isearch-message)) + (prompt (concat (isearch-message-prefix))) (minibuffer-local-map isearch-minibuffer-local-map) str) (if isearch-input-method-function @@ -107,11 +107,12 @@ (cons 'with-input-method (cons last-char unread-command-events)) ;; Inherit current-input-method in a minibuffer. - str (read-string prompt nil nil nil t)) + str (read-string prompt isearch-message nil nil t)) (if (not str) ;; All inputs were deleted while the input method ;; was working. (setq str "") + (setq str (substring str (length isearch-message))) (if (and (= (length str) 1) (= (aref str 0) last-char) (>= last-char 128)) diff --git a/lisp/international/quail.el b/lisp/international/quail.el index d10e215881b..992f7ed56a6 100644 --- a/lisp/international/quail.el +++ b/lisp/international/quail.el @@ -1371,11 +1371,12 @@ Return the input string." (while quail-translating (set-buffer-modified-p modified-p) (quail-show-guidance) - (let* ((keyseq (read-key-sequence - (and input-method-use-echo-area - (concat input-method-previous-message - quail-current-str)) - nil nil t)) + (let* ((prompt (if input-method-use-echo-area + (format "%s%s %s" + (or input-method-previous-message "") + quail-current-str + quail-guidance-str))) + (keyseq (read-key-sequence prompt nil nil t)) (cmd (lookup-key (quail-translation-keymap) keyseq))) (if (if key (and (commandp cmd) (not (eq cmd 'quail-other-command))) @@ -1436,12 +1437,13 @@ Return the input string." quail-translating t) (quail-setup-overlays nil))) (quail-show-guidance) - (let* ((keyseq (read-key-sequence - (and input-method-use-echo-area - (concat input-method-previous-message - quail-conversion-str - quail-current-str)) - nil nil t)) + (let* ((prompt (if input-method-use-echo-area + (format "%s%s%s %s" + (or input-method-previous-message "") + quail-conversion-str + quail-current-str + quail-guidance-str))) + (keyseq (read-key-sequence prompt nil nil t)) (cmd (lookup-key (quail-conversion-keymap) keyseq))) (if (if key (commandp cmd) (eq cmd 'quail-self-insert-command)) (progn @@ -1950,10 +1952,10 @@ minibuffer and the selected frame has no other windows)." ;; Then, show the guidance. (when (and (quail-require-guidance-buf) + (not input-method-use-echo-area) (null unread-command-events) (null unread-post-input-method-events)) - (if (or (eq (selected-window) (minibuffer-window)) - input-method-use-echo-area) + (if (eq (selected-window) (minibuffer-window)) (if (eq (minibuffer-window) (frame-root-window)) ;; Use another frame. It is sure that we are using some ;; window system. |