]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/progmodes/grep.el (grep-read-files): Combine files with aliases.
authorJuri Linkov <juri@linkov.net>
Mon, 13 Jun 2022 17:19:32 +0000 (20:19 +0300)
committerJuri Linkov <juri@linkov.net>
Mon, 13 Jun 2022 17:19:32 +0000 (20:19 +0300)
Use completion-table-merge to combine completions of files from
read-file-name-internal with a list of defaults from grep-files-aliases
(bug#55800).

lisp/progmodes/grep.el

index 4dedbc66aee90f3c29bda67c0ef82492fba484f2..a3ef90f397e3c75587bae6c0c70eae36b74a3a79 100644 (file)
@@ -1066,15 +1066,18 @@ REGEXP is used as a string in the prompt."
               default-extension
               (car grep-files-history)
               (car (car grep-files-aliases))))
+        (defaults
+          (delete-dups
+           (delq nil
+                 (append (list default default-alias default-extension)
+                         (mapcar #'car grep-files-aliases)))))
          (files (completing-read
                  (format-prompt "Search for \"%s\" in files matching wildcard"
                                 default regexp)
-                #'read-file-name-internal
-                nil nil nil 'grep-files-history
-                (delete-dups
-                 (delq nil
-                        (append (list default default-alias default-extension)
-                               (mapcar #'car grep-files-aliases)))))))
+                 (completion-table-merge
+                  (lambda (_string _pred _action) defaults)
+                  #'read-file-name-internal)
+                nil nil nil 'grep-files-history defaults)))
     (and files
         (or (cdr (assoc files grep-files-aliases))
             files))))