diff options
author | Ludovic Courtès <ludo@gnu.org> | 2019-04-17 11:51:31 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2019-04-17 11:53:54 +0200 |
commit | 14755829dc268a3983036908750f4ea40c5224b3 (patch) | |
tree | d3c07b4b3e3d4fbce28bde6a458d15d592de2fc8 | |
parent | 7cb7be17af77caa084c1b5ebf20748dd04f208fa (diff) | |
download | guix-14755829dc268a3983036908750f4ea40c5224b3.tar guix-14755829dc268a3983036908750f4ea40c5224b3.tar.gz |
installer: Sort items with 'string-locale<?'.
That way "Österreich" comes before "Schweiz" in a German locale (or
pretty much any sane locale.)
* gnu/installer/newt/page.scm (run-listbox-selection-page)[sort-listbox-items]:
Use 'string-locale<?' instead of 'string<=?'.
-rw-r--r-- | gnu/installer/newt/page.scm | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gnu/installer/newt/page.scm b/gnu/installer/newt/page.scm index 8b3fd488e9..5c650652bd 100644 --- a/gnu/installer/newt/page.scm +++ b/gnu/installer/newt/page.scm @@ -21,6 +21,7 @@ #:use-module (gnu installer utils) #:use-module (gnu installer newt utils) #:use-module (guix i18n) + #:use-module (ice-9 i18n) #:use-module (ice-9 match) #:use-module (ice-9 receive) #:use-module (srfi srfi-1) @@ -223,7 +224,7 @@ be selected (using the <SPACE> key). It that case, a list containing the selected items will be returned. If SORT-LISTBOX-ITEMS? is set to #t, the listbox items are sorted using -'string<=' procedure (after being converted to text). +'string-locale<?' procedure (after being converted to text). If ALLOW-DELETE? is #t, the form will return if the <DELETE> key is pressed, otherwise nothing will happen. @@ -249,7 +250,7 @@ ITEM was inserted into LISTBOX." items)) (define (sort-listbox-items listbox-items) - "Return LISTBOX-ITEMS sorted using the 'string<=' procedure on the text + "Return LISTBOX-ITEMS sorted using the 'string-locale<?' procedure on the text corresponding to each item in the list." (let* ((items (map (lambda (item) (cons item (listbox-item->text item))) @@ -258,7 +259,7 @@ corresponding to each item in the list." (sort items (lambda (a b) (let ((text-a (cdr a)) (text-b (cdr b))) - (string<= text-a text-b)))))) + (string-locale<? text-a text-b)))))) (map car sorted-items))) ;; Store the last selected listbox item's key. |