bug-gnu-emacs
[Top][All Lists]
Advanced

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

bug#27631: dired a/*/b


From: Tino Calancha
Subject: bug#27631: dired a/*/b
Date: Thu, 3 Aug 2017 13:38:37 +0900 (JST)
User-agent: Alpine 2.20 (DEB 67 2015-01-07)



On Wed, 2 Aug 2017, Stefan Monnier wrote:

Maybe make dired and list-directory deal with wildcards in positions like
~/.config/chromium/Default/*/menkifleemblimdogmoihpfopnplikde/
Thank you for the report.
IMO, this is a nice thing to have.
It must be possible to extend the current code so that
dired might handle wildcards in the directory part.

I'm not sure the recent patch for this fix is the right approach.
The old code already used the shell to do the wildcard expansion, so why
not just adjust the old code.

Here's some starting patch.
Thank you for the patch.
Part of the complexity of the original patch is to provide this new
feature in _tramp_ connections as well;  your patch does the thing
well (see patch below) in the local machine but it fails in remote ones.

--8<-----------------------------cut here---------------start------------->8---
commit 21f02469bf5ef3733e3705e9836a7d91f625ce11
Author: Tino Calancha <tino.calancha@gmail.com>
Date:   Thu Aug 3 13:20:40 2017 +0900

    Apply some minor tweaks

diff --git a/lisp/dired.el b/lisp/dired.el
index 211b622fd9..7862d0405c 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -1100,7 +1100,7 @@ dired-readin-insert
       (while (not (file-directory-p dir))
         (setq dir (directory-file-name dir))
         (let ((n (file-name-nondirectory dir)))
-          (setq file-list (mapcar (lambda (f) (concat n "/" f)) file-list)))
+          (setq file-list (mapcar (lambda (f) (concat n (and (not (string= "" f)) 
"/") f)) file-list)))
         (setq dir (file-name-directory dir)))
       (setq default-directory dir))
     (if (and (equal "" (file-name-nondirectory dir))
@@ -1258,6 +1258,8 @@ dired-insert-directory
         ;; as indicated by `ls-lisp-use-insert-directory-program'.
         (not (and (featurep 'ls-lisp)
                   (null ls-lisp-use-insert-directory-program)))
+         (not (and (featurep 'eshell)
+                   (bound-and-true-p eshell-ls-use-in-dired)))
         (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'.
@@ -1335,9 +1337,7 @@ dired-insert-directory
          (setq content-point (point)))
        (when wildcard
          ;; Insert "wildcard" line where "total" line would be for a full dir.
-         (insert "  wildcard " (or (cdr-safe 
(insert-directory-wildcard-in-dir-p dir))
-                                    (file-name-nondirectory dir))
-                  "\n")))
+         (insert "  wildcard " (car-safe file-list) "\n")))
       (dired-insert-set-properties content-point (point)))))

 (defun dired-insert-set-properties (beg end)
--8<-----------------------------cut here---------------end--------------->8---





reply via email to

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