summaryrefslogtreecommitdiff
path: root/lisp/textmodes
diff options
context:
space:
mode:
authorJuri Linkov <juri@jurta.org>2008-12-28 23:46:34 +0000
committerJuri Linkov <juri@jurta.org>2008-12-28 23:46:34 +0000
commitfa862320ce8008fbff71b5623ba636dafcad8416 (patch)
tree04ebed60fa5d0db3a70814037704862ed3739692 /lisp/textmodes
parent9b7322d8c34c98e8f873915f202ab38113cad3a4 (diff)
downloademacs-fa862320ce8008fbff71b5623ba636dafcad8416.tar.gz
(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.
Diffstat (limited to 'lisp/textmodes')
-rw-r--r--lisp/textmodes/reftex-global.el39
1 files changed, 26 insertions, 13 deletions
diff --git a/lisp/textmodes/reftex-global.el b/lisp/textmodes/reftex-global.el
index 71fb701597d..4e86e102730 100644
--- a/lisp/textmodes/reftex-global.el
+++ b/lisp/textmodes/reftex-global.el
@@ -343,6 +343,14 @@ Also checks if buffers visiting the files are in read-only mode."
(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 @@ Also checks if buffers visiting the files are in read-only mode."
(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 @@ With no argument, this command toggles
(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.