summaryrefslogtreecommitdiff
path: root/lisp/international
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/international')
-rw-r--r--lisp/international/isearch-x.el5
-rw-r--r--lisp/international/quail.el28
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.