READ no longer uses its environment arg, so remove it.
authorChris Hanson <org/chris-hanson/cph>
Sun, 20 May 2018 05:21:07 +0000 (22:21 -0700)
committerChris Hanson <org/chris-hanson/cph>
Sun, 20 May 2018 05:21:07 +0000 (22:21 -0700)
15 files changed:
doc/ref-manual/io.texi
src/edwin/artdebug.scm
src/edwin/debug.scm
src/edwin/evlcom.scm
src/edwin/intmod.scm
src/edwin/prompt.scm
src/runtime/command-line.scm
src/runtime/dbgutl.scm
src/runtime/debug.scm
src/runtime/emacs.scm
src/runtime/input-port.scm
src/runtime/load.scm
src/runtime/rep.scm
src/runtime/usrint.scm
src/runtime/where.scm

index 7dfdab840f7da28de8a516ef48145f880f22219f..1adca4a87163aa8e497876ee3368afcb3393d3ab 100644 (file)
@@ -566,7 +566,7 @@ ordinary file or a character string.
 In this section, all optional arguments called @var{port} default to
 the current input port.
 
-@deffn {standard procedure} read [port [environment]]
+@deffn {standard procedure} read [port]
 @cindex expression, input from port
 @cindex external representation, parsing
 @cindex parsing, of external representation
@@ -592,11 +592,6 @@ return an end-of-file object.  If an end of file is encountered after
 the beginning of an object's written representation, but the written
 representation is incomplete and therefore not parsable, an error is
 signalled.
-
-The optional argument @var{environment} is an MIT/GNU Scheme extension
-that is used to look up the values of control variables such as
-@code{param:reader-radix} (@pxref{reader-controls}).  If not supplied,
-it defaults to the @acronym{REP} environment.
 @end deffn
 
 @deffn {standard procedure} read-char [port]
@@ -841,12 +836,7 @@ following equivalent code using @code{peek-char} and @code{read-char}:
 @subsection Reader Controls
 
 The following parameters control the behavior of the @code{read}
-procedure.  They are looked up in the environment that is passed to
-@code{read}, and so may have different values in different
-environments.  The global parameters may be dynamically bound by
-@code{parameterize}, but should not be mutated.  Make persistent,
-local changes by shadowing the global bindings in the local
-environment and assigning new parameters to them.
+procedure.
 
 @deffn parameter param:reader-radix
 This parameter defines the radix used by the reader when it parses
@@ -1580,7 +1570,7 @@ given, this port defaults to the value of
 @code{(interaction-i/o-port)}; this is initially the console
 @acronym{I/O} port.
 
-@deffn procedure prompt-for-command-expression prompt [port [environment]]
+@deffn procedure prompt-for-command-expression prompt [port]
 Prompts the user for an expression that is to be executed as a command.
 This is the procedure called by the @acronym{REP} loop to read the
 user's expressions.
@@ -1592,9 +1582,6 @@ prepending to the string the current @acronym{REP} loop ``level number''
 and a space.  Also, a space is appended to the string, unless it already
 ends in a space or is an empty string.
 
-If @var{environment} is given, it is passed as the second argument to
-@code{read}.
-
 The default behavior of this procedure is to print a fresh line, a
 newline, and the prompt string; flush the output buffer; then read an
 object and return it.
@@ -1636,16 +1623,13 @@ as input.  After this mode change, the first such character submitted is
 returned as the value of this procedure.
 @end deffn
 
-@deffn procedure prompt-for-expression prompt [port [environment]]
+@deffn procedure prompt-for-expression prompt [port]
 Prompts the user for an expression.
 
 The prompt string is formed by appending a colon and a space to
 @var{prompt}, unless @var{prompt} already ends in a space or is the null
 string.
 
-If @var{environment} is given, it is passed as the second argument to
-@code{read}.
-
 The default behavior of this procedure is to print a fresh line, a
 newline, and the prompt string; flush the output buffer; then read an
 object and return it.
index 1ecc3af5d72dcbe4e34897bb264fb150c9776d0f..98f8e0fa84f9765a2563d2087eb864e113a0290d 100644 (file)
@@ -1338,8 +1338,8 @@ Prefix argument means do not kill the debugger buffer."
   (newline port)
   (newline port))
 
-(define (operation/prompt-for-expression port environment prompt)
-  port environment
+(define (operation/prompt-for-expression port prompt)
+  port
   (prompt-for-expression prompt))
 
 (define (operation/prompt-for-confirmation port prompt)
index 84d7a0b3274867f99494a28d31c4f9371b5502ea..22f4df511a0901f601ecece8868dda0768d59ea5 100644 (file)
@@ -478,16 +478,18 @@ USA.
 
 (define interface-port-type
   (make-port-type
-   `((WRITE-CHAR
+   `((write-char
       ,(lambda (port char)
         (guarantee 8-bit-char? char)
         (region-insert-char! (port/state port) char)
         1))
-     (PROMPT-FOR-CONFIRMATION
-      ,(lambda (port prompt) port (prompt-for-confirmation? prompt)))
-     (PROMPT-FOR-EXPRESSION
-      ,(lambda (port environment prompt)
-        port environment
+     (prompt-for-confirmation
+      ,(lambda (port prompt)
+        (declare (ignore port))
+        (prompt-for-confirmation? prompt)))
+     (prompt-for-expression
+      ,(lambda (port prompt)
+        (declare (ignore port))
         (prompt-for-expression prompt))))
    #f))
 
index 969b2ca9b78ebbbf0f872a5ffd05ef8528651a6f..058640296a449abfd5a05708022a227e728cda65 100644 (file)
@@ -316,13 +316,12 @@ Has no effect if evaluate-in-inferior-repl is false."
              ;; This sets up the correct environment in the typein buffer
              ;; so that completion of variables works right.
              (local-set-variable! scheme-environment environment buffer))
-           options)
-     environment)))
+           options))))
 
-(define (read-from-string string environment)
+(define (read-from-string string)
   (bind-condition-handler (list condition-type:error) evaluation-error-handler
     (lambda ()
-      (read (open-input-string string) environment))))
+      (read (open-input-string string)))))
 
 (define-major-mode prompt-for-expression scheme #f
   (mode-description (ref-mode-object minibuffer-local))
@@ -355,25 +354,21 @@ Has no effect if evaluate-in-inferior-repl is false."
        evaluation-error-handler
       (lambda ()
        (let loop
-           ((expressions (read-expressions-from-region region environment))
+           ((expressions (read-expressions-from-region region))
             (result unspecific))
          (if (null? expressions)
              result
              (loop (cdr expressions)
                    (editor-eval buffer (car expressions) environment))))))))
 
-(define (read-expressions-from-region region #!optional environment)
-  (let ((environment
-        (if (default-object? environment)
-            (evaluation-environment region)
-            environment)))
-    (call-with-input-region region
-      (lambda (port)
-       (let loop ()
-         (let ((expression (read port environment)))
-           (if (eof-object? expression)
-               '()
-               (cons expression (loop)))))))))
+(define (read-expressions-from-region region)
+  (call-with-input-region region
+    (lambda (port)
+      (let loop ()
+       (let ((expression (read port)))
+         (if (eof-object? expression)
+             '()
+             (cons expression (loop))))))))
 
 (define (evaluation-environment #!optional buffer global-ok?)
   (let ((buffer (->buffer buffer)))
index 600e8f6f4f2c706d41eece3546b6e44d053b297c..d1fd9c6d97aedd90e2a9bb8c6f0bc822b7b6eec7 100644 (file)
@@ -1051,11 +1051,8 @@ If this is an error, the debugger examines the error condition."
 \f
 ;;; Prompting
 
-(define (operation/prompt-for-expression port environment prompt)
-  (unsolicited-prompt port
-                     (lambda (prompt)
-                       (prompt-for-expression prompt #!default environment))
-                     prompt))
+(define (operation/prompt-for-expression port prompt)
+  (unsolicited-prompt port prompt-for-expression prompt))
 
 (define (operation/prompt-for-confirmation port prompt)
   (unsolicited-prompt port prompt-for-confirmation? prompt))
@@ -1119,8 +1116,7 @@ If this is an error, the debugger examines the error condition."
                             (remove-select-buffer-hook buffer hook))))))
        (add-select-buffer-hook buffer hook))))
 
-(define (operation/prompt-for-command-expression port environment prompt level)
-  environment
+(define (operation/prompt-for-command-expression port prompt level)
   (parse-command-prompt port prompt)
   (read-expression port level))
 
index 85a59e7a153319e5493d84c43a973bde4b5ad72c..f3746692fb3150799c5d6a949525ac5de758793c 100644 (file)
@@ -989,8 +989,7 @@ it is added to the front of the command history."
       (prompt-for-string "Redo" #f
                         'DEFAULT-TYPE 'INSERTED-DEFAULT
                         'HISTORY 'REPEAT-COMPLEX-COMMAND
-                        'HISTORY-INDEX (- argument 1))
-      (->environment '(EDWIN))))))
+                        'HISTORY-INDEX (- argument 1))))))
 \f
 ;;;; Pass-phrase Prompts
 
index b34bd559c7a7c56731ea625c2a779f8a956a1d39..2c7cece6b6d6e520f93bce1392dd8020ad7d6da6 100644 (file)
@@ -270,8 +270,7 @@ ADDITIONAL OPTIONS supported by this band:\n")
        (run-in-nearest-repl
        (lambda (repl)
          (let ((environment (repl/environment repl)))
-           (repl-eval/write (read (open-input-string arg)
-                                  environment)
+           (repl-eval/write (read (open-input-string arg))
                             environment
                             repl)))))
      "Evaluates the argument expressions as if in the REPL.")
index 2edadb2ba9468d45d460116afe8edbc6e961ca3f..5e34077c865af96b5f3c3cec1a3ae783a94d8a00 100644 (file)
@@ -69,8 +69,7 @@ USA.
 
 (define (debug/read-eval-print-1 environment port)
   (let ((value
-        (debug/eval (prompt-for-expression "Evaluate expression"
-                                           port environment)
+        (debug/eval (prompt-for-expression "Evaluate expression" port)
                     environment)))
     (if (undefined-value? value)
        (debugger-message port "No value")
index 928568f48479690281a6f613d10d6a40cd665ec4..d85fa1ef9a7ee36ba428757facacf7fb3c499148 100644 (file)
@@ -771,8 +771,7 @@ USA.
                    (if invalid-expression?
                        ""
                        " ($ to retry)"))
-                  port
-                  environment)))
+                  port)))
             (if (and (not invalid-expression?)
                      (eq? expression '$))
                 (debug/scode-eval (dstate/expression dstate)
index 6964c8c6c4d653f35d5d2943eb0ee97411a4b713..734c616f5015d19473eaa42b915fb000a2494ba0 100644 (file)
@@ -31,10 +31,10 @@ USA.
 \f
 ;;;; Prompting
 
-(define (emacs/prompt-for-command-expression port environment prompt level)
+(define (emacs/prompt-for-command-expression port prompt level)
   (transmit-modeline-string port prompt level)
   (transmit-signal port #\R)
-  (read port environment))
+  (read port))
 
 (define (emacs/prompt-for-command-char port prompt level)
   (transmit-modeline-string port prompt level)
@@ -60,9 +60,9 @@ USA.
   '(("debug> " "[Debug]")
     ("where> " "[Where]")))
 
-(define (emacs/prompt-for-expression port environment prompt)
+(define (emacs/prompt-for-expression port prompt)
   (transmit-signal-with-argument port #\i prompt)
-  (read port environment))
+  (read port))
 
 (define (emacs/prompt-for-confirmation port prompt)
   (transmit-signal-with-argument
index 97d332cbf513555aa6c723c73a359b88406f0985..443a533d8fb2125c244b594571f151454bd95501 100644 (file)
@@ -179,12 +179,10 @@ USA.
                  (else (eof-object)))))
        "")))
 \f
-(define (read #!optional port environment)
-  (declare (ignore environment))
+(define (read #!optional port)
   (read-top-level (optional-input-port port 'read)))
 
-(define (read-file pathname #!optional environment)
-  (declare (ignore environment))
+(define (read-file pathname)
   (call-with-input-file (pathname-default-version pathname 'newest)
     (lambda (port)
       (let loop ((sexps '()))
index f3bd087089dd0db764d3d3e81fd4eb11a9f3753b..7a72c6ad64fc77f02f0c12318c8451f41c871e6b 100644 (file)
@@ -124,7 +124,7 @@ USA.
     (call-with-input-file pathname
       (lambda (port)
        (let loop ((value unspecific))
-         (let ((sexp (read port environment)))
+         (let ((sexp (read port)))
            (if (eof-object? sexp)
                value
                (loop (repl-eval sexp environment)))))))))
index 9b862ecb861e089597bc41d84dcdaa50145b2218..ac35bdb646ebdddf19176bf7c2ff80655863cbce 100644 (file)
@@ -442,7 +442,7 @@ USA.
     (do () (#f)
       (if (queue-empty? queue)
          (let ((environment (repl/environment repl)))
-           (%repl-eval/write (hook/repl-read environment repl)
+           (%repl-eval/write (hook/repl-read repl)
                              environment
                              repl))
          ((dequeue! queue) repl)))))
@@ -451,15 +451,16 @@ USA.
   (guarantee unary-procedure? procedure 'run-in-nearest-repl)
   (enqueue! (repl/input-queue (nearest-repl)) procedure))
 \f
-(define (repl-read #!optional environment repl)
-  (receive (environment repl) (optional-er environment repl 'repl-read)
-    (hook/repl-read environment repl)))
+(define (repl-read #!optional repl)
+  (hook/repl-read
+   (if (default-object? repl)
+       (nearest-repl)
+       (guarantee repl? repl 'repl-read))))
 
 (define hook/repl-read)
-(define (default/repl-read environment repl)
+(define (default/repl-read repl)
   (prompt-for-command-expression (cons 'standard (repl/prompt repl))
-                                (cmdl/port repl)
-                                environment))
+                                (cmdl/port repl)))
 
 (define (repl-eval s-expression #!optional environment repl)
   (receive (environment repl) (optional-er environment repl 'repl-eval)
@@ -527,9 +528,7 @@ USA.
   (let ((repl
         (if (default-object? repl)
             (nearest-repl)
-            (begin
-              (guarantee repl? repl caller)
-              repl))))
+            (guarantee repl? repl caller))))
     (values (if (default-object? environment)
                (repl/environment repl)
                (guarantee environment? environment caller))
index adb8fe152066e0d1a53f368eba8bcc22d88ba93b..1acc4b94c7fb708d4bec237473f4fcc834984f40 100644 (file)
@@ -31,46 +31,37 @@ USA.
 \f
 ;;;; Prompting
 
-(define (prompt-for-command-expression prompt #!optional port environment)
+(define (prompt-for-command-expression prompt #!optional port)
   (let ((prompt (canonicalize-command-prompt prompt))
        (port (optional-port port 'prompt-for-command-expression))
-       (environment
-        (optional-environment environment 'prompt-for-command-expression))
        (level (nearest-cmdl/level)))
     (let ((operation
           (textual-port-operation port 'prompt-for-command-expression)))
       (if operation
-         (operation port environment prompt level)
+         (operation port prompt level)
          (begin
            (guarantee textual-i/o-port? port 'prompt-for-command-expression)
            (write-command-prompt port prompt level)
            (with-input-port-terminal-mode port 'cooked
              (lambda ()
-               (read port environment))))))))
+               (read port))))))))
 
-(define (prompt-for-expression prompt #!optional port environment)
-  (%prompt-for-expression
-   (optional-port port 'prompt-for-expression)
-   (optional-environment environment 'prompt-for-expression)
-   prompt
-   'prompt-for-expression))
+(define (prompt-for-expression prompt #!optional port)
+  (%prompt-for-expression port prompt 'prompt-for-expression))
 
 (define (prompt-for-evaluated-expression prompt #!optional environment port)
-  (let ((environment
-        (optional-environment environment 'prompt-for-evaluated-expression))
-       (port (optional-port port 'prompt-for-evaluated-expression)))
-    (repl-eval
-     (%prompt-for-expression port
-                            environment
-                            prompt
-                            'prompt-for-evaluated-expression)
-     environment)))
-
-(define (%prompt-for-expression port environment prompt caller)
-  (let ((prompt (canonicalize-prompt prompt ": ")))
+  (repl-eval
+   (%prompt-for-expression port prompt 'prompt-for-evaluated-expression)
+   (if (default-object? environment)
+       (nearest-repl/environment)
+       (guarantee environment? environment 'prompt-for-evaluated-expression))))
+
+(define (%prompt-for-expression port prompt caller)
+  (let ((port (optional-port port caller))
+       (prompt (canonicalize-prompt prompt ": ")))
     (let ((operation (textual-port-operation port 'prompt-for-expression)))
       (if operation
-         (operation port environment prompt)
+         (operation port prompt)
          (begin
            (guarantee textual-i/o-port? port caller)
            (with-output-port-terminal-mode port 'cooked
@@ -81,17 +72,12 @@ USA.
                (flush-output-port port)))
            (with-input-port-terminal-mode port 'cooked
              (lambda ()
-               (read port environment))))))))
+               (read port))))))))
 
 (define (optional-port port caller)
   (if (default-object? port)
       (interaction-i/o-port)
       (guarantee textual-port? port caller)))
-
-(define (optional-environment environment caller)
-  (if (default-object? environment)
-      (nearest-repl/environment)
-      (guarantee environment? environment caller)))
 \f
 (define (prompt-for-command-char prompt #!optional port)
   (let ((prompt (canonicalize-command-prompt prompt))
index be3f48cb97ea9cca5ecca54d6138647dbe99e718..8df05495f9ab26d9708f9b8b057b3546425ea75e 100644 (file)
@@ -122,13 +122,9 @@ USA.
   (show-environment-procedure (car (wstate/frame-list wstate)) port))
 
 (define (recursive-where wstate port)
-  (let ((environment (car (wstate/frame-list wstate))))
-    (let ((inp
-          (prompt-for-expression "Object to evaluate and examine"
-                                 port
-                                 environment)))
-      (debugger-message port "New where!")
-      (debug/where (debug/eval inp environment)))))
+  (let ((inp (prompt-for-expression "Object to evaluate and examine" port)))
+    (debugger-message port "New where!")
+    (debug/where (debug/eval inp (car (wstate/frame-list wstate))))))
 
 (define (enter wstate port)
   port