diff options
author | Lars Ingebrigtsen <larsi@gnus.org> | 2022-07-28 12:23:53 +0200 |
---|---|---|
committer | Lars Ingebrigtsen <larsi@gnus.org> | 2022-07-28 12:24:03 +0200 |
commit | 4895ca16f76aa0ec044212a2b96ef8646cf4d0ed (patch) | |
tree | 31eb004564adcdaaa0df8ee912a323444b456e18 /test | |
parent | 22a5f022344af8c0c0a9eddc2ac5ad36392d0cef (diff) | |
download | emacs-4895ca16f76aa0ec044212a2b96ef8646cf4d0ed.tar.gz |
Ensure that we don't call print-unreadable-function from " prin1"
* src/print.c (PRINTPREPARE): Bind the current buffer so that we
can retrieve it later.
(print_vectorlike): Use it (bug#56773).
(syms_of_print): New internal `print--unreadable-callback-buffer'
variable.
Diffstat (limited to 'test')
-rw-r--r-- | test/lisp/subr-tests.el | 10 | ||||
-rw-r--r-- | test/src/print-tests.el | 1 |
2 files changed, 10 insertions, 1 deletions
diff --git a/test/lisp/subr-tests.el b/test/lisp/subr-tests.el index 20f81d1ddc5..1d85631a4b8 100644 --- a/test/lisp/subr-tests.el +++ b/test/lisp/subr-tests.el @@ -1122,5 +1122,15 @@ final or penultimate step during initialization.")) (should (equal (butlast l n) (subr-tests--butlast-ref l n)))))) +(ert-deftest test-print-unreadable-function-buffer () + (with-temp-buffer + (let ((current (current-buffer)) + callback-buffer) + (let ((print-unreadable-function + (lambda (_object _escape) + (setq callback-buffer (current-buffer))))) + (prin1-to-string (make-marker))) + (should (eq current callback-buffer))))) + (provide 'subr-tests) ;;; subr-tests.el ends here diff --git a/test/src/print-tests.el b/test/src/print-tests.el index f818b4d4715..91187d9f45c 100644 --- a/test/src/print-tests.el +++ b/test/src/print-tests.el @@ -529,6 +529,5 @@ otherwise, use a different charset." (should (equal (% (- (length numbers) loopback-index) loop) 0))))))))))) - (provide 'print-tests) ;;; print-tests.el ends here |