Got it!

StructuredText is setting locale back to C, during initialization, without setting it 
back to
whatever it was before, in ''. I think it is wrong not only for
this unilateral choice of locale :-), but also for trying to ignore python's
notion of what the locale is when trying to calculate letters. 

The patch below fix both my 'Script (Python)' and the parsing problem with
StructuredText. I took the liberty of removing the spurious 'import string'.

--- lib/python/StructuredText/ Wed Sep 12 20:00:52 2001
+++ lib/python/StructuredText/      Wed Sep 12 20:23:24 2001
@@ -1,8 +1,8 @@
-import string
     del string
     import locale
-    locale.setlocale(locale.LC_ALL,"")
+#    locale.setlocale(locale.LC_ALL,"")

Is there anywhere else I should submit it?

   Cheers, Leo

PS: BTW, I'm still trying to figure out how to correctly set the locale on
Windows, if anyone knows... :-)

On Wed, Sep 12, 2001 at 06:49:21PM -0300, Leonardo Rochael Almeida wrote:
> Hi,
> I tried using structured text for some documentation I wrote in portuguese,
> but the accented characters like , , , or  break the parsing of markups
> like *emphasis*, 'code' or _underline_, and in portuguese we get a bunch of
> those with every sentence, you know... :-)
> The result is the literal apearance of some characters that should be markup
> and some opening and closing mismatch of markup when there are more than one
> occurrence of the same markup, like when you try to *emphasize* twice in the
> *same* paragraph.
> This is probably due to parsing with python's
> string.letters which doesn't include accented letters unless you set the
> locale. Now the funny thing is that even when I set -L to, say, pt_BR at Zope
> start (and my glibc has correctly configured locales for pt_BR),
> structured-text still doesn't parse accented letters correctly.
> Investigating that, I found out that if you put, in a 'Script (Python)' the
> following::
>   import string
>   return string.lowercase
> it will print 'abcdefghijklmnopqrstuvwxyz' instead of
> 'abcdefghijklmnopqrstuvwxyz'
> Which is what you get in a python interpreter if you type::
>   import locale
>   locale.setlocale(locale.LC_ALL, "pt_BR")
>   import string
>   print string.lowercase
> Assuming you have a correctly configured pt_BR locale in a Linux machine.
> This exercise also gives the same results with a correctly configured en_US
> locale.
> Has anyone else stumbled onto this?
> Speaking of locales, how do I set locale for Zope in a WinNT/2000
> environment? It seems like posix locale strings aren't valid strings for
> locale.setlocale() in Windows.
>   Cheers, Leo
> _______________________________________________
> Zope-Dev maillist  -  [EMAIL PROTECTED]
> **  No cross posts or HTML encoding!  **
> (Related lists - 
> )

Zope-Dev maillist  -  [EMAIL PROTECTED]
**  No cross posts or HTML encoding!  **
(Related lists - )

Reply via email to