fix bytecode compiler bug
This commit is contained in:
parent
233323faac
commit
43e421faf4
|
@ -1725,6 +1725,24 @@
|
|||
(unc1))))
|
||||
(unc1))
|
||||
|
||||
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;; Regression test related to the `let'-resolve pass:
|
||||
|
||||
(module check-against-problem-in-let-resolver racket/base
|
||||
(let-values (((fail2) 12))
|
||||
(let ([debugger-local-bindings
|
||||
(lambda ()
|
||||
(case-lambda ((v) (set! fail2 v))))])
|
||||
(let ([f3 (lambda ()
|
||||
(let ([debugger-local-bindings
|
||||
(lambda ()
|
||||
(debugger-local-bindings))])
|
||||
'3))])
|
||||
(let ([debugger-local-bindings
|
||||
(lambda ()
|
||||
(case-lambda ((v) (set! f3 v))))])
|
||||
(f3))))))
|
||||
|
||||
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
|
||||
(report-errs)
|
||||
|
|
|
@ -1429,7 +1429,7 @@ scheme_resolve_lets(Scheme_Object *form, Resolve_Info *info)
|
|||
if (!clv->value)
|
||||
isproc = 1;
|
||||
else if (clv->count == 1)
|
||||
isproc = is_nonconstant_procedure(clv->value, info, head->count);
|
||||
isproc = is_nonconstant_procedure(clv->value, info, post_bind ? 0 : head->count);
|
||||
else
|
||||
isproc = 0;
|
||||
if (num_rec_procs && isproc) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user