From c510a048ba4f17a82fff0a452bf9ccd29b51efc6 Mon Sep 17 00:00:00 2001
From: Serhiy Storchaka <storchaka@gmail.com>
Date: Thu, 21 Feb 2013 20:19:16 +0200
Subject: Issue #17225: JSON decoder now counts columns in the first line
 starting with 1, as in other lines.

---
 Doc/library/json.rst | 2 +-
 Lib/json/__init__.py | 2 +-
 Lib/json/decoder.py  | 2 +-
 Lib/json/tool.py     | 2 +-
 Misc/NEWS            | 3 +++
 5 files changed, 7 insertions(+), 4 deletions(-)

diff --git a/Doc/library/json.rst b/Doc/library/json.rst
index bdb6436..f98e0ef 100644
--- a/Doc/library/json.rst
+++ b/Doc/library/json.rst
@@ -102,7 +102,7 @@ Using json.tool from the shell to validate and pretty-print::
         "json": "obj"
     }
     $ echo '{1.2:3.4}' | python -mjson.tool
-    Expecting property name enclosed in double quotes: line 1 column 1 (char 1)
+    Expecting property name enclosed in double quotes: line 1 column 2 (char 1)
 
 .. highlight:: python3
 
diff --git a/Lib/json/__init__.py b/Lib/json/__init__.py
index 44f49c4..48a4f8f 100644
--- a/Lib/json/__init__.py
+++ b/Lib/json/__init__.py
@@ -97,7 +97,7 @@ Using json.tool from the shell to validate and pretty-print::
         "json": "obj"
     }
     $ echo '{ 1.2:3.4}' | python -m json.tool
-    Expecting property name enclosed in double quotes: line 1 column 2 (char 2)
+    Expecting property name enclosed in double quotes: line 1 column 3 (char 2)
 """
 __version__ = '2.0.9'
 __all__ = [
diff --git a/Lib/json/decoder.py b/Lib/json/decoder.py
index dc1155b..0c59edd 100644
--- a/Lib/json/decoder.py
+++ b/Lib/json/decoder.py
@@ -32,7 +32,7 @@ def linecol(doc, pos):
         newline = '\n'
     lineno = doc.count(newline, 0, pos) + 1
     if lineno == 1:
-        colno = pos
+        colno = pos + 1
     else:
         colno = pos - doc.rindex(newline, 0, pos)
     return lineno, colno
diff --git a/Lib/json/tool.py b/Lib/json/tool.py
index 0f108c6..ecf9c47 100644
--- a/Lib/json/tool.py
+++ b/Lib/json/tool.py
@@ -7,7 +7,7 @@ Usage::
         "json": "obj"
     }
     $ echo '{ 1.2:3.4}' | python -m json.tool
-    Expecting property name enclosed in double quotes: line 1 column 2 (char 2)
+    Expecting property name enclosed in double quotes: line 1 column 3 (char 2)
 
 """
 import sys
diff --git a/Misc/NEWS b/Misc/NEWS
index 8cc7f50..401228e 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -227,6 +227,9 @@ Core and Builtins
 Library
 -------
 
+- Issue #17225: JSON decoder now counts columns in the first line starting
+  with 1, as in other lines.
+
 - Issue #13700: Fix byte/string handling in imaplib authentication when an
   authobject is specified.
 
-- 
cgit v0.12

