Don’t hard-loop on cycles in ‘read’ etc.
Problem for ‘read’ reported by Pip Cet in: https://lists.gnu.org/r/emacs-devel/2019-08/msg00316.html * src/fns.c (Frequire): Protect against circular current-load-list. * src/lread.c (Fget_load_suffixes): Protect against circular load-suffixes or load-file-rep-suffixes. (Fload): Protect against circular loads-in-progress. (openp): Protect against circular PATH and SUFFIXES. (build_load_history): Protect against circular load-history or current-load-list. (readevalloop_eager_expand_eval): Protect against circular SUBFORMS. (read1): Protect against circular data. * test/src/lread-tests.el (lread-circular-hash): New test.
This commit is contained in:
@@ -220,4 +220,7 @@ literals (Bug#20852)."
|
||||
(* most-positive-fixnum most-positive-fixnum)))
|
||||
(should (= n (string-to-number (format "%d." n))))))
|
||||
|
||||
(ert-deftest lread-circular-hash ()
|
||||
(should-error (read "#s(hash-table data #0=(#0# . #0#))")))
|
||||
|
||||
;;; lread-tests.el ends here
|
||||
|
||||
Reference in New Issue
Block a user