[Python-checkins] cpython: Argument Clinic bugfix: Don't let the C preprocessor "Monitor" see lines

larry.hastings python-checkins at python.org
Sun Jul 27 16:22:31 CEST 2014


http://hg.python.org/cpython/rev/bf63ab43a8ca
changeset:   91898:bf63ab43a8ca
user:        Larry Hastings <larry at hastings.org>
date:        Sun Jul 27 16:22:20 2014 +0200
summary:
  Argument Clinic bugfix: Don't let the C preprocessor "Monitor" see lines
that we are scanning for the output marker.  If we don't find it, we will
scan them again, so it sees them twice, and it can get confused (like
thinking we're still in a comment).

files:
  Tools/clinic/clinic.py |  7 ++++---
  1 files changed, 4 insertions(+), 3 deletions(-)


diff --git a/Tools/clinic/clinic.py b/Tools/clinic/clinic.py
--- a/Tools/clinic/clinic.py
+++ b/Tools/clinic/clinic.py
@@ -1252,10 +1252,11 @@
         match = self.start_re.match(line.lstrip())
         return match.group(1) if match else None
 
-    def _line(self):
+    def _line(self, lookahead=False):
         self.line_number += 1
         line = self.input.pop()
-        self.language.parse_line(line)
+        if not lookahead:
+            self.language.parse_line(line)
         return line
 
     def parse_verbatim_block(self):
@@ -1311,7 +1312,7 @@
         output_add, output_output = text_accumulator()
         arguments = None
         while self.input:
-            line = self._line()
+            line = self._line(lookahead=True)
             match = checksum_re.match(line.lstrip())
             arguments = match.group(1) if match else None
             if arguments:

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list