[pypy-dev] Re: [pypy-svn] r12711 - pypy/dist/pypy/translator

Christian Tismer tismer at stackless.com
Mon May 23 10:54:45 CEST 2005


Hi Armin,

I dodn't understand completely why this patch is needed:

> Modified: pypy/dist/pypy/translator/geninterplevel.py
> ==============================================================================
> --- pypy/dist/pypy/translator/geninterplevel.py	(original)
> +++ pypy/dist/pypy/translator/geninterplevel.py	Sat May 21 14:19:31 2005
> @@ -77,7 +77,7 @@
>  import pypy # __path__
>  import py.path
>  
> -GI_VERSION = '1.1.0'  # bump this for substantial changes
> +GI_VERSION = '1.1.1'  # bump this for substantial changes
>  # ____________________________________________________________
>  
>  def eval_helper(self, typename, expr):
> @@ -420,10 +420,12 @@
>              self.initcode.append1('import sys')
>              self.initcode.append1('import os')
>              self.initcode.append1('libdir = os.path.join(pypy.__path__[0], "lib")\n'
> -                                  'hold = sys.path[:]\n'
>                                    'sys.path.insert(0, libdir)\n'
> -                                  'import %s as _tmp\n'
> -                                  'sys.path[:] = hold\n' % value.__name__)
> +                                  'try:\n'
> +                                  '    import %s as _tmp\n'
> +                                  'finally:\n'
> +                                  '    if libdir in sys.path:\n'
> +                                  '        sys.path.remove(libdir)\n' % value.__name__)

What I'm doing at compiletime is to figure out whether lib is needed
or not, and I know by compiletime whether the import works, etc.
Then I generate init code that adheres to this.

Why do I need to check there, too? Just as a safety belt if
something breaks?

ciao - chris

-- 
Christian Tismer             :^)   <mailto:tismer at stackless.com>
tismerysoft GmbH             :     Have a break! Take a ride on Python's
Johannes-Niemeyer-Weg 9A     :    *Starship* http://starship.python.net/
14109 Berlin                 :     PGP key -> http://wwwkeys.pgp.net/
work +49 30 802 86 56  mobile +49 173 24 18 776  fax +49 30 80 90 57 05
PGP 0x57F3BF04       9064 F4E1 D754 C2FF 1619  305B C09C 5A3B 57F3 BF04
      whom do you want to sponsor today?   http://www.stackless.com/



More information about the Pypy-dev mailing list