diff options
| author | Alan Mackenzie | 2024-05-06 20:14:57 +0000 |
|---|---|---|
| committer | Alan Mackenzie | 2024-05-06 20:14:57 +0000 |
| commit | 67e1b9d0553238ec6a5af68b41f43ba157f529e1 (patch) | |
| tree | 81ea55afaad6caba176ea42a32a7734c57815f13 /test/src | |
| parent | f63615208adf2852b9384fe817e930588920a894 (diff) | |
| download | emacs-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.el | 11 |
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) |