From bd6a841426024265cd0860bb954b80eb55592846 Mon Sep 17 00:00:00 2001 From: "Richard M. Stallman" Date: Thu, 5 Mar 1998 02:28:44 +0000 Subject: [PATCH] (isearch-*-char): Do nothing special if quoted with \. --- lisp/isearch.el | 37 ++++++++++++++++++++----------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/lisp/isearch.el b/lisp/isearch.el index 1bc4341d1cc..bcc82b79b8b 100644 --- a/lisp/isearch.el +++ b/lisp/isearch.el @@ -1008,9 +1008,9 @@ If no previous match was done, just beep." (looking-at (if isearch-regexp isearch-string (regexp-quote isearch-string)))) (error nil)) - (or isearch-yank-flag - (<= (match-end 0) - (min isearch-opoint isearch-barrier)))) + (or isearch-yank-flag + (<= (match-end 0) + (min isearch-opoint isearch-barrier)))) (progn (setq isearch-success t isearch-invalid-regexp nil @@ -1042,20 +1042,23 @@ If no previous match was done, just beep." "Handle * and ? specially in regexps." (interactive) (if isearch-regexp - - (progn - (setq isearch-adjusted t) - ;; Get the isearch-other-end from before the last search. - ;; We want to start from there, - ;; so that we don't retreat farther than that. - ;; (car isearch-cmds) is after last search; - ;; (car (cdr isearch-cmds)) is from before it. - (let ((cs (nth 5 (car (cdr isearch-cmds))))) - (setq cs (or cs isearch-barrier)) - (goto-char - (if isearch-forward - (max cs isearch-barrier) - (min cs isearch-barrier)))))) + (let ((idx (length isearch-string))) + (while (and (> idx 0) + (eq (aref isearch-string (1- idx)) ?\\)) + (setq idx (1- idx))) + (when (= (mod (- (length isearch-string) idx) 2) 0) + (setq isearch-adjusted t) + ;; Get the isearch-other-end from before the last search. + ;; We want to start from there, + ;; so that we don't retreat farther than that. + ;; (car isearch-cmds) is after last search; + ;; (car (cdr isearch-cmds)) is from before it. + (let ((cs (nth 5 (car (cdr isearch-cmds))))) + (setq cs (or cs isearch-barrier)) + (goto-char + (if isearch-forward + (max cs isearch-barrier) + (min cs isearch-barrier))))))) (isearch-process-search-char (isearch-last-command-char))) -- 2.39.2