(smtpmail-try-auth-methods): If the user has stored a user name, then
[bpt/emacs.git] / lisp / misearch.el
index cfdd5ef..c533562 100644 (file)
@@ -1,6 +1,6 @@
 ;;; misearch.el --- isearch extensions for multi-buffer search
 
-;; Copyright (C) 2007, 2008, 2009  Free Software Foundation, Inc.
+;; Copyright (C) 2007-2011  Free Software Foundation, Inc.
 
 ;; Author: Juri Linkov <juri@jurta.org>
 ;; Keywords: matching
@@ -158,7 +158,7 @@ Intended to be added to `isearch-mode-hook'."
                   (while (not found)
                     ;; Find the next buffer to search
                     (setq buffer (funcall multi-isearch-next-buffer-current-function
-                                          buffer nil))
+                                          (or buffer (current-buffer)) nil))
                     (with-current-buffer buffer
                       (goto-char (if isearch-forward (point-min) (point-max)))
                       (setq isearch-barrier (point) isearch-opoint (point))
@@ -201,7 +201,7 @@ search status stack."
   `(lambda (cmd)
      (multi-isearch-pop-state cmd ,(current-buffer))))
 
-(defun multi-isearch-pop-state (cmd buffer)
+(defun multi-isearch-pop-state (_cmd buffer)
   "Restore the multiple buffers search state.
 Switch to the buffer restored from the search status stack."
   (unless (equal buffer (current-buffer))
@@ -222,7 +222,9 @@ set in `multi-isearch-buffers' or `multi-isearch-buffers-regexp'."
                   (reverse multi-isearch-buffer-list))))
     (if wrap
        (car buffers)
-      (cadr (member (or buffer (current-buffer)) buffers)))))
+      (cadr (member buffer buffers)))))
+
+(defvar ido-ignore-item-temp-list)  ; from ido.el
 
 (defun multi-isearch-read-buffers ()
   "Return a list of buffers specified interactively, one by one."
@@ -240,7 +242,7 @@ set in `multi-isearch-buffers' or `multi-isearch-buffers-regexp'."
                 ""))
       (add-to-list 'bufs buf)
       (setq ido-ignore-item-temp-list bufs))
-    (nreverse (mapcar #'get-buffer bufs))))
+    (nreverse bufs)))
 
 (defun multi-isearch-read-matching-buffers ()
   "Return a list of buffers whose names match specified regexp."
@@ -257,6 +259,7 @@ set in `multi-isearch-buffers' or `multi-isearch-buffers-regexp'."
 ;;;###autoload
 (defun multi-isearch-buffers (buffers)
   "Start multi-buffer Isearch on a list of BUFFERS.
+This list can contain live buffers or their names.
 Interactively read buffer names to search, one by one, ended with RET.
 With a prefix argument, ask for a regexp, and search in buffers
 whose names match the specified regexp."
@@ -266,14 +269,15 @@ whose names match the specified regexp."
           (multi-isearch-read-buffers))))
   (let ((multi-isearch-next-buffer-function
         'multi-isearch-next-buffer-from-list)
-       (multi-isearch-buffer-list buffers))
-    (switch-to-buffer (car buffers))
+       (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)))
 
 ;;;###autoload
 (defun multi-isearch-buffers-regexp (buffers)
   "Start multi-buffer regexp Isearch on a list of BUFFERS.
+This list can contain live buffers or their names.
 Interactively read buffer names to search, one by one, ended with RET.
 With a prefix argument, ask for a regexp, and search in buffers
 whose names match the specified regexp."
@@ -283,8 +287,8 @@ whose names match the specified regexp."
           (multi-isearch-read-buffers))))
   (let ((multi-isearch-next-buffer-function
         'multi-isearch-next-buffer-from-list)
-       (multi-isearch-buffer-list buffers))
-    (switch-to-buffer (car buffers))
+       (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)))
 
@@ -338,6 +342,8 @@ Every next/previous file in the defined sequence is visited by
 ;;;###autoload
 (defun multi-isearch-files (files)
   "Start multi-buffer Isearch on a list of FILES.
+Relative file names in this list are expanded to absolute
+file names using the current buffer's value of `default-directory'.
 Interactively read file names to search, one by one, ended with RET.
 With a prefix argument, ask for a wildcard, and search in file buffers
 whose file names match the specified wildcard."
@@ -347,14 +353,16 @@ whose file names match the specified wildcard."
           (multi-isearch-read-files))))
   (let ((multi-isearch-next-buffer-function
         'multi-isearch-next-file-buffer-from-list)
-       (multi-isearch-file-list files))
-    (find-file (car files))
+       (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)))
 
 ;;;###autoload
 (defun multi-isearch-files-regexp (files)
   "Start multi-buffer regexp Isearch on a list of FILES.
+Relative file names in this list are expanded to absolute
+file names using the current buffer's value of `default-directory'.
 Interactively read file names to search, one by one, ended with RET.
 With a prefix argument, ask for a wildcard, and search in file buffers
 whose file names match the specified wildcard."
@@ -364,13 +372,12 @@ whose file names match the specified wildcard."
           (multi-isearch-read-files))))
   (let ((multi-isearch-next-buffer-function
         'multi-isearch-next-file-buffer-from-list)
-       (multi-isearch-file-list files))
-    (find-file (car files))
+       (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)))
 
 \f
 (provide 'multi-isearch)
 
-;; arch-tag: a6d38ffa-4d14-4e39-8ac6-46af9d6a6773
 ;;; misearch.el ends here