New submission from Ferdinand Beyer:
The linecol() function in json/decoder.py computes the line and column numbers
for a byte offset in a string. Both numbers are expected to start with 1 (as
in text editors).
If the position is in the first line, the returned column is off by one (or
starting with zero):
>>> from json.decoder import linecol
>>> linecol('spam', 0) # Should be (1, 1)
(1, 0)
>>> linecol('\nspam', 1)
(2, 1)
The problem is the line:
if lineno == 1:
colno = pos
that should read
if lineno == 1:
colno = pos + 1
--
components: Library (Lib)
messages: 182320
nosy: fbeyer
priority: normal
severity: normal
status: open
title: JSON decoder reports wrong column number on first line
type: behavior
versions: Python 2.6, Python 2.7, Python 3.1, Python 3.2, Python 3.3, Python
3.4, Python 3.5
___
Python tracker
<http://bugs.python.org/issue17225>
___
___
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com