fix expander problem with set!
This commit is contained in:
parent
7fb67ad644
commit
6f984d868c
|
@ -2100,6 +2100,19 @@
|
||||||
m))))
|
m))))
|
||||||
m))
|
m))
|
||||||
|
|
||||||
|
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
;; Make sure that `set!` works right in forced subform expansion:
|
||||||
|
|
||||||
|
(let ()
|
||||||
|
(define (time-print-mixin t%)
|
||||||
|
(define start-time #f)
|
||||||
|
(class t%
|
||||||
|
(super-new)
|
||||||
|
(define/override (m)
|
||||||
|
(set! start-time 1)
|
||||||
|
(super m))))
|
||||||
|
(void time-print-mixin))
|
||||||
|
|
||||||
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
(report-errs)
|
(report-errs)
|
||||||
|
|
|
@ -1799,7 +1799,7 @@ scheme_lookup_binding(Scheme_Object *find_id, Scheme_Comp_Env *env, int flags,
|
||||||
if (SCHEME_FALSEP(val)) {
|
if (SCHEME_FALSEP(val)) {
|
||||||
/* Corresponds to a run-time binding (but will be replaced later
|
/* Corresponds to a run-time binding (but will be replaced later
|
||||||
through a renaming to a different binding) */
|
through a renaming to a different binding) */
|
||||||
if (flags & SCHEME_OUT_OF_CONTEXT_LOCAL)
|
if (flags & (SCHEME_OUT_OF_CONTEXT_LOCAL | SCHEME_SETTING))
|
||||||
return scheme_make_local(scheme_local_type, 0, 0);
|
return scheme_make_local(scheme_local_type, 0, 0);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user