When loading a .scm file, fetch the repl environment and syntax table
authorChris Hanson <org/chris-hanson/cph>
Mon, 4 Jun 1990 20:45:55 +0000 (20:45 +0000)
committerChris Hanson <org/chris-hanson/cph>
Mon, 4 Jun 1990 20:45:55 +0000 (20:45 +0000)
at the beginning of the load rather than for each expression in the
file.  This means that changing the repl environment or syntax table
in the file will have no effect on the load.

v7/src/runtime/load.scm
v8/src/runtime/load.scm

index 80749070bfe07c267b78fab27d496c6d95b1b867..8f2905385ec2ff039429a3827b20f691ea0366de 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/load.scm,v 14.14 1990/04/12 22:50:28 markf Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/load.scm,v 14.15 1990/06/04 20:45:55 cph Exp $
 
 Copyright (c) 1988, 1989, 1990 Massachusetts Institute of Technology
 
@@ -244,17 +244,21 @@ MIT in each case. |#
 
 (define (eval-stream stream environment syntax-table)
   (stream-map stream
-             (lambda (s-expression)
-               (let ((repl (nearest-repl)))
-                 (hook/repl-eval repl
-                                 s-expression
-                                 (if (eq? environment default-object)
-                                     (repl/environment repl)
-                                     environment)
-                                 (make-syntax-table
-                                  (if (eq? syntax-table default-object)
-                                      (repl/syntax-table repl)
-                                      syntax-table)))))))
+             (let ((repl (nearest-repl)))
+               (let ((environment
+                      (if (eq? environment default-object)
+                          (repl/environment repl)
+                          environment))
+                     (syntax-table
+                      (make-syntax-table
+                       (if (eq? syntax-table default-object)
+                           (repl/syntax-table repl)
+                           syntax-table))))
+                 (lambda (s-expression)
+                   (hook/repl-eval repl
+                                   s-expression
+                                   environment
+                                   syntax-table))))))
 
 (define (write-stream stream write)
   (if (stream-pair? stream)
index ad01823f49b7a043c8dfe3a423fcdfe66c671d8e..7f3a34486f70c382723e3dac17178df3875f2741 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/runtime/load.scm,v 14.14 1990/04/12 22:50:28 markf Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/runtime/load.scm,v 14.15 1990/06/04 20:45:55 cph Exp $
 
 Copyright (c) 1988, 1989, 1990 Massachusetts Institute of Technology
 
@@ -244,17 +244,21 @@ MIT in each case. |#
 
 (define (eval-stream stream environment syntax-table)
   (stream-map stream
-             (lambda (s-expression)
-               (let ((repl (nearest-repl)))
-                 (hook/repl-eval repl
-                                 s-expression
-                                 (if (eq? environment default-object)
-                                     (repl/environment repl)
-                                     environment)
-                                 (make-syntax-table
-                                  (if (eq? syntax-table default-object)
-                                      (repl/syntax-table repl)
-                                      syntax-table)))))))
+             (let ((repl (nearest-repl)))
+               (let ((environment
+                      (if (eq? environment default-object)
+                          (repl/environment repl)
+                          environment))
+                     (syntax-table
+                      (make-syntax-table
+                       (if (eq? syntax-table default-object)
+                           (repl/syntax-table repl)
+                           syntax-table))))
+                 (lambda (s-expression)
+                   (hook/repl-eval repl
+                                   s-expression
+                                   environment
+                                   syntax-table))))))
 
 (define (write-stream stream write)
   (if (stream-pair? stream)