;;; misearch.el --- isearch extensions for multi-buffer search
-;; Copyright (C) 2007-2012 Free Software Foundation, Inc.
+;; Copyright (C) 2007-2014 Free Software Foundation, Inc.
;; Author: Juri Linkov <juri@jurta.org>
;; Keywords: matching
The first argument of this function is the current buffer where the
search is currently searching. It defines the base buffer relative to
which this function should find the next buffer. When the isearch
-direction is backward (when `isearch-forward' is nil), this function
+direction is backward (when option `isearch-forward' is nil), this function
should return the previous buffer to search.
If the second argument of this function WRAP is non-nil, then it
(nreverse bufs)))
(defun multi-isearch-read-matching-buffers ()
- "Return a list of buffers whose names match specified regexp."
+ "Return a list of buffers whose names match specified regexp.
+Uses `read-regexp' to read the regexp."
;; Most code from `multi-occur-in-matching-buffers'
;; and `kill-matching-buffers'.
(let ((bufregexp
(multi-isearch-read-matching-buffers)
(multi-isearch-read-buffers))))
(let ((multi-isearch-next-buffer-function
- 'multi-isearch-next-buffer-from-list)
- (multi-isearch-buffer-list (mapcar #'get-buffer buffers)))
+ 'multi-isearch-next-buffer-from-list))
+ (setq multi-isearch-buffer-list (mapcar #'get-buffer buffers))
(switch-to-buffer (car multi-isearch-buffer-list))
(goto-char (if isearch-forward (point-min) (point-max)))
- (isearch-forward)))
+ (isearch-forward nil t)))
;;;###autoload
(defun multi-isearch-buffers-regexp (buffers)
(multi-isearch-read-matching-buffers)
(multi-isearch-read-buffers))))
(let ((multi-isearch-next-buffer-function
- 'multi-isearch-next-buffer-from-list)
- (multi-isearch-buffer-list (mapcar #'get-buffer buffers)))
+ 'multi-isearch-next-buffer-from-list))
+ (setq multi-isearch-buffer-list (mapcar #'get-buffer buffers))
(switch-to-buffer (car multi-isearch-buffer-list))
(goto-char (if isearch-forward (point-min) (point-max)))
- (isearch-forward-regexp)))
+ (isearch-forward-regexp nil t)))
\f
;;; Global multi-file search invocations
(add-to-list 'files file))
(nreverse files)))
+;; A regexp is not the same thing as a file glob - does this matter?
(defun multi-isearch-read-matching-files ()
- "Return a list of files whose names match specified wildcard."
+ "Return a list of files whose names match specified wildcard.
+Uses `read-regexp' to read the wildcard."
;; Most wildcard code from `find-file-noselect'.
(let ((filename (read-regexp "Search in files whose names match wildcard")))
(when (and filename
(multi-isearch-read-matching-files)
(multi-isearch-read-files))))
(let ((multi-isearch-next-buffer-function
- 'multi-isearch-next-file-buffer-from-list)
- (multi-isearch-file-list (mapcar #'expand-file-name files)))
+ 'multi-isearch-next-file-buffer-from-list))
+ (setq multi-isearch-file-list (mapcar #'expand-file-name files))
(find-file (car multi-isearch-file-list))
(goto-char (if isearch-forward (point-min) (point-max)))
- (isearch-forward)))
+ (isearch-forward nil t)))
;;;###autoload
(defun multi-isearch-files-regexp (files)
(multi-isearch-read-matching-files)
(multi-isearch-read-files))))
(let ((multi-isearch-next-buffer-function
- 'multi-isearch-next-file-buffer-from-list)
- (multi-isearch-file-list (mapcar #'expand-file-name files)))
+ 'multi-isearch-next-file-buffer-from-list))
+ (setq multi-isearch-file-list (mapcar #'expand-file-name files))
(find-file (car multi-isearch-file-list))
(goto-char (if isearch-forward (point-min) (point-max)))
- (isearch-forward-regexp)))
+ (isearch-forward-regexp nil t)))
\f
(provide 'multi-isearch)
-
+(provide 'misearch)
;;; misearch.el ends here