* bug#29766: 25.3; REGRESSION, Dired on MS Windows, switches -alF [not found] ` <<83ind3pfez.fsf@gnu.org> @ 2017-12-19 5:11 ` Drew Adams 2017-12-19 16:05 ` Eli Zaretskii 0 siblings, 1 reply; 10+ messages in thread From: Drew Adams @ 2017-12-19 5:11 UTC (permalink / raw) To: Eli Zaretskii, Drew Adams; +Cc: 29766-done > > Why the longstanding default behavior changed? > > Because it makes Dired on Windows sort in the order that's much more > similar to what it does on GNU/Linux (where 'ls' produces such an > ordering by default in popular locales). And that's a good idea because ___? I suppose it's good for people using multiple platforms (consistency). But since different platforms have (apparently) such different outside-Emacs behaviors, perhaps an alist of values, keyed by platform in some way, would be better. Then the defaults for common platforms could be preconfigured according to what users of those platforms might expect. And a user of multiple platforms could opt for either the same behavior everywhere or different behaviors here and there. Just something to think about, I guess. ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#29766: 25.3; REGRESSION, Dired on MS Windows, switches -alF 2017-12-19 5:11 ` bug#29766: 25.3; REGRESSION, Dired on MS Windows, switches -alF Drew Adams @ 2017-12-19 16:05 ` Eli Zaretskii 0 siblings, 0 replies; 10+ messages in thread From: Eli Zaretskii @ 2017-12-19 16:05 UTC (permalink / raw) To: Drew Adams; +Cc: 29766 > Date: Mon, 18 Dec 2017 21:11:00 -0800 (PST) > From: Drew Adams <drew.adams@oracle.com> > Cc: 29766-done@debbugs.gnu.org > > > > Why the longstanding default behavior changed? > > > > Because it makes Dired on Windows sort in the order that's much more > > similar to what it does on GNU/Linux (where 'ls' produces such an > > ordering by default in popular locales). > > And that's a good idea because ___? For the same reason Emacs displays files in Dired buffers as "ls -l" on Unix would, the same reason why we don't put directories first and display the execute "attribute bit" for programs, which doesn't exist on Windows, the same reason why we display "inode numbers" if you add "-i" to the switches. We do all that, and more, to try to present a similar UX on all supported platforms. I thought this was clear to any veteran user of Emacs. > I suppose it's good for people using multiple platforms > (consistency). But since different platforms have > (apparently) such different outside-Emacs behaviors, > perhaps an alist of values, keyed by platform in some > way, would be better. Then the defaults for common > platforms could be preconfigured according to what > users of those platforms might expect. And a user > of multiple platforms could opt for either the same > behavior everywhere or different behaviors here and > there. Just something to think about, I guess. We already have plenty of such customization options in ls-lisp.el, had them for a long time. ^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <<<<<52375503-be26-49ea-9d31-9926a125c0db@default>]
[parent not found: <<<<<83lghzq0r4.fsf@gnu.org>]
[parent not found: <<<<07c40ae2-2160-43e3-b246-b98db5fc4b04@default>]
[parent not found: <<<<83ind3pfez.fsf@gnu.org>]
[parent not found: <<<1ca5954e-224c-4bce-b70b-8d3fece8d7fd@default>]
[parent not found: <<<83efnqputp.fsf@gnu.org>]
[parent not found: <<d5184fa1-cd78-4ab8-b517-83c90b2a6948@default>]
[parent not found: <<83y3lyo5to.fsf@gnu.org>]
* bug#29766: 25.3; REGRESSION, Dired on MS Windows, switches -alF [not found] ` <<83y3lyo5to.fsf@gnu.org> @ 2017-12-19 21:11 ` Drew Adams 2017-12-20 3:32 ` Eli Zaretskii 0 siblings, 1 reply; 10+ messages in thread From: Drew Adams @ 2017-12-19 21:11 UTC (permalink / raw) To: Eli Zaretskii, Drew Adams; +Cc: 29766 > > > We already have plenty of such customization options > > > in ls-lisp.el, had them for a long time. > > > > What option(s) in ls-lisp.el correspond to such an alist? > > What alist and for which purpose? You never explained that. As I said: But since different platforms have (apparently) such different outside-Emacs behaviors, perhaps an alist of values, keyed by platform in some way, would be better. Then the defaults for common platforms could be preconfigured according to what users of those platforms might expect. And a user of multiple platforms could opt for either the same behavior everywhere or different behaviors here and there. Just something to think about, I guess. If you see no way to have alist keys that can be used to specify per-platform behavior, then that suggestion is perhaps not feasible. But otherwise, it could be useful. An alist entry of, say, (windows-nt . compare-strings) would have the effect, when (eq system-type 'windows-nt), of using `compare-strings' to sort files. An entry of (windows-nt . string-collate-lessp) would instead use ` string-collate-lessp' on MS Windows. The same user could have preferred settings for multiple platforms. The default alist value could be whatever you like. > > I don't see any. And if there is already such an option, > > let alone plenty of them, then why did we add > > `ls-lisp-use-string-collate'? > > I don't see how an alist could replace > ls-lisp-use-string-collate. See above. Change the value of the option from Boolean to alist. Get the sort predicate from the alist, checking the key against the current platform (or whatever - perhaps `system-type' is not the only reasonable test). ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#29766: 25.3; REGRESSION, Dired on MS Windows, switches -alF 2017-12-19 21:11 ` Drew Adams @ 2017-12-20 3:32 ` Eli Zaretskii 0 siblings, 0 replies; 10+ messages in thread From: Eli Zaretskii @ 2017-12-20 3:32 UTC (permalink / raw) To: Drew Adams; +Cc: 29766 > Date: Tue, 19 Dec 2017 13:11:30 -0800 (PST) > From: Drew Adams <drew.adams@oracle.com> > Cc: 29766@debbugs.gnu.org > > > I don't see how an alist could replace > > ls-lisp-use-string-collate. > > See above. Change the value of the option from > Boolean to alist. Get the sort predicate from > the alist, checking the key against the current > platform (or whatever - perhaps `system-type' > is not the only reasonable test). Doesn't seem useful to me. ^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <<<<52375503-be26-49ea-9d31-9926a125c0db@default>]
[parent not found: <<<<83lghzq0r4.fsf@gnu.org>]
[parent not found: <<<07c40ae2-2160-43e3-b246-b98db5fc4b04@default>]
[parent not found: <<<83ind3pfez.fsf@gnu.org>]
[parent not found: <<1ca5954e-224c-4bce-b70b-8d3fece8d7fd@default>]
[parent not found: <<83efnqputp.fsf@gnu.org>]
* bug#29766: 25.3; REGRESSION, Dired on MS Windows, switches -alF [not found] ` <<83efnqputp.fsf@gnu.org> @ 2017-12-19 17:08 ` Drew Adams 2017-12-19 19:50 ` Eli Zaretskii 0 siblings, 1 reply; 10+ messages in thread From: Drew Adams @ 2017-12-19 17:08 UTC (permalink / raw) To: Eli Zaretskii, Drew Adams; +Cc: 29766 > > I suppose it's good for people using multiple platforms > > (consistency). But since different platforms have > > (apparently) such different outside-Emacs behaviors, > > perhaps an alist of values, keyed by platform in some > > way, would be better. Then the defaults for common > > platforms could be preconfigured according to what > > users of those platforms might expect. And a user > > of multiple platforms could opt for either the same > > behavior everywhere or different behaviors here and > > there. Just something to think about, I guess. > > We already have plenty of such customization options > in ls-lisp.el, had them for a long time. What option(s) in ls-lisp.el correspond to such an alist? I don't see any. And if there is already such an option, let alone plenty of them, then why did we add `ls-lisp-use-string-collate'? Sure, there are plenty of options in ls-lisp.el. But which of them are relevant here? ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#29766: 25.3; REGRESSION, Dired on MS Windows, switches -alF 2017-12-19 17:08 ` Drew Adams @ 2017-12-19 19:50 ` Eli Zaretskii 0 siblings, 0 replies; 10+ messages in thread From: Eli Zaretskii @ 2017-12-19 19:50 UTC (permalink / raw) To: Drew Adams; +Cc: 29766 > Date: Tue, 19 Dec 2017 09:08:53 -0800 (PST) > From: Drew Adams <drew.adams@oracle.com> > Cc: 29766@debbugs.gnu.org > > > We already have plenty of such customization options > > in ls-lisp.el, had them for a long time. > > What option(s) in ls-lisp.el correspond to such an alist? What alist and for which purpose? You never explained that. ls-lisp has the following options to adapt it to various styles: ls-lisp-emulation ls-lisp-ignore-case ls-lisp-use-string-collate ls-lisp-UCA-like-collation ls-lisp-dirs-first ls-lisp-verbosity ls-lisp-support-shell-wildcards ls-lisp-format-time-list ls-lisp-use-localized-time-format > I don't see any. And if there is already such an option, > let alone plenty of them, then why did we add > `ls-lisp-use-string-collate'? I don't see how an alist could replace ls-lisp-use-string-collate. ^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <<52375503-be26-49ea-9d31-9926a125c0db@default>]
[parent not found: <<83lghzq0r4.fsf@gnu.org>]
* bug#29766: 25.3; REGRESSION, Dired on MS Windows, switches -alF [not found] ` <<83lghzq0r4.fsf@gnu.org> @ 2017-12-18 20:44 ` Drew Adams 2017-12-19 3:25 ` Eli Zaretskii 0 siblings, 1 reply; 10+ messages in thread From: Drew Adams @ 2017-12-18 20:44 UTC (permalink / raw) To: Eli Zaretskii, Drew Adams; +Cc: 29766 > > 1. The #...# files are missing. > > > > 2. The .* (dot) files are missing. > > They are not missing here, at least not in some 2 random directories I > tried, so maybe this is something specific to your system. You're right. Those files are mixed in with the others, instead of being clumped together at the beginning. My directory listing is large, and I didn't notice these few files as they were lost in the sea of "normal" files. So I guess you can close this bug. > > 3. The order of the other files is changed. > > This might be due to this change (from NEWS.25): > > *** The ls-lisp package uses 'string-collate-lessp' to sort file names. > The effect is that, on systems that use ls-lisp for Dired, the default > sort order of the files in Dired is now different from what it was in > previous versions of Emacs. In particular, the file names are sorted > disregarding punctuation, accents, and diacritics, and letter case is > ignored. For example, files whose name begin with a period will no > longer appear near the beginning of the directory listing. If you > want the old, locale-independent sorting, customize the new option > 'ls-lisp-use-string-collate' to the nil value. Thanks. Yes, changing the option value to nil solves everything. Why the longstanding default behavior changed? I can see someone wanting a different order, and so I understand that we added an option for this. But why was the default changed? ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#29766: 25.3; REGRESSION, Dired on MS Windows, switches -alF 2017-12-18 20:44 ` Drew Adams @ 2017-12-19 3:25 ` Eli Zaretskii 0 siblings, 0 replies; 10+ messages in thread From: Eli Zaretskii @ 2017-12-19 3:25 UTC (permalink / raw) To: Drew Adams; +Cc: 29766-done > Date: Mon, 18 Dec 2017 12:44:20 -0800 (PST) > From: Drew Adams <drew.adams@oracle.com> > Cc: 29766@debbugs.gnu.org > > > > 1. The #...# files are missing. > > > > > > 2. The .* (dot) files are missing. > > > > They are not missing here, at least not in some 2 random directories I > > tried, so maybe this is something specific to your system. > > You're right. Those files are mixed in with the others, instead > of being clumped together at the beginning. My directory listing > is large, and I didn't notice these few files as they were lost > in the sea of "normal" files. > > So I guess you can close this bug. Done. > > *** The ls-lisp package uses 'string-collate-lessp' to sort file names. > > The effect is that, on systems that use ls-lisp for Dired, the default > > sort order of the files in Dired is now different from what it was in > > previous versions of Emacs. In particular, the file names are sorted > > disregarding punctuation, accents, and diacritics, and letter case is > > ignored. For example, files whose name begin with a period will no > > longer appear near the beginning of the directory listing. If you > > want the old, locale-independent sorting, customize the new option > > 'ls-lisp-use-string-collate' to the nil value. > > Thanks. Yes, changing the option value to nil solves > everything. > > Why the longstanding default behavior changed? Because it makes Dired on Windows sort in the order that's much more similar to what it does on GNU/Linux (where 'ls' produces such an ordering by default in popular locales). ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#29766: 25.3; REGRESSION, Dired on MS Windows, switches -alF @ 2017-12-18 18:52 Drew Adams 2017-12-18 19:44 ` Eli Zaretskii 0 siblings, 1 reply; 10+ messages in thread From: Drew Adams @ 2017-12-18 18:52 UTC (permalink / raw) To: 29766 [-- Attachment #1: Type: text/plain, Size: 928 bytes --] This regression was apparently introduced in Emacs 25. It is still present in the 26.1 pretest. See the attached screenshots, both from `emacs -Q', one from Emacs 24.5, the other from Emacs 25.3.1. 1. The #...# files are missing. 2. The .* (dot) files are missing. 3. The order of the other files is changed. I see the same problem for the default switches: -al. I find nothing in NEWS about such a change. And I find it hard to believe this would be by design and not an accidental regression. On the other hand, it's also hard to imagine that no one else has reported this. (But perhaps this is a duplicate?) In GNU Emacs 25.3.1 (x86_64-w64-mingw32) of 2017-09-26 built on LAPHROAIG Windowing system distributor 'Microsoft Corp.', version 6.1.7601 Configured using: 'configure --without-dbus --without-compress-install 'CFLAGS=-O2 -static -g3' PKG_CONFIG_PATH=/mingw64/lib/pkgconfig' [-- Attachment #2: throw-dired-alF-emacs-25-3-1.png --] [-- Type: image/png, Size: 11257 bytes --] [-- Attachment #3: throw-dired-alF-emacs-24-5.png --] [-- Type: image/png, Size: 21534 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* bug#29766: 25.3; REGRESSION, Dired on MS Windows, switches -alF 2017-12-18 18:52 Drew Adams @ 2017-12-18 19:44 ` Eli Zaretskii 0 siblings, 0 replies; 10+ messages in thread From: Eli Zaretskii @ 2017-12-18 19:44 UTC (permalink / raw) To: Drew Adams; +Cc: 29766 > Date: Mon, 18 Dec 2017 10:52:45 -0800 (PST) > From: Drew Adams <drew.adams@oracle.com> > > 1. The #...# files are missing. > > 2. The .* (dot) files are missing. They are not missing here, at least not in some 2 random directories I tried, so maybe this is something specific to your system. > 3. The order of the other files is changed. This might be due to this change (from NEWS.25): *** The ls-lisp package uses 'string-collate-lessp' to sort file names. The effect is that, on systems that use ls-lisp for Dired, the default sort order of the files in Dired is now different from what it was in previous versions of Emacs. In particular, the file names are sorted disregarding punctuation, accents, and diacritics, and letter case is ignored. For example, files whose name begin with a period will no longer appear near the beginning of the directory listing. If you want the old, locale-independent sorting, customize the new option 'ls-lisp-use-string-collate' to the nil value. ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2017-12-20 3:32 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <<<52375503-be26-49ea-9d31-9926a125c0db@default> [not found] ` <<<83lghzq0r4.fsf@gnu.org> [not found] ` <<07c40ae2-2160-43e3-b246-b98db5fc4b04@default> [not found] ` <<83ind3pfez.fsf@gnu.org> 2017-12-19 5:11 ` bug#29766: 25.3; REGRESSION, Dired on MS Windows, switches -alF Drew Adams 2017-12-19 16:05 ` Eli Zaretskii [not found] <<<<<52375503-be26-49ea-9d31-9926a125c0db@default> [not found] ` <<<<<83lghzq0r4.fsf@gnu.org> [not found] ` <<<<07c40ae2-2160-43e3-b246-b98db5fc4b04@default> [not found] ` <<<<83ind3pfez.fsf@gnu.org> [not found] ` <<<1ca5954e-224c-4bce-b70b-8d3fece8d7fd@default> [not found] ` <<<83efnqputp.fsf@gnu.org> [not found] ` <<d5184fa1-cd78-4ab8-b517-83c90b2a6948@default> [not found] ` <<83y3lyo5to.fsf@gnu.org> 2017-12-19 21:11 ` Drew Adams 2017-12-20 3:32 ` Eli Zaretskii [not found] <<<<52375503-be26-49ea-9d31-9926a125c0db@default> [not found] ` <<<<83lghzq0r4.fsf@gnu.org> [not found] ` <<<07c40ae2-2160-43e3-b246-b98db5fc4b04@default> [not found] ` <<<83ind3pfez.fsf@gnu.org> [not found] ` <<1ca5954e-224c-4bce-b70b-8d3fece8d7fd@default> [not found] ` <<83efnqputp.fsf@gnu.org> 2017-12-19 17:08 ` Drew Adams 2017-12-19 19:50 ` Eli Zaretskii [not found] <<52375503-be26-49ea-9d31-9926a125c0db@default> [not found] ` <<83lghzq0r4.fsf@gnu.org> 2017-12-18 20:44 ` Drew Adams 2017-12-19 3:25 ` Eli Zaretskii 2017-12-18 18:52 Drew Adams 2017-12-18 19:44 ` Eli Zaretskii
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).