bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#21816: elisp-mode-tests fails on a case-preserving filesystem


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.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]