aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTino Calancha2017-08-01 23:31:35 +0900
committerTino Calancha2017-08-01 23:31:43 +0900
commitf3ad15933a0d104b099d640d5c43fce99ece0003 (patch)
tree17ef5f20e9b5457f8cecf081d10d10c0b2f3747c
parent4ddc5645606478725ae0c27c85aa3c5dca6360d6 (diff)
downloademacs-f3ad15933a0d104b099d640d5c43fce99ece0003.tar.gz
emacs-f3ad15933a0d104b099d640d5c43fce99ece0003.zip
Insert subdir content if dir-or-list is a string w/o wildcards
* lisp/eshell/em-ls.el (eshell-ls--insert-directory): Append '("-d") into 'eshell-ls-dired-initial-args' if 'dired-directory' is a cons or there are wildcars (Bug#27843). * test/lisp/dired-tests.el (dired-test-bug27843): Add test.
-rw-r--r--lisp/eshell/em-ls.el8
-rw-r--r--test/lisp/dired-tests.el15
2 files changed, 21 insertions, 2 deletions
diff --git a/lisp/eshell/em-ls.el b/lisp/eshell/em-ls.el
index 4a5adc48f2b..39f03ffb79e 100644
--- a/lisp/eshell/em-ls.el
+++ b/lisp/eshell/em-ls.el
@@ -278,8 +278,12 @@ instead."
278 (let ((insert-func 'insert) 278 (let ((insert-func 'insert)
279 (error-func 'insert) 279 (error-func 'insert)
280 (flush-func 'ignore) 280 (flush-func 'ignore)
281 eshell-ls-dired-initial-args) 281 (switches
282 (eshell-do-ls (append switches (list file))))))))) 282 (append eshell-ls-dired-initial-args
283 (and (or (consp dired-directory) wildcard) (list "-d"))
284 switches)))
285 (eshell-do-ls (nconc switches (list file)))))))))
286
283 287
284(declare-function eshell-extended-glob "em-glob" (glob)) 288(declare-function eshell-extended-glob "em-glob" (glob))
285(declare-function dired-read-dir-and-switches "dired" (str)) 289(declare-function dired-read-dir-and-switches "dired" (str))
diff --git a/test/lisp/dired-tests.el b/test/lisp/dired-tests.el
index 0ee4e137836..5900fead7d1 100644
--- a/test/lisp/dired-tests.el
+++ b/test/lisp/dired-tests.el
@@ -325,6 +325,21 @@
325 (delete-directory dir 'recursive) 325 (delete-directory dir 'recursive)
326 (when (buffer-live-p buf) (kill-buffer buf))))) 326 (when (buffer-live-p buf) (kill-buffer buf)))))
327 327
328(ert-deftest dired-test-bug27843 ()
329 "Test for http://debbugs.gnu.org/27843 ."
330 (require 'em-ls)
331 (let ((orig eshell-ls-use-in-dired)
332 (dired-use-ls-dired 'unspecified)
333 buf insert-directory-program)
334 (unwind-protect
335 (progn
336 (customize-set-variable 'eshell-ls-use-in-dired t)
337 (setq buf (dired (list source-directory "lisp")))
338 (dired-toggle-marks)
339 (should-not (cdr (dired-get-marked-files))))
340 (customize-set-variable 'eshell-ls-use-in-dired orig)
341 (unload-feature 'em-ls 'force)
342 (and (buffer-live-p buf) (kill-buffer)))))
328 343
329(provide 'dired-tests) 344(provide 'dired-tests)
330;; dired-tests.el ends here 345;; dired-tests.el ends here