Mercurial > emacs
changeset 17006:8d4650e49e36
(isearch-mode-map): Define
isearch-toggle-input-method and
isearch-toggle-specified-input-method in the map.
(isearch-multibyte-characters-flag): New variable.
(isearch-mode): Initialize it to nil.
(isearch-printing-char): Handle multibyte characters.
(isearch-message-prefix): Include title of input method if
necessary in the prefix of message.
author | Karl Heuer <kwzh@gnu.org> |
---|---|
date | Thu, 20 Feb 1997 05:46:22 +0000 |
parents | 1fa50c7fdde3 |
children | 84baf57e05b4 |
files | lisp/isearch.el |
diffstat | 1 files changed, 14 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/isearch.el Thu Feb 20 05:45:01 1997 +0000 +++ b/lisp/isearch.el Thu Feb 20 05:46:22 1997 +0000 @@ -255,6 +255,9 @@ (define-key map [delete-frame] nil) (define-key map [iconify-frame] nil) (define-key map [make-frame-visible] nil) + ;; For searching multilingual text. + (define-key map "\C-\\" 'isearch-toggle-input-method) + (define-key map "\C-^" 'isearch-toggle-specified-input-method) (setq isearch-mode-map map) )) @@ -316,6 +319,9 @@ ;; Flag to indicate a yank occurred, so don't move the cursor. (defvar isearch-yank-flag nil) +;; Flag to indicate that we are searching multibyte characaters. +(defvar isearch-multibyte-characters-flag nil) + ;;; A function to be called after each input character is processed. ;;; (It is not called after characters that exit the search.) ;;; It is only set from an optional argument to `isearch-mode'. @@ -463,6 +469,7 @@ isearch-other-end nil isearch-small-window nil isearch-just-started t + isearch-multibyte-characters-flag nil isearch-opoint (point) search-ring-yank-pointer nil @@ -1100,7 +1107,9 @@ (defun isearch-printing-char () "Add this ordinary printing character to the search string and search." (interactive) - (isearch-process-search-char (isearch-last-command-char))) + (if isearch-multibyte-characters-flag + (isearch-process-search-multibyte-characters (isearch-last-command-char)) + (isearch-process-search-char (isearch-last-command-char)))) (defun isearch-whitespace-chars () "Match all whitespace chars, if in regexp mode. @@ -1331,7 +1340,10 @@ (if isearch-word "word " "") (if isearch-regexp "regexp " "") (if nonincremental "search" "I-search") - (if isearch-forward ": " " backward: ") + (if isearch-forward "" " backward") + (if isearch-multibyte-characters-flag + (concat " [" default-input-method-title "]: ") + ": ") ))) (aset m 0 (upcase (aref m 0))) m))