]> git.eshelyaron.com Git - emacs.git/commitdiff
Pass json-readtable-error data as a list (bug#30489)
authorBasil L. Contovounesios <contovob@tcd.ie>
Fri, 16 Feb 2018 17:11:49 +0000 (17:11 +0000)
committerAndrew G Cohen <cohen@andy.bu.edu>
Tue, 11 Dec 2018 06:17:51 +0000 (14:17 +0800)
* lisp/json.el (json-readtable-dispatch): Fix error data.
* test/lisp/json-tests.el (test-json-read): Check error data is a
list.

lisp/json.el
test/lisp/json-tests.el

index b03a482ca6e2224d734141c606d72433a2737435..d374f452e6b51d713db4724e22a6770739e70b95 100644 (file)
@@ -685,7 +685,7 @@ become JSON objects."
       (push (list c 'json-read-number) table))
     (pcase-dolist (`(,c . ,rest) table)
       (push `((eq ,char ,c) (,@rest)) res))
-    `(cond ,@res (t (signal 'json-readtable-error ,char)))))
+    `(cond ,@res (t (signal 'json-readtable-error (list ,char))))))
 
 (defun json-read ()
   "Parse and return the JSON object following point.
index 47f8047b349e6600df48d3a7675e6d25c8cad5d0..ea562e8b1342e4f1c2b008d9159f11b40a84b9b3 100644 (file)
@@ -309,7 +309,8 @@ Point is moved to beginning of the buffer."
   (json-tests--with-temp-buffer ""
     (should-error (json-read) :type 'json-end-of-file))
   (json-tests--with-temp-buffer "xxx"
-    (should-error (json-read) :type 'json-readtable-error)))
+    (let ((err (should-error (json-read) :type 'json-readtable-error)))
+      (should (equal (cdr err) '(?x))))))
 
 (ert-deftest test-json-read-from-string ()
   (let ((json-string "{ \"a\": 1 }"))