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))