]> git.eshelyaron.com Git - emacs.git/commitdiff
Add an appropriate error for reading bad JSON arrays
authorMark Oteiza <mvoteiza@udel.edu>
Fri, 14 Feb 2020 00:57:44 +0000 (19:57 -0500)
committerMark Oteiza <mvoteiza@udel.edu>
Fri, 14 Feb 2020 00:57:44 +0000 (19:57 -0500)
* lisp/json.el (json-array-format): New error.
(json-read-array): Use it.

lisp/json.el

index 18d7fda8822a358b86c7109cf7180c0f57fee687..055f3f5be11fde49072c5fc7c6fc676ab390cfe5 100644 (file)
@@ -227,6 +227,7 @@ Unlike `reverse', this keeps the property-value pairs intact."
 (define-error 'json-string-format "Bad string format" 'json-error)
 (define-error 'json-key-format "Bad JSON object key" 'json-error)
 (define-error 'json-object-format "Bad JSON object" 'json-error)
+(define-error 'json-array-format "Bad JSON array" 'json-error)
 (define-error 'json-end-of-file "End of file while parsing JSON"
   '(end-of-file json-error))
 
@@ -640,7 +641,7 @@ become JSON objects."
       (when (/= (json-peek) ?\])
         (if (= (json-peek) ?,)
             (json-advance)
-          (signal 'json-error (list 'bleah)))))
+          (signal 'json-array-format (list ?, (json-peek))))))
     ;; Skip over the "]"
     (json-advance)
     (pcase json-array-type