]> granicus.if.org Git - python/commitdiff
The test for re.engine was misfiring because re.engine is no longer
authorGuido van Rossum <guido@python.org>
Wed, 24 Jul 2002 01:49:16 +0000 (01:49 +0000)
committerGuido van Rossum <guido@python.org>
Wed, 24 Jul 2002 01:49:16 +0000 (01:49 +0000)
defined and the default was "pre" instead of "sre".  Give up on 1.5.2
compatibility, hardcode the sre solution.  However, this XXX comment
still applies, AFAIK:
        # XXX This code depends on internals of the regular expression
        # engine!  There's no standard API to do a substitution when you
        # have already found the match.  One should be added.

Tools/idle/ReplaceDialog.py

index 1e46f36565877757a15f02764fa87a3dbce6fa4d..7d5de691329cddb59229ddc831944323dfe2c184 100644 (file)
@@ -6,6 +6,7 @@ from Tkinter import *
 import tkMessageBox
 import SearchEngine
 from SearchDialogBase import SearchDialogBase
+import sre_parse
 
 def replace(text):
     root = text._root()
@@ -158,17 +159,9 @@ class ReplaceDialog(SearchDialogBase):
         # XXX This code depends on internals of the regular expression
         # engine!  There's no standard API to do a substitution when you
         # have already found the match.  One should be added.
-        # The solution here is designed to be backwards compatible
-        # with previous Python versions, e.g. 1.5.2.
-        # XXX This dynamic test should be done only once.
-        if getattr(re, "engine", "pre") == "pre":
-            return re.pcre_expand(m, template)
-        else: # sre
-            # XXX This import should be avoidable...
-            import sre_parse
-            # XXX This parses the template over and over...
-            ptemplate = sre_parse.parse_template(template, m.re)
-            return sre_parse.expand_template(ptemplate, m)
+        # XXX This parses the template over and over...
+        ptemplate = sre_parse.parse_template(template, m.re)
+        return sre_parse.expand_template(ptemplate, m)
 
     def show_hit(self, first, last):
         text = self.text