Commit 1312bfc6 authored by Richard M. Stallman's avatar Richard M. Stallman
Browse files

(dired-get-marked-files): New arg FILTER allows selection of some files.

parent d88c92eb
...@@ -397,18 +397,28 @@ BODY should not be too long as it is expanded four times." ...@@ -397,18 +397,28 @@ BODY should not be too long as it is expanded four times."
;; save-excursion loses, again ;; save-excursion loses, again
(dired-move-to-filename))) (dired-move-to-filename)))
(defun dired-get-marked-files (&optional localp arg) (defun dired-get-marked-files (&optional localp arg filter)
"Return the marked files' names as list of strings. "Return the marked files' names as list of strings.
The list is in the same order as the buffer, that is, the car is the The list is in the same order as the buffer, that is, the car is the
first marked file. first marked file.
Values returned are normally absolute pathnames. Values returned are normally absolute file names.
Optional arg LOCALP as in `dired-get-filename'. Optional arg LOCALP as in `dired-get-filename'.
Optional second argument ARG forces to use other files. If ARG is an Optional second argument ARG specifies files near point
integer, use the next ARG files. If ARG is otherwise non-nil, use instead of marked files. If ARG is an integer, use the next ARG files.
current file. Usually ARG comes from the current prefix arg." If ARG is otherwise non-nil, use file. Usually ARG comes from
(save-excursion the command's prefix arg.
(nreverse (dired-map-over-marks (dired-get-filename localp) arg)))) Optional third argument FILTER, if non-nil, is a function to select
some of the files--those for which (funcall FILTER FILENAME) is non-nil."
(let ((all-of-them
(save-excursion
(dired-map-over-marks (dired-get-filename localp) arg)))
result)
(if (not filter)
(nreverse all-of-them)
(dolist (file all-of-them)
(if (funcall filter file)
(push file result)))
result)))
;; Function dired-ls is redefinable for VMS, ange-ftp, Prospero or ;; Function dired-ls is redefinable for VMS, ange-ftp, Prospero or
;; other special applications. ;; other special applications.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment