Howdy, howdy! I see the test failure below on macOS.
Test test-org-table/sort-lines condition: (ert-test-failed ((should (equal "| a | x |\n| B | 4 |\n| c | 3 |\n" (org-test-with-temp-text "| <point>a | x |\n| c | 3 |\n| B | 4 |\n" ... ...))) :form (equal "| a | x |\n| B | 4 |\n| c | 3 |\n" #("| B | 4 |\n| a | x |\n| c | 3 |\n" 0 9 (face org-table) 10 19 (face org-table) 20 29 (face org-table))) :value nil :explanation (array-elt 2 (different-atoms (97 "#x61" "?a") (66 "#x42" "?B"))))) FAILED 796/952 test-org-table/sort-lines (0.003410 sec) at ../lisp/test-org-table.el:1880 The isolated part of the test file that fails: (let ((original-string-collate-lessp (symbol-function 'string-collate-lessp))) (cl-letf (((symbol-function 'string-collate-lessp) (lambda (s1 s2 &optional _locale ignore-case) (funcall original-string-collate-lessp s1 s2 "C" nil)))) (should (equal "| a | x |\n| B | 4 |\n| c | 3 |\n" (org-test-with-temp-text "| <point>a | x |\n| c | 3 |\n| B | 4 |\n" (org-table-sort-lines nil ?a) (buffer-string)))))) If I understand, "a" should be less than "B" when under "C" locale when ignoring case (nil) , right? Yet, I get the following: (string-collate-lessp "a" "B" "C" nil) ; => nil [FYI: If I replace nil with t, the procedure returns nil too.] Tested on Emacs 29 (adaa2fc90e) and Org 9.5.5 (580f28614). Rudy -- "It is no paradox to say that in our most theoretical moods we may be nearest to our most practical applications." -- Alfred North Whitehead, 1861-1947 Rudolf Adamkovič <salu...@me.com> [he/him] Studenohorská 25 84103 Bratislava Slovakia