aboutsummaryrefslogtreecommitdiffstats
path: root/test/src
diff options
context:
space:
mode:
authorAlan Mackenzie2024-05-06 20:14:57 +0000
committerAlan Mackenzie2024-05-06 20:14:57 +0000
commit67e1b9d0553238ec6a5af68b41f43ba157f529e1 (patch)
tree81ea55afaad6caba176ea42a32a7734c57815f13 /test/src
parentf63615208adf2852b9384fe817e930588920a894 (diff)
downloademacs-67e1b9d0553238ec6a5af68b41f43ba157f529e1.tar.gz
emacs-67e1b9d0553238ec6a5af68b41f43ba157f529e1.zip
`read': give fuller error message for errors following "#".
This solves bug#70702. * src/lread.c (READ_AND_BUFFER, INVALID_SYNTAX_WITH_BUFFER): New macros. (read0): For errors in characters sequences beginning with "#", output the entire character sequence rather than just "#". * test/src/lread-tests.el (lread-test-bug70702): New test.
Diffstat (limited to 'test/src')
-rw-r--r--test/src/lread-tests.el11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/src/lread-tests.el b/test/src/lread-tests.el
index 4d7f8b71838..cc17f7eb3fa 100644
--- a/test/src/lread-tests.el
+++ b/test/src/lread-tests.el
@@ -174,6 +174,17 @@ literals (Bug#20852)."
174 (load "somelib" nil t) 174 (load "somelib" nil t)
175 (should (string-suffix-p "/somelib.el" (caar load-history))))) 175 (should (string-suffix-p "/somelib.el" (caar load-history)))))
176 176
177(ert-deftest lread-test-bug70702 ()
178 "Test for certain wholesome error messages from `read'."
179 (setq eval-expression-debug-on-error nil)
180 (setq ert-debug-on-error nil)
181 (with-temp-buffer
182 (goto-char (point-min))
183 (insert "#<symbol lambda at 10>")
184 (goto-char (point-min))
185 (should (equal (should-error (read (current-buffer)))
186 '(invalid-read-syntax "#<" 1 2)))))
187
177(ert-deftest lread-lread--substitute-object-in-subtree () 188(ert-deftest lread-lread--substitute-object-in-subtree ()
178 (let ((x (cons 0 1))) 189 (let ((x (cons 0 1)))
179 (setcar x x) 190 (setcar x x)