diff --git a/collects/mred/mred.ss b/collects/mred/mred.ss index e6f8e21c..765eec9f 100644 --- a/collects/mred/mred.ss +++ b/collects/mred/mred.ss @@ -5179,6 +5179,25 @@ (send f show #t) (and ok? (send l get-selections))))])) +(define (sort l list s) @@ -5329,37 +5348,21 @@ (let ([l (with-handlers ([void (lambda (x) null)]) (directory-list dir))] [dot? (send dot-check get-value)]) - (letrec ([split (lambda (n l) - (if (null? l) - '(() . ()) - (if (< n 1) - (cons (list (car l)) (cdr l)) - (let ([n (quotient n 2)]) - (let* ([r1 (split n l)] - [r2 (split n (cdr r1))]) - (cons (merge (car r1) (car r2)) (cdr r2)))))))] - [merge (lambda (l1 l2) - (cond - [(null? l1) l2] - [(null? l2) l1] - [(string-localedelta f))))))] [p (make-object horizontal-pane% f)] - [face (make-object list-box% "Font:" (wx:get-face-list) p refresh-sample)] + [face (make-object list-box% "Font:" + (let ([l (wx:get-face-list)]) + (if (memq (system-type) '(macos macosx)) + (sort l (lambda (a b) + (cond + [(eq? (char-alphabetic? (string-ref a 0)) + (char-alphabetic? (string-ref b 0))) + (string-locale