--- ./lisp/international/isearch-x.el.org 2005-07-18 23:32:51.000000000 +0900 +++ ./lisp/international/isearch-x.el 2006-09-11 18:44:57.000000000 +0900 @@ -98,9 +98,14 @@ (defun isearch-process-search-multibyte-characters (last-char) (if (eq this-command 'isearch-printing-char) (let ((overriding-terminal-local-map nil) - (prompt (isearch-message-prefix)) + (prompt (concat (isearch-message-prefix) isearch-message)) (minibuffer-local-map isearch-minibuffer-local-map) - str junk-hist) + str) + (if (not (equal + (substring + (concat default-input-method "____________") 0 12) + "japanese-egg")) + (progn (if isearch-input-method-function (let (;; Let input method work rather tersely. (input-method-verbose-flag nil)) @@ -108,12 +113,11 @@ (cons 'with-input-method (cons last-char unread-command-events)) ;; Inherit current-input-method in a minibuffer. - str (read-string prompt isearch-message 'junk-hist nil t)) - (if (or (not str) (< (length str) (length isearch-message))) + str (read-string prompt nil 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)) @@ -124,8 +128,15 @@ (setq unread-command-events (cons 'with-keyboard-coding (cons last-char unread-command-events)) - str (read-string prompt nil 'junk-hist))) + str (read-string prompt)))) + (progn ;; for Tamago-4 + (setq unread-command-events + (cons last-char unread-command-events)) + (setq str (read-multilingual-string + (concat (isearch-message-prefix) isearch-message) + nil current-input-method)))) + (if (and str (> (length str) 0)) (let ((unread-command-events nil)) (isearch-process-search-string str str)) --- ./lisp/international/mule-cmds.el.org 2005-12-07 16:27:28.000000000 +0900 +++ ./lisp/international/mule-cmds.el 2006-09-11 18:36:21.000000000 +0900 @@ -1555,8 +1555,17 @@ (let ((prev-input-method current-input-method)) (unwind-protect (progn + (setq map-isearch-multibyte-characters + (make-sparse-keymap)) + (define-key map-isearch-multibyte-characters "\C-s" [13]) + (define-key map-isearch-multibyte-characters "\C-r" [13]) + (set-keymap-parent + map-isearch-multibyte-characters + minibuffer-local-map) (activate-input-method input-method) - (read-string prompt initial-input nil nil t)) + (read-from-minibuffer prompt initial-input + map-isearch-multibyte-characters + nil nil nil t)) (activate-input-method prev-input-method)))) ;; Variables to control behavior of input methods. All input methods