summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPetri Lehtinen <petri@digip.org>2013-02-23 22:12:35 (GMT)
committerPetri Lehtinen <petri@digip.org>2013-02-23 22:12:35 (GMT)
commite766c742c1f006c08fa0f48ee43b4edb599a81c9 (patch)
tree5e87151c39d2afe9ca54eab1a72b0ebf8e7c281d
parent6d61eaa0d0d89b0e035ce75d810280515befc17a (diff)
parent0362b54fd9e8158c4b62386f1bd654daf1095ed4 (diff)
downloadcpython-e766c742c1f006c08fa0f48ee43b4edb599a81c9.zip
cpython-e766c742c1f006c08fa0f48ee43b4edb599a81c9.tar.gz
cpython-e766c742c1f006c08fa0f48ee43b4edb599a81c9.tar.bz2
Revert "Issue #16121: Fix line number accounting in shlex"
-rw-r--r--Lib/shlex.py16
-rw-r--r--Lib/test/test_shlex.py9
-rw-r--r--Misc/ACKS1
-rw-r--r--Misc/NEWS3
4 files changed, 1 insertions, 28 deletions
diff --git a/Lib/shlex.py b/Lib/shlex.py
index 05e3fbd..69f3b45 100644
--- a/Lib/shlex.py
+++ b/Lib/shlex.py
@@ -45,7 +45,6 @@ class shlex:
self.state = ' '
self.pushback = deque()
self.lineno = 1
- self._lines_found = 0
self.debug = 0
self.token = ''
self.filestack = deque()
@@ -116,23 +115,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))
@@ -152,7 +140,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'
@@ -220,7 +207,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 = ' '
diff --git a/Lib/test/test_shlex.py b/Lib/test/test_shlex.py
index 5f7b68f..d2809ae 100644
--- a/Lib/test/test_shlex.py
+++ b/Lib/test/test_shlex.py
@@ -189,15 +189,6 @@ class ShlexTest(unittest.TestCase):
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
index 6c04a0c..f88d95c 100644
--- a/Misc/ACKS
+++ b/Misc/ACKS
@@ -855,7 +855,6 @@ Jonathan Niehof
Gustavo Niemeyer
Oscar Nierstrasz
Hrvoje Niksic
-Birk Nilson
Gregory Nofi
Jesse Noller
Bill Noon
diff --git a/Misc/NEWS b/Misc/NEWS
index 7e4a5fa..258c549 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -181,9 +181,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.