aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKenichi Handa2000-06-01 06:22:31 +0000
committerKenichi Handa2000-06-01 06:22:31 +0000
commita5cc922e6a52d25b0935d699f0d23aa141707c5f (patch)
tree17c3d727c32f63defc6ae16b232bd281615f8609
parent6389e4ab7b89b10cfbe7d7c69435c4a0c7fd0761 (diff)
downloademacs-a5cc922e6a52d25b0935d699f0d23aa141707c5f.tar.gz
emacs-a5cc922e6a52d25b0935d699f0d23aa141707c5f.zip
(isearch-update): Set disable-point-adjustment to t
to prevent the point moving to the end of a composition when a part of a composition is searched. (isearch-other-meta-char): If the key invoking this command can be mapped by function-key-map to a printing char, call isearch-process-search-char directly.
-rw-r--r--lisp/isearch.el23
1 files changed, 20 insertions, 3 deletions
diff --git a/lisp/isearch.el b/lisp/isearch.el
index 23b281595f5..cbb9e84c891 100644
--- a/lisp/isearch.el
+++ b/lisp/isearch.el
@@ -619,7 +619,10 @@ is treated as a regexp. See \\[isearch-forward] for more info."
619 (setq ;; quit-flag nil not for isearch-mode 619 (setq ;; quit-flag nil not for isearch-mode
620 isearch-adjusted nil 620 isearch-adjusted nil
621 isearch-yank-flag nil) 621 isearch-yank-flag nil)
622 (isearch-lazy-highlight-new-loop)) 622 (isearch-lazy-highlight-new-loop)
623 ;; We must prevent the point moving to the end of composition when a
624 ;; part of the composition has just been searched.
625 (setq disable-point-adjustment t))
623 626
624(defun isearch-done (&optional nopush edit) 627(defun isearch-done (&optional nopush edit)
625 (remove-hook 'mouse-leave-buffer-hook 'isearch-done) 628 (remove-hook 'mouse-leave-buffer-hook 'isearch-done)
@@ -1150,8 +1153,22 @@ and the meta character is unread so that it applies to editing the string."
1150 (progn 1153 (progn
1151 (isearch-done) 1154 (isearch-done)
1152 (apply 'isearch-unread keylist)) 1155 (apply 'isearch-unread keylist))
1153 (apply 'isearch-unread 1156 (setq keylist
1154 (listify-key-sequence (lookup-key function-key-map key))))) 1157 (listify-key-sequence (lookup-key function-key-map key)))
1158 (while keylist
1159 (setq key (car keylist))
1160 ;; If KEY is a printing char, we handle it here
1161 ;; directly to avoid the input method and keyboard
1162 ;; coding system translating it.
1163 (if (and (integerp key)
1164 (>= key ?\ ) (< key 256))
1165 (progn
1166 (isearch-process-search-char key)
1167 (setq keylist (cdr keylist)))
1168 ;; As the remaining keys in KEYLIST can't be handled
1169 ;; here, we must reread them.
1170 (apply 'isearch-unread keylist)
1171 (setq keylist nil)))))
1155 ( 1172 (
1156 ;; Handle an undefined shifted control character 1173 ;; Handle an undefined shifted control character
1157 ;; by downshifting it if that makes it defined. 1174 ;; by downshifting it if that makes it defined.