On Sat, Dec 17, 2005 at 11:57:20PM +0100, Juliusz Chroboczek wrote:
> >  no_escape po c | c `elem` poNoEscX po = True
> >  no_escape _ '\t' = True  -- tabs will likely be converted to spaces
> >  no_escape _ '\n' = True
> > -no_escape po c = if (poIsprint po) then isPrint c
> > +no_escape po c = if (poIsprint po) then c_isprint c
> >                                     else isPrintableAscii c
> >                   ||  c >= '\x80' && po8bit po
> 
> I think what you're seeing is that this doesn't work in multi-bytes
> locales, such as UTF-8.

That's not _the_ problem.  There's no attempt to (completely)
solve the problem with utf-8 so far.

The problem is with the C locale.  Then Haskell's isPrint
should works just fine, and it does ... except for three users
having reported problems, all when upgrading to GHC 6.4.  But
when I recently upgraded to GHC 6.4 it worked, of course... ;-/
So there must be something else in combination with GHC 6.4.

Mark Stosberg had the problem on FreeBSD 4.10 with perl 5.8.0.
I didn't get it on Linux 2.6 with perl 5.8.7.  I can't find
the other mails now.

The precise problem is (as far as I understands it): perl sets
LC_ALL to C, perl invokes darcs, in darcs isPrint erroneously
returns true for chars in the range \x80 (or maybe \xa0)
to \xff.

It could be GHC, perl or even libc that wrongs.



-- 
Tommy Pettersson <[EMAIL PROTECTED]>

_______________________________________________
darcs-devel mailing list
[email protected]
http://www.abridgegame.org/cgi-bin/mailman/listinfo/darcs-devel

Reply via email to