emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Emacs-diffs] /srv/bzr/emacs/trunk r103079: Fix Dired on DOS/Windows.


From: Eli Zaretskii
Subject: [Emacs-diffs] /srv/bzr/emacs/trunk r103079: Fix Dired on DOS/Windows.
Date: Wed, 02 Feb 2011 18:21:52 +0200
User-agent: Bazaar (2.0.3)

------------------------------------------------------------
revno: 103079
committer: Eli Zaretskii <address@hidden>
branch nick: trunk
timestamp: Wed 2011-02-02 18:21:52 +0200
message:
  Fix Dired on DOS/Windows.
  
   dired.el (dired-insert-directory): Don't invoke `ls' when
   ls-lisp.el is used to emulate it.
modified:
  lisp/ChangeLog
  lisp/dired.el
=== modified file 'lisp/ChangeLog'
--- a/lisp/ChangeLog    2011-02-01 23:46:27 +0000
+++ b/lisp/ChangeLog    2011-02-02 16:21:52 +0000
@@ -1,3 +1,8 @@
+2011-02-02  Eli Zaretskii  <address@hidden>
+
+       * dired.el (dired-insert-directory): Don't invoke `ls' when
+       ls-lisp.el is used to emulate it.
+
 2011-02-01  Julien Danjou  <address@hidden>
 
        * color.el (color-gradient): Add a color-gradient function.

=== modified file 'lisp/dired.el'
--- a/lisp/dired.el     2011-02-01 21:22:21 +0000
+++ b/lisp/dired.el     2011-02-02 16:21:52 +0000
@@ -1052,6 +1052,8 @@
        (set-marker file nil)))))
 
 
+(defvar ls-lisp-use-insert-directory-program)
+
 (defun dired-insert-directory (dir switches &optional file-list wildcard hdr)
   "Insert a directory listing of DIR, Dired style.
 Use SWITCHES to make the listings.
@@ -1063,14 +1065,20 @@
   (let ((opoint (point))
        (process-environment (copy-sequence process-environment))
        end)
-    (if (or (if (eq dired-use-ls-dired 'unspecified)
-               ;; Check whether "ls --dired" gives exit code 0, and
-               ;; save the answer in `dired-use-ls-dired'.
-               (setq dired-use-ls-dired
-                     (eq (call-process insert-directory-program nil nil nil 
"--dired")
-                         0))
-             dired-use-ls-dired)
-           (file-remote-p dir))
+    (if (and
+        ;; Don't try to invoke `ls' if we are on DOS/Windows where
+        ;; ls-lisp emulation is used, except if they want to use `ls'
+        ;; as indicated by `ls-lisp-use-insert-directory-program'.
+        (not (and (featurep 'ls-lisp)
+                  (null ls-lisp-use-insert-directory-program)))
+        (or (if (eq dired-use-ls-dired 'unspecified)
+                ;; Check whether "ls --dired" gives exit code 0, and
+                ;; save the answer in `dired-use-ls-dired'.
+                (setq dired-use-ls-dired
+                      (eq (call-process insert-directory-program nil nil nil 
"--dired")
+                          0))
+              dired-use-ls-dired)
+            (file-remote-p dir)))
        (setq switches (concat "--dired " switches)))
     ;; We used to specify the C locale here, to force English month names;
     ;; but this should not be necessary any more,


reply via email to

[Prev in Thread] Current Thread [Next in Thread]