From: Robert Pluim <rpluim@gmail.com>
To: Gautier Ponsinet <gautier@gautierponsinet.xyz>
Cc: emacs-devel@gnu.org
Subject: Re: Dired subdirectories & the ls option time-style with the %R sequence
Date: Wed, 24 May 2023 13:36:00 +0200 [thread overview]
Message-ID: <87cz2qneqn.fsf@gmail.com> (raw)
In-Reply-To: <87fs7mugwv.fsf@gautierponsinet.xyz> (Gautier Ponsinet's message of "Wed, 24 May 2023 13:07:12 +0200")
>>>>> On Wed, 24 May 2023 13:07:12 +0200, Gautier Ponsinet <gautier@gautierponsinet.xyz> said:
Gautier> Hello everyone,
Gautier> I use dired with the variable `dired-listing-switches' containing the
Gautier> --time-style option of ls (from the GNU coreutils), itself containing
Gautier> the %R sequence. Precisely, I have:
Gautier> (setq dired-listing-switches "-l -Fhv --group-directories-first \"--time-style=+%F %a %R\" ")
Gautier> in my init.el file.
Gautier> I have adapted the variable `directory-listing-before-filename-regexp'
Gautier> accordingly and everything works fine, except when I insert a
Gautier> subdirectory in dired using `dired-maybe-insert-subdir'. It seems that
Gautier> the "%R" in the time-style option is interpreted as a -R option in
Gautier> dired-insert-subdir and is removed (there is a (string-replace "R" ""
Gautier> switches) somewhere in the function `dired-insert-subdir'). As a result,
Gautier> the expected time is not printed and only a "%" appears, so my regexp
Gautier> does not work and dired is confused.
Gautier> Of course, I can also replace the %R by %H:%M in my config, which I do,
Gautier> and I don't have this problem. Nevertheless, the bug seems there. It
Gautier> took me some time to understand the problem, and I guess other people
Gautier> might encounter the same problem.
Gautier> Maybe `dired-insert-subdir' could search for "R" but exclude "%R"?
Something like the following (untested) patch?
diff --git a/lisp/dired-aux.el b/lisp/dired-aux.el
index fc3f6f4f04d..dc558e13ac8 100644
--- a/lisp/dired-aux.el
+++ b/lisp/dired-aux.el
@@ -3142,7 +3142,7 @@ dired-insert-subdir
(and (not switches) cons (setq switches (cdr cons)))
(dired-insert-subdir-validate dirname switches)
;; case-fold-search is nil now, so we can test for capital `R':
- (if (setq switches-have-R (and switches (string-match-p "R" switches)))
+ (if (setq switches-have-R (and switches (string-match-p "[^%]R" switches)))
;; avoid duplicated subdirs
(setq mark-alist (dired-kill-tree dirname t)))
(if elt
Robert
--
next prev parent reply other threads:[~2023-05-24 11:36 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-24 11:07 Dired subdirectories & the ls option time-style with the %R sequence Gautier Ponsinet
2023-05-24 11:36 ` Robert Pluim [this message]
2023-05-24 15:03 ` gautier
2023-05-25 6:45 ` Robert Pluim
2023-05-25 14:31 ` Gautier Ponsinet
2023-05-25 16:21 ` Robert Pluim
2023-05-27 10:33 ` Gautier Ponsinet
2023-05-27 11:07 ` Gautier Ponsinet
[not found] ` <draft-87wn0ukp7h.fsf@gautierponsinet.xyz>
2023-07-23 9:46 ` Gautier Ponsinet
2023-05-24 16:41 ` Yuri Khan
2023-05-24 16:58 ` Eli Zaretskii
2023-05-24 17:21 ` Yuri Khan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87cz2qneqn.fsf@gmail.com \
--to=rpluim@gmail.com \
--cc=emacs-devel@gnu.org \
--cc=gautier@gautierponsinet.xyz \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).