From: Leo Liu Date: Fri, 18 Jan 2013 18:35:44 +0000 (+0800) Subject: Prune erroneous values in dired-get-marked-files X-Git-Tag: emacs-24.2.93~42 X-Git-Url: https://code.delx.au/gnu-emacs/commitdiff_plain/2fc71e3c45e521a062ea2ab17a4cfe19c3c6f941 Prune erroneous values in dired-get-marked-files Fixes: debbugs:13152 --- diff --git a/lisp/ChangeLog b/lisp/ChangeLog index cd7a013d55..7be8224ae6 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,8 @@ +2013-01-18 Leo Liu + + * dired.el (dired-get-marked-files): Prune erroneous values due to + last change. (Bug#13152) + 2013-01-17 Glenn Morris * progmodes/etags.el (tags-table-check-computed-list): diff --git a/lisp/dired.el b/lisp/dired.el index 3d01c7b092..76809f992c 100644 --- a/lisp/dired.el +++ b/lisp/dired.el @@ -620,12 +620,14 @@ Optional third argument FILTER, if non-nil, is a function to select If DISTINGUISH-ONE-MARKED is non-nil, then if we find just one marked file, return (t FILENAME) instead of (FILENAME). Don't use that together with FILTER." - (let* ((all-of-them - (save-excursion - (dired-map-over-marks - (dired-get-filename localp 'no-error-if-not-filep) - arg nil distinguish-one-marked))) - result) + (let ((all-of-them + (save-excursion + (delq nil (dired-map-over-marks + (dired-get-filename localp 'no-error-if-not-filep) + arg nil distinguish-one-marked)))) + result) + (when (equal all-of-them '(t)) + (setq all-of-them nil)) (if (not filter) (if (and distinguish-one-marked (eq (car all-of-them) t)) all-of-them