Bugs item #1234985, was opened at 2005-07-08 23:46
Message generated for change (Comment added) made by pterk
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1234985&group_id=5470

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: Regular Expressions
Group: Python 2.4
Status: Open
Resolution: None
Priority: 5
Submitted By: Steve Alexander (stevea_zope)
Assigned to: Gustavo Niemeyer (niemeyer)
Summary: using some_re.sub() often imports sre.__doc__

Initial Comment:
Why is __doc__ imported from the builtin sre module
when a regular expression is substituted replacing a group?


$ python
Python 2.4.1 (#2, Mar 30 2005, 21:51:10)
[GCC 3.3.5 (Debian 1:3.3.5-8ubuntu2)] on linux2
Type "help", "copyright", "credits" or "license" for
more information.

>>> def import_hook(name, globals={}, locals={},
fromlist=[]):
...     print name, fromlist
...     return original_import(name, globals, locals,
fromlist)
...
>>> import __builtin__
>>> original_import = __builtin__.__import__
>>> __builtin__.__import__ = import_hook

>>> import re
re None
sre ('*',)
sys None
sre_compile None
_sre None
sys None
sre_constants ('*',)
sre_parse None
sys None
sre_constants ('*',)
sre_parse None
copy_reg None
sre ('__all__',)

>>> re1 = re.compile('foo...bar')
sre_parse None

>>> re1.sub('x', 'y')
'y'
>>> re1.sub('x', 'fooXXXbar')
'x'

>>> re2 = re.compile('foo(...)bar')
sre_parse None
>>> re2.sub('x', 'y')
'y'
>>> re2.sub('\1', 'fooXXXbar')
sre ['__doc__']
'XXX'


----------------------------------------------------------------------

Comment By: Peter van Kampen (pterk)
Date: 2005-07-24 14:27

Message:
Logged In: YES 
user_id=174455

Below is the full source of re.py. Does your problem go away
when you use sre directly instead? 

"""Minimal "re" compatibility wrapper.  See "sre" for
documentation."""

engine = "sre" # Some apps might use this undocumented variable

from sre import *
from sre import __all__

----------------------------------------------------------------------

Comment By: Steve Alexander (stevea_zope)
Date: 2005-07-08 23:52

Message:
Logged In: YES 
user_id=492001

This is significant for programs that use an expensive
import hook, and also use this kind of regex.

I'm working around this by making my import hook return
early for imports from sre.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1234985&group_id=5470
_______________________________________________
Python-bugs-list mailing list 
Unsubscribe: 
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to