On Thu, Nov 16, 2006 at 09:20:17AM +0100, Jean-Marc Lasgouttes wrote:
> >>>>> "Enrico" == Enrico Forestieri <[EMAIL PROTECTED]> writes:
> 
> Enrico> On Tue, Nov 14, 2006 at 11:18:47PM +0000, José Matos wrote:
> >> On Tuesday 14 November 2006 6:05 pm, Enrico Forestieri wrote:
> >> > >
> >> > > I should prepare a patch for 1.4.
> >> >
> >> > I could do it, if you don't mind.
> >> 
> >> Thank you, go ahead. :-)
> 
> Enrico> Patch attached. Jean-Marc, can this go in?
> 
> I think so, although I'd rather have some input from some people who
> know python (josé?)
> 
> Enrico> (this time I tested it on both Windows and Unix :)
> 
> Did you test with python 2.2.x?

Good point. I tested it on debian etch, which carries python from 2.1
to 2.4, and got:

Traceback (most recent call last):
  File "/usr/local/src/lyx/lyx-1.4.x/lib/configure.py", line 17, in ?
    __builtin__.True = (1 == 1)
NameError: name '__builtin__' is not defined

I had trusted José, but it seems he made a typo ;-)

New patch attached. Tested with python 2.2.3.

-- 
Enrico
Index: lib/scripts/lyxpreview_tools.py
===================================================================
--- lib/scripts/lyxpreview_tools.py     (revision 15946)
+++ lib/scripts/lyxpreview_tools.py     (working copy)
@@ -17,9 +17,9 @@
 import os, re, string, sys, tempfile
 
 # compatibility with python 2.2
-if sys.version_info[:3] == (2, 2, 0):
-    __builtin__.True = (1 == 1)
-    __builtin__.False = (1 == 0)
+if sys.version_info[:2] == (2, 2):
+    __builtins__.True = (1 == 1)
+    __builtins__.False = (1 == 0)
     def bool(value):
         """Demote a value to 0 or 1, depending on its truth value
 
@@ -27,7 +27,7 @@ if sys.version_info[:3] == (2, 2, 0):
         way too hard to duplicate in 2.1 to be worth the trouble.
         """
         return not not value
-    __builtin__.bool = bool
+    __builtins__.bool = bool
     del bool
 # end compatibility chunk
 
Index: lib/scripts/fig_copy.py
===================================================================
--- lib/scripts/fig_copy.py     (revision 15946)
+++ lib/scripts/fig_copy.py     (working copy)
@@ -21,9 +21,9 @@
 import os, sys
 
 # compatibility with python 2.2
-if sys.version_info[:3] == (2, 2, 0):
-    __builtin__.True = (1 == 1)
-    __builtin__.False = (1 == 0)
+if sys.version_info[:2] == (2, 2):
+    __builtins__.True = (1 == 1)
+    __builtins__.False = (1 == 0)
     def bool(value):
         """Demote a value to 0 or 1, depending on its truth value
 
@@ -31,7 +31,7 @@ if sys.version_info[:3] == (2, 2, 0):
         way too hard to duplicate in 2.1 to be worth the trouble.
         """
         return not not value
-    __builtin__.bool = bool
+    __builtins__.bool = bool
     del bool
 # end compatibility chunk
 
Index: lib/scripts/TeXFiles.py
===================================================================
--- lib/scripts/TeXFiles.py     (revision 15946)
+++ lib/scripts/TeXFiles.py     (working copy)
@@ -49,9 +49,9 @@ bib_files = 'bibFiles.lst'
 try:
     os.walk
 except AttributeError:
-    if sys.version_info[:3] == (2, 2, 0):
-        __builtin__.True = (1 == 1)
-        __builtin__.False = (1 == 0)
+    if sys.version_info[:2] == (2, 2):
+        __builtins__.True = (1 == 1)
+        __builtins__.False = (1 == 0)
         def bool(value):
             """Demote a value to 0 or 1, depending on its truth value
 
@@ -59,7 +59,7 @@ except AttributeError:
             way too hard to duplicate in 2.1 to be worth the trouble.
             """
             return not not value
-        __builtin__.bool = bool
+        __builtins__.bool = bool
         del bool
 
     def walk(top, topdown=True, onerror=None):
Index: lib/configure.py
===================================================================
--- lib/configure.py    (revision 15946)
+++ lib/configure.py    (working copy)
@@ -12,6 +12,21 @@
 
 import sys, os, re, shutil, glob
 
+# compatibility with python 2.2
+if sys.version_info[:2] == (2, 2):
+    __builtins__.True = (1 == 1)
+    __builtins__.False = (1 == 0)
+    def bool(value):
+        """Demote a value to 0 or 1, depending on its truth value
+
+        This is not to be confused with types.BooleanType, which is
+        way too hard to duplicate in 2.1 to be worth the trouble.
+        """
+        return not not value
+    __builtins__.bool = bool
+    del bool
+# end compatibility chunk
+
 
 class Tee:
     ''' Writing to a Tee object will write to all file objects it keeps.
@@ -185,15 +200,15 @@ def checkDTLtools():
     if ((os.name == 'nt' or sys.platform == 'cygwin') and
             checkProg('DVI to DTL converter', ['dv2dt']) != ['', ''] and
             checkProg('DTL to DVI converter', ['dt2dv']) != ['', '']):
-        dtl_tools = 'true'
+        dtl_tools = True
     else:
-        dtl_tools = 'false'
+        dtl_tools = False
     return dtl_tools
 
 
 def checkLatex(dtl_tools):
     ''' Check latex, return lyx_check_config '''
-    if (dtl_tools == 'true'):
+    if dtl_tools:
         # Windows only: DraftDVI
         converter_entry = r'''\converter latex      dvi2       "%%"    "latex"
 \converter dvi2       dvi        "python -tt $$s/scripts/clean_dvi.py $$i $$o" 
""'''
@@ -280,7 +295,7 @@ def checkFormatEntries(dtl_tools):  
     #
     checkViewer('a DVI previewer', ['xdvi', 'kdvi'],
         rc_entry = [r'\Format dvi        dvi     DVI                    D  
"%%"        ""'])
-    if (dtl_tools == 'true'):
+    if dtl_tools:
         # Windows only: DraftDVI
         addToRC(r'\Format dvi2       dvi     DraftDVI               "" ""      
""')
     #

Reply via email to