Variable: ls-lisp-use-string-collate

ls-lisp-use-string-collate is a customizable variable defined in ls-lisp.el.gz.

Value

t

Documentation

Non-nil causes ls-lisp to sort files in locale-dependent collation order.

A value of nil means use ordinary string comparison (see compare-strings) for sorting files. A non-nil value uses string-collate-lessp instead, which more closely emulates what GNU ls does.

On GNU/Linux systems, if the locale's codeset specifies UTF-8, as in "en_US.UTF-8", the collation order follows the Unicode Collation Algorithm (UCA), which places together file names that differ only in punctuation characters. On MS-Windows, customize the option ls-lisp-UCA-like-collation to a non-nil value to get similar behavior.

This variable was added, or its default value changed, in Emacs 25.1.

View in manual

Probably introduced at or before Emacs version 25.1.

Source Code

;; Defined in /usr/src/emacs/lisp/ls-lisp.el.gz
(defcustom ls-lisp-use-string-collate
  (cond ((memq ls-lisp-emulation '(MacOS UNIX)) nil)
	(t t))		; GNU/Linux or MS-Windows emulate GNU ls
  "Non-nil causes ls-lisp to sort files in locale-dependent collation order.

A value of nil means use ordinary string comparison (see `compare-strings')
for sorting files.  A non-nil value uses `string-collate-lessp' instead,
which more closely emulates what GNU `ls' does.

On GNU/Linux systems, if the locale's codeset specifies UTF-8, as
in \"en_US.UTF-8\", the collation order follows the Unicode
Collation Algorithm (UCA), which places together file names that
differ only in punctuation characters.  On MS-Windows, customize
the option `ls-lisp-UCA-like-collation' to a non-nil value to get
similar behavior."
  :version "25.1"
  :set-after '(ls-lisp-emulation)
  :type 'boolean
  :group 'ls-lisp)