]> git.eshelyaron.com Git - emacs.git/commitdiff
(isearch-search-string): After finding the next
authorJuri Linkov <juri@jurta.org>
Mon, 22 Oct 2007 23:44:29 +0000 (23:44 +0000)
committerJuri Linkov <juri@jurta.org>
Mon, 22 Oct 2007 23:44:29 +0000 (23:44 +0000)
occurrence switch to buffer isearch-buffers-current-buffer when
isearch-buffers-next-buffer-function is non-nil and
isearch-buffers-current-buffer is live.

lisp/isearch.el

index e0cba48eed996771eb0792d48b30303ced91d8b2..c9a4cf45664a7bafb0f253887f1dc4328dd0e045 100644 (file)
@@ -2035,8 +2035,13 @@ Can be changed via `isearch-search-fun-function' for special needs."
                           (if isearch-forward (< pos2 pos1) (> pos2 pos1))))
              (setq pos1 pos2)
              (set-match-data match-data)))))
-    (if pos1
-       (goto-char pos1))
+    (when pos1
+      ;; When using multiple buffers isearch, switch to the new buffer here,
+      ;; because `save-excursion' above doesn't allow doing it inside funcall.
+      (if (and isearch-buffers-next-buffer-function
+              (buffer-live-p isearch-buffers-current-buffer))
+         (switch-to-buffer isearch-buffers-current-buffer))
+      (goto-char pos1))
     pos1))
 
 (defun isearch-search ()