Re: RedHat9 core
Denis Barbier <[email protected]>
| Newsgroups | gmane.comp.web.wml |
|---|---|
| Message-ID | <[email protected]> |
On Sun, Apr 27, 2003 at 12:50:25PM +0200, Frediano Ziglio wrote: [...] > > Could you provide a sample test case and your used locales, if any? > > Really good spot! Is locale. Now I can update my system! > > After some tests > > $ echo $LANG > it_IT.UTF-8 > > $ echo '#use wml::fmt::isolatin' > register.wml > $ wml register.wml > Segmentation fault > > $ export LANG=it_IT > $ wml register.wml > > No error! > > wmk hangs (100% of CPU used) if it_IT.UTF-8 > > I don't know how Perl support locale and utf8... This is described in perlunicode(1). IIRC as of 5.6 locales were activated by calling use locale; setlocale(LC_ALL, ""); In 5.8, Perl internally uses Unicode characters. When user is in a UTF-8 locale, Perl assumes that input and output are UTF-8 encoded; otherwise previous behavior occurs. As wml::fmt::isolatin contains latin1 characters, Perl should complain that some characters are invalid. But it complains only when those characters are used, and not read. I could fix WML, but it will then require perl 5.8; and as Perl interaction with UTF-8 locales will change in 5.8.1, I am quite reluctant to perform this change now. A trivial workaround is to rename wml into wml.real and create a simple shell script like: #! /bin/sh LC_ALL=C LANG=C unset LANGUAGE export LC_ALL LANG wml.real "$@" BTW are you sure you need to call wml::fmt::isolatin? It is pretty useless nowadays. -- Denis Barbier WML Maintainer _____________________________________________________________________ Website META Language (WML) http://thewml.org User Support Mailing List [email protected] Automated List Manager [email protected]