* bug#63142: 30.0.50; QUOTING_STYLE can break dired
@ 2023-04-28 9:35 Yuri D'Elia
2023-04-28 10:27 ` Ruijie Yu via Bug reports for GNU Emacs, the Swiss army knife of text editors
` (2 more replies)
0 siblings, 3 replies; 21+ messages in thread
From: Yuri D'Elia @ 2023-04-28 9:35 UTC (permalink / raw)
To: 63142
If the environment variable QUOTING_STYLE is set, GNU "ls" can return a
format that dired doesn't like.
QUOTING_STYLE=shell will quote files with spaces such as 'a b', and
trying to interact with these files with dired results in:
dired-get-file-for-visit: File no longer exists; type g to update Dired buffer
Interestingly, even using "ls --dired" does the same if QUOTING_STYLE is
set.
Should dired handle QUOTING_STYLE (looking at the coreutils manual it
seems that other tools besides ls handle it) or should dired actively
suppress the quoting mode?
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#63142: 30.0.50; QUOTING_STYLE can break dired
2023-04-28 9:35 bug#63142: 30.0.50; QUOTING_STYLE can break dired Yuri D'Elia
@ 2023-04-28 10:27 ` Ruijie Yu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-04-28 10:28 ` Eli Zaretskii
2023-05-05 11:04 ` Mattias Engdegård
2 siblings, 0 replies; 21+ messages in thread
From: Ruijie Yu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-04-28 10:27 UTC (permalink / raw)
To: Yuri D'Elia; +Cc: 63142
Yuri D'Elia <wavexx@thregr.org> writes:
> If the environment variable QUOTING_STYLE is set, GNU "ls" can return a
> format that dired doesn't like.
>
> QUOTING_STYLE=shell will quote files with spaces such as 'a b', and
> trying to interact with these files with dired results in:
>
> dired-get-file-for-visit: File no longer exists; type g to update Dired buffer
>
> Interestingly, even using "ls --dired" does the same if QUOTING_STYLE is
> set.
Are you suggesting that for ls, passing --dired should also override the
quoting style? Either way, we can also pass --quoting-style onto the
command line to override it to something dired can play with.
> Should dired handle QUOTING_STYLE (looking at the coreutils manual it
> seems that other tools besides ls handle it) or should dired actively
> suppress the quoting mode?
--
Best,
RY
[Please note that this mail might go to spam due to some
misconfiguration in my mail server -- still investigating.]
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#63142: 30.0.50; QUOTING_STYLE can break dired
2023-04-28 9:35 bug#63142: 30.0.50; QUOTING_STYLE can break dired Yuri D'Elia
2023-04-28 10:27 ` Ruijie Yu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-04-28 10:28 ` Eli Zaretskii
2023-04-28 10:37 ` Yuri D'Elia
2023-05-05 11:04 ` Mattias Engdegård
2 siblings, 1 reply; 21+ messages in thread
From: Eli Zaretskii @ 2023-04-28 10:28 UTC (permalink / raw)
To: Yuri D'Elia; +Cc: 63142
> From: Yuri D'Elia <wavexx@thregr.org>
> Date: Fri, 28 Apr 2023 11:35:09 +0200
>
>
> If the environment variable QUOTING_STYLE is set, GNU "ls" can return a
> format that dired doesn't like.
>
> QUOTING_STYLE=shell will quote files with spaces such as 'a b', and
> trying to interact with these files with dired results in:
>
> dired-get-file-for-visit: File no longer exists; type g to update Dired buffer
>
> Interestingly, even using "ls --dired" does the same if QUOTING_STYLE is
> set.
>
> Should dired handle QUOTING_STYLE (looking at the coreutils manual it
> seems that other tools besides ls handle it) or should dired actively
> suppress the quoting mode?
I'd suggest first to report this to Coreutils maintainers: it makes
little sense to me to honor QUOTING_STYLE when --dired is specified.
If the Coreutils folks decline to handle this, then I guess we will
have to.
Thanks.
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#63142: 30.0.50; QUOTING_STYLE can break dired
2023-04-28 10:28 ` Eli Zaretskii
@ 2023-04-28 10:37 ` Yuri D'Elia
2023-04-28 10:46 ` Eli Zaretskii
0 siblings, 1 reply; 21+ messages in thread
From: Yuri D'Elia @ 2023-04-28 10:37 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 63142
On Fri, Apr 28 2023, Eli Zaretskii wrote:
>> Should dired handle QUOTING_STYLE (looking at the coreutils manual it
>> seems that other tools besides ls handle it) or should dired actively
>> suppress the quoting mode?
>
> I'd suggest first to report this to Coreutils maintainers: it makes
> little sense to me to honor QUOTING_STYLE when --dired is specified.
> If the Coreutils folks decline to handle this, then I guess we will
> have to.
What sort of output should ls use in --dired mode?
literal?
From the documentation it seems that '-b' should be used to interact
with newlines, so some form of quoting might still be wanted?
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#63142: 30.0.50; QUOTING_STYLE can break dired
2023-04-28 10:37 ` Yuri D'Elia
@ 2023-04-28 10:46 ` Eli Zaretskii
2023-04-28 18:01 ` Yuri D'Elia
0 siblings, 1 reply; 21+ messages in thread
From: Eli Zaretskii @ 2023-04-28 10:46 UTC (permalink / raw)
To: Yuri D'Elia; +Cc: 63142
> From: Yuri D'Elia <wavexx@thregr.org>
> Cc: 63142@debbugs.gnu.org
> Date: Fri, 28 Apr 2023 12:37:38 +0200
>
> On Fri, Apr 28 2023, Eli Zaretskii wrote:
> >> Should dired handle QUOTING_STYLE (looking at the coreutils manual it
> >> seems that other tools besides ls handle it) or should dired actively
> >> suppress the quoting mode?
> >
> > I'd suggest first to report this to Coreutils maintainers: it makes
> > little sense to me to honor QUOTING_STYLE when --dired is specified.
> > If the Coreutils folks decline to handle this, then I guess we will
> > have to.
>
> What sort of output should ls use in --dired mode?
The default one, I think. --dired already produces the information
which tells where each file name begins and ends, so any quoting
sounds redundant, no?
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#63142: 30.0.50; QUOTING_STYLE can break dired
2023-04-28 10:46 ` Eli Zaretskii
@ 2023-04-28 18:01 ` Yuri D'Elia
2023-04-29 10:46 ` Eli Zaretskii
0 siblings, 1 reply; 21+ messages in thread
From: Yuri D'Elia @ 2023-04-28 18:01 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: 63142
On Fri, Apr 28 2023, Eli Zaretskii wrote:
>> > I'd suggest first to report this to Coreutils maintainers: it makes
>> > little sense to me to honor QUOTING_STYLE when --dired is specified.
>> > If the Coreutils folks decline to handle this, then I guess we will
>> > have to.
>>
>> What sort of output should ls use in --dired mode?
>
> The default one, I think. --dired already produces the information
> which tells where each file name begins and ends, so any quoting
> sounds redundant, no?
So searching through coreutils I find this old report:
https://debbugs.gnu.org/cgi/bugreport.cgi?bug=23024
| On further analysis I see that --dired mode already distinguishes
| the quoting-style in its output. Also we had already documented
| that --dired should specify a --quoting-style to get consistent output.
Which huh, does mention this in the ls manual:
| If you use a quoting style like ‘--quoting-style=c’ (‘-Q’) that
| adds quote marks, then the offsets include the quote marks. So
| beware that the user may select the quoting style via the
| environment variable ‘QUOTING_STYLE’. Hence, applications using
| ‘--dired’ should either specify an explicit
| ‘--quoting-style=literal’ (‘-N’) option on the command line, or
| else be prepared to parse the escaped names.
Then it references a commit mentioning an emacs fix:
https://github.com/emacs-mirror/emacs/commit/e4adb6
which however seems to apply to tramp only.
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#63142: 30.0.50; QUOTING_STYLE can break dired
2023-04-28 18:01 ` Yuri D'Elia
@ 2023-04-29 10:46 ` Eli Zaretskii
2023-04-29 15:05 ` Ruijie Yu via Bug reports for GNU Emacs, the Swiss army knife of text editors
0 siblings, 1 reply; 21+ messages in thread
From: Eli Zaretskii @ 2023-04-29 10:46 UTC (permalink / raw)
To: Yuri D'Elia; +Cc: 63142
> From: Yuri D'Elia <wavexx@thregr.org>
> Cc: 63142@debbugs.gnu.org
> Date: Fri, 28 Apr 2023 20:01:01 +0200
>
> So searching through coreutils I find this old report:
>
> https://debbugs.gnu.org/cgi/bugreport.cgi?bug=23024
>
> | On further analysis I see that --dired mode already distinguishes
> | the quoting-style in its output. Also we had already documented
> | that --dired should specify a --quoting-style to get consistent output.
>
> Which huh, does mention this in the ls manual:
>
> | If you use a quoting style like ‘--quoting-style=c’ (‘-Q’) that
> | adds quote marks, then the offsets include the quote marks. So
> | beware that the user may select the quoting style via the
> | environment variable ‘QUOTING_STYLE’. Hence, applications using
> | ‘--dired’ should either specify an explicit
> | ‘--quoting-style=literal’ (‘-N’) option on the command line, or
> | else be prepared to parse the escaped names.
>
> Then it references a commit mentioning an emacs fix:
>
> https://github.com/emacs-mirror/emacs/commit/e4adb6
>
> which however seems to apply to tramp only.
Does the patch below give good results?
diff --git a/lisp/dired.el b/lisp/dired.el
index d1471e9..e3a9d7b 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -1653,7 +1653,10 @@ dired-insert-directory
see `dired-use-ls-dired' for more details.")
nil))
dired-use-ls-dired)))
- (setq switches (concat "--dired " switches)))
+ ;; Use -N with --dired, to countermand possible non-default
+ ;; quoting style, in particular via the environment variable
+ ;; QUOTINTG_STYLE.
+ (setq switches (concat "--dired -N " switches)))
;; Expand directory wildcards and fill file-list.
(let ((dir-wildcard (insert-directory-wildcard-in-dir-p dir)))
(cond (dir-wildcard
^ permalink raw reply related [flat|nested] 21+ messages in thread
* bug#63142: 30.0.50; QUOTING_STYLE can break dired
2023-04-29 10:46 ` Eli Zaretskii
@ 2023-04-29 15:05 ` Ruijie Yu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-04-29 15:16 ` Eli Zaretskii
0 siblings, 1 reply; 21+ messages in thread
From: Ruijie Yu via Bug reports for GNU Emacs, the Swiss army knife of text editors @ 2023-04-29 15:05 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: Yuri D'Elia, 63142
Eli Zaretskii <eliz@gnu.org> writes:
> Does the patch below give good results?
>
> diff --git a/lisp/dired.el b/lisp/dired.el
> index d1471e9..e3a9d7b 100644
> --- a/lisp/dired.el
> +++ b/lisp/dired.el
> @@ -1653,7 +1653,10 @@ dired-insert-directory
> see `dired-use-ls-dired' for more details.")
> nil))
> dired-use-ls-dired)))
> - (setq switches (concat "--dired " switches)))
> + ;; Use -N with --dired, to countermand possible non-default
> + ;; quoting style, in particular via the environment variable
> + ;; QUOTINTG_STYLE.
> + (setq switches (concat "--dired -N " switches)))
> ;; Expand directory wildcards and fill file-list.
> (let ((dir-wildcard (insert-directory-wildcard-in-dir-p dir)))
> (cond (dir-wildcard
Do we need to prevent "wild" users from setting a conflicting quoting
style in `switches', in which case we should swap the two arguments to
`concat'?
--
Best,
RY
[Please note that this mail might go to spam due to some
misconfiguration in my mail server -- still investigating.]
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#63142: 30.0.50; QUOTING_STYLE can break dired
2023-04-29 15:05 ` Ruijie Yu via Bug reports for GNU Emacs, the Swiss army knife of text editors
@ 2023-04-29 15:16 ` Eli Zaretskii
2023-05-02 9:35 ` Yuri D'Elia
0 siblings, 1 reply; 21+ messages in thread
From: Eli Zaretskii @ 2023-04-29 15:16 UTC (permalink / raw)
To: Ruijie Yu; +Cc: wavexx, 63142
> From: Ruijie Yu <ruijie@netyu.xyz>
> Cc: Yuri D'Elia <wavexx@thregr.org>, 63142@debbugs.gnu.org
> Date: Sat, 29 Apr 2023 23:05:27 +0800
>
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> > Does the patch below give good results?
> >
> > diff --git a/lisp/dired.el b/lisp/dired.el
> > index d1471e9..e3a9d7b 100644
> > --- a/lisp/dired.el
> > +++ b/lisp/dired.el
> > @@ -1653,7 +1653,10 @@ dired-insert-directory
> > see `dired-use-ls-dired' for more details.")
> > nil))
> > dired-use-ls-dired)))
> > - (setq switches (concat "--dired " switches)))
> > + ;; Use -N with --dired, to countermand possible non-default
> > + ;; quoting style, in particular via the environment variable
> > + ;; QUOTINTG_STYLE.
> > + (setq switches (concat "--dired -N " switches)))
> > ;; Expand directory wildcards and fill file-list.
> > (let ((dir-wildcard (insert-directory-wildcard-in-dir-p dir)))
> > (cond (dir-wildcard
>
> Do we need to prevent "wild" users from setting a conflicting quoting
> style in `switches'
Why would we want to do that? If they think they know what they are
doing, let them live with the consequences.
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#63142: 30.0.50; QUOTING_STYLE can break dired
2023-04-29 15:16 ` Eli Zaretskii
@ 2023-05-02 9:35 ` Yuri D'Elia
2023-05-02 12:18 ` Eli Zaretskii
0 siblings, 1 reply; 21+ messages in thread
From: Yuri D'Elia @ 2023-05-02 9:35 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: Ruijie Yu, 63142
On Sat, Apr 29 2023, Eli Zaretskii wrote:
>> > + (setq switches (concat "--dired -N " switches)))
>> > ;; Expand directory wildcards and fill file-list.
>> > (let ((dir-wildcard (insert-directory-wildcard-in-dir-p dir)))
>> > (cond (dir-wildcard
>>
>> Do we need to prevent "wild" users from setting a conflicting quoting
>> style in `switches'
>
> Why would we want to do that? If they think they know what they are
> doing, let them live with the consequences.
It's always a good idea to actually have the possibility to override
flags as an escape hatch.
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#63142: 30.0.50; QUOTING_STYLE can break dired
2023-05-02 9:35 ` Yuri D'Elia
@ 2023-05-02 12:18 ` Eli Zaretskii
2023-05-02 15:57 ` Yuri D'Elia
0 siblings, 1 reply; 21+ messages in thread
From: Eli Zaretskii @ 2023-05-02 12:18 UTC (permalink / raw)
To: Yuri D'Elia; +Cc: ruijie, 63142
> From: Yuri D'Elia <wavexx@thregr.org>
> Cc: Ruijie Yu <ruijie@netyu.xyz>, 63142@debbugs.gnu.org
> Date: Tue, 02 May 2023 11:35:13 +0200
>
> On Sat, Apr 29 2023, Eli Zaretskii wrote:
> >> > + (setq switches (concat "--dired -N " switches)))
> >> > ;; Expand directory wildcards and fill file-list.
> >> > (let ((dir-wildcard (insert-directory-wildcard-in-dir-p dir)))
> >> > (cond (dir-wildcard
> >>
> >> Do we need to prevent "wild" users from setting a conflicting quoting
> >> style in `switches'
> >
> > Why would we want to do that? If they think they know what they are
> > doing, let them live with the consequences.
>
> It's always a good idea to actually have the possibility to override
> flags as an escape hatch.
I agree.
What about the patch I proposed: does it give good results?
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#63142: 30.0.50; QUOTING_STYLE can break dired
2023-05-02 12:18 ` Eli Zaretskii
@ 2023-05-02 15:57 ` Yuri D'Elia
2023-05-02 17:48 ` Eli Zaretskii
0 siblings, 1 reply; 21+ messages in thread
From: Yuri D'Elia @ 2023-05-02 15:57 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: ruijie, 63142
On Tue, May 02 2023, Eli Zaretskii wrote:
> What about the patch I proposed: does it give good results?
Working as intended.
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#63142: 30.0.50; QUOTING_STYLE can break dired
2023-05-02 15:57 ` Yuri D'Elia
@ 2023-05-02 17:48 ` Eli Zaretskii
0 siblings, 0 replies; 21+ messages in thread
From: Eli Zaretskii @ 2023-05-02 17:48 UTC (permalink / raw)
To: Yuri D'Elia; +Cc: ruijie, 63142-done
> From: Yuri D'Elia <wavexx@thregr.org>
> Cc: ruijie@netyu.xyz, 63142@debbugs.gnu.org
> Date: Tue, 02 May 2023 17:57:50 +0200
>
> On Tue, May 02 2023, Eli Zaretskii wrote:
> > What about the patch I proposed: does it give good results?
>
> Working as intended.
Thanks, so I've now installed it on the master branch, and I'm closing
this bug.
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#63142: 30.0.50; QUOTING_STYLE can break dired
2023-04-28 9:35 bug#63142: 30.0.50; QUOTING_STYLE can break dired Yuri D'Elia
2023-04-28 10:27 ` Ruijie Yu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-04-28 10:28 ` Eli Zaretskii
@ 2023-05-05 11:04 ` Mattias Engdegård
2023-05-05 11:06 ` Yuri D'Elia
2023-05-05 11:25 ` Eli Zaretskii
2 siblings, 2 replies; 21+ messages in thread
From: Mattias Engdegård @ 2023-05-05 11:04 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: Yuri D'Elia, ruijie, 63142, Michael Albinus
[-- Attachment #1: Type: text/plain, Size: 308 bytes --]
This change breaks tramp-tests on MacOS (and, I presume, BSDs) where `ls` accepts neither `--dired` nor `-N`. see appended test log.
In fact even ls-lisp doesn't seem to accept `-N`, or at least do anything with it. Not sure if that is a problem or not.
Should we reopen this bug or open a new one?
[-- Attachment #2: tramp-tests.log --]
[-- Type: application/octet-stream, Size: 6366 bytes --]
Running 57 tests (2023-05-04 17:59:47+0200, selector `(not (or (tag :expensive-test) (tag :unstable) (tag :nativecomp)))')
Remote directory: `/mock::/var/folders/qy/zstv16390nlcs47kz8nff_mm0000gn/T/'
passed 1/57 tramp-test00-availability (0.196691 sec)
passed 2/57 tramp-test01-file-name-syntax (0.024810 sec)
passed 3/57 tramp-test02-file-name-dissect (0.012798 sec)
passed 4/57 tramp-test03-file-name-defaults (0.013957 sec)
passed 5/57 tramp-test03-file-name-host-rules (0.135664 sec)
passed 6/57 tramp-test03-file-name-method-rules (0.267525 sec)
passed 7/57 tramp-test04-substitute-in-file-name (0.016100 sec)
passed 8/57 tramp-test05-expand-file-name (0.000603 sec)
passed 9/57 tramp-test05-expand-file-name-relative (0.250355 sec)
passed 10/57 tramp-test05-expand-file-name-top (0.246213 sec)
passed 11/57 tramp-test06-directory-file-name (0.211605 sec)
passed 12/57 tramp-test07-abbreviate-file-name (0.863962 sec)
passed 13/57 tramp-test07-file-exists-p (0.623836 sec)
passed 14/57 tramp-test08-file-local-copy (0.796964 sec)
passed 15/57 tramp-test09-insert-file-contents (1.054375 sec)
Wrote /mock:stanniol.local:/var/folders/qy/zstv16390nlcs47kz8nff_mm0000gn/T/tramp-testTgbUDR
Wrote /mock:stanniol.local:/var/folders/qy/zstv16390nlcs47kz8nff_mm0000gn/T/tramp-testTgbUDR
Wrote /mock:stanniol.local:/var/folders/qy/zstv16390nlcs47kz8nff_mm0000gn/T/tramp-testTgbUDR
passed 16/57 tramp-test10-write-region (1.979867 sec)
passed 17/57 tramp-test10-write-region-file-precious-flag (1.285421 sec)
skipped 18/57 tramp-test10-write-region-other-file-name-handler (0.023221 sec)
passed 19/57 tramp-test11-copy-file (3.803086 sec)
passed 20/57 tramp-test12-rename-file (4.470811 sec)
passed 21/57 tramp-test13-make-directory (0.435704 sec)
passed 22/57 tramp-test14-delete-directory (0.686477 sec)
passed 23/57 tramp-test15-copy-directory (2.086941 sec)
passed 24/57 tramp-test16-directory-files (1.464579 sec)
passed 25/57 tramp-test16-file-expand-wildcards (0.728717 sec)
Test tramp-test17-dired-with-wildcards backtrace:
re-search-forward("tramp-testxyIR7k")
apply(re-search-forward "tramp-testxyIR7k")
#f(compiled-function () #<bytecode -0x167d9f2a3e13d219>)()
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name tramp-test17-dired-with-wildcards :do
ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
ert-run-tests((not (or (tag :expensive-test) (tag :unstable) (tag :n
ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable) (
ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
command-line-1(("-L" ":../../emacs/test" "-l" "ert" "-l" "lisp/net/t
command-line()
normal-top-level()
Test tramp-test17-dired-with-wildcards condition:
(search-failed "tramp-testxyIR7k")
FAILED 26/57 tramp-test17-dired-with-wildcards (0.618446 sec) at ../../emacs/test/lisp/net/tramp-tests.el:3316
passed 27/57 tramp-test17-insert-directory (0.626790 sec)
Test tramp-test17-insert-directory-one-file backtrace:
signal(ert-test-failed (((should-not (eobp)) :form (eobp) :value t))
ert-fail(((should-not (eobp)) :form (eobp) :value t))
#f(compiled-function () #<bytecode -0x22e0df6cebf0d13>)()
ert--run-test-internal(#s(ert--test-execution-info :test #s(ert-test
ert-run-test(#s(ert-test :name tramp-test17-insert-directory-one-fil
ert-run-or-rerun-test(#s(ert--stats :selector ... :tests ... :test-m
ert-run-tests((not (or (tag :expensive-test) (tag :unstable) (tag :n
ert-run-tests-batch((not (or (tag :expensive-test) (tag :unstable) (
ert-run-tests-batch-and-exit((not (or (tag :expensive-test) (tag :un
eval((ert-run-tests-batch-and-exit '(not (or (tag :expensive-test) (
command-line-1(("-L" ":../../emacs/test" "-l" "ert" "-l" "lisp/net/t
command-line()
normal-top-level()
Test tramp-test17-insert-directory-one-file condition:
(ert-test-failed
((should-not
(eobp))
:form
(eobp)
:value t))
FAILED 28/57 tramp-test17-insert-directory-one-file (0.518754 sec) at ../../emacs/test/lisp/net/tramp-tests.el:3431
passed 29/57 tramp-test18-file-attributes (1.514951 sec)
passed 30/57 tramp-test19-directory-files-and-attributes (0.780391 sec)
passed 31/57 tramp-test20-file-modes (0.496595 sec)
passed 32/57 tramp-test21-file-links (1.986896 sec)
passed 33/57 tramp-test22-file-times (0.677137 sec)
passed 34/57 tramp-test23-visited-file-modtime (0.486873 sec)
skipped 35/57 tramp-test24-file-acl (0.170199 sec)
skipped 36/57 tramp-test25-file-selinux (0.211741 sec)
passed 37/57 tramp-test26-file-name-completion (1.384207 sec)
passed 38/57 tramp-test26-interactive-file-name-completion (2.009675 sec)
passed 39/57 tramp-test27-load (0.838852 sec)
passed 40/57 tramp-test33-environment-variables-and-port-numbers (0.771784 sec)
passed 41/57 tramp-test35-exec-path (1.303049 sec)
passed 42/57 tramp-test35-remote-path (3.657313 sec)
passed 43/57 tramp-test37-make-auto-save-file-name (0.594019 sec)
passed 44/57 tramp-test38-find-backup-file-name (0.781815 sec)
passed 45/57 tramp-test39-detect-external-change (3.815419 sec)
passed 46/57 tramp-test39-make-lock-file-name (4.178823 sec)
passed 47/57 tramp-test40-make-nearby-temp-file (1.329095 sec)
passed 48/57 tramp-test41-special-characters (2.279381 sec)
passed 49/57 tramp-test42-utf8 (6.554795 sec)
passed 50/57 tramp-test43-file-system-info (0.164572 sec)
passed 51/57 tramp-test44-file-user-group-ids (0.276660 sec)
skipped 52/57 tramp-test46-dired-compress-dir (0.099935 sec)
skipped 53/57 tramp-test46-dired-compress-file (0.219227 sec)
passed 54/57 tramp-test48-auto-load (0.544248 sec)
passed 55/57 tramp-test48-delay-load (0.299999 sec)
passed 56/57 tramp-test48-recursive-load (0.676982 sec)
passed 57/57 tramp-test48-remote-load-path (0.252166 sec)
Ran 57 tests, 50 results as expected, 2 unexpected, 5 skipped (2023-05-04 18:00:49+0200, 62.139392 sec)
2 unexpected results:
FAILED tramp-test17-dired-with-wildcards
FAILED tramp-test17-insert-directory-one-file
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#63142: 30.0.50; QUOTING_STYLE can break dired
2023-05-05 11:04 ` Mattias Engdegård
@ 2023-05-05 11:06 ` Yuri D'Elia
2023-05-05 11:25 ` Eli Zaretskii
1 sibling, 0 replies; 21+ messages in thread
From: Yuri D'Elia @ 2023-05-05 11:06 UTC (permalink / raw)
To: Mattias Engdegård; +Cc: ruijie, Eli Zaretskii, 63142, Michael Albinus
On Fri, May 05 2023, Mattias Engdegård wrote:
> This change breaks tramp-tests on MacOS (and, I presume, BSDs) where
> `ls` accepts neither `--dired` nor `-N`. see appended test log.
Considering -N was added where --dired was already being used, I'm kind
of surprised?
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#63142: 30.0.50; QUOTING_STYLE can break dired
2023-05-05 11:04 ` Mattias Engdegård
2023-05-05 11:06 ` Yuri D'Elia
@ 2023-05-05 11:25 ` Eli Zaretskii
2023-05-05 12:03 ` Michael Albinus
1 sibling, 1 reply; 21+ messages in thread
From: Eli Zaretskii @ 2023-05-05 11:25 UTC (permalink / raw)
To: Mattias Engdegård; +Cc: wavexx, ruijie, 63142, michael.albinus
> From: Mattias Engdegård <mattias.engdegard@gmail.com>
> Date: Fri, 5 May 2023 13:04:56 +0200
> Cc: Michael Albinus <michael.albinus@gmx.de>,
> Yuri D'Elia <wavexx@thregr.org>,
> ruijie@netyu.xyz,
> 63142@debbugs.gnu.org
>
> This change breaks tramp-tests on MacOS (and, I presume, BSDs) where `ls` accepts neither `--dired` nor `-N`. see appended test log.
Sorry, I don't understand. The change added -N only where we
previously had --dired in the 'ls' switches. Are you saying that we
somehow now pass "--dired -N" where previously we didn't pass "--dired"?
AFAIU, we should use --dired only when 'ls' supports it, and we now
use -N under the same conditions. Is that not what happens?
> In fact even ls-lisp doesn't seem to accept `-N`, or at least do anything with it. Not sure if that is a problem or not.
This should not be used when ls-lisp is in use, see the line
emphasized below:
(if (and
;; Don't try to invoke `ls' if we are on DOS/Windows where
;; ls-lisp emulation is used, except if they want to use `ls'
;; as indicated by `ls-lisp-use-insert-directory-program'.
(not (and (featurep 'ls-lisp) <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
(null ls-lisp-use-insert-directory-program)))
;; FIXME: Big ugly hack for Eshell's eshell-ls-use-in-dired.
(not (bound-and-true-p eshell-ls-use-in-dired))
(or (file-remote-p dir)
(if (eq dired-use-ls-dired 'unspecified)
;; Check whether "ls --dired" gives exit code 0, and
;; save the answer in `dired-use-ls-dired'.
(or (setq dired-use-ls-dired
(eq 0 (call-process insert-directory-program
nil nil nil "--dired")))
(progn
(message "ls does not support --dired; \
see `dired-use-ls-dired' for more details.")
nil))
dired-use-ls-dired)))
;; Use -N with --dired, to countermand possible non-default
;; quoting style, in particular via the environment variable
;; QUOTING_STYLE.
(setq switches (concat "--dired -N " switches)))
So once again, I don't understand what you are saying. In any case,
I've just tried "C-x d" on MS-Windows, where ls-lisp is used by
default, and saw no problems. What am I missing?
> Should we reopen this bug or open a new one?
I'd like Michael to chime in first.
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#63142: 30.0.50; QUOTING_STYLE can break dired
2023-05-05 11:25 ` Eli Zaretskii
@ 2023-05-05 12:03 ` Michael Albinus
2023-05-05 12:11 ` Mattias Engdegård
2023-05-05 13:28 ` Eli Zaretskii
0 siblings, 2 replies; 21+ messages in thread
From: Michael Albinus @ 2023-05-05 12:03 UTC (permalink / raw)
To: Eli Zaretskii; +Cc: wavexx, ruijie, Mattias Engdegård, 63142
Eli Zaretskii <eliz@gnu.org> writes:
Hi,
>> This change breaks tramp-tests on MacOS (and, I presume, BSDs) where `ls` accepts neither `--dired` nor `-N`. see appended test log.
>
> AFAIU, we should use --dired only when 'ls' supports it, and we now
> use -N under the same conditions. Is that not what happens?
This still happens.
>> Should we reopen this bug or open a new one?
>
> I'd like Michael to chime in first.
Well, we're speaking about tramp-sh-handle-insert-directory. This does
the following:
- Check, whether the remote ls command supports "--quoting-style=literal
--show-control-chars" or "-w" (for *BSD). If yes, add this to SWITCHES.
- Check, whether the remote ls command supports "--dired". If not, remove
"--dired" from SWITCHES.
It doesn't know anything about "-N". So I propose to remove "-N" from
switches unconditionally in Tramp.
Best regards, Michael.
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#63142: 30.0.50; QUOTING_STYLE can break dired
2023-05-05 12:03 ` Michael Albinus
@ 2023-05-05 12:11 ` Mattias Engdegård
2023-05-05 14:44 ` Michael Albinus
2023-05-05 13:28 ` Eli Zaretskii
1 sibling, 1 reply; 21+ messages in thread
From: Mattias Engdegård @ 2023-05-05 12:11 UTC (permalink / raw)
To: Michael Albinus; +Cc: wavexx, ruijie, Eli Zaretskii, 63142
[-- Attachment #1: Type: text/plain, Size: 389 bytes --]
5 maj 2023 kl. 14.03 skrev Michael Albinus <michael.albinus@gmx.de>:
> It doesn't know anything about "-N". So I propose to remove "-N" from
> switches unconditionally in Tramp.
Yes, I found that out the hard way and can confirm that the patch below makes tramp-tests pass again.
Whether it's the right course of action, or requires more work elsewhere, I leave to you and Eli.
[-- Attachment #2: bsd-ls-N.diff --]
[-- Type: application/octet-stream, Size: 1774 bytes --]
diff --git a/lisp/dired.el b/lisp/dired.el
index 1c8d011d765..e70467ca53b 100644
--- a/lisp/dired.el
+++ b/lisp/dired.el
@@ -1647,9 +1647,9 @@ dired-insert-directory
;; save the answer in `dired-use-ls-dired'.
(or (setq dired-use-ls-dired
(eq 0 (call-process insert-directory-program
- nil nil nil "--dired")))
+ nil nil nil "--dired" "-N")))
(progn
- (message "ls does not support --dired; \
+ (message "ls does not support --dired -N; \
see `dired-use-ls-dired' for more details.")
nil))
dired-use-ls-dired)))
@@ -1665,7 +1665,7 @@ dired-insert-directory
;; "--dired", so we cannot add it to the `process-file'
;; call for wildcards.
(when (file-remote-p dir)
- (setq switches (string-replace "--dired" "" switches)))
+ (setq switches (string-replace "--dired -N" "" switches)))
(let* ((default-directory (car dir-wildcard))
(script (format "ls %s %s" switches (cdr dir-wildcard)))
(remotep (file-remote-p dir))
diff --git a/lisp/net/tramp-sh.el b/lisp/net/tramp-sh.el
index 94fbc588b5d..d020615af07 100644
--- a/lisp/net/tramp-sh.el
+++ b/lisp/net/tramp-sh.el
@@ -2566,7 +2566,7 @@ tramp-sh-handle-insert-directory
(setq switches
(append switches (split-string (tramp-sh--quoting-style-options v))))
(unless (tramp-get-ls-command-with v "--dired")
- (setq switches (delete "--dired" switches)))
+ (setq switches (delete "-N" (delete "--dired" switches))))
(when wildcard
(setq wildcard (tramp-run-real-handler
#'file-name-nondirectory (list localname)))
^ permalink raw reply related [flat|nested] 21+ messages in thread
* bug#63142: 30.0.50; QUOTING_STYLE can break dired
2023-05-05 12:03 ` Michael Albinus
2023-05-05 12:11 ` Mattias Engdegård
@ 2023-05-05 13:28 ` Eli Zaretskii
1 sibling, 0 replies; 21+ messages in thread
From: Eli Zaretskii @ 2023-05-05 13:28 UTC (permalink / raw)
To: Michael Albinus; +Cc: wavexx, ruijie, mattias.engdegard, 63142
> From: Michael Albinus <michael.albinus@gmx.de>
> Cc: Mattias Engdegård <mattias.engdegard@gmail.com>,
> wavexx@thregr.org,
> ruijie@netyu.xyz, 63142@debbugs.gnu.org
> Date: Fri, 05 May 2023 14:03:13 +0200
>
> Eli Zaretskii <eliz@gnu.org> writes:
>
> >> Should we reopen this bug or open a new one?
> >
> > I'd like Michael to chime in first.
>
> Well, we're speaking about tramp-sh-handle-insert-directory. This does
> the following:
>
> - Check, whether the remote ls command supports "--quoting-style=literal
> --show-control-chars" or "-w" (for *BSD). If yes, add this to SWITCHES.
>
> - Check, whether the remote ls command supports "--dired". If not, remove
> "--dired" from SWITCHES.
>
> It doesn't know anything about "-N". So I propose to remove "-N" from
> switches unconditionally in Tramp.
SGTM, thanks.
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#63142: 30.0.50; QUOTING_STYLE can break dired
2023-05-05 12:11 ` Mattias Engdegård
@ 2023-05-05 14:44 ` Michael Albinus
2023-05-05 17:26 ` Mattias Engdegård
0 siblings, 1 reply; 21+ messages in thread
From: Michael Albinus @ 2023-05-05 14:44 UTC (permalink / raw)
To: Mattias Engdegård; +Cc: wavexx, ruijie, Eli Zaretskii, 63142
Mattias Engdegård <mattias.engdegard@gmail.com> writes:
Hi Mattias,
> Yes, I found that out the hard way and can confirm that the patch below makes tramp-tests pass again.
> Whether it's the right course of action, or requires more work elsewhere, I leave to you and Eli.
Thanks. LGTM, so you might push it.
It doesn't handle the case that somebody uses switches like "-alN". But
this would be intentional by the user, and we don't need to care about.
Best regards, Michael.
^ permalink raw reply [flat|nested] 21+ messages in thread
* bug#63142: 30.0.50; QUOTING_STYLE can break dired
2023-05-05 14:44 ` Michael Albinus
@ 2023-05-05 17:26 ` Mattias Engdegård
0 siblings, 0 replies; 21+ messages in thread
From: Mattias Engdegård @ 2023-05-05 17:26 UTC (permalink / raw)
To: Michael Albinus; +Cc: wavexx, ruijie, Eli Zaretskii, 63142
5 maj 2023 kl. 16.44 skrev Michael Albinus <michael.albinus@gmx.de>:
> Thanks. LGTM, so you might push it.
Thank you, now on master.
^ permalink raw reply [flat|nested] 21+ messages in thread
end of thread, other threads:[~2023-05-05 17:26 UTC | newest]
Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-04-28 9:35 bug#63142: 30.0.50; QUOTING_STYLE can break dired Yuri D'Elia
2023-04-28 10:27 ` Ruijie Yu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-04-28 10:28 ` Eli Zaretskii
2023-04-28 10:37 ` Yuri D'Elia
2023-04-28 10:46 ` Eli Zaretskii
2023-04-28 18:01 ` Yuri D'Elia
2023-04-29 10:46 ` Eli Zaretskii
2023-04-29 15:05 ` Ruijie Yu via Bug reports for GNU Emacs, the Swiss army knife of text editors
2023-04-29 15:16 ` Eli Zaretskii
2023-05-02 9:35 ` Yuri D'Elia
2023-05-02 12:18 ` Eli Zaretskii
2023-05-02 15:57 ` Yuri D'Elia
2023-05-02 17:48 ` Eli Zaretskii
2023-05-05 11:04 ` Mattias Engdegård
2023-05-05 11:06 ` Yuri D'Elia
2023-05-05 11:25 ` Eli Zaretskii
2023-05-05 12:03 ` Michael Albinus
2023-05-05 12:11 ` Mattias Engdegård
2023-05-05 14:44 ` Michael Albinus
2023-05-05 17:26 ` Mattias Engdegård
2023-05-05 13:28 ` Eli Zaretskii
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.