]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/files.el (file-expand-wildcards): Fix sorting of subdirs
authorStefan Monnier <monnier@iro.umontreal.ca>
Sat, 9 Dec 2023 23:42:36 +0000 (18:42 -0500)
committerEshel Yaron <me@eshelyaron.com>
Thu, 21 Dec 2023 20:50:51 +0000 (21:50 +0100)
E.g. (file-expand-wildcards "/u*/*m*")
returned ("/usr/games" "/u/dummy" "/u/monnier" "/u/omnibook-disk")
instead of ("/u/dummy" "/u/monnier" "/u/omnibook-disk" "/usr/games").

(cherry picked from commit 1da0fccc646d1921782dd6d701bc86004cfb3732)

lisp/files.el

index 21f3376016c7f0f14d60decf0a14ba3b39ac8f43..839683ecae1ebc21cde3e121857c7e893313dacb 100644 (file)
@@ -7547,12 +7547,12 @@ default directory.  However, if FULL is non-nil, they are absolute."
           ;; if DIRPART contains wildcards.
           (dirs (if (and dirpart
                          (string-match "[[*?]" (file-local-name dirpart)))
-                    (mapcar 'file-name-as-directory
+                    (mapcar #'file-name-as-directory
                             (file-expand-wildcards
                               (directory-file-name dirpart) nil regexp))
                   (list dirpart)))
           contents)
-      (dolist (dir dirs)
+      (dolist (dir (nreverse dirs))
        (when (or (null dir)    ; Possible if DIRPART is not wild.
                  (file-accessible-directory-p dir))
          (let ((this-dir-contents