Eliminate the low-hangin references to deprecated bindings.
authorChris Hanson <org/chris-hanson/cph>
Tue, 25 Apr 2017 06:26:29 +0000 (23:26 -0700)
committerChris Hanson <org/chris-hanson/cph>
Tue, 25 Apr 2017 06:26:29 +0000 (23:26 -0700)
70 files changed:
src/6001/edextra.scm
src/6001/floppy.scm
src/6001/nodefs.scm
src/compiler/base/debug.scm
src/compiler/base/toplev.scm
src/compiler/machines/C/cout.scm
src/compiler/machines/C/cutl.scm
src/compiler/machines/i386/dassm1.scm
src/compiler/machines/x86-64/dassm1.scm
src/edwin/artdebug.scm
src/edwin/bufcom.scm
src/edwin/bufinp.scm
src/edwin/bufout.scm
src/edwin/debug.scm
src/edwin/evlcom.scm
src/edwin/eystep.scm
src/edwin/fileio.scm
src/edwin/hlpcom.scm
src/edwin/process.scm
src/edwin/sendmail.scm
src/edwin/tterm.scm
src/edwin/winout.scm
src/edwin/world-monitor.scm
src/imail/imail-core.scm
src/imail/imail-imap.scm
src/imail/imail-mime.scm
src/imail/imail-util.scm
src/imail/imap-response.scm
src/microcode/makegen/makegen.scm
src/runtime/advice.scm
src/runtime/blowfish.scm
src/runtime/chrset.scm
src/runtime/crypto.scm
src/runtime/dbgutl.scm
src/runtime/dosdir.scm
src/runtime/dospth.scm
src/runtime/dragon4.scm
src/runtime/emacs.scm
src/runtime/ffi.scm
src/runtime/fileio.scm
src/runtime/format.scm
src/runtime/framex.scm
src/runtime/gdatab.scm
src/runtime/global.scm
src/runtime/httpio.scm
src/runtime/infutl.scm
src/runtime/load.scm
src/runtime/mime-codec.scm
src/runtime/parse.scm
src/runtime/pgsql.scm
src/runtime/port.scm
src/runtime/rexp.scm
src/runtime/rfc2822-headers.scm
src/runtime/rgxcmp.scm
src/runtime/socket.scm
src/runtime/stringio.scm
src/runtime/swank.scm
src/runtime/syncproc.scm
src/runtime/system.scm
src/runtime/ttyio.scm
src/runtime/unxprm.scm
src/runtime/unxpth.scm
src/runtime/usrint.scm
src/runtime/win32-registry.scm
src/ssp/mod-lisp.scm
src/xml/rdf-nt.scm
src/xml/turtle.scm
src/xml/xml-parser.scm
tests/runtime/test-boyer-moore.scm
tests/runtime/test-dynamic-env.scm

index 0d364246cecd99c104917fc32d788910afd0a1c9..f9276683401515c2e6d2fac646a559b8967b0a92 100644 (file)
@@ -301,7 +301,9 @@ Now, there is formatting stuff to be considered here, in print-pgm.sh.
 (define (->string object)
   (if (string? object)
       object
-      (with-output-to-string (lambda () (display object)))))
+      (call-with-output-string
+       (lambda (port)
+         (display object port)))))
 \f
 (define (load-ps-copy-file file source-dir dest-dir)
   (let ((source-file (merge-pathnames file source-dir))
index 327a7cd35726b1d49f4907f68fce9b7b90aa346e..1adeec2d481c28419ea0d924d12a79483fc29c86 100644 (file)
@@ -619,7 +619,7 @@ M-x rename-file, or use the `r' command in Dired.")
          (if (= start end)
              '()
              (let ((eol
-                    (or (substring-find-next-char string start end #\newline)
+                    (or (string-find-next-char string #\newline start end)
                         end)))
                (with-values
                    (lambda ()
@@ -897,8 +897,8 @@ M-x rename-file, or use the `r' command in Dired.")
            (valid-name?
             (lambda (end)
               (and (<= 1 end 8)
-                   (not (substring-find-next-char-in-set filename 0 end
-                                                         invalid-chars))
+                   (not (string-find-next-char-in-set filename invalid-chars
+                                                      0 end))
                    (not
                     (any (lambda (name)
                            (substring=? filename 0 end
@@ -911,8 +911,8 @@ M-x rename-file, or use the `r' command in Dired.")
              (valid-name? end)
              (and (valid-name? dot)
                   (<= 2 (- end dot) 4)
-                  (not (substring-find-next-char-in-set filename (+ dot 1) end
-                                                        invalid-chars)))))))))
+                  (not (string-find-next-char-in-set filename invalid-chars
+                                                     (+ dot 1) end)))))))))
 
 
 (define dos-filename-description
index c5d0fb3df6ef05a51726eb485639e3a59da0b1d1..9bf33b7300ced7b24912cbedf7ee1644b30bf2d6 100644 (file)
@@ -39,7 +39,7 @@ USA.
                  (and repl
                       (let ((port (cmdl/port repl)))
                         (let ((operation
-                               (port/operation
+                               (textual-port-operation
                                 port
                                 'CURRENT-EXPRESSION-CONTEXT)))
                           (and operation
index 38a3425afe42fde9be552da32b5efad49a7bd57f..5331e6cc91fd3229707b04f7076d95013ac51fbb 100644 (file)
@@ -78,7 +78,7 @@ USA.
 (define (write-rtl-instructions rtl port)
   (write-instructions
    (lambda ()
-     (with-output-to-port port
+     (parameterize* (list (cons current-output-port port))
        (lambda ()
         (for-each show-rtl-instruction rtl))))))
 
index 2b2de22e2744d3af29c26ed7c5e50e41aee66d9c..06f269d16e0cce804521e0411105168f625d3236 100644 (file)
@@ -1065,7 +1065,7 @@ USA.
       (parameterize* (list (cons param:unparser-radix 16)
                           (cons param:unparse-uninterned-symbols-by-name? #t))
         (lambda ()
-         (with-output-to-port port
+         (parameterize* (list (cons current-output-port port))
            (lambda ()
              (write-string "LAP for object ")
              (write *recursive-compilation-number*)
index 4e7012d9220e299b9e31ab92338094a3745ae838..72f59b07814672ca0d3a2a75a264fd60e68edfe2 100644 (file)
@@ -541,8 +541,8 @@ USA.
     (let loop ((src 0) (dst 0))
       (if (fix:>= src len)
          (substring temp 0 dst)
-         (let ((index (substring-find-next-char-in-set
-                       string src len char-set:C-string-quoted)))
+         (let ((index (string-find-next-char-in-set
+                       string char-set:C-string-quoted src len)))
            (if (not index)
                (begin
                  (substring-move! string src len temp dst)
index 8add3804c90942c94436c9c3e8671c1224f27532..216751e78a49f0e465f74347a4c5df5c94921228 100644 (file)
@@ -223,13 +223,13 @@ USA.
                 (lambda (port)
                   (let ((end (string-length comment)))
                     (let loop ((start 0) (index index))
-                      (write-substring comment start index port)
+                      (write-string comment port start index)
                       (write-string "*\\/" port)
                       (let ((index (+ index 2)))
                         (cond ((substring-search-forward "*/" comment index end)
                                => (lambda (index*) (loop index index*)))
                               (else
-                               (write-substring comment index end port))))))))))
+                               (write-string comment port index end))))))))))
         (else comment)))
 
 (define (c:string . content)
index d084e2569838fe31ab92d12ceedbfc0811e2447d..2057f614aa0eec84ea9b6cdafa4ccfbae2c409a9 100644 (file)
@@ -126,8 +126,10 @@ USA.
           offset
           (lambda ()
             (if comment
-                (let ((s (with-output-to-string
-                           (lambda () (display instruction)))))
+                (let ((s
+                       (call-with-output-string
+                         (lambda (port)
+                           (display instruction port)))))
                   (if (< (string-length s) 40)
                       (write-string (string-pad-right s 40))
                       (write-string s))
index d084e2569838fe31ab92d12ceedbfc0811e2447d..2057f614aa0eec84ea9b6cdafa4ccfbae2c409a9 100644 (file)
@@ -126,8 +126,10 @@ USA.
           offset
           (lambda ()
             (if comment
-                (let ((s (with-output-to-string
-                           (lambda () (display instruction)))))
+                (let ((s
+                       (call-with-output-string
+                         (lambda (port)
+                           (display instruction port)))))
                   (if (< (string-length s) 40)
                       (write-string (string-pad-right s 40))
                       (write-string s))
index ba3d96b7c812b96875233826cc9c1061ca1e47c6..dfa4e5a379e41ef1b3c0f3d7063e17d20ec17ba5 100644 (file)
@@ -1062,7 +1062,11 @@ Prefix argument means do not kill the debugger buffer."
       (write-string
        (string-pad-right
        (string-append
-        (cdr (with-output-to-truncated-string pad-width expression-thunk))
+        (cdr
+         (call-with-truncated-output-string pad-width
+           (lambda (port)
+             (parameterize* (list (cons current-output-port port))
+                            expression-thunk))))
         " ")
        pad-width
        #\-)
index 9d105591a691e62048c972c32c733fbaedf51cbe..15610b0912c2a770fb7382fed693de6f601fd0e4 100644 (file)
@@ -274,7 +274,8 @@ When locked, the buffer's major mode may not be changed."
 (define (with-output-to-temporary-buffer name properties thunk)
   (call-with-output-to-temporary-buffer name properties
     (lambda (port)
-      (with-output-to-port port thunk))))
+      (parameterize* (list (cons current-output-port port))
+                    thunk))))
 
 (define (call-with-temporary-buffer name procedure)
   (let ((buffer))
index 7053348d2de77aa32fc060e46d8aedfc5ca6cc17..443ca3a0507be266a1da38dec76d5b692650fcaf 100644 (file)
@@ -30,15 +30,18 @@ USA.
 \f
 (define (with-input-from-mark mark thunk #!optional receiver)
   (let ((port (make-buffer-input-port mark (group-end mark))))
-    (let ((value (with-input-from-port port thunk)))
+    (let ((value
+          (parameterize* (list (cons current-input-port port))
+                         thunk)))
       (if (default-object? receiver)
          value
          (receiver value (input-port/mark port))))))
 
 (define (with-input-from-region region thunk)
-  (with-input-from-port
-      (make-buffer-input-port (region-start region) (region-end region))
-    thunk))
+  (parameterize* (list (cons current-input-port
+                            (make-buffer-input-port (region-start region)
+                                                    (region-end region))))
+                thunk))
 
 (define (call-with-input-mark mark procedure)
   (procedure (make-buffer-input-port mark (group-end mark))))
@@ -57,7 +60,7 @@ USA.
                          (mark-index start))))
 
 (define (input-port/mark port)
-  (let ((operation (port/operation port 'BUFFER-MARK)))
+  (let ((operation (textual-port-operation port 'BUFFER-MARK)))
     (if (not operation)
        (error:bad-range-argument port 'INPUT-PORT/MARK))
     (operation port)))
index 2ebc95843444eee4be8662aa937a8f23eeb5855f..59979c4e151823a1edfc8b69eb67c25bdcd5baea 100644 (file)
@@ -32,7 +32,8 @@ USA.
 (define (with-output-to-mark mark thunk)
   (call-with-output-mark mark
     (lambda (port)
-      (with-output-to-port port thunk))))
+      (parameterize* (list (cons current-output-port port))
+                    thunk))))
 
 (define (call-with-output-mark mark procedure)
   (let ((port (mark->output-port mark)))
index dbcbbae1f61580971f216709a0861c50ebdd80e2..30cc5d47e68184c507b077f49428a2990b4a7d6f 100644 (file)
@@ -696,14 +696,16 @@ USA.
                                    (bline/depth bline)))))
                         (insert-horizontal-space indentation mark)
                         (let ((summary
-                               (with-output-to-truncated-string
-                                   (max summary-minimum-columns
-                                        (- columns indentation 4))
-                                 (lambda ()
-                                   ((bline-type/write-summary
-                                     (bline/type bline))
-                                    bline
-                                    (current-output-port))))))
+                               (call-with-truncated-output-string
+                                (max summary-minimum-columns
+                                     (- columns indentation 4))
+                                (lambda (port)
+                                  (parameterize* (list (cons current-output-port port))
+                                    (lambda ()
+                                      ((bline-type/write-summary
+                                        (bline/type bline))
+                                       bline
+                                       (current-output-port))))))))
                           (insert-string (cdr summary) mark)
                           (if (car summary)
                               (insert-string " ..." mark)))
@@ -1586,12 +1588,9 @@ once it has been renamed, it will not be deleted automatically.")
                      (+ (string-length name1)
                         (string-length separator))))
                 (write-string (string-tail
-                               (with-output-to-string
+                               (call-with-output-string
                                  (lambda ()
-                                   (pretty-print value
-                                                 (current-output-port)
-                                                 #t
-                                                 indentation)))
+                                   (pretty-print value port #t indentation)))
                                indentation)
                               port))))))
     (debugger-newline port)))
index 193aed4c0418d0e08300a314ec445bce22d37f8c..83ef83d5765fd91b5873f559d11594c9ec62d946 100644 (file)
@@ -417,14 +417,18 @@ Set by Scheme evaluation code to update the mode line."
 (define (editor-eval buffer sexp environment)
   (let ((core
         (lambda ()
-          (with-input-from-port dummy-i/o-port
+          (parameterize* (list (cons current-input-port dummy-i/o-port))
             (lambda ()
               (let ((value))
                 (let ((output-string
-                       (with-output-to-string
-                         (lambda ()
-                           (set! value (eval-with-history sexp environment))
-                           unspecific))))
+                       (call-with-output-string
+                         (lambda (port)
+                           (parameterize* (list (cons current-output-port
+                                                      port))
+                             (lambda ()
+                               (set! value
+                                     (eval-with-history sexp environment))
+                               unspecific))))))
                   (let ((evaluation-output-receiver
                          (ref-variable evaluation-output-receiver buffer)))
                     (if evaluation-output-receiver
@@ -482,13 +486,16 @@ Set by Scheme evaluation code to update the mode line."
               (let ((output-port
                      (mark->output-port (buffer-end buffer) buffer)))
                 (fresh-line output-port)
-                (with-output-to-port output-port thunk))))))
+                (parameterize* (list (cons current-output-port output-port))
+                               thunk))))))
       (let ((value))
        (let ((output
-              (with-output-to-string
-                (lambda ()
-                  (set! value (thunk))
-                  unspecific))))
+              (call-with-output-string
+                (lambda (port)
+                  (parameterize* (list (cons current-output-port port))
+                    (lambda ()
+                      (set! value (thunk))
+                      unspecific))))))
          (if (and (not (string-null? output))
                   (not (ref-variable evaluation-output-receiver)))
              (string->temporary-buffer output "*Unsolicited-Output*" '())))
index 032f90800428e62aa812866b1abbcf7599ac1dc2..fde80d69572a44de6c1d244a3188044a47b8c3c2 100644 (file)
@@ -61,7 +61,7 @@ USA.
   (bind-condition-handler (list condition-type:error)
       evaluation-error-handler
     (lambda ()
-      (with-input-from-port dummy-i/o-port
+      (parameterize* (list (cons current-input-port dummy-i/o-port))
        (lambda ()
          (with-output-to-transcript-buffer thunk))))))
 \f
index 2503fdc5cc38bd257d8ae29ad8030a6906529dc3..1f8a51da1889ac143d27d8a22ebdf9e092a1b4ef 100644 (file)
@@ -216,7 +216,7 @@ of the predicates is satisfied, the file is written in the usual way."
     (lambda (port)
       (if (not (ref-variable translate-file-data-on-input group))
          (port/set-line-ending port 'NEWLINE))
-      (let ((length ((port/operation port 'LENGTH) port)))
+      (let ((length ((textual-port-operation port 'LENGTH) port)))
        (bind-condition-handler (list condition-type:allocation-failure)
            (lambda (condition)
              condition
index c60226365b1f8a8e8a40efa1889705716567833a..8962f5c293dc5cf968166240402769399286a933 100644 (file)
@@ -316,7 +316,11 @@ If you want VALUE to be a string, you must surround it with doublequotes."
              (buffer-not-modified! buffer)))))))
 \f
 (define (with-output-to-help-display thunk)
-  (string->temporary-buffer (with-output-to-string thunk)
+  (string->temporary-buffer (call-with-output-string
+                             (lambda (port)
+                               (parameterize* (list (cons current-output-port
+                                                          port))
+                                              thunk)))
                            "*Help*"
                            '(READ-ONLY)))
 
index 4f858d5a68429f9164efa6b22b7d69136711840e..c2d8f6fd81ad3effdd33bca598d668c10406cca3 100644 (file)
@@ -221,7 +221,7 @@ Initialized from the SHELL environment variable."
         (or (let ((port (subprocess-input-port
                          (process-subprocess (car processes)))))
               (and port
-                   (port/open? port)
+                   (textual-port-open? port)
                    (call-with-current-continuation
                     (lambda (k)
                       (bind-condition-handler
@@ -244,7 +244,7 @@ Initialized from the SHELL environment variable."
 
 (define (poll-process-for-output process)
   (let ((port (subprocess-input-port (process-subprocess process))))
-    (and (port/open? port)
+    (and (textual-port-open? port)
         (let ((n
                (call-with-current-continuation
                 (lambda (k)
index 345817a63790b7de08e3ed94646c6e5e743074a8..c73536b23a328739462559d038a9e1de4821a79b 100644 (file)
@@ -920,7 +920,7 @@ the user from the mailer."
                 (append-message (buffer-length buffer) port)))
             (call-with-append-file pathname
               (lambda (port)
-                (append-message ((port/operation port 'LENGTH) port)
+                (append-message ((textual-port-operation port 'LENGTH) port)
                                 port)))))))
    pathnames))
 
index 60eca3a7088a9a87a58d677dffe96e52b6141833..5d7cee0f941c6532c1064f33ff1ba15786437269 100644 (file)
@@ -97,7 +97,7 @@ USA.
         (terminal-output-baud-rate channel))))
 
 (define (output-port/buffered-bytes port)
-  (let ((operation (port/operation port 'BUFFERED-OUTPUT-BYTES)))
+  (let ((operation (textual-port-operation port 'BUFFERED-OUTPUT-BYTES)))
     (if operation
        (operation port)
        0)))
index 91b685521b1f787a307bbbb5f2c088dfe92ab7c4..a0b879e21ecbe8148cf699640e25f5491a50885d 100644 (file)
@@ -33,7 +33,8 @@ USA.
   (with-output-to-window-point (current-window) thunk))
 
 (define (with-output-to-window-point window thunk)
-  (with-output-to-port (window-output-port window) thunk))
+  (parameterize* (list (cons current-output-port (window-output-port window)))
+                thunk))
 
 (define (window-output-port window)
   (make-port window-output-port-type window))
index da4d62b044651412f0c76dd7d27fa4bb11d08e0d..a98bd4c6b7236499b9d9ed87349fd2ffa3d46d47 100644 (file)
@@ -55,8 +55,9 @@ it, and spawn a thread to update it after every
        (thread-flags (list (cons (current-thread) "edwin"))))
 
     (define (new-report)
-      (with-output-to-string
-       (lambda () (world-report (current-output-port) thread-flags))))
+      (call-with-output-string
+       (lambda (port)
+         (world-report port thread-flags))))
 
     (define (sleep)
       (sleep-current-thread
index 6d4a83b269d977345d19dd3c97e19fe85627de33..f48523d12c722f0fec45a4b5548b1c96cbe5d32f 100644 (file)
@@ -1028,12 +1028,12 @@ USA.
 (define (write-header-fields headers port)
   (encode-header-fields headers
     (lambda (string start end)
-      (write-substring string start end port))))
+      (write-string string port start end))))
 
 (define (write-header-field header port)
   (encode-header-field header
     (lambda (string start end)
-      (write-substring string start end port))))
+      (write-string string port start end))))
 
 (define (header-fields->string headers)
   (call-with-output-string
@@ -1050,7 +1050,7 @@ USA.
    (lambda (port)
      (encode-header-field-value value
        (lambda (string start end)
-        (write-substring string start end port))))))
+        (write-string string port start end))))))
 \f
 (define (get-first-header-field headers name error?)
   (let loop ((headers (->header-fields headers)))
index 57613456f1ccf532bbdf98cc020bb44a14c96aa2..34f7c52bc07d3a677b0476ef9f7bf52a779fb0f2 100644 (file)
@@ -2155,7 +2155,7 @@ USA.
          (let ((n (read-string! buffer input-port)))
            (if (fix:> n 0)
                (begin
-                 (write-substring buffer 0 n output-port)
+                 (write-string buffer output-port 0 n)
                  (loop)))))))))
 
 (define (delete-file-recursively pathname)
index f1b018c617b36201c24ded57aae46b340efcaabe..b62850cf968c359aae0b5d47e5134d005fda87fd 100644 (file)
@@ -66,7 +66,7 @@ USA.
 (define-method write-mime-entity-body (mime-entity port)
   (guarantee-mime-entity mime-entity 'WRITE-MIME-ENTITY-BODY)
   (receive (string start end) (mime-entity-body-substring mime-entity)
-    (write-substring string start end port)))
+    (write-string string port start end)))
 \f
 ;;;; MIME Bodies
 
@@ -96,7 +96,7 @@ USA.
 
 (define-method write-mime-body ((body <mime-body>) port)
   (receive (string start end) (mime-body-substring body)
-    (write-substring string start end port)))
+    (write-string string port start end)))
 
 (define (mime-body-type-string body)
   (string-append (symbol->string (mime-body-type body))
@@ -565,7 +565,7 @@ USA.
                (lambda (output-port)
                  (with-mime-best-effort
                   (lambda ()
-                    (write-substring string start end output-port)))))))))))
+                    (write-string string output-port start end)))))))))))
 
 (define (mime:get-boundary parameters)
   (let ((parameter (assq 'BOUNDARY parameters)))
index cf92ac1f1889a43e1ef44fe569f38eb2586f60b1..8dce7d435e94b0c02437e0185301b895d7ea65b0 100644 (file)
@@ -425,7 +425,7 @@ USA.
 (define (read-file-into-string pathname)
   (call-with-legacy-binary-input-file pathname
     (lambda (port)
-      (let ((n-bytes ((port/operation port 'LENGTH) port)))
+      (let ((n-bytes ((textual-port-operation port 'LENGTH) port)))
        (let ((string (make-string n-bytes)))
          (let loop ((start 0))
            (if (< start n-bytes)
index e975d88f39c25f5a4f4288e533c13d824d4b2827..df690348a19c265237c46dd6772365102476becd 100644 (file)
@@ -552,7 +552,7 @@ USA.
 (define (read-substring!-internal string start end port)
   (let ((n-read (read-string! string port start end)))
     (if imap-transcript-port
-       (write-substring string start (+ start n-read) imap-transcript-port))
+       (write-string string imap-transcript-port start (+ start n-read)))
     n-read))
 \f
 (define (start-imap-transcript pathname)
@@ -572,9 +572,9 @@ USA.
       (write-char char imap-transcript-port)))
 
 (define (imap-transcript-write-substring string start end port)
-  (write-substring string start end port)
+  (write-string string port start end)
   (if imap-transcript-port
-      (write-substring string start end imap-transcript-port)))
+      (write-string string imap-transcript-port start end)))
 
 (define (imap-transcript-write-string string port)
   (write-string string port)
index c12246011a8d226614992943825040a4b942db0b..24770606bd411592529dfd17abd8169341ce22e3 100644 (file)
@@ -188,7 +188,7 @@ USA.
          (let ((n (read-substring! buffer 0 4096 input)))
            (if (> n 0)
                (begin
-                 (write-substring buffer 0 n output)
+                 (write-string buffer output 0 n)
                  (loop)))))))))
 
 (define (maybe-update-dependencies deps-filename source-files)
index 319e5ebe08f5337b755d0d810718e9cf8748b0aa..f71f8c228c819122c9e9baff67d7c38a161c5fe5 100644 (file)
@@ -260,7 +260,7 @@ USA.
         (lambda (object width)
           (let ((output (write-to-string object width)))
             (if (car output)
-                (substring-fill! (cdr output) (- width 3) width #\.))
+                (string-fill! (cdr output) #\. (- width 3) width))
             (write-string (cdr output) port)))))
     (if (default-object? result)
        (write-string "[Entering " port)
index fdf2aed664a8264d59bd24aee887c4485ca8e093..3b898cabbe308374137eb6616d2920b63dd8dc90 100644 (file)
@@ -54,7 +54,7 @@ USA.
               (let ((m
                      (blowfish-cfb64 input-buffer 0 n output-buffer 0
                                      key init-vector m encrypt?)))
-                (write-substring output-buffer 0 n output)
+                (write-string output-buffer output 0 n)
                 (loop m))))))
      (lambda ()
        (string-fill! input-buffer #\NUL)
index 9557846e966e9250a787cf2707a7ce79e4710938..49c3ab78f34e7aa89c8b55253fdfa7f3537b40e2 100644 (file)
@@ -567,11 +567,11 @@ USA.
   (char-set (cons start end)))
 
 (define (%char-set-table char-set)
-  (let ((table (make-vector-8b #x100)))
+  (let ((table (make-bytevector #x100)))
     (do ((cp 0 (fix:+ cp 1)))
        ((not (fix:< cp #x100)))
-      (vector-8b-set! table cp
-                     (if (%code-point-in-char-set? cp char-set) 1 0)))
+      (bytevector-u8-set! table cp
+                         (if (%code-point-in-char-set? cp char-set) 1 0)))
     table))
 
 (define (8-bit-char-set? char-set)
index bcc5b5ba8c2f01bb658fc6de092c7c0213c69703..9587e8e229451f5a4b9a3e83a3e6837d63939769 100644 (file)
@@ -403,7 +403,7 @@ USA.
 (define (mcrypt-encrypt context input input-start input-end
                        output output-start encrypt?)
   (guarantee-mcrypt-context context 'MCRYPT-ENCRYPT)
-  (substring-move! input input-start input-end output output-start)
+  (string-copy! output output-start input input-start input-end)
   (let ((code
         ((if encrypt?
              (ucode-primitive mcrypt_generic 4)
@@ -497,7 +497,7 @@ USA.
               (begin
                 (mcrypt-encrypt context input-buffer 0 n output-buffer 0
                                 encrypt?)
-                (write-substring output-buffer 0 n output)
+                (write-string output-buffer output 0 n)
                 (loop)))))
        (mcrypt-end context))
      (lambda ()
index 25f14638651e62c54d9612c6293f9ca64e00810d..50e6512ab2da182d88911e473c298333f34f5d89 100644 (file)
@@ -88,9 +88,13 @@ USA.
                    (write-string ">")
                    (exit unspecific))
                thunk))))))
-    (let ((x (with-output-to-truncated-string length thunk)))
+    (let ((x
+          (call-with-truncated-output-string length
+            (lambda (port)
+              (parameterize* (list (cons current-output-port port))
+                             thunk)))))
       (if (and (car x) (> length 4))
-         (substring-move! " ..." 0 4 (cdr x) (- length 4)))
+         (string-copy! (cdr x) (- length 4) " ..."))
       (cdr x))))
 
 (define (show-frames environment depth port)
index f19bb84fdd04dcdb2a585d18fa1ba0e7a781eb8c..63be1d995ecc4b29a7f90ffae6770efbcfbe643d 100644 (file)
@@ -122,7 +122,7 @@ USA.
         (lambda (posn)
           (let* ((len (string-length pattern))
                  (posn*
-                  (substring-find-next-char pattern (1+ posn) len #\*)))
+                  (string-find-next-char pattern #\* (1+ posn) len)))
             (if (not posn*)
                 (simple-wildcard-matcher pattern posn)
                 (let ((prefix (substring pattern 0 posn)))
@@ -132,7 +132,7 @@ USA.
                              (posn posn*))
                     (let* ((start (1+ posn))
                            (posn*
-                            (substring-find-next-char pattern start len #\*)))
+                            (string-find-next-char pattern #\* start len)))
                       (if (not posn*)
                           (full-wildcard-matcher
                            prefix
index ce039864caab93ba6617b1bbc336647cc1cf7927..283fa2e1b1de309b074d6cbe811386696171f034 100644 (file)
@@ -167,7 +167,7 @@ USA.
 
 (define (substring-components string start end delimiters)
   (let loop ((start start))
-    (let ((index (substring-find-next-char-in-set string start end delimiters)))
+    (let ((index (string-find-next-char-in-set string delimiters start end)))
       (if index
          (cons (substring string start index) (loop (fix:+ index 1)))
          (list (substring string start end))))))
index 4a6302ca15bf96c3f6da87245ae4afc90555072f..c09572addaffcfd72666ca93ef111effc0256668 100644 (file)
@@ -114,13 +114,13 @@ not much different to numbers within a few orders of magnitude of 1.
            ((< k+1-l (- n))
             (scientific-output digits k radix 0))
            ((negative? k)
-            (string-append "." (make-legacy-string (- k+1) #\0) digits))
+            (string-append "." (make-string (- k+1) #\0) digits))
            ((negative? k+1-l)
             (string-append (string-head digits k+1)
                            "."
                            (string-tail digits k+1)))
            ((<= k n)
-            (string-append digits (make-legacy-string k+1-l #\0) "."))
+            (string-append digits (make-string k+1-l #\0) "."))
            (else
             (scientific-output digits k radix 0))))))
 
@@ -137,7 +137,7 @@ not much different to numbers within a few orders of magnitude of 1.
     (cond ((= l 0)
           (string-append "0e" exponent))
          ((< l i)
-          (string-append digits (make-legacy-string (- i l) #\0) "e" exponent))
+          (string-append digits (make-string (- i l) #\0) "e" exponent))
          ((= l i)
           (string-append digits "e" exponent))
          (else
index ece60c73c5c358c172ad23987cc7bf7c1f944a3a..5b56ea257465c5fde5e0fef6c9ba09af5a261f13 100644 (file)
@@ -198,7 +198,7 @@ USA.
       (let ((buffer (make-string buffer-length)))
        (string-set! buffer 0 #\altmode)
        (string-set! buffer 1 type)
-       (substring-move! string 0 length buffer 2)
+       (string-copy! buffer 2 string 0 length)
        (string-set! buffer (- buffer-length 1) #\altmode)
        (output-port/flush-output port)
        (with-absolutely-no-interrupts
index 35d70416bbac3c9bf8ef7c00fbc587ef2af2487b..ca6ba622c68c3e5cf9d1a60c2956ebb279c6897b 100644 (file)
@@ -292,7 +292,7 @@ USA.
                ((string-prefix? "dlname='" line)
                 (let* ((start 8)
                        (end (string-length line))
-                       (close (substring-find-next-char line start end #\')))
+                       (close (string-find-next-char line #\' start end)))
                   (if close
                       (substring line start close)
                       (error "No closing delimiter in dlname setting:"
@@ -613,7 +613,7 @@ USA.
            (with-notification
             (lambda (port)
               (write-string "Loading " port)
-              (write-string (string-upcase (symbol-name name)) port)
+              (write-string (string-upcase (symbol->string name)) port)
               (write-string " option" port))
             kernel)))))
 \f
index ff02f0d1b82ed574ce8b823ceffe301e76133ef2..2c31a81458c464dfa4693d01ea6e4091ab752280 100644 (file)
@@ -231,7 +231,8 @@ USA.
 (define ((make-with-input-from-file call) input-specifier thunk)
   (call input-specifier
     (lambda (port)
-      (with-input-from-port port thunk))))
+      (parameterize* (list (cons current-input-port port))
+                    thunk))))
 
 (define with-input-from-file
   (make-with-input-from-file call-with-input-file))
@@ -242,7 +243,8 @@ USA.
 (define ((make-with-output-to-file call) output-specifier thunk)
   (call output-specifier
     (lambda (port)
-      (with-output-to-port port thunk))))
+      (parameterize* (list (cons current-output-port port))
+                    thunk))))
 
 (define with-output-to-file
   (make-with-output-to-file call-with-output-file))
index 28233b6e71824955dd1421bd60fee805285c9da1..f60d63684ad6779dcc6eb9608638eaa067706404 100644 (file)
@@ -61,7 +61,7 @@ USA.
           (format-loop port format-string arguments)
           (output-port/discretionary-flush port))))
     (cond ((not destination)
-          (with-output-to-string (lambda () (start (current-output-port)))))
+          (call-with-output-string start))
          ((eq? destination true)
           (start (current-output-port)))
          ((output-port? destination)
@@ -86,7 +86,10 @@ USA.
 
 (define (parse-dispatch port string supplied-arguments parsed-arguments
                        modifiers)
-  ((vector-ref format-dispatch-table (vector-8b-ref string 0))
+  ((let ((cp (char->integer (string-ref string 0))))
+     (if (fix:< cp #x100)
+        (vector-ref format-dispatch-table cp)
+        parse-default))
    port
    string
    supplied-arguments
@@ -199,9 +202,9 @@ USA.
                                ((if (memq 'AT modifiers)
                                     string-pad-left
                                     string-pad-right)
-                                (with-output-to-string
-                                  (lambda ()
-                                    (write (car arguments))))
+                                (call-with-output-string
+                                  (lambda (port)
+                                    (write (car arguments) port)))
                                 n-columns)))
   (format-loop port string (cdr arguments)))
 \f
index 312532bf10aa24de1be679b3cb65960d98d5397c..bbb7f86faddfffdfee8ebb5606cea1f0cab4b038 100644 (file)
@@ -40,12 +40,12 @@ USA.
 (define (stack-frame/debugging-info/default frame)
   (values (make-debugging-info/noise
           (lambda (long?)
-            (with-output-to-string
-              (lambda ()
-                (display "Unknown (methodless) ")
+            (call-with-output-string
+              (lambda (port)
+                (display "Unknown (methodless) " port)
                 (if long?
-                    (pp frame)
-                    (write frame))))))
+                    (pp frame port)
+                    (write frame port))))))
          undefined-environment
          undefined-expression))
 
@@ -187,9 +187,11 @@ USA.
          undefined-expression))
 
 (define ((hardware-trap-noise frame) long?)
-  (with-output-to-string
-    (lambda ()
-      (hardware-trap-frame/describe frame long?))))
+  (call-with-output-string
+    (lambda (port)
+      (parameterize* (list (cons current-output-port port))
+       (lambda ()
+         (hardware-trap-frame/describe frame long?))))))
 \f
 (define (method/compiled-code frame)
   (let ((get-environment
index df276d8b46548e76ec01f383c1b5c4fea0427033..bd45765e3f7ee044de8d29f9fc499f7814609100 100644 (file)
@@ -78,6 +78,6 @@ USA.
 
 (define (convert-old-method method)
   (lambda (state object)
-    (with-output-to-port (unparser-state/port state)
+    (parameterize* (list (cons current-output-port (unparser-state/port state)))
       (lambda ()
        (method object)))))
\ No newline at end of file
index dc9b9fd9726e06afa3c665f4b8d02ab453b32e23..7d7bef281e0ecdbb07c8d2424f53c80514fe2be0 100644 (file)
@@ -149,9 +149,10 @@ USA.
 (define with-values call-with-values)
 
 (define (write-to-string object #!optional max)
-  (if (or (default-object? max) (not max))
-      (with-output-to-string (lambda () (write object)))
-      (with-output-to-truncated-string max (lambda () (write object)))))
+  ((if (or (default-object? max) (not max))
+       call-with-output-string
+       call-with-truncated-output-string)
+   (lambda (port) (write object port))))
 \f
 (define (pa procedure)
   (guarantee procedure? procedure 'PA)
index cfb7db94bfa0db3818fce80ae072408f70d8d131..7771914469e2d183eb934db85c549f83ad9b28c9 100644 (file)
@@ -285,7 +285,7 @@ USA.
          (let ((m (read-string! buffer port 0 (min n len))))
            (if (= m 0)
                (error "Premature EOF in HTTP message body."))
-           (write-substring buffer 0 m output)
+           (write-string buffer output 0 m)
            (loop (- n m)))))))
 
 (define (%read-delimited-body headers port)
@@ -313,7 +313,7 @@ USA.
         (let ((n (read-string! buffer port)))
           (if (> n 0)
               (begin
-                (write-substring buffer 0 n output)
+                (write-string buffer output 0 n)
                 (loop)))))))))
 
 (define (%no-read-body)
index 6f3c103954e98b87d5ad6b0446b295cc877a5c5b..3e50b8aeb922badccb9354bd53ec105a6408c796 100644 (file)
@@ -516,7 +516,7 @@ USA.
       (define (retry-with-bigger-output-buffer)
        (let* ((new-size (fix:+ buffer-size (fix:quotient buffer-size 4)))
               (nbuffer (make-legacy-string new-size)))
-         (substring-move! buffer 0 buffer-size nbuffer 0)
+         (string-copy! nbuffer 0 buffer)
          (parse-command bp cp ip ip-end nbuffer new-size)))
 
       (define (refill-input-buffer-and-retry needed)
index b47301de52ffaa49789bb2f519057a42e67339d9..7916feb662402358df8da894df015cf7f2d68685 100644 (file)
@@ -203,14 +203,14 @@ USA.
 \f
 (define (fasl-file? pathname)
   (and (file-regular? pathname)
-       (call-with-legacy-binary-input-file pathname
+       (call-with-binary-input-file pathname
         (lambda (port)
           (let ((n (bytes-per-object)))
-            (let ((marker (make-legacy-string n)))
-              (and (eqv? (read-string! marker port) n)
+            (let ((marker (make-bytevector n)))
+              (and (eqv? (read-bytevector! marker port) n)
                    (let loop ((i 0))
                      (if (fix:< i n)
-                         (and (fix:= (vector-8b-ref marker i) #xFA)
+                         (and (fix:= (bytevector-u8-ref marker i) #xFA)
                               (loop (fix:+ i 1)))
                          #t)))))))))
 
index dd1d356bf7ca54bde41dcbc96202fdb717f06b62..61b14035f1d5ce55509d52185a868422281b8d9a 100644 (file)
@@ -81,7 +81,7 @@ USA.
         (start (fix:start-index start end caller)))
     (if (qp-encoding-context/text? context)
        (let loop ((start start))
-         (let ((i (substring-find-next-char string start end #\newline)))
+         (let ((i (string-find-next-char string #\newline start end)))
            (if i
                (begin
                  (encode-qp context string start i 'line-end)
@@ -216,7 +216,7 @@ USA.
         (end (fix:end-index end (string-length string) caller))
         (start (fix:start-index start end caller)))
     (let loop ((start start))
-      (let ((i (substring-find-next-char string start end #\newline)))
+      (let ((i (string-find-next-char string #\newline start end)))
        (if i
            (begin
              (decode-qp context
@@ -245,8 +245,8 @@ USA.
 
     (define (loop start)
       (let ((i
-            (substring-find-next-char-in-set string start end*
-                                             char-set:qp-encoded)))
+            (string-find-next-char-in-set string char-set:qp-encoded
+                                          start end*)))
        (if i
            (begin
              (write-string string port start i)
@@ -910,7 +910,7 @@ USA.
     (define (update string start end)
       (if (and (not (eq? state 'finished))
               (fix:< start end))
-         (let ((nl (substring-find-next-char string start end #\newline)))
+         (let ((nl (string-find-next-char string #\newline start end)))
            (if nl
                (begin
                  (builder (string-slice string start nl))
index 47d77e5a28f3a1ab4588067dcd49fdd8eaf95606..aaf84327a03764c02d13188ff0576e191de479b4 100644 (file)
@@ -75,11 +75,11 @@ USA.
       *parser-radix*))
 \f
 (define (parse-object port)
-  (let ((read-operation (port/operation port 'read)))
+  (let ((read-operation (textual-port-operation port 'read)))
     (if read-operation
        (read-operation port)
        (begin
-         (let ((read-start (port/operation port 'read-start)))
+         (let ((read-start (textual-port-operation port 'read-start)))
            (if read-start
                (read-start port)))
          (let restart ()
@@ -88,7 +88,8 @@ USA.
              (if (eq? object restart-parsing)
                  (restart)
                  (begin
-                   (let ((read-finish (port/operation port 'read-finish)))
+                   (let ((read-finish
+                          (textual-port-operation port 'read-finish)))
                      (if read-finish
                          (read-finish port)))
                    (finish-parsing object db)))))))))
@@ -840,7 +841,8 @@ USA.
   (make-db port
           (make-shared-objects)
           '()
-          (let ((operation (port/operation port 'discretionary-write-char)))
+          (let ((operation
+                 (textual-port-operation port 'discretionary-write-char)))
             (if operation
                 (lambda (char) (operation port char))
                 (lambda (char) char unspecific)))
@@ -852,12 +854,12 @@ USA.
           (required-unary-port-operation port 'read-char)))
 
 (define (required-unary-port-operation port operator)
-  (let ((operation (port/operation port operator)))
+  (let ((operation (textual-port-operation port operator)))
     (lambda ()
       (operation port))))
 
 (define (optional-unary-port-operation port operator default-value)
-  (let ((operation (port/operation port operator)))
+  (let ((operation (textual-port-operation port operator)))
     (if operation
        (lambda () (operation port))
        (lambda () default-value))))
index d3ac49a81a9a760651902f2ec60f04e6d694f97d..f224583a6c8fc6d78ed5032c230453acb6e94cfb 100644 (file)
@@ -209,10 +209,10 @@ USA.
                                string
                                #t)))
          (if regs
-             (write-substring string
-                              (re-match-start-index 2 regs)
-                              (re-match-end-index 2 regs)
-                              port)
+             (write-string string
+                           port
+                           (re-match-start-index 2 regs)
+                           (re-match-end-index 2 regs))
              (write-string string port))))
       (write-string "." port)))
 \f
index ebf5d06523eede887ddd90c494223e57860e9b66..df3eed44cc5c6f66eecc5eebe26cec5994f458c7 100644 (file)
@@ -538,7 +538,7 @@ USA.
 (define (transcribe-substring string start end port)
   (let ((tport (textual-port-transcript port)))
     (if tport
-       (write-substring string start end tport))))
+       (write-string string tport start end))))
 
 (define (flush-transcript port)
   (let ((tport (textual-port-transcript port)))
index 583aff8443b08087d618f153351210da45c510cb..c4e78dee345ba38e36ae858dd3cf78262dfa83c9 100644 (file)
@@ -216,8 +216,7 @@ USA.
   (let ((end (string-length s)))
     (let loop ((start 0) (parts '()))
       (let ((index
-            (substring-find-next-char-in-set s start end
-                                             char-set:alphabetic)))
+            (string-find-next-char-in-set s char-set:alphabetic start end)))
        (if index
            (loop (fix:+ index 1)
                  (cons* (let ((char (string-ref s index)))
index ffb880dc42abfb7fc959b5605c993aa33f813281..9d6dbbbe4ece5b22bfd6126719855d87c37206fa 100644 (file)
@@ -164,10 +164,7 @@ USA.
             (lambda (out)
               (let loop ((line line))
                 (let ((end (skip-wsp-right line 0 (string-length line))))
-                  (write-substring line
-                                   (skip-wsp-left line 0 end)
-                                   end
-                                   out))
+                  (write-string line out (skip-wsp-left line 0 end) end))
                 (if (let ((char (peek-char port)))
                       (if (eof-object? char)
                           (parse-error port
index b5e52785a5301b918fb567c11a66ff4e1730989a..ecb243f6b2c1098d27a24849579cd59ffc0f3a07 100644 (file)
@@ -212,14 +212,13 @@ USA.
                        ((fix:< n 256)
                         (vector-8b-set! result p re-code:exact-n)
                         (vector-8b-set! result (fix:1+ p) n)
-                        (substring-move! string i (fix:+ i n)
-                                         result (fix:+ p 2))
+                        (string-copy! result (fix:+ p 2) string i (fix:+ i n))
                         (make-compiled-regexp result case-fold?))
                        (else
                         (vector-8b-set! result p re-code:exact-n)
                         (vector-8b-set! result (fix:1+ p) 255)
                         (let ((j (fix:+ i 255)))
-                          (substring-move! string i j result (fix:+ p 2))
+                          (string-copy! result (fix:+ p 2) string i j)
                           (loop (fix:- n 255) j (fix:+ p 257)))))))))))))
 
 (define char-set:re-special
@@ -230,8 +229,8 @@ USA.
     (let ((n
           (let loop ((start 0) (n 0))
             (let ((index
-                   (substring-find-next-char-in-set string start end
-                                                    char-set:re-special)))
+                   (string-find-next-char-in-set string char-set:re-special
+                                                 start end)))
               (if index
                   (loop (1+ index) (1+ n))
                   n)))))
@@ -240,18 +239,18 @@ USA.
          (let ((result (make-legacy-string (+ end n))))
            (let loop ((start 0) (i 0))
              (let ((index
-                    (substring-find-next-char-in-set string start end
-                                                     char-set:re-special)))
+                    (string-find-next-char-in-set string char-set:re-special
+                                                  start end)))
                (if index
                    (begin
-                     (substring-move! string start index result i)
+                     (string-copy! result i string start index)
                      (let ((i (+ i (- index start))))
                        (string-set! result i #\\)
                        (string-set! result
                                     (1+ i)
                                     (string-ref string index))
                        (loop (1+ index) (+ i 2))))
-                   (substring-move! string start end result i))))
+                   (string-copy! result i string start end))))
            result)))))
 \f
 ;;;; Char-Set Compiler
index afffca8e2a58318b0f8ad0f961c8724b01151b20..a7b4472979d01517e9ee8a5cd3206ca2a2c4479c 100644 (file)
@@ -165,14 +165,14 @@ USA.
   unspecific)
 
 (define (socket/close-input port)
-  (if (port/open? port)
+  (if (textual-port-open? port)
       ((ucode-primitive shutdown-socket 2)
        (channel-descriptor (input-port-channel port))
        1))
   (generic-io/close-input port))
 
 (define (socket/close-output port)
-  (if (port/open? port)
+  (if (textual-port-open? port)
       ((ucode-primitive shutdown-socket 2)
        (channel-descriptor (input-port-channel port))
        2))
index fdb765a60cdf4e5d261469230b3d5f42ee661d13..ea30480fd8bb7a0c008d78f2dfcee40404353215 100644 (file)
@@ -33,7 +33,8 @@ USA.
 
 ;; obsolete
 (define (with-input-from-string string thunk)
-  (with-input-from-port (open-input-string string) thunk))
+  (parameterize* (list (cons current-input-port (open-input-string string)))
+                thunk))
 
 (define (call-with-input-string string procedure)
   (procedure (open-input-string string)))
@@ -74,7 +75,7 @@ USA.
   (let ((ss (textual-port-state port)))
     (if (fix:< (istate-next ss) (istate-end ss))
        (string-ref (istate-string ss) (istate-next ss))
-       (make-eof-object port))))
+       (eof-object))))
 
 (define (string-in/read-char port)
   (let ((ss (textual-port-state port)))
@@ -84,7 +85,7 @@ USA.
          (if (char=? char #\newline)
              (set-istate-line-number! ss (fix:+ 1 (istate-line-number ss))))
          char)
-       (make-eof-object port))))
+       (eof-object))))
 
 (define (string-in/input-line port)
   (istate-line-number (textual-port-state port)))
@@ -155,10 +156,10 @@ USA.
 ;;;; Output as characters
 
 (define (get-output-string port)
-  ((port/operation port 'extract-output) port))
+  ((textual-port-operation port 'extract-output) port))
 
 (define (get-output-string! port)
-  ((port/operation port 'extract-output!) port))
+  ((textual-port-operation port 'extract-output!) port))
 
 (define (call-with-output-string generator)
   (let ((port (open-output-string)))
@@ -174,13 +175,15 @@ USA.
 (define (with-output-to-string thunk)
   (call-with-output-string
     (lambda (port)
-      (with-output-to-port port thunk))))
+      (parameterize* (list (cons current-output-port port))
+                    thunk))))
 
 ;; deprecated
 (define (with-output-to-truncated-string limit thunk)
   (call-with-truncated-output-string limit
     (lambda (port)
-      (with-output-to-port port thunk))))
+      (parameterize* (list (cons current-output-port port))
+                    thunk))))
 \f
 (define (open-output-string)
   (make-textual-port string-output-type (make-ostate (string-builder) 0)))
@@ -247,7 +250,7 @@ USA.
              (loop (fix:+ i 1)
                    (new-column (string-ref string i) column))
              (set-ostate-column! os column)))))
-    (let ((nl (substring-find-previous-char string start end #\newline)))
+    (let ((nl (string-find-previous-char string #\newline start end)))
       (if nl
          (loop (fix:+ nl 1) 0)
          (loop start (ostate-column os))))))
index dda4b7f710ab99fdbcb6e31d2589962174863532..1ed7c676281d63e30eebb891d7e15f5e66237ba2 100644 (file)
@@ -306,7 +306,7 @@ USA.
   (let ((p (make-textual-port repl-port-type socket)))
     (dynamic-wind
        (lambda () unspecific)
-       (lambda () (with-output-to-port p thunk))
+       (lambda () (parameterize* (list (cons current-output-port p)) thunk))
        (lambda () (flush-output-port p)))))
 
 (define repl-port-type)
@@ -383,11 +383,13 @@ USA.
 
 (define (swank:disassemble-symbol socket string)
   socket
-  (with-output-to-string
-    (lambda ()
-      ((environment-lookup #f 'compiler:disassemble)
-       (eval (read-from-string string)
-            (buffer-env))))))
+  (call-with-output-string
+    (lambda (port)
+      (parameterize* (list (cons current-output-port port))
+       (lambda ()
+         ((environment-lookup #f 'compiler:disassemble)
+          (eval (read-from-string string)
+                (buffer-env))))))))
 
 ;;;; Directory Functions
 (define (swank:default-directory socket)
@@ -407,13 +409,18 @@ USA.
         (type (environment-reference-type env symbol))
         (binding (if (eq? type 'normal) (environment-lookup env symbol) #f))
         (binding-type (if binding (get-object-type-name binding) #f))
-        (params (if (and binding (procedure? binding)) (procedure-parameters symbol env) #f)))
+        (params
+         (if (and binding (procedure? binding))
+             (procedure-parameters symbol env)
+             #f)))
     (string-append
-     (format #f "~a in package ~a~a of type ~a.~%~%" (string-upcase (symbol->string symbol))
+     (format #f "~a in package ~a~a of type ~a.~%~%"
+            (string-upcase (symbol->string symbol))
             package
             (if (and binding
                      (procedure? binding))
-                (format #f " [originally defined in package ~a]" (env->pstring (procedure-environment binding)))
+                (format #f " [originally defined in package ~a]"
+                        (env->pstring (procedure-environment binding)))
                 "")
             (if binding-type binding-type type))
      (if binding
@@ -423,7 +430,8 @@ USA.
         (format #f "~%Signature: ~a.~%~%" params)
         "")
      (if binding
-        (format #f "It is:~%~%~a~%" (with-output-to-string (lambda () (pp binding))))
+        (format #f "It is:~%~%~a~%"
+                (call-with-output-string (lambda (port) (pp binding port))))
         ""))))
 
 (define (swank:describe-function socket function)
@@ -473,10 +481,11 @@ USA.
 
 (define (swank:swank-macroexpand-all socket string)
   socket
-  (with-output-to-string
-    (lambda ()
+  (call-with-output-string
+    (lambda (port)
       (pp (syntax (read-from-string string)
-                 (buffer-env))))))
+                 (buffer-env))
+         port))))
 
 (define swank:swank-macroexpand-1 swank:swank-macroexpand-all)
 (define swank:swank-macroexpand swank:swank-macroexpand-all)
@@ -485,10 +494,13 @@ USA.
   socket
   (let ((v (ignore-errors
            (lambda ()
-             (with-output-to-string
-               (lambda ()
-                 (carefully-pa
-                  (eval (read-from-string name) (pstring->env pstring)))))))))
+             (call-with-output-string
+               (lambda (port)
+                 (parameterize* (list (cons current-output-port port))
+                   (lambda ()
+                     (carefully-pa
+                      (eval (read-from-string name)
+                            (pstring->env pstring)))))))))))
     (if (condition? v) 'NIL v)))
 
 (define (carefully-pa o)
@@ -535,8 +547,14 @@ USA.
                   (let ((binding (environment-lookup env symbol)))
                     (if (and binding
                              (procedure? binding))
-                        (cons symbol (read-from-string (string-trim (with-output-to-string
-                                                                      (lambda () (pa binding))))))
+                        (cons symbol
+                              (read-from-string
+                               (string-trim
+                                (call-with-output-string
+                                  (lambda (port)
+                                    (parameterize*
+                                     (list (cons current-output-port port))
+                                     (lambda () (pa binding))))))))
                         #f))
                   (let ((extra (assq symbol swank-extra-documentation)))
                     (if extra
@@ -685,7 +703,7 @@ swank:xref
 (define (sldb-restarts restarts)
   (map (lambda (r)
         (list (symbol->string (restart/name r))
-              (with-string-output-port
+              (call-with-output-string
                (lambda (p) (write-restart-report r p)))))
        restarts))
 
@@ -1058,9 +1076,12 @@ swank:xref
                               (lambda () (procedure-environment o))))))
        (else
         (stream (iline "block" (compiled-entry/block o))
-                (with-output-to-string
-                  (lambda ()
-                    ((environment-lookup #f 'compiler:disassemble) o)))))))
+                (call-with-output-string
+                  (lambda (port)
+                    (parameterize* (list (cons current-output-port port))
+                      (lambda ()
+                        ((environment-lookup #f 'compiler:disassemble)
+                         o)))))))))
 
 (define (inspect-code-block block)
   (let loop ((i (compiled-code-block/constants-start block)))
@@ -1069,9 +1090,12 @@ swank:xref
                     (loop (+ i compiled-code-block/bytes-per-object)))
        (stream (iline "debuginfo" (compiled-code-block/debugging-info block))
                (iline "env" (compiled-code-block/environment block))
-               (with-output-to-string
-                 (lambda ()
-                   ((environment-lookup #f 'compiler:disassemble) block)))))))
+               (call-with-output-string
+                 (lambda (port)
+                   (parameterize* (list (cons current-output-port port))
+                     (lambda ()
+                       ((environment-lookup #f 'compiler:disassemble)
+                        block)))))))))
 
 (define (inspect-scode o)
   (stream (pprint-to-string o)))
index 3189220f43de03fded015c9f9d5ed4f15a798257..366adf4d30430ceda3111fe76b63fde18106af70 100644 (file)
@@ -192,7 +192,7 @@ USA.
 \f
 (define (call-with-input-copier process process-input nonblock? bsize receiver)
   (let ((port (subprocess-output-port process)))
-    (let ((output-port/close (port/operation port 'CLOSE-OUTPUT)))
+    (let ((output-port/close (textual-port-operation port 'CLOSE-OUTPUT)))
       (if process-input
          (handle-broken-pipe process
            (lambda ()
@@ -232,8 +232,8 @@ USA.
 (define (call-with-output-copier process process-output nonblock? bsize
                                 receiver)
   (let ((port (subprocess-input-port process)))
-    (let ((input-port/open? (port/operation port 'INPUT-OPEN?))
-         (input-port/close (port/operation port 'CLOSE-INPUT)))
+    (let ((input-port/open? (textual-port-operation port 'INPUT-OPEN?))
+         (input-port/close (textual-port-operation port 'CLOSE-INPUT)))
       (if process-output
          (let ((buffer (make-string bsize)))
            (let ((copy-output
index 3eeca778d0affaf837fd73336b785bb8b74c461c..be464007eac189ceae0521f97e4c4dfbcffa85be 100644 (file)
@@ -118,9 +118,10 @@ USA.
 
 (define (match-entry? name entry)
   (let ((s (car entry)))
-    (substring-ci=? name 0 (string-length name)
-                   s 0
-                   (or (string-find-next-char s #\space)
-                       (string-length s)))))
+    (string-ci=? name
+                (let ((space (string-find-next-char s #\space)))
+                  (if space
+                      (string-slice s 0 space)
+                      s)))))
 
 (define subsystem-identifications '())
\ No newline at end of file
index ba1088f141e64e7882be3675ee0a9cc13053f7a6..81812ef21ce578decdbd35596e154c35547a1ef8 100644 (file)
@@ -55,8 +55,8 @@ USA.
        (set-channel-port! output-channel port)
        (set! the-console-port port)
        (set-console-i/o-port! port)
-       (set-current-input-port! port)
-       (set-current-output-port! port))))
+       (current-input-port port)
+       (current-output-port port))))
   (set! port/echo-input? (generic-i/o-port-accessor 0))
   (add-event-receiver! event:before-exit save-console-input)
   (add-event-receiver! event:after-restore reset-console))
index 2999dab3fd5b7f8939b2f3d4544d6ba76a521835..90744cb75f5551501cc8cb6776a6d8c117bc5a4d 100644 (file)
@@ -379,7 +379,7 @@ USA.
               (buffer-length 8192))
           (if (zero? source-length)
               0
-              (let* ((buffer (make-legacy-string buffer-length))
+              (let* ((buffer (make-bytevector buffer-length))
                      (transfer
                       (lambda (length)
                         (let ((n-read
@@ -475,7 +475,7 @@ USA.
           (pathname-as-directory (substring string start end)))))
     (let loop ((start 0))
       (if (< start end)
-         (let ((index (substring-find-next-char string start end #\:)))
+         (let ((index (string-find-next-char string #\: start end)))
            (if index
                (cons (if (= index start)
                          #f
index 5613efe524bcbbd0a1842627fce944ff181586fa..1831c545fb66fcb957b16118f3f49df54e6b8ed7 100644 (file)
@@ -127,7 +127,7 @@ USA.
 
 (define (substring-components string start end delimiter)
   (let loop ((start start))
-    (let ((index (substring-find-next-char string start end delimiter)))
+    (let ((index (string-find-next-char string delimiter start end)))
       (if index
          (cons (substring string start index) (loop (fix:+ index 1)))
          (list (substring string start end))))))
index f00a1698e921994788d1cb2bc59ab8f963dd24de..59f0305c729d3a2b7e2d2a75dfb83d188c95d8f8 100644 (file)
@@ -37,7 +37,8 @@ USA.
        (environment
         (optional-environment environment 'PROMPT-FOR-COMMAND-EXPRESSION))
        (level (nearest-cmdl/level)))
-    (let ((operation (port/operation port 'PROMPT-FOR-COMMAND-EXPRESSION)))
+    (let ((operation
+          (textual-port-operation port 'PROMPT-FOR-COMMAND-EXPRESSION)))
       (if operation
          (operation port environment prompt level)
          (begin
@@ -67,7 +68,7 @@ USA.
 
 (define (%prompt-for-expression port environment prompt caller)
   (let ((prompt (canonicalize-prompt prompt ": ")))
-    (let ((operation (port/operation port 'PROMPT-FOR-EXPRESSION)))
+    (let ((operation (textual-port-operation port 'PROMPT-FOR-EXPRESSION)))
       (if operation
          (operation port environment prompt)
          (begin
@@ -96,7 +97,7 @@ USA.
   (let ((prompt (canonicalize-command-prompt prompt))
        (port (if (default-object? port) (interaction-i/o-port) port))
        (level (nearest-cmdl/level)))
-    (let ((operation (port/operation port 'PROMPT-FOR-COMMAND-CHAR)))
+    (let ((operation (textual-port-operation port 'PROMPT-FOR-COMMAND-CHAR)))
       (if operation
          (operation port prompt level)
          (default/prompt-for-command-char port prompt level)))))
@@ -120,7 +121,7 @@ USA.
 (define (prompt-for-confirmation prompt #!optional port)
   (let ((prompt (canonicalize-prompt prompt " (y or n)? "))
        (port (if (default-object? port) (interaction-i/o-port) port)))
-    (let ((operation (port/operation port 'PROMPT-FOR-CONFIRMATION)))
+    (let ((operation (textual-port-operation port 'PROMPT-FOR-CONFIRMATION)))
       (if operation
          (operation port prompt)
          (default/prompt-for-confirmation port prompt)))))
@@ -165,7 +166,7 @@ USA.
 (define (prompt-for-string prompt #!optional port)
   ;; Returns a string (the normal, "cooked" input line) or eof-object.
   (let ((port (if (default-object? port) (interaction-i/o-port) port)))
-    (let ((operation (port/operation port 'PROMPT-FOR-STRING)))
+    (let ((operation (textual-port-operation port 'PROMPT-FOR-STRING)))
       (if operation
          (operation port prompt)
          (default/prompt-for-string port prompt)))))
@@ -188,7 +189,7 @@ USA.
             (begin
               (guarantee textual-i/o-port? port 'call-with-pass-phrase)
               port))))
-    (let ((operation (port/operation port 'call-with-pass-phrase)))
+    (let ((operation (textual-port-operation port 'call-with-pass-phrase)))
       (if operation
          (operation port prompt receiver)
          (default/call-with-pass-phrase port prompt receiver)))))
@@ -291,7 +292,7 @@ USA.
 ;;;; Debugger Support
 
 (define (port/debugger-failure port message)
-  (let ((operation (port/operation port 'DEBUGGER-FAILURE)))
+  (let ((operation (textual-port-operation port 'DEBUGGER-FAILURE)))
     (if operation
        (operation port message)
        (default/debugger-failure port message))))
@@ -301,7 +302,7 @@ USA.
   (default/debugger-message port message))
 
 (define (port/debugger-message port message)
-  (let ((operation (port/operation port 'DEBUGGER-MESSAGE)))
+  (let ((operation (textual-port-operation port 'DEBUGGER-MESSAGE)))
     (if operation
        (operation port message)
        (default/debugger-message port message))))
@@ -311,7 +312,7 @@ USA.
   (write-string message port))
 
 (define (port/debugger-presentation port thunk)
-  (let ((operation (port/operation port 'DEBUGGER-PRESENTATION)))
+  (let ((operation (textual-port-operation port 'DEBUGGER-PRESENTATION)))
     (if operation
        (operation port thunk)
        (default/debugger-presentation port thunk))))
@@ -324,7 +325,7 @@ USA.
 
 (define (port/write-result port expression value hash-number
                           #!optional environment)
-  (let ((operation (port/operation port 'WRITE-RESULT))
+  (let ((operation (textual-port-operation port 'WRITE-RESULT))
        (environment
         (if (default-object? environment)
             (nearest-repl/environment)
@@ -355,32 +356,32 @@ USA.
 (define write-result:undefined-value-is-special? true)
 
 (define (port/set-default-directory port directory)
-  (let ((operation (port/operation port 'SET-DEFAULT-DIRECTORY)))
+  (let ((operation (textual-port-operation port 'SET-DEFAULT-DIRECTORY)))
     (if operation
        (operation port directory))))
 
 (define (port/set-default-environment port environment)
-  (let ((operation (port/operation port 'SET-DEFAULT-ENVIRONMENT)))
+  (let ((operation (textual-port-operation port 'SET-DEFAULT-ENVIRONMENT)))
     (if operation
        (operation port environment))))
 
 (define (port/gc-start port)
-  (let ((operation (port/operation port 'GC-START)))
+  (let ((operation (textual-port-operation port 'GC-START)))
     (if (and operation (not (*within-restore-window?*)))
        (operation port))))
 
 (define (port/gc-finish port)
-  (let ((operation (port/operation port 'GC-FINISH)))
+  (let ((operation (textual-port-operation port 'GC-FINISH)))
     (if (and operation (not (*within-restore-window?*)))
        (operation port))))
 
 (define (port/read-start port)
-  (let ((operation (port/operation port 'READ-START)))
+  (let ((operation (textual-port-operation port 'READ-START)))
     (if operation
        (operation port))))
 
 (define (port/read-finish port)
-  (let ((operation (port/operation port 'READ-FINISH)))
+  (let ((operation (textual-port-operation port 'READ-FINISH)))
     (if operation
        (operation port))))
 \f
@@ -444,7 +445,7 @@ USA.
 
 (define (operation/x-size port)
   (let ((port* (textual-port-state port)))
-    (let ((op (port/operation port* 'X-SIZE)))
+    (let ((op (textual-port-operation port* 'X-SIZE)))
       (and op
           (let ((n (op port*)))
             (and n
@@ -453,7 +454,7 @@ USA.
 
 (define (operation/column port)
   (let ((port* (textual-port-state port)))
-    (let ((op (port/operation port* 'COLUMN)))
+    (let ((op (textual-port-operation port* 'COLUMN)))
       (and op
           (let ((n (op port*)))
             (and n
index eb80ab49703c809273e248e438e2796703494eb3..c57bfbc43f575bba09f2d322b7788e58f8c3bc2b 100644 (file)
@@ -398,7 +398,7 @@ USA.
 (define (burst-string string delimiter)
   (let ((end (string-length string)))
     (let loop ((start 0) (result '()))
-      (let ((index (substring-find-next-char string start end delimiter)))
+      (let ((index (string-find-next-char string delimiter start end)))
        (if index
            (loop (fix:+ index 1)
                  (cons (substring string start index) result))
index 025e4e44ec2355c9f00fa9d0d0b361cb8269e598..c3d3491240f2e9d9378612dc05b47bc8aea1f978 100644 (file)
@@ -795,7 +795,7 @@ USA.
        (cond ((not n)
               (loop))
              ((> n 0)
-              (write-substring buffer 0 n output)
+              (write-string buffer output 0 n)
               (loop)))))))
 
 (define (for-each-file-line pathname procedure)
index 2f1602c3a3b49a6bf7ec13157e0b397d23753d89..564290b28a5e5cf49d158f445200bb4b3452a4d6 100644 (file)
@@ -131,7 +131,7 @@ USA.
                    (loop)))
              (call-with-parser-buffer-tail b p
                (lambda (string start end)
-                 (write-substring string start end port))))))
+                 (write-string string port start end))))))
       (let ((char
             (let ((p (get-parser-buffer-pointer b)))
               (and (match-parser-buffer-char b #\\)
index 44ed2eb6474b1cb0b00492e050b8406fbda4bd67..96042c3ffba1218196a195b31f7e3b7a698516f0 100644 (file)
@@ -365,7 +365,7 @@ USA.
       (define (copy p)
        (call-with-parser-buffer-tail buffer p
          (lambda (string start end)
-           (write-substring string start end output))))
+           (write-string string output start end))))
 
       (define (finish)
        (vector (get-output-string output)))
@@ -939,7 +939,7 @@ USA.
            (if (*match-string match:name s start end)
                (begin
                  (write-string (symbol->string prefix) port)
-                 (write-substring s start end port))
+                 (write-string s port start end))
                (write-rdf/nt-uri uri port)))
          (write-rdf/nt-uri uri port)))))
 \f
index e99111a095797d58161af602456df1801e06e00d..2b4025984e524c2058d5ba120f8f6a74f409788e 100644 (file)
@@ -891,7 +891,7 @@ USA.
          (let ((builder (string-builder)))
            (let loop ((start 0))
              (let ((index
-                    (substring-find-next-char string start end #\return)))
+                    (string-find-next-char string #\return start end)))
                (if index
                    (begin
                      (builder #\newline)
index 6d686b698b54f17afe05b23cf80348396742a9ea..fdd5c2a28cfd74eff9dfd40761d2223bd01e4fcb 100644 (file)
@@ -74,7 +74,7 @@ USA.
 (define (file->string filename)
   (call-with-input-file filename
     (lambda (port)
-      ((port/operation port 'REST->STRING) port))))
+      ((textual-port-operation port 'REST->STRING) port))))
 \f
 (define (search-speed-test text die-length die-skew procedure n-repeats)
   (let ((entries (map car (dice-text text die-length die-skew))))
index 301630e883076157924e71ce4de7e63069890a80..7e9e68b3290b0ca8ea0839836964759d5d6d2171 100644 (file)
@@ -73,7 +73,8 @@ USA.
     (assert-equal
      (call-with-output-string
       (lambda (port)
-       (with-output-to-port port complicated-dynamic-parameter)))
+       (parameterize* (list (cons current-output-port port))
+                      complicated-dynamic-parameter)))
      "1
 2
 1