Graf Zahl wrote:Are you certain that this doesn't break anything else?
Of course I’m not. But I’m pretty sure that standard conforming
iswalpha() cannot be used with C locale either.
Graf Zahl wrote:What precisely does get messed up here?
Like I wrote in the commit message,
iswalpha() returns zero for any alphabetic character that isn’t Latin.
That’s why CanPrint returns true for pretty much any argument.
Graf Zahl wrote:I'd rather fix the actual cause than to muck around with C's broken-by-design locale feature.
The single option I see is to hardcode table for alpha category in order to avoid using
iswalpha().
Graf Zahl wrote:How does "C.UTF-8" work?
It works on Ubuntu 16.04, although this locale seems to specific for some Linux distros according to Google.
[quote="Graf Zahl"]Are you certain that this doesn't break anything else?[/quote]
Of course I’m not. But I’m pretty sure that standard conforming [b]iswalpha()[/b] cannot be used with C locale either.
[quote="Graf Zahl"]What precisely does get messed up here?[/quote]
Like I wrote in the commit message, [b]iswalpha()[/b] returns zero for any alphabetic character that isn’t Latin.
That’s why CanPrint returns true for pretty much any argument.
[quote="Graf Zahl"]I'd rather fix the actual cause than to muck around with C's broken-by-design locale feature.[/quote]
The single option I see is to hardcode table for alpha category in order to avoid using [b]iswalpha()[/b].
[quote="Graf Zahl"]How does "C.UTF-8" work?[/quote]
It works on Ubuntu 16.04, although this locale seems to specific for some Linux distros according to Google.