* org-table.el (org-table-sort-lines): Use collated sorting. * org-list.el (org-sort-list): Use collated sorting.
Cf. commit 551d2f1fe. --- etc/ORG-NEWS | 6 ++++++ lisp/org-list.el | 5 +++-- lisp/org-table.el | 2 +- 3 files changed, 10 insertions(+), 3 deletions(-) diff --git a/etc/ORG-NEWS b/etc/ORG-NEWS index dbedbf7c9..77373d442 100644 --- a/etc/ORG-NEWS +++ b/etc/ORG-NEWS @@ -106,6 +106,12 @@ document, use =shrink= value instead, or in addition to align: ,#+STARTUP: align shrink #+END_EXAMPLE +*** Alphabetic sorting in tables and lists + +When sorting alphabetically, ~org-table-sort-lines~ and ~org-sort-list~ +now sort according to the locale’s collation rules instead of by +code-point. + ** New features *** Add support for links to LaTeX equations in HTML export Use MathJax links when enabled (by ~org-html-with-latex~), otherwise diff --git a/lisp/org-list.el b/lisp/org-list.el index 9e015cdc2..d646e264c 100644 --- a/lisp/org-list.el +++ b/lisp/org-list.el @@ -2804,7 +2804,8 @@ (defun org-sort-list by a time stamp, by a property or by priority. Comparing entries ignores case by default. However, with an -optional argument WITH-CASE, the sorting considers case as well. +optional argument WITH-CASE, the sorting considers case as well, +if the current locale allows for it. The command prompts for the sorting type unless it has been given to the function through the SORTING-TYPE argument, which needs to @@ -2850,7 +2851,7 @@ (defun org-sort-list (error "Missing key extractor")))) (sort-func (cond - ((= dcst ?a) #'string<) + ((= dcst ?a) #'org-string-collate-lessp) ((= dcst ?f) (or compare-func (and interactive? diff --git a/lisp/org-table.el b/lisp/org-table.el index f303c2581..316533172 100644 --- a/lisp/org-table.el +++ b/lisp/org-table.el @@ -1794,7 +1794,7 @@ (defun org-table-sort-lines (predicate (cl-case sorting-type ((?n ?N ?t ?T) #'<) - ((?a ?A) #'string<) + ((?a ?A) #'org-string-collate-lessp) ((?f ?F) (or compare-func (and interactive? -- 2.16.2