Function: dired-guess-default

dired-guess-default is a byte-compiled function defined in dired-aux.el.gz.

Signature

(dired-guess-default FILES)

Documentation

Return a shell command, or a list of commands, appropriate for FILES.

See dired-guess-shell-alist-user.

Probably introduced at or before Emacs version 30.1.

Source Code

;; Defined in /usr/src/emacs/lisp/dired-aux.el.gz
(defun dired-guess-default (files)
  "Return a shell command, or a list of commands, appropriate for FILES.
See `dired-guess-shell-alist-user'."
  (let* ((case-fold-search dired-guess-shell-case-fold-search)
         (programs
          (delete-dups
           (mapcar
            (lambda (command)
              (eval command `((file . ,(car files)))))
            (seq-reduce
             #'append
             (mapcar #'cdr
                     (seq-filter (lambda (elem)
                                   (seq-every-p
                                    (lambda (file)
                                      (string-match-p (car elem) file))
                                    files))
                                 (append dired-guess-shell-alist-user
                                         dired-guess-shell-alist-default
                                         dired-guess-shell-alist-optional)))
             nil)))))
    (if (length= programs 1)
        (car programs)
      programs)))