* Fixes bug 159403: scripts choke when a definition follows an expression

This commit is contained in:
Abdulaziz Ghuloum 2007-11-01 20:00:02 -04:00
parent 431f768ab5
commit 37da0d75d4
2 changed files with 4 additions and 4 deletions

Binary file not shown.

View File

@ -2983,7 +2983,7 @@
r mr (reverse lex*) (reverse rhs*))))) r mr (reverse lex*) (reverse rhs*)))))
(define library-body-expander (define library-body-expander
(lambda (exp* imp* b*) (lambda (exp* imp* b* top?)
(let-values (((exp-int* exp-ext*) (parse-exports exp*)) (let-values (((exp-int* exp-ext*) (parse-exports exp*))
((subst imp*) (parse-import-spec* imp*))) ((subst imp*) (parse-import-spec* imp*)))
(let ((rib (make-top-rib subst))) (let ((rib (make-top-rib subst)))
@ -2993,7 +2993,7 @@
(parameterize ((inv-collector rtc) (parameterize ((inv-collector rtc)
(vis-collector vtc)) (vis-collector vtc))
(let-values (((init* r mr lex* rhs*) (let-values (((init* r mr lex* rhs*)
(chi-library-internal b* rib #f))) (chi-library-internal b* rib top?)))
(seal-rib! rib) (seal-rib! rib)
(let ((rhs* (chi-rhs* rhs* r mr)) (let ((rhs* (chi-rhs* rhs* r mr))
(init* (chi-expr* init* r mr))) (init* (chi-expr* init* r mr)))
@ -3019,7 +3019,7 @@
(let-values (((name ver) (parse-library-name name*))) (let-values (((name ver) (parse-library-name name*)))
(let-values (((imp* invoke-req* visit-req* invoke-code (let-values (((imp* invoke-req* visit-req* invoke-code
visit-code export-subst export-env) visit-code export-subst export-env)
(library-body-expander exp* imp* b*))) (library-body-expander exp* imp* b* #f)))
(values name ver imp* invoke-req* visit-req* (values name ver imp* invoke-req* visit-req*
invoke-code visit-code export-subst invoke-code visit-code export-subst
export-env)))))) export-env))))))
@ -3035,7 +3035,7 @@
(let-values (((imp* b*) (parse-top-level-program e*))) (let-values (((imp* b*) (parse-top-level-program e*)))
(let-values (((imp* invoke-req* visit-req* invoke-code (let-values (((imp* invoke-req* visit-req* invoke-code
visit-code export-subst export-env) visit-code export-subst export-env)
(library-body-expander '() imp* b*))) (library-body-expander '() imp* b* #t)))
(values invoke-req* invoke-code))))) (values invoke-req* invoke-code)))))
;;; An env record encapsulates a substitution and a set of ;;; An env record encapsulates a substitution and a set of