1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-20 11:40:18 +02:00

Defer lookup of lazy-handler-dispatch.

This commit is contained in:
Neil Jerram 2003-11-19 01:16:16 +00:00
parent cef6deaff1
commit 64758fe259
2 changed files with 17 additions and 1 deletions

View file

@ -1,3 +1,8 @@
2003-11-19 Neil Jerram <neil@ossau.uklinux.net>
* boot-9.scm (error-catching-loop): Defer lookup of
lazy-handler-dispatch.
2003-11-17 Marius Vollmer <mvo@zagadka.de>
* boot-9.scm (@, @@): New macros.

View file

@ -2315,7 +2315,18 @@
(loop (thunk)))
#f)))))
lazy-handler-dispatch))
;; Use a closure here rather than
;; just `lazy-handler-dispatch' so
;; that lookup of
;; lazy-handler-dispatch's value is
;; deferred until a throw occurs.
;; This means that if code executed
;; in the REPL just above set!s
;; lazy-handler-dispatch, the new
;; value will be used to handle the
;; next throw from the REPL.
(lambda args
(apply lazy-handler-dispatch args))))
(lambda (key . args)
(case key