# HG changeset patch # User Juri Linkov # Date 1193096669 0 # Node ID 6c0aa34f6c37e92072302ff642d8b200ea667842 # Parent 76aa2c1e49342fa3f062d1c71cba378e82e37d14 (isearch-search-string): After finding the next occurrence switch to buffer isearch-buffers-current-buffer when isearch-buffers-next-buffer-function is non-nil and isearch-buffers-current-buffer is live. diff -r 76aa2c1e4934 -r 6c0aa34f6c37 lisp/isearch.el --- a/lisp/isearch.el Mon Oct 22 23:43:38 2007 +0000 +++ b/lisp/isearch.el Mon Oct 22 23:44:29 2007 +0000 @@ -2035,8 +2035,13 @@ (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 ()