[Python-checkins] cpython (merge 3.2 -> 3.3): Revert "Issue #16121: Fix line number accounting in shlex"

petri.lehtinen python-checkins at python.org
Sat Feb 23 23:15:15 CET 2013


http://hg.python.org/cpython/rev/15f3fd6070b7
changeset:   82370:15f3fd6070b7
branch:      3.3
parent:      82366:560e53fcf2b0
parent:      82369:cda4a9dc415a
user:        Petri Lehtinen <petri at digip.org>
date:        Sat Feb 23 23:12:35 2013 +0100
summary:
  Revert "Issue #16121: Fix line number accounting in shlex"

files:
  Lib/shlex.py           |  16 +---------------
  Lib/test/test_shlex.py |   9 ---------
  Misc/ACKS              |   1 -
  Misc/NEWS              |   3 ---
  4 files changed, 1 insertions(+), 28 deletions(-)


diff --git a/Lib/shlex.py b/Lib/shlex.py
--- a/Lib/shlex.py
+++ b/Lib/shlex.py
@@ -45,7 +45,6 @@
         self.state = ' '
         self.pushback = deque()
         self.lineno = 1
-        self._lines_found = 0
         self.debug = 0
         self.token = ''
         self.filestack = deque()
@@ -116,23 +115,12 @@
         return raw
 
     def read_token(self):
-        if self._lines_found:
-            self.lineno += self._lines_found
-            self._lines_found = 0
-
-        i = 0
         quoted = False
         escapedstate = ' '
         while True:
-            i += 1
             nextchar = self.instream.read(1)
             if nextchar == '\n':
-                # In case newline is the first character increment lineno
-                if i == 1:
-                    self.lineno += 1
-                else:
-                    self._lines_found += 1
-
+                self.lineno = self.lineno + 1
             if self.debug >= 3:
                 print("shlex: in state", repr(self.state), \
                       "I see character:", repr(nextchar))
@@ -152,7 +140,6 @@
                         continue
                 elif nextchar in self.commenters:
                     self.instream.readline()
-                    # Not considered a token so incrementing lineno directly
                     self.lineno = self.lineno + 1
                 elif self.posix and nextchar in self.escape:
                     escapedstate = 'a'
@@ -220,7 +207,6 @@
                         continue
                 elif nextchar in self.commenters:
                     self.instream.readline()
-                    # Not considered a token so incrementing lineno directly
                     self.lineno = self.lineno + 1
                     if self.posix:
                         self.state = ' '
diff --git a/Lib/test/test_shlex.py b/Lib/test/test_shlex.py
--- a/Lib/test/test_shlex.py
+++ b/Lib/test/test_shlex.py
@@ -189,15 +189,6 @@
             self.assertEqual(shlex.quote("test%s'name'" % u),
                              "'test%s'\"'\"'name'\"'\"''" % u)
 
-    def testLineNumbers(self):
-        data = '"a \n b \n c"\n"x"\n"y"'
-        for is_posix in (True, False):
-            s = shlex.shlex(data, posix=is_posix)
-            for i in (1, 4, 5):
-                s.read_token()
-                self.assertEqual(s.lineno, i)
-
-
 # Allow this test to be used with old shlex.py
 if not getattr(shlex, "split", None):
     for methname in dir(ShlexTest):
diff --git a/Misc/ACKS b/Misc/ACKS
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -855,7 +855,6 @@
 Gustavo Niemeyer
 Oscar Nierstrasz
 Hrvoje Niksic
-Birk Nilson
 Gregory Nofi
 Jesse Noller
 Bill Noon
diff --git a/Misc/NEWS b/Misc/NEWS
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -181,9 +181,6 @@
 Library
 -------
 
-- Issue #16121: Fix line number accounting in shlex. Patch by Birk
-  Nilson.
-
 - Issue #14720: sqlite3: Convert datetime microseconds correctly.
   Patch by Lowe Thiderman.
 

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


More information about the Python-checkins mailing list