# HG changeset patch # User Juri Linkov # Date 1230507994 0 # Node ID fdd1168c1df6312dad4dce54929a6a947aab50b6 # Parent ee29f2a93b76319269d6650782345160fb5a2b08 (reftex-isearch-switch-to-next-file): Use `find-file-noselect' instead of `find-file' (for Emacs 22 and 23). (reftex-isearch-minor-mode): If `multi-isearch-next-buffer-function' is bound set it to `reftex-isearch-switch-to-next-file'. Otherwise, set 4 obsolete variables for backward-compatibility with Emacs 22. diff -r ee29f2a93b76 -r fdd1168c1df6 lisp/textmodes/reftex-global.el --- a/lisp/textmodes/reftex-global.el Sun Dec 28 23:45:53 2008 +0000 +++ b/lisp/textmodes/reftex-global.el Sun Dec 28 23:46:34 2008 +0000 @@ -343,6 +343,14 @@ (buffer-name buf))) (error "Abort")))))) +;;; Multi-file RefTeX Isearch + +;;; `reftex-isearch-wrap-function', `reftex-isearch-push-state-function', +;;; `reftex-isearch-pop-state-function', `reftex-isearch-isearch-search' +;;; functions remain here only for backward-compatibility with Emacs 22 +;;; and are obsolete since Emacs 23 that supports a single function +;;; variable `multi-isearch-next-buffer-function'. + (defun reftex-isearch-wrap-function () (if (not isearch-word) (switch-to-buffer @@ -416,7 +424,7 @@ (setq flist (cdr flist))) (setq flist (cdr flist))) (when flist - (find-file (car flist)))))) + (find-file-noselect (car flist)))))) ;;;###autoload (defun reftex-isearch-minor-mode (&optional arg) @@ -438,23 +446,28 @@ (dolist (crt-buf (buffer-list)) (with-current-buffer crt-buf (when reftex-mode - (set (make-local-variable 'isearch-wrap-function) - 'reftex-isearch-wrap-function) - (set (make-local-variable 'isearch-search-fun-function) - (lambda () 'reftex-isearch-isearch-search)) - (set (make-local-variable 'isearch-push-state-function) - 'reftex-isearch-push-state-function) - (set (make-local-variable 'isearch-next-buffer-function) - 'reftex-isearch-switch-to-next-file) + (if (boundp 'multi-isearch-next-buffer-function) + (set (make-local-variable 'multi-isearch-next-buffer-function) + 'reftex-isearch-switch-to-next-file) + (set (make-local-variable 'isearch-wrap-function) + 'reftex-isearch-wrap-function) + (set (make-local-variable 'isearch-search-fun-function) + (lambda () 'reftex-isearch-isearch-search)) + (set (make-local-variable 'isearch-push-state-function) + 'reftex-isearch-push-state-function) + (set (make-local-variable 'isearch-next-buffer-function) + 'reftex-isearch-switch-to-next-file)) (setq reftex-isearch-minor-mode t)))) (add-hook 'reftex-mode-hook 'reftex-isearch-minor-mode)) (dolist (crt-buf (buffer-list)) (with-current-buffer crt-buf (when reftex-mode - (kill-local-variable 'isearch-wrap-function) - (kill-local-variable 'isearch-search-fun-function) - (kill-local-variable 'isearch-push-state-function) - (kill-local-variable 'isearch-next-buffer-function) + (if (boundp 'multi-isearch-next-buffer-function) + (kill-local-variable 'multi-isearch-next-buffer-function) + (kill-local-variable 'isearch-wrap-function) + (kill-local-variable 'isearch-search-fun-function) + (kill-local-variable 'isearch-push-state-function) + (kill-local-variable 'isearch-next-buffer-function)) (setq reftex-isearch-minor-mode nil)))) (remove-hook 'reftex-mode-hook 'reftex-isearch-minor-mode))) ;; Force modeline redisplay.