1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-15 10:10:21 +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:
Mikael Djurfeldt 1998-08-21 08:06:03 +00:00
parent b8f08e26ad
commit 45456413b8

View file

@ -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))