]> git.eshelyaron.com Git - emacs.git/commitdiff
* lisp/dired-aux.el (dired-do-open): Optimize (bug#73004).
authorJuri Linkov <juri@linkov.net>
Thu, 19 Sep 2024 06:14:34 +0000 (09:14 +0300)
committerEshel Yaron <me@eshelyaron.com>
Mon, 23 Sep 2024 10:45:16 +0000 (12:45 +0200)
Detect system-type only once, then iterate over files
for every system type separately.

(cherry picked from commit 8816b4f342983468d49f93decf216151e9c6ffbc)

lisp/dired-aux.el

index cf453a44a553e459f3d0c525d2cf12fc97bda608..b8dd1a876ce35c16c77b00e3d171dd3b5e88cc91 100644 (file)
@@ -1459,17 +1459,21 @@ system is determined by `shell-command-guess-open'."
                (equal command "start"))
       (setq command "open"))
     (if command
-        (dolist (file files)
-          (cond
-           ((memq system-type '(ms-dos))
-            (shell-command (concat command " " (shell-quote-argument file))))
-           ((memq system-type '(windows-nt))
-            (w32-shell-execute command (convert-standard-filename file)))
-           ((memq system-type '(cygwin))
-            (call-process command nil nil nil file))
-           ((memq system-type '(darwin))
-            (start-process (concat command " " file) nil command file))
-           (t
+        (cond
+         ((memq system-type '(ms-dos))
+          (dolist (file files)
+            (shell-command (concat command " " (shell-quote-argument file)))))
+         ((memq system-type '(windows-nt))
+          (dolist (file files)
+            (w32-shell-execute command (convert-standard-filename file))))
+         ((memq system-type '(cygwin))
+          (dolist (file files)
+            (call-process command nil nil nil file)))
+         ((memq system-type '(darwin))
+          (dolist (file files)
+            (start-process (concat command " " file) nil command file)))
+         (t
+          (dolist (file files)
             (call-process command nil 0 nil file))))
       (error "Open not supported on this system"))))