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: Fri, 4 Aug 2017 14:12:32 +0900 (JST)
User-agent: Alpine 2.20 (DEB 67 2015-01-07)



On Thu, 3 Aug 2017, Stefan Monnier wrote:

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.

I didn't adjust the Tramp code accordingly, indeed.  My patch probably
also fails for ls-lisp (aka Windows).  Both of those will need
corresponding adjustments.

My point is that it seems like we can get the same end-result without
changing the structure.
Maybe that's the reason why this feature didn't exit before: people found
it wasn't straight to implemented it for everything: local and remote
connections, external  or emulated 'ls'.
Now we have it, but you are very welcome to rewrite it so that it fits in
the original structure.  I am volunteer to be the patch tester!

@@ -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))

`n` represents a directory name, so isn't it OK to have "<n>/" rather
than "<n>"?  Or is the above tweak purely cosmetic?
No cosmetic, i need it, otherwise i get an error if i eval the form:
(dired (expand-file-name "lisp/*.el" source-directory))

Debugger entered--Lisp error: (file-missing "Reading directory" "No such file or 
directory" "*.el/")
  access-file("*.el/" "Reading directory")
  insert-directory("*.el/" "--dired -al" t nil)
  dired-insert-directory("/home/calancha/soft/emacs-master/lisp/" "-al" 
("*.el/") t t)
  dired-readin-insert()
  dired-readin()
  dired-internal-noselect("~/soft/emacs-master/lisp/*.el" nil)
  dired-noselect("/home/calancha/soft/emacs-master/lisp/*.el" nil)
  dired("/home/calancha/soft/emacs-master/lisp/*.el")
  eval((dired (expand-file-name "lisp/*.el" source-directory)) nil)
  elisp--eval-last-sexp(nil)
  eval-last-sexp(nil)
  funcall-interactively(eval-last-sexp nil)
  call-interactively(eval-last-sexp nil nil)
  command-execute(eval-last-sexp)





reply via email to

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