GNU bug report logs - #63142
30.0.50; QUOTING_STYLE can break dired

Previous Next

Package: emacs;

Reported by: Yuri D'Elia <wavexx <at> thregr.org>

Date: Fri, 28 Apr 2023 09:47:02 UTC

Severity: normal

Found in version 30.0.50

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #55 received at 63142 <at> debbugs.gnu.org (full text, mbox):

From: Eli Zaretskii <eliz <at> gnu.org>
To: Mattias EngdegÄrd <mattias.engdegard <at> gmail.com>
Cc: wavexx <at> thregr.org, ruijie <at> netyu.xyz, 63142 <at> debbugs.gnu.org,
 michael.albinus <at> gmx.de
Subject: Re: bug#63142: 30.0.50; QUOTING_STYLE can break dired
Date: Fri, 05 May 2023 14:25:18 +0300
> From: Mattias EngdegÄrd <mattias.engdegard <at> gmail.com>
> Date: Fri, 5 May 2023 13:04:56 +0200
> Cc: Michael Albinus <michael.albinus <at> gmx.de>,
>  Yuri D'Elia <wavexx <at> thregr.org>,
>  ruijie <at> netyu.xyz,
>  63142 <at> 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.




This bug report was last modified 2 years and 18 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.