]> granicus.if.org Git - python/commitdiff
Revert "Issue #16121: Fix line number accounting in shlex"
authorPetri Lehtinen <petri@digip.org>
Sat, 23 Feb 2013 22:03:15 +0000 (23:03 +0100)
committerPetri Lehtinen <petri@digip.org>
Sat, 23 Feb 2013 22:12:03 +0000 (23:12 +0100)
Lib/shlex.py
Lib/test/test_shlex.py
Misc/ACKS
Misc/NEWS

index b9fd1dd9d85e240e731041a608afa9f6b30be58b..3edd3db1ed9ed445cba637570e6a04a2652765b3 100644 (file)
@@ -44,7 +44,6 @@ class shlex:
         self.state = ' '
         self.pushback = deque()
         self.lineno = 1
-        self._lines_found = 0
         self.debug = 0
         self.token = ''
         self.filestack = deque()
@@ -115,23 +114,12 @@ class shlex:
         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))
@@ -151,7 +139,6 @@ class shlex:
                         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'
@@ -219,7 +206,6 @@ class shlex:
                         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 = ' '
index 1cd8220be0b758b5f8645308922539541cdaa7dc..25e4b6df6c5d2403c5d2f7b3431ffa03da663541 100644 (file)
@@ -173,15 +173,6 @@ class ShlexTest(unittest.TestCase):
                              "%s: %s != %s" %
                              (self.data[i][0], l, self.data[i][1:]))
 
-    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):
index 849abcd7dde874433dd2369c878c9a56eb36efed..39195ef665c096d211afd2e677df40e877fc1866 100644 (file)
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -774,7 +774,6 @@ Samuel Nicolary
 Gustavo Niemeyer
 Oscar Nierstrasz
 Hrvoje Niksic
-Birk Nilson
 Gregory Nofi
 Jesse Noller
 Bill Noon
index 7a690f64d25e9e9b87ed1ce12c2c785b4907d649..c4a89f0713ac36f22c8eee5821af517c22294037 100644 (file)
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -227,9 +227,6 @@ Core and Builtins
 Library
 -------
 
-- Issue #16121: Fix line number accounting in shlex. Patch by Birk
-  Nilson.
-
 - Issue #14720: sqlite3: Convert datetime microseconds correctly.
   Patch by Lowe Thiderman.