|
From: | Alexis |
Subject: | bug#21816: elisp-mode-tests fails on a case-preserving filesystem |
Date: | Wed, 04 Nov 2015 17:52:31 +1100 |
Random832 <random832@fastmail.com> writes:
Alexis <flexibeast@gmail.com> writes:Perhaps use German Eszett / sharp S / Unicode LATIN SMALL LETTER SHARP S? The words 'Strasse' and 'Straße' are equivalent, but typically the latter is up-cased to 'STRASSE', rather than 'STRAẞE'.Fsvo "typically".
Oh, sorry, by "typically", i meant "when writing in German", not "when doing case-conversions in computing".
On Emacs, and in Windows filenames [fortuitously, they match in this case. Unfortunately, I don't believe there's an easy way to get at the table used in Windows], upcasing is done on a character-by-character basis, and AIUI neither of them do this, so (string= (upcase "Straße") "STRAßE").
*nod* A good example of why i think the Eszett might be useful for testing any proposed equivalence-relation or canonicalisation code - there are a variety of approaches "in the wild" re. TRT. Take SRFI 75, for example:
https://www.cs.utah.edu/~mflatt/tmp/srfi-75.html in the section "String Procedures":(string<? "z" "ß") => #t (string<? "z" "zz") => #t (string<? "z" "Z") => #f (string=? "Straße" "Strasse") => #f (string-upcase "Hi") => "HI" (string-downcase "Hi") => "hi" (string-foldcase "Hi") => "hi" (string-upcase "Straße") => "STRASSE" (string-downcase "Straße") => "straße" (string-foldcase "Straße") => "strasse" (string-downcase "STRASSE") => "strasse"
Alexis.
[Prev in Thread] | Current Thread | [Next in Thread] |