Date: Mon, 18 Nov 2002 08:01:19 +0100 From: Dan Lukes <dan@obluda.cz> To: Tomas Pluskal <plusik@pohoda.cz> Cc: freebsd-stable@freebsd.org Subject: Re: cannot compile stable Message-ID: <3DD8903F.1060702@obluda.cz> In-Reply-To: <Pine.LNX.4.30L2.0211171750210.1513-100000@pohoda.cz> References: <Pine.LNX.4.30L2.0211171750210.1513-100000@pohoda.cz>
next in thread | previous in thread | raw e-mail | index | archive | help
Tomas Pluskal wrote, On 11/17/02 18:05:
> > The result of running awk '/^[_A-Z]/ { print; }' $FILENAME:
> > ----------- confstr.gperf ----------------
> ...
> > If got other results, you may have problem with awk.
>
> This seems to be the problem, because in my awk result, there are lines
> that start with lovercase letters (eg. "int"), but not in yours.
> As I've read in the awk manpage, it should in default be case sensitive,
> so my awk is behaving abnormally. This seems to be because of my locale
> settings - it is set to cs_CZ.ISO8859-2 and when I unset it, awk becomes
> case sensitive. Now I know why compilation crashed, but I don't understand
> why awk is case insensitive with Czech locales set.
It's not character case sensitivity/insensitivity case. It's the
"range" problem.
The Czech order of characters is 'AaBbCc...Zz' (i skip the accented
character - for real ordering see src/share/colldef/cs_CZ.ISO8859-2.src)
- it is based on CSN (Czech national normative). It mean, the range
[A-Z] contain both upper and lower letters (with exception of lower 'z'
and accented Zz).
We shall use the '[:upper:]' class instead as nobody knows what the
hell of characters are contained within the X-Y type ranges.
The correct coding for 'awk '/^[_A-Z]/ { print; }'' is 'awk
'/^[_[:upper:]]/ { print; }''. You must be patient with our
english-centristic coleagues - they aren't familiar with existence of
other continents outside of north-america, but they are learning ... ;-)
You should submit a PR (but there are uncountable incarnations of the
same problem in src tree). In the meantime, you should use 'one true
locale' only.
Dan
--
Dan Lukes tel: +420 2 21914205, fax: +420 2 21914206
root of FIONet, KolejNET, webmaster of www.freebsd.cz
AKA: dan@obluda.cz, dan@freebsd.cz,dan@kolej.mff.cuni.cz
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-stable" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3DD8903F.1060702>
