mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-05-15 02:00:22 +02:00
* boot-9.scm (make-options): Bugfix: Changed pair? --> list? in
order to allow the empty list as arg. (error-catching-loop): Use `with-traps' to create a dynamic context with traps enabled.
This commit is contained in:
parent
b8f08e26ad
commit
45456413b8
1 changed files with 16 additions and 11 deletions
|
@ -2282,7 +2282,7 @@
|
||||||
(make-options (lambda (interface)
|
(make-options (lambda (interface)
|
||||||
`(lambda args
|
`(lambda args
|
||||||
(cond ((null? args) (,interface))
|
(cond ((null? args) (,interface))
|
||||||
((pair? (car args))
|
((list? (car args))
|
||||||
(,interface (car args)) (,interface))
|
(,interface (car args)) (,interface))
|
||||||
(else (for-each ,print-option
|
(else (for-each ,print-option
|
||||||
(,interface #t)))))))
|
(,interface #t)))))))
|
||||||
|
@ -2361,6 +2361,7 @@
|
||||||
(save-stack lazy-handler-dispatch)
|
(save-stack lazy-handler-dispatch)
|
||||||
(apply throw key args))
|
(apply throw key args))
|
||||||
|
|
||||||
|
(define enter-frame-handler default-lazy-handler)
|
||||||
(define apply-frame-handler default-lazy-handler)
|
(define apply-frame-handler default-lazy-handler)
|
||||||
(define exit-frame-handler default-lazy-handler)
|
(define exit-frame-handler default-lazy-handler)
|
||||||
|
|
||||||
|
@ -2370,6 +2371,8 @@
|
||||||
(apply apply-frame-handler key args))
|
(apply apply-frame-handler key args))
|
||||||
((exit-frame)
|
((exit-frame)
|
||||||
(apply exit-frame-handler key args))
|
(apply exit-frame-handler key args))
|
||||||
|
((enter-frame)
|
||||||
|
(apply enter-frame-handler key args))
|
||||||
(else
|
(else
|
||||||
(apply default-lazy-handler key args))))
|
(apply default-lazy-handler key args))))
|
||||||
|
|
||||||
|
@ -2400,17 +2403,19 @@
|
||||||
(dynamic-wind
|
(dynamic-wind
|
||||||
(lambda () (unmask-signals))
|
(lambda () (unmask-signals))
|
||||||
(lambda ()
|
(lambda ()
|
||||||
(first)
|
(with-traps
|
||||||
|
(lambda ()
|
||||||
|
(first)
|
||||||
|
|
||||||
;; This line is needed because mark
|
;; This line is needed because mark
|
||||||
;; doesn't do closures quite right.
|
;; doesn't do closures quite right.
|
||||||
;; Unreferenced locals should be
|
;; Unreferenced locals should be
|
||||||
;; collected.
|
;; collected.
|
||||||
;;
|
;;
|
||||||
(set! first #f)
|
(set! first #f)
|
||||||
(let loop ((v (thunk)))
|
(let loop ((v (thunk)))
|
||||||
(loop (thunk)))
|
(loop (thunk)))
|
||||||
#f)
|
#f)))
|
||||||
(lambda () (mask-signals))))
|
(lambda () (mask-signals))))
|
||||||
|
|
||||||
lazy-handler-dispatch))
|
lazy-handler-dispatch))
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue