mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-11 14:21:10 +02:00
Back out change to lazy-handler-dispatch lookup.
This commit is contained in:
parent
ea73836c1d
commit
bb5ad88f27
2 changed files with 17 additions and 12 deletions
|
@ -1,3 +1,8 @@
|
|||
2004-01-20 Neil Jerram <neil@ossau.uklinux.net>
|
||||
|
||||
* boot-9.scm (error-catching-loop): Back out 2003-11-19 change to
|
||||
lazy-handler-dispatch lookup.
|
||||
|
||||
2004-01-12 Marius Vollmer <mvo@zagadka.de>
|
||||
|
||||
* mapping.scm: Use '#:' prefix for keywords instead of ':'.
|
||||
|
|
|
@ -2315,18 +2315,18 @@
|
|||
(loop (thunk)))
|
||||
#f)))))
|
||||
|
||||
;; 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))))
|
||||
;; Note that having just
|
||||
;; `lazy-handler-dispatch' here is
|
||||
;; connected with the mechanism that
|
||||
;; produces a nice backtrace upon
|
||||
;; error. If, for example, this is
|
||||
;; replaced with (lambda args (apply
|
||||
;; lazy-handler-dispatch args)), the
|
||||
;; stack cutting (in save-stack)
|
||||
;; goes wrong and ends up saving no
|
||||
;; stack at all, so there is no
|
||||
;; backtrace.
|
||||
lazy-handler-dispatch))
|
||||
|
||||
(lambda (key . args)
|
||||
(case key
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue