diff options
| author | Tino Calancha | 2017-08-01 23:31:35 +0900 |
|---|---|---|
| committer | Tino Calancha | 2017-08-01 23:31:43 +0900 |
| commit | f3ad15933a0d104b099d640d5c43fce99ece0003 (patch) | |
| tree | 17ef5f20e9b5457f8cecf081d10d10c0b2f3747c | |
| parent | 4ddc5645606478725ae0c27c85aa3c5dca6360d6 (diff) | |
| download | emacs-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.el | 8 | ||||
| -rw-r--r-- | test/lisp/dired-tests.el | 15 |
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 |