1
0
mirror of synced 2026-01-12 00:42:56 +00:00

Rmk52 fix external format for error stream (#817)

* CLSTREAMS: Fix EOL/external format on error stream (synonym and 2-way) #815

* CMLFORMAT: makefile NEW to get functions in filemap

* CLSTREAMS: cleanup formats for more types

* FILEIO:  Add readonly bit in streams for external-format
This commit is contained in:
rmkaplan 2022-07-09 17:08:16 -07:00 committed by GitHub
parent 06953f408a
commit 718d9f988c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 748 additions and 494 deletions

View File

@ -1,12 +1,13 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10)
(FILECREATED " 3-Jul-2022 14:17:13" 
|{DSK}<users>kaplan>local>medley3.5>working-medley>sources>CLSTREAMS.;5| 55647
(FILECREATED " 6-Jul-2022 11:56:07" 
|{DSK}<users>kaplan>local>medley3.5>working-medley>sources>CLSTREAMS.;37| 65858
:CHANGES-TO (FNS %INITIALIZE-CLSTREAM-TYPES)
:CHANGES-TO (FUNCTIONS CL:MAKE-SYNONYM-STREAM CL:MAKE-BROADCAST-STREAM
CL:MAKE-CONCATENATED-STREAM CL:MAKE-TWO-WAY-STREAM CL:MAKE-ECHO-STREAM)
:PREVIOUS-DATE "20-Jan-2022 09:16:52"
|{DSK}<users>kaplan>local>medley3.5>working-medley>sources>CLSTREAMS.;4|)
:PREVIOUS-DATE " 5-Jul-2022 23:12:39"
|{DSK}<users>kaplan>local>medley3.5>working-medley>sources>CLSTREAMS.;36|)
; Copyright (c) 1985-1988, 1990-1991 by Venue & Xerox Corporation.
@ -48,38 +49,52 @@
(FUNCTIONS %NEW-FILE PREDICT-NAME)
(DECLARE\: EVAL@COMPILE DONTCOPY (FUNCTIONS INTERLISP-ACCESS)))
(COMS
(* |;;| "methods for the special devices")
(* |;;| "methods for the special devices")
(FNS %BROADCAST-STREAM-DEVICE-BOUT %BROADCAST-STREAM-DEVICE-OUTCHARFN
%BROADCAST-STREAM-DEVICE-CLOSEFILE %BROADCAST-STREAM-DEVICE-FORCEOUTPUT)
(COMS (* \; "broadcast streams")
(FNS %BROADCAST-STREAM-DEVICE-BOUT %BROADCAST-STREAM-DEVICE-CLOSEFILE
%BROADCAST-STREAM-DEVICE-FORCEOUTPUT)
(FUNCTIONS %BROADCAST-STREAM-DEVICE-CHARSETFN)
(FNS %BROADCAST-STREAM-OUTCHARFN))
(COMS (* \; "Concatenated streams")
(FNS %CONCATENATED-STREAM-DEVICE-BIN %CONCATENATED-STREAM-DEVICE-CLOSEFILE
%CONCATENATED-STREAM-DEVICE-EOFP %CONCATENATED-STREAM-DEVICE-PEEKBIN
%CONCATENATED-STREAM-DEVICE-BACKFILEPTR)
(FUNCTIONS %CONCATENATED-STREAM-DEVICE-CHARSETFN)
(FNS %ECHO-STREAM-DEVICE-BIN)
(FNS %CONCATENATED-STREAM-INCCODEFN %CONCATENATED-STREAM-PEEKCCODEFN
%CONCATENATED-STREAM-BACKCCODEFN)
(FUNCTIONS %CONCATENATED-STREAM-DEVICE-CHARSETFN))
(FNS %ECHO-STREAM-DEVICE-BIN %ECHO-STREAM-INCCODEFN)
(COMS (* \; "Synonym streams")
(FUNCTIONS %SYNONYM-STREAM-DEVICE-GET-INDIRECT-STREAM)
(FNS %SYNONYM-STREAM-DEVICE-BIN %SYNONYM-STREAM-DEVICE-BOUT
%SYNONYM-STREAM-DEVICE-OUTCHARFN %SYNONYM-STREAM-DEVICE-CLOSEFILE
%SYNONYM-STREAM-DEVICE-EOFP %SYNONYM-STREAM-DEVICE-FORCEOUTPUT
%SYNONYM-STREAM-DEVICE-GETFILEINFO %SYNONYM-STREAM-DEVICE-PEEKBIN
%SYNONYM-STREAM-DEVICE-READP %SYNONYM-STREAM-DEVICE-BACKFILEPTR
%SYNONYM-STREAM-DEVICE-SETFILEINFO %SYNONYM-STREAM-DEVICE-CHARSETFN)
(FNS %SYNONYM-STREAM-DEVICE-BIN %SYNONYM-STREAM-DEVICE-BOUT %SYNONYM-STREAM-DEVICE-EOFP
%SYNONYM-STREAM-DEVICE-FORCEOUTPUT %SYNONYM-STREAM-DEVICE-GETFILEINFO
%SYNONYM-STREAM-DEVICE-PEEKBIN %SYNONYM-STREAM-DEVICE-READP
%SYNONYM-STREAM-DEVICE-BACKFILEPTR %SYNONYM-STREAM-DEVICE-SETFILEINFO
%SYNONYM-STREAM-DEVICE-CHARSETFN %SYNONYM-STREAM-DEVICE-CLOSEFILE)
(* |;;| "helper ")
(FNS %SYNONYM-STREAM-DEVICE-GET-STREAM)
(* |;;| "Synonym external format")
(FNS %SYNONYM-STREAM-OUTCHARFN %SYNONYM-STREAM-INCCODEFN %SYNONYM-STREAM-PEEKCCODEFN
%SYNONYM-STREAM-BACKCCODEFN))
(COMS (* \; "Two-way streams")
(FNS %TWO-WAY-STREAM-BACKCCODEFN %TWO-WAY-STREAM-INCCODEFN %TWO-WAY-STREAM-OUTCHARFN
%TWO-WAY-STREAM-PEEKCCODEFN)
(FNS %TWO-WAY-STREAM-DEVICE-BIN %TWO-WAY-STREAM-DEVICE-INPUTSTREAM
%TWO-WAY-STREAM-DEVICE-BOUT %TWO-WAY-STREAM-DEVICE-OUTPUTSTREAM
%TWO-WAY-STREAM-DEVICE-OUTCHARFN %TWO-WAY-STREAM-DEVICE-CLOSEFILE
%TWO-WAY-STREAM-DEVICE-EOFP %TWO-WAY-STREAM-DEVICE-READP
%TWO-WAY-STREAM-DEVICE-BACKFILEPTR %TWO-WAY-STREAM-DEVICE-FORCEOUTPUT
%TWO-WAY-STREAM-DEVICE-PEEKBIN %TWO-WAY-STREAM-DEVICE-CHARSETFN)
%TWO-WAY-STREAM-DEVICE-PEEKBIN %TWO-WAY-STREAM-DEVICE-CHARSETFN))
(COMS (* \; "Fill-pointer streams")
(FUNCTIONS %FILL-POINTER-STREAM-DEVICE-CLOSEFILE %FILL-POINTER-STREAM-DEVICE-GETFILEPTR
)
(GLOBALVARS %SYNONYM-STREAM-DEVICE %BROADCAST-STREAM-DEVICE %CONCATENATED-STREAM-DEVICE
%TWO-WAY-STREAM-DEVICE %ECHO-STREAM-DEVICE \\FILL-POINTER-STREAM-DEVICE))
(COMS
(* |;;| "helper stuff")
(FNS %SYNONYM-STREAM-DEVICE-GET-STREAM))
))
(GLOBALVARS %SYNONYM-STREAM-DEVICE %BROADCAST-STREAM-DEVICE %CONCATENATED-STREAM-DEVICE
%TWO-WAY-STREAM-DEVICE %ECHO-STREAM-DEVICE \\FILL-POINTER-STREAM-DEVICE)
(COMS
(* |;;| "module initialization")
@ -304,16 +319,17 @@
(CL:DEFSETF FILE-STREAM-POSITION SETFILEPTR)
(CL:DEFUN CL:MAKE-SYNONYM-STREAM (CL:SYMBOL)
(CL:DEFUN CL:MAKE-SYNONYM-STREAM (CL:SYMBOL) (* \; "Edited 6-Jul-2022 11:53 by rmk")
(* \; "Edited 3-Jul-2022 22:03 by rmk")
(* |;;| "A CommonLisp function for shadowing a stream. See CLtL p. 329")
(* |;;| "A CommonLisp function for shadowing a stream. See CLtL p. 329 or Steele p 500")
(LET ((STREAM (|create| STREAM
DEVICE _ %SYNONYM-STREAM-DEVICE
ACCESS _ 'BOTH
F1 _ CL:SYMBOL
LINELENGTH _ (|fetch| (STREAM LINELENGTH) |of| (CL:SYMBOL-VALUE CL:SYMBOL))
OUTCHARFN _ (FUNCTION %SYNONYM-STREAM-DEVICE-OUTCHARFN))))
READONLY-EXTERNALFORMAT _ T)))
(STREAMPROP STREAM 'XCL:SYNONYM-STREAM-P T)
(* |;;| "save the synonym stream in the OPENFILELST field of %SYNONYM-STREAM-DEVICE")
@ -342,20 +358,15 @@
(XCL:FOLLOW-SYNONYM-STREAMS (CL:SYMBOL-VALUE (XCL:SYNONYM-STREAM-SYMBOL STREAM)))
STREAM))
(CL:DEFUN CL:MAKE-BROADCAST-STREAM (&REST STREAMS)
(* |;;| "CommonLisp function that makes a broadcast stream. See CLtL p329")
(IF (FOR STREAM? IN STREAMS ALWAYS (STREAMP STREAM?))
THEN (LET ((STREAM (|create| STREAM
DEVICE _ %BROADCAST-STREAM-DEVICE
ACCESS _ 'OUTPUT
F1 _ STREAMS
OUTCHARFN _ (FUNCTION %BROADCAST-STREAM-DEVICE-OUTCHARFN))))
(STREAMPROP STREAM 'XCL:BROADCAST-STREAM-P T)
STREAM)
ELSE (\\ILLEGAL.ARG (FOR STREAM? IN STREAMS WHEN (NOT (STREAMP STREAM?))
DO (RETURN STREAM?)))))
(CL:DEFUN CL:MAKE-BROADCAST-STREAM (&REST STREAMS) (* \; "Edited 6-Jul-2022 11:53 by rmk")
(FOR STREAM? IN STREAMS DO (\\GETSTREAM STREAM? 'OUTPUT))
(LET ((STREAM (|create| STREAM
DEVICE _ %BROADCAST-STREAM-DEVICE
ACCESS _ 'OUTPUT
F1 _ STREAMS
READONLY-EXTERNALFORMAT _ T)))
(STREAMPROP STREAM 'XCL:BROADCAST-STREAM-P T)
STREAM))
(CL:DEFUN XCL:BROADCAST-STREAM-P (STREAM)
@ -370,19 +381,18 @@
(AND (XCL:BROADCAST-STREAM-P STREAM)
(FETCH (STREAM F1) OF STREAM)))
(CL:DEFUN CL:MAKE-CONCATENATED-STREAM (&REST STREAMS)
(CL:DEFUN CL:MAKE-CONCATENATED-STREAM (&REST STREAMS) (* \; "Edited 6-Jul-2022 11:54 by rmk")
(* |;;| "CommonLisp function that creates a concatenated stream. See CLtL p. 329")
(IF (FOR STREAM? IN STREAMS ALWAYS (STREAMP STREAM?))
THEN (LET ((STREAM (|create| STREAM
DEVICE _ %CONCATENATED-STREAM-DEVICE
ACCESS _ 'INPUT
F1 _ STREAMS)))
(STREAMPROP STREAM 'XCL:CONCATENATED-STREAM-P T)
STREAM)
ELSE (\\ILLEGAL.ARG (FOR STREAM? IN STREAMS WHEN (NOT (STREAMP STREAM?))
DO (RETURN STREAM?)))))
(FOR STREAM? IN STREAMS DO (\\GETSTREAM STREAM? 'INPUT))
(LET ((STREAM (|create| STREAM
DEVICE _ %CONCATENATED-STREAM-DEVICE
ACCESS _ 'INPUT
F1 _ STREAMS
READONLY-EXTERNALFORMAT _ T)))
(STREAMPROP STREAM 'XCL:CONCATENATED-STREAM-P T)
STREAM))
(CL:DEFUN XCL:CONCATENATED-STREAM-P (STREAM)
(STREAMPROP STREAM 'XCL:CONCATENATED-STREAM-P))
@ -394,21 +404,21 @@
(AND (XCL:CONCATENATED-STREAM-P STREAM)
(FETCH (STREAM F1) OF STREAM)))
(CL:DEFUN CL:MAKE-TWO-WAY-STREAM (CL::INPUT-STREAM CL::OUTPUT-STREAM)
(CL:DEFUN CL:MAKE-TWO-WAY-STREAM (CL::INPUT-STREAM CL::OUTPUT-STREAM)
(* \; "Edited 6-Jul-2022 11:55 by rmk")
(* \; "Edited 4-Jul-2022 00:05 by rmk")
(* |;;| "A CommonLisp function for splicing together two streams. See CLtL p. 329")
(CL:UNLESS (STREAMP CL::INPUT-STREAM)
(\\ILLEGAL.ARG CL::INPUT-STREAM))
(CL:UNLESS (STREAMP CL::OUTPUT-STREAM)
(\\ILLEGAL.ARG CL::OUTPUT-STREAM))
(CL:SETQ CL::INPUT-STREAM (\\GETSTREAM CL::INPUT-STREAM 'INPUT))
(CL:SETQ CL::OUTPUT-STREAM (\\GETSTREAM CL::OUTPUT-STREAM 'OUTPUT))
(LET ((STREAM (|create| STREAM
DEVICE _ %TWO-WAY-STREAM-DEVICE
ACCESS _ 'BOTH
F1 _ CL::INPUT-STREAM
F2 _ CL::OUTPUT-STREAM
LINELENGTH _ (|fetch| (STREAM LINELENGTH) |of| CL::OUTPUT-STREAM)
OUTCHARFN _ (FUNCTION %TWO-WAY-STREAM-DEVICE-OUTCHARFN))))
READONLY-EXTERNALFORMAT _ T)))
(STREAMPROP STREAM 'XCL:TWO-WAY-STREAM-P T)
(* |;;| "save STREAM in the OPENFILELST field of %TWO-WAY-STREAM-DEVICE")
@ -436,21 +446,20 @@
(AND (XCL:TWO-WAY-STREAM-P STREAM)
(FETCH (STREAM F1) OF STREAM)))
(CL:DEFUN CL:MAKE-ECHO-STREAM (CL::INPUT-STREAM CL::OUTPUT-STREAM)
(CL:DEFUN CL:MAKE-ECHO-STREAM (CL::INPUT-STREAM CL::OUTPUT-STREAM)
(* \; "Edited 6-Jul-2022 11:54 by rmk")
(* |;;| "A CommonLisp function for making an echo stream. See CLtL p. 329")
(* |;;| "See Steele p 500")
(CL:UNLESS (STREAMP CL::INPUT-STREAM)
(\\ILLEGAL.ARG CL::INPUT-STREAM))
(CL:UNLESS (STREAMP CL::OUTPUT-STREAM)
(\\ILLEGAL.ARG CL::OUTPUT-STREAM))
(CL:SETQ CL::INPUT-STREAM (\\GETSTREAM CL::INPUT-STREAM 'INPUT))
(CL:SETQ CL::OUTPUT-STREAM (\\GETSTREAM CL::OUTPUT-STREAM 'OUTPUT))
(LET ((STREAM (|create| STREAM
DEVICE _ %ECHO-STREAM-DEVICE
ACCESS _ 'BOTH
F1 _ CL::INPUT-STREAM
F2 _ CL::OUTPUT-STREAM
LINELENGTH _ (|fetch| (STREAM LINELENGTH) |of| CL::OUTPUT-STREAM)
OUTCHARFN _ (FUNCTION %TWO-WAY-STREAM-DEVICE-OUTCHARFN))))
READONLY-EXTERNALFORMAT _ T)))
(STREAMPROP STREAM 'XCL:ECHO-STREAM-P T)
(* |;;| "save STREAM in the OPENFILELST field of %ECHO-STREAM-DEVICE")
@ -670,16 +679,17 @@
(* |;;| "methods for the special devices")
(* \; "broadcast streams")
(DEFINEQ
(%broadcast-stream-device-bout
(lambda (stream byte) (* \; "Edited 13-Jan-87 14:45 by hdj") (* |;;| "The BOUT method for the broadcast-stream device") (|for| s |in| (|fetch| f1 |of| stream) |do| (\\bout s byte)) byte)
)
(%broadcast-stream-device-outcharfn
(lambda (stream charcode) (* \; "Edited 18-Mar-87 11:00 by lal") (* |;;| "outcharfn for broadcast streams") (* |;;| "Using the charposition from the first stream in the broadcast stream list") (|for| s |in| (|fetch| (stream f1) |of| stream) |do| (\\outchar s charcode)) (|replace| (stream charposition) |of| stream |with| (|fetch| (stream charposition) |of| (car (|fetch| (stream f1) |of| stream)))) charcode)
)
(%broadcast-stream-device-closefile
(lambda (stream) (* |hdj| "26-Mar-86 16:28") (* |;;;| "The CLOSEFILE method for the broadcast-stream device") (|replace| access |of| stream |with| nil) (|replace| f1 |of| stream |with| nil) stream)
)
@ -696,6 +706,28 @@
(FOR S IN (FETCH (STREAM F1) OF STREAM) DO (SETQ $$VAL (ACCESS-CHARSET S NEWVALUE))))
(DEFINEQ
(%BROADCAST-STREAM-OUTCHARFN
(LAMBDA (STREAM CHARCODE) (* \; "Edited 5-Jul-2022 12:50 by rmk")
(* \; "Edited 18-Mar-87 11:00 by lal")
(* |;;| "outcharfn for broadcast streams")
(* |;;| "Using the charposition from the first stream in the broadcast stream list")
(LET ((STREAMS (|fetch| (STREAM F1) |of| STREAM)))
(CL:WHEN STREAMS
(|for| S |in| STREAMS |do| (\\OUTCHAR S CHARCODE))
(|replace| (STREAM CHARPOSITION) |of| STREAM |with| (|fetch| (STREAM CHARPOSITION)
|of| (CAR STREAMS)))))
CHARCODE))
)
(* \; "Concatenated streams")
(DEFINEQ
(%concatenated-stream-device-bin
(lambda (stream) (* \; "Edited 13-Jan-87 14:52 by hdj") (* |;;| "The BIN method for the concatenated-stream device") (while (fetch (stream f1) of stream) do (if (eofp (car (fetch (stream f1) of stream))) then (closef (pop (fetch (stream f1) of stream))) else (return (\\bin (car (fetch (stream f1) of stream))))) finally (* \; "the EOF case") (\\eof.action stream)))
)
@ -716,6 +748,50 @@
(lambda (|stream|) (* \; "Edited 24-Mar-87 10:47 by lal") (* |;;| "concatenated streams are read sequentially and a list of them are kept in F1. as they are read, the used stream is removed from the list. \\backfileptr will work because 1) when a file is stream is used up the new one is read, at least one character's worth and 2) \\backfileptr only needs to back up one character") (\\backfileptr (car (|fetch| f1 |of| |stream|))))
)
)
(DEFINEQ
(%CONCATENATED-STREAM-INCCODEFN
(LAMBDA (STREAM) (* \; "Edited 5-Jul-2022 16:16 by rmk")
(* \; "Edited 13-Jan-87 14:52 by hdj")
(* |;;| "The INCCODE method for the concatenated-stream device")
(WHILE (FETCH (STREAM F1) OF STREAM)
DO (IF (EOFP (CAR (FETCH (STREAM F1) OF STREAM)))
THEN (CLOSEF (POP (FETCH (STREAM F1) OF STREAM)))
ELSE (RETURN (\\INCCODE (CAR (FETCH (STREAM F1) OF STREAM))
BYTECOUNTVAR BYTECOUNTVAL))) FINALLY
(* \; "the EOF case")
(\\EOF.ACTION STREAM))))
(%CONCATENATED-STREAM-PEEKCCODEFN
(LAMBDA (STREAM) (* \; "Edited 5-Jul-2022 16:16 by rmk")
(* \; "Edited 13-Jan-87 14:52 by hdj")
(* |;;| "The INCCODE method for the concatenated-stream device")
(WHILE (FETCH (STREAM F1) OF STREAM)
DO (IF (EOFP (CAR (FETCH (STREAM F1) OF STREAM)))
THEN (CLOSEF (POP (FETCH (STREAM F1) OF STREAM)))
ELSE (RETURN (\\INCCODE (CAR (FETCH (STREAM F1) OF STREAM))
BYTECOUNTVAR BYTECOUNTVAL))) FINALLY
(* \; "the EOF case")
(\\EOF.ACTION STREAM))))
(%CONCATENATED-STREAM-BACKCCODEFN
(LAMBDA (STREAM) (* \; "Edited 5-Jul-2022 16:16 by rmk")
(* \; "Edited 13-Jan-87 14:52 by hdj")
(* |;;| "The INCCODE method for the concatenated-stream device")
(WHILE (FETCH (STREAM F1) OF STREAM)
DO (IF (EOFP (CAR (FETCH (STREAM F1) OF STREAM)))
THEN (CLOSEF (POP (FETCH (STREAM F1) OF STREAM)))
ELSE (RETURN (\\INCCODE (CAR (FETCH (STREAM F1) OF STREAM))
BYTECOUNTVAR BYTECOUNTVAL))) FINALLY
(* \; "the EOF case")
(\\EOF.ACTION STREAM))))
)
(CL:DEFUN %CONCATENATED-STREAM-DEVICE-CHARSETFN (STREAM NEWVALUE)
@ -731,8 +807,20 @@
(%echo-stream-device-bin
(lambda (stream) (* |hdj| "21-Apr-86 18:33") (* |;;;| "The BIN method for the echo-stream device") (let ((byte (%two-way-stream-device-bin stream))) (\\bout stream byte) byte))
)
(%ECHO-STREAM-INCCODEFN
(LAMBDA (STREAM BYTECOUNTVAR BYTECOUNTVAL) (* \; "Edited 5-Jul-2022 23:07 by rmk")
(* |;;;| "The INCCODE method for the echo-stream device")
(%TWO-WAY-STREAM-OUTCHARFN STREAM (%TWO-WAY-STREAM-INCCODEFN STREAM BYTECOUNTVAR BYTECOUNTVAL))))
)
(* \; "Synonym streams")
(CL:DEFUN %SYNONYM-STREAM-DEVICE-GET-INDIRECT-STREAM (SYNONYM-STREAM)
(* |;;| "given a synonym-stream, find out what it is currently tracking")
@ -748,33 +836,6 @@
(lambda (stream byte) (* |hdj| "19-Mar-86 17:20") (* |;;;| "The BOUT method for the synonym-stream device.") (\\bout (%synonym-stream-device-get-stream stream) byte))
)
(%SYNONYM-STREAM-DEVICE-OUTCHARFN
(LAMBDA (STREAM CHARCODE) (* \; "Edited 3-Jan-90 15:25 by jds")
(* |;;| " OUTCHARFN for synonym streams")
(LET ((OTHER-STREAM (%SYNONYM-STREAM-DEVICE-GET-STREAM STREAM)))
(\\OUTCHAR OTHER-STREAM CHARCODE)
(|freplace| (STREAM CHARPOSITION) |of| STREAM |with| (|ffetch| (STREAM
CHARPOSITION
)
|of| OTHER-STREAM)))
))
(%SYNONYM-STREAM-DEVICE-CLOSEFILE
(LAMBDA (STREAM) (* \; "Edited 18-Dec-87 12:17 by sye")
(* |;;;| "the CLOSEFILE method for the synonym-stream device")
(|replace| F1 |of| STREAM |with| NIL)
(* |;;|
 "remove the synonym stream STREAM from the OPENFILELST field of %SYNONYM-STREAM-DEVICE")
(|replace| (FDEV OPENFILELST) |of| %SYNONYM-STREAM-DEVICE
|with| (DREMOVE STREAM (|fetch| (FDEV OPENFILELST) |of| %SYNONYM-STREAM-DEVICE)))
STREAM))
(%synonym-stream-device-eofp
(lambda (stream) (* |hdj| "19-Mar-86 17:20") (* |;;;| "The EOFP method for the synonym-stream device.") (\\eofp (%synonym-stream-device-get-stream stream)))
)
@ -805,6 +866,131 @@
(%synonym-stream-device-charsetfn
(lambda (stream newvalue) (* \; "Edited 11-Sep-87 16:01 by bvm:") (* |;;| "The charset method for the synonym-stream device.") (access-charset (%synonym-stream-device-get-stream stream) newvalue))
)
(%SYNONYM-STREAM-DEVICE-CLOSEFILE
(LAMBDA (STREAM) (* \; "Edited 18-Dec-87 12:17 by sye")
(* |;;;| "the CLOSEFILE method for the synonym-stream device")
(|replace| F1 |of| STREAM |with| NIL)
(* |;;|
 "remove the synonym stream STREAM from the OPENFILELST field of %SYNONYM-STREAM-DEVICE")
(|replace| (FDEV OPENFILELST) |of| %SYNONYM-STREAM-DEVICE
|with| (DREMOVE STREAM (|fetch| (FDEV OPENFILELST) |of| %SYNONYM-STREAM-DEVICE)))
STREAM))
)
(* |;;| "helper ")
(DEFINEQ
(%synonym-stream-device-get-stream
(lambda (|stream|) (* \; "Edited 12-Jan-87 14:46 by hdj") (* |;;| "given a synonym-stream, find out what it is currently tracking") (cl:symbol-value (|fetch| (stream f1) |of| |stream|)))
)
)
(* |;;| "Synonym external format")
(DEFINEQ
(%SYNONYM-STREAM-OUTCHARFN
(LAMBDA (STREAM CHARCODE) (* \; "Edited 5-Jul-2022 23:12 by rmk")
(* \; "Edited 3-Jul-2022 21:16 by rmk")
(* \; "Edited 3-Jan-90 15:25 by jds")
(* |;;| " OUTCHARFN for synonym streams")
(LET ((OTHER-STREAM (%SYNONYM-STREAM-DEVICE-GET-STREAM STREAM)))
(|freplace| (STREAM EOLCONVENTION) |of| STREAM |with| (|ffetch| (STREAM EOLCONVENTION)
|of| OTHER-STREAM))
(\\OUTCHAR OTHER-STREAM CHARCODE)
(|freplace| (STREAM CHARPOSITION) |of| STREAM |with| (|ffetch| (STREAM CHARPOSITION)
|of| OTHER-STREAM))
CHARCODE)))
(%SYNONYM-STREAM-INCCODEFN
(LAMBDA (STREAM BYTECOUNTVAR BYTECOUNTVAL) (* \; "Edited 3-Jul-2022 21:28 by rmk")
(* |;;| " INCCODEFN for synonym streams")
(LET ((OTHER-STREAM (%SYNONYM-STREAM-DEVICE-GET-STREAM STREAM)))
(|freplace| (STREAM EOLCONVENTION) |of| STREAM |with| (|ffetch| (STREAM EOLCONVENTION)
|of| OTHER-STREAM))
(\\INCCODE OTHER-STREAM BYTECOUNTVAR BYTECOUNTVAL))))
(%SYNONYM-STREAM-PEEKCCODEFN
(LAMBDA (STREAM NOERROR EOL) (* \; "Edited 3-Jul-2022 21:31 by rmk")
(* \; "Edited 3-Jan-90 15:25 by jds")
(* |;;| " PEEKCCODEFN for synonym streams")
(LET ((OTHER-STREAM (%SYNONYM-STREAM-DEVICE-GET-STREAM STREAM)))
(|freplace| (STREAM EOLCONVENTION) |of| STREAM |with| (|ffetch| (STREAM EOLCONVENTION)
|of| OTHER-STREAM))
(\\PEEKCCODE OTHER-STREAM NOERROR EOL))))
(%SYNONYM-STREAM-BACKCCODEFN
(LAMBDA (STREAM BYTECOUNTVAR BYTECOUNTVAL) (* \; "Edited 3-Jul-2022 21:31 by rmk")
(* \; "Edited 3-Jan-90 15:25 by jds")
(* |;;| " BACKCCODEFN for synonym streams")
(LET ((OTHER-STREAM (%SYNONYM-STREAM-DEVICE-GET-STREAM STREAM)))
(|freplace| (STREAM EOLCONVENTION) |of| STREAM |with| (|ffetch| (STREAM EOLCONVENTION)
|of| OTHER-STREAM))
(\\BACKCCODE OTHER-STREAM BYTECOUNTVAR BYTECOUNTVAL))))
)
(* \; "Two-way streams")
(DEFINEQ
(%TWO-WAY-STREAM-BACKCCODEFN
(LAMBDA (STREAM BYTECOUNTVAR BYTECOUNTVAL) (* \; "Edited 3-Jul-2022 23:52 by rmk")
(* \; "Edited 3-Jan-90 15:26 by jds")
(* |;;| "backccodefn for two-way streams")
(\\BACKCCODE (|fetch| (STREAM F1) |of| STREAM)
BYTECOUNTVAR BYTECOUNTVAL)))
(%TWO-WAY-STREAM-INCCODEFN
(LAMBDA (STREAM BYTECOUNTVAR BYTECOUNTVAL) (* \; "Edited 3-Jul-2022 23:52 by rmk")
(* \; "Edited 3-Jan-90 15:26 by jds")
(* |;;| "inccodefn for two-way streams")
(\\INCCODE (|fetch| (STREAM F1) |of| STREAM)
BYTECOUNTVAR BYTECOUNTVAL)))
(%TWO-WAY-STREAM-OUTCHARFN
(LAMBDA (STREAM CHARCODE) (* \; "Edited 5-Jul-2022 23:06 by rmk")
(* \; "Edited 3-Jan-90 15:26 by jds")
(* |;;| "outcharfn for two-way streams")
(PROG1 (\\OUTCHAR (|fetch| (STREAM F2) |of| STREAM)
CHARCODE)
(|freplace| (STREAM CHARPOSITION) |of| STREAM |with| (|ffetch| (STREAM CHARPOSITION)
|of| (|ffetch| (STREAM F2)
|of| STREAM))))))
(%TWO-WAY-STREAM-PEEKCCODEFN
(LAMBDA (STREAM NOERROR EOL) (* \; "Edited 4-Jul-2022 00:02 by rmk")
(* \; "Edited 3-Jan-90 15:26 by jds")
(* |;;| "peekccodefn for two-way streams")
(\\PEEKCCODE (|fetch| (STREAM F1) |of| STREAM)
NOERROR EOL)))
)
(DEFINEQ
@ -888,6 +1074,11 @@
)
)
(* \; "Fill-pointer streams")
(CL:DEFUN %FILL-POINTER-STREAM-DEVICE-CLOSEFILE (STREAM &OPTIONAL ABORTFLAG)
(* |;;;| "the CLOSEFILE method for the fill-pointer-string-stream device")
@ -905,17 +1096,6 @@
(* |;;| "helper stuff")
(DEFINEQ
(%synonym-stream-device-get-stream
(lambda (|stream|) (* \; "Edited 12-Jan-87 14:46 by hdj") (* |;;| "given a synonym-stream, find out what it is currently tracking") (cl:symbol-value (|fetch| (stream f1) |of| |stream|)))
)
)
(* |;;| "module initialization")
@ -931,7 +1111,7 @@
(CL:DEFVAR *STANDARD-INPUT*)
(CL:DEFUN %INITIALIZE-STANDARD-STREAMS ()
(CL:DEFUN %INITIALIZE-STANDARD-STREAMS () (* \; "Edited 3-Jul-2022 23:18 by rmk")
(* |;;|
 "Called when CLSTREAMS is loaded. Almost everything is same as *TERMINAL-IO* to start with.")
@ -944,11 +1124,18 @@
(DEFINEQ
(%INITIALIZE-CLSTREAM-TYPES
(LAMBDA NIL (* \; "Edited 3-Jul-2022 14:16 by rmk")
(LAMBDA NIL (* \; "Edited 5-Jul-2022 21:20 by rmk")
(* \; "Edited 3-Jul-2022 23:57 by rmk")
(* \; "Edited 14-Apr-87 17:08 by bvm:")
(* |;;| "Initialize the CLSTREAMS package. This sets up some file devices for the functions make-two-way-stream-device, etc. See CLtL chapter 21")
(* |;;| "The input functions for broadcast streams should never be called, because they are guarded by the fact that the stream itself is output only.")
(MAKE-EXTERNALFORMAT :BROADCAST-STREAM-FORMAT (FUNCTION SHOULDNT)
(FUNCTION SHOULDNT)
(FUNCTION SHOULDNT)
(FUNCTION %BROADCAST-STREAM-OUTCHARFN))
(SETQ %BROADCAST-STREAM-DEVICE
(|create| FDEV
DEVICENAME _ 'BROADCAST-STREAM-DEVICE
@ -980,7 +1167,12 @@
FORCEOUTPUT _ (FUNCTION %BROADCAST-STREAM-DEVICE-FORCEOUTPUT)
GETFILEINFO _ (FUNCTION NILL)
SETFILEINFO _ (FUNCTION NILL)
CHARSETFN _ (FUNCTION %BROADCAST-STREAM-DEVICE-CHARSETFN)))
CHARSETFN _ (FUNCTION %BROADCAST-STREAM-DEVICE-CHARSETFN)
DEFAULTEXTERNALFORMAT _ :BROADCAST-STREAM-FORMAT))
(MAKE-EXTERNALFORMAT :CONCATENATED-STREAM-FORMAT (FUNCTION %CONCATENATED-STREAM-INCCODEFN)
(FUNCTION %CONCATENATED-STREAM-PEEKCCODEFN)
(FUNCTION %CONCATENATED-STREAM-BACKCCODEFN)
(FUNCTION SHOULDNT))
(SETQ %CONCATENATED-STREAM-DEVICE
(|create| FDEV
DEVICENAME _ 'CONCATENATED-STREAM-DEVICE
@ -1013,7 +1205,12 @@
FORCEOUTPUT _ (FUNCTION NILL)
GETFILEINFO _ (FUNCTION NILL)
SETFILEINFO _ (FUNCTION NILL)
CHARSETFN _ (FUNCTION %CONCATENATED-STREAM-DEVICE-CHARSETFN)))
CHARSETFN _ (FUNCTION %CONCATENATED-STREAM-DEVICE-CHARSETFN)
DEFAULTEXTERNALFORMAT _ :CONCATENATED-STREAM-FORMAT))
(MAKE-EXTERNALFORMAT :TWO-WAY-STREAM-FORMAT (FUNCTION %TWO-WAY-STREAM-INCCODEFN)
(FUNCTION %TWO-WAY-STREAM-PEEKCCODEFN)
(FUNCTION %TWO-WAY-STREAM-BACKCCODEFN)
(FUNCTION %TWO-WAY-STREAM-OUTCHARFN))
(SETQ %TWO-WAY-STREAM-DEVICE
(|create| FDEV
DEVICENAME _ 'TWO-WAY-STREAM-DEVICE
@ -1050,11 +1247,21 @@
SETFILEINFO _ (FUNCTION NILL)
CHARSETFN _ (FUNCTION %TWO-WAY-STREAM-DEVICE-CHARSETFN)
INPUTSTREAM _ (FUNCTION %TWO-WAY-STREAM-DEVICE-INPUTSTREAM)
OUTPUTSTREAM _ (FUNCTION %TWO-WAY-STREAM-DEVICE-OUTPUTSTREAM)))
OUTPUTSTREAM _ (FUNCTION %TWO-WAY-STREAM-DEVICE-OUTPUTSTREAM)
DEFAULTEXTERNALFORMAT _ :TWO-WAY-STREAM-FORMAT))
(MAKE-EXTERNALFORMAT :ECHO-STREAM-FORMAT (FUNCTION %ECHO-STREAM-INCCODEFN)
(FUNCTION %TWO-WAY-STREAM-PEEKCCODEFN)
(FUNCTION %TWO-WAY-STREAM-BACKCCODEFN)
(FUNCTION %TWO-WAY-STREAM-OUTCHARFN))
(SETQ %ECHO-STREAM-DEVICE (|create| FDEV |using| %TWO-WAY-STREAM-DEVICE DEVICENAME _
'ECHO-STREAM-DEVICE BIN _ (FUNCTION
%ECHO-STREAM-DEVICE-BIN
)))
)
DEFAULTEXTERNALFORMAT _ :ECHO-STREAM-FORMAT))
(MAKE-EXTERNALFORMAT :SYNONYM-STREAM (FUNCTION %SYNONYM-STREAM-INCCODEFN)
(FUNCTION %SYNONYM-STREAM-PEEKCCODEFN)
(FUNCTION %SYNONYM-STREAM-BACKCCODEFN)
(FUNCTION %SYNONYM-STREAM-OUTCHARFN))
(SETQ %SYNONYM-STREAM-DEVICE
(|create| FDEV
DEVICENAME _ 'SYNONYM-STREAM-DEVICE
@ -1091,7 +1298,8 @@
SETFILEINFO _ (FUNCTION %SYNONYM-STREAM-DEVICE-SETFILEINFO)
INPUTSTREAM _ (FUNCTION %SYNONYM-STREAM-DEVICE-GET-INDIRECT-STREAM)
OUTPUTSTREAM _ (FUNCTION %SYNONYM-STREAM-DEVICE-GET-INDIRECT-STREAM)
CHARSETFN _ (FUNCTION %SYNONYM-STREAM-DEVICE-CHARSETFN)))
CHARSETFN _ (FUNCTION %SYNONYM-STREAM-DEVICE-CHARSETFN)
DEFAULTEXTERNALFORMAT _ :SYNONYM-STREAM))
(SETQ \\FILL-POINTER-STREAM-DEVICE
(|create| FDEV
DEVICENAME _ 'FILL-POINTER-STREAM-DEVICE
@ -1135,51 +1343,56 @@
(PUTPROPS CLSTREAMS FILETYPE CL:COMPILE-FILE)
(PUTPROPS CLSTREAMS COPYRIGHT ("Venue & Xerox Corporation" 1985 1986 1987 1988 1990 1991))
(DECLARE\: DONTCOPY
(FILEMAP (NIL (5227 14202 (OPEN 5227 . 14202)) (14204 15130 (CL:CLOSE 14204 . 15130)) (15132 15210 (
CL:STREAM-EXTERNAL-FORMAT 15132 . 15210)) (15212 15279 (CL:STREAM-ELEMENT-TYPE 15212 . 15279)) (15281
15515 (CL:INPUT-STREAM-P 15281 . 15515)) (15517 15753 (CL:OUTPUT-STREAM-P 15517 . 15753)) (15755 15892
(XCL:OPEN-STREAM-P 15755 . 15892)) (15894 15961 (FILE-STREAM-POSITION 15894 . 15961)) (16013 17356 (
CL:MAKE-SYNONYM-STREAM 16013 . 17356)) (17358 17447 (XCL:SYNONYM-STREAM-P 17358 . 17447)) (17449 17587
(XCL:SYNONYM-STREAM-SYMBOL 17449 . 17587)) (17589 17867 (XCL:FOLLOW-SYNONYM-STREAMS 17589 . 17867)) (
17869 18628 (CL:MAKE-BROADCAST-STREAM 17869 . 18628)) (18630 18773 (XCL:BROADCAST-STREAM-P 18630 .
18773)) (18775 18990 (XCL:BROADCAST-STREAM-STREAMS 18775 . 18990)) (18992 19677 (
CL:MAKE-CONCATENATED-STREAM 18992 . 19677)) (19679 19778 (XCL:CONCATENATED-STREAM-P 19679 . 19778)) (
19780 19993 (XCL:CONCATENATED-STREAM-STREAMS 19780 . 19993)) (19995 21579 (CL:MAKE-TWO-WAY-STREAM
19995 . 21579)) (21581 21718 (XCL:TWO-WAY-STREAM-P 21581 . 21718)) (21720 21865 (
XCL:TWO-WAY-STREAM-OUTPUT-STREAM 21720 . 21865)) (21867 22011 (XCL:TWO-WAY-STREAM-INPUT-STREAM 21867
. 22011)) (22013 23563 (CL:MAKE-ECHO-STREAM 22013 . 23563)) (23565 23694 (XCL:ECHO-STREAM-P 23565 .
23694)) (23696 23834 (XCL:ECHO-STREAM-INPUT-STREAM 23696 . 23834)) (23836 23975 (
XCL:ECHO-STREAM-OUTPUT-STREAM 23836 . 23975)) (23977 24704 (CL:MAKE-STRING-INPUT-STREAM 23977 . 24704)
) (24706 25199 (MAKE-CONCATENATED-STRING-INPUT-STREAM 24706 . 25199)) (25201 25361 (
%MAKE-INITIAL-STRING-STREAM-CONTENTS 25201 . 25361)) (25363 25793 (CL:WITH-OPEN-STREAM 25363 . 25793))
(25795 27024 (CL:WITH-INPUT-FROM-STRING 25795 . 27024)) (27026 27528 (CL:WITH-OUTPUT-TO-STRING 27026
. 27528)) (27530 28184 (CL:WITH-OPEN-FILE 27530 . 28184)) (28408 29934 (
MAKE-FILL-POINTER-OUTPUT-STREAM 28408 . 29934)) (29936 30657 (CL:GET-OUTPUT-STREAM-STRING 29936 .
30657)) (30659 31138 (\\STRING-STREAM-OUTCHARFN 30659 . 31138)) (31140 32995 (
\\ADJUSTABLE-STRING-STREAM-OUTCHARFN 31140 . 32995)) (33024 33106 (%NEW-FILE 33024 . 33106)) (33108
33253 (PREDICT-NAME 33108 . 33253)) (33289 33440 (INTERLISP-ACCESS 33289 . 33440)) (33494 34682 (
%BROADCAST-STREAM-DEVICE-BOUT 33504 . 33727) (%BROADCAST-STREAM-DEVICE-OUTCHARFN 33729 . 34180) (
%BROADCAST-STREAM-DEVICE-CLOSEFILE 34182 . 34421) (%BROADCAST-STREAM-DEVICE-FORCEOUTPUT 34423 . 34680)
) (34684 35011 (%BROADCAST-STREAM-DEVICE-CHARSETFN 34684 . 35011)) (35012 37071 (
%CONCATENATED-STREAM-DEVICE-BIN 35022 . 35427) (%CONCATENATED-STREAM-DEVICE-CLOSEFILE 35429 . 35742) (
%CONCATENATED-STREAM-DEVICE-EOFP 35744 . 36108) (%CONCATENATED-STREAM-DEVICE-PEEKBIN 36110 . 36585) (
%CONCATENATED-STREAM-DEVICE-BACKFILEPTR 36587 . 37069)) (37073 37404 (
%CONCATENATED-STREAM-DEVICE-CHARSETFN 37073 . 37404)) (37405 37624 (%ECHO-STREAM-DEVICE-BIN 37415 .
37622)) (37626 37851 (%SYNONYM-STREAM-DEVICE-GET-INDIRECT-STREAM 37626 . 37851)) (37852 41197 (
%SYNONYM-STREAM-DEVICE-BIN 37862 . 38050) (%SYNONYM-STREAM-DEVICE-BOUT 38052 . 38253) (
%SYNONYM-STREAM-DEVICE-OUTCHARFN 38255 . 38962) (%SYNONYM-STREAM-DEVICE-CLOSEFILE 38964 . 39548) (
%SYNONYM-STREAM-DEVICE-EOFP 39550 . 39741) (%SYNONYM-STREAM-DEVICE-FORCEOUTPUT 39743 . 39981) (
%SYNONYM-STREAM-DEVICE-GETFILEINFO 39983 . 40220) (%SYNONYM-STREAM-DEVICE-PEEKBIN 40222 . 40445) (
%SYNONYM-STREAM-DEVICE-READP 40447 . 40558) (%SYNONYM-STREAM-DEVICE-BACKFILEPTR 40560 . 40706) (
%SYNONYM-STREAM-DEVICE-SETFILEINFO 40708 . 40957) (%SYNONYM-STREAM-DEVICE-CHARSETFN 40959 . 41195)) (
41198 45523 (%TWO-WAY-STREAM-DEVICE-BIN 41208 . 41381) (%TWO-WAY-STREAM-DEVICE-INPUTSTREAM 41383 .
41574) (%TWO-WAY-STREAM-DEVICE-BOUT 41576 . 41748) (%TWO-WAY-STREAM-DEVICE-OUTPUTSTREAM 41750 . 41940)
(%TWO-WAY-STREAM-DEVICE-OUTCHARFN 41942 . 42804) (%TWO-WAY-STREAM-DEVICE-CLOSEFILE 42806 . 44229) (
%TWO-WAY-STREAM-DEVICE-EOFP 44231 . 44407) (%TWO-WAY-STREAM-DEVICE-READP 44409 . 44602) (
%TWO-WAY-STREAM-DEVICE-BACKFILEPTR 44604 . 44740) (%TWO-WAY-STREAM-DEVICE-FORCEOUTPUT 44742 . 44971) (
%TWO-WAY-STREAM-DEVICE-PEEKBIN 44973 . 45186) (%TWO-WAY-STREAM-DEVICE-CHARSETFN 45188 . 45521)) (45525
45750 (%FILL-POINTER-STREAM-DEVICE-CLOSEFILE 45525 . 45750)) (45752 45871 (
%FILL-POINTER-STREAM-DEVICE-GETFILEPTR 45752 . 45871)) (46111 46350 (%SYNONYM-STREAM-DEVICE-GET-STREAM
46121 . 46348)) (46581 47057 (%INITIALIZE-STANDARD-STREAMS 46581 . 47057)) (47058 55373 (
%INITIALIZE-CLSTREAM-TYPES 47068 . 55371)))))
(FILEMAP (NIL (6268 15243 (OPEN 6268 . 15243)) (15245 16171 (CL:CLOSE 15245 . 16171)) (16173 16251 (
CL:STREAM-EXTERNAL-FORMAT 16173 . 16251)) (16253 16320 (CL:STREAM-ELEMENT-TYPE 16253 . 16320)) (16322
16556 (CL:INPUT-STREAM-P 16322 . 16556)) (16558 16794 (CL:OUTPUT-STREAM-P 16558 . 16794)) (16796 16933
(XCL:OPEN-STREAM-P 16796 . 16933)) (16935 17002 (FILE-STREAM-POSITION 16935 . 17002)) (17054 18558 (
CL:MAKE-SYNONYM-STREAM 17054 . 18558)) (18560 18649 (XCL:SYNONYM-STREAM-P 18560 . 18649)) (18651 18789
(XCL:SYNONYM-STREAM-SYMBOL 18651 . 18789)) (18791 19069 (XCL:FOLLOW-SYNONYM-STREAMS 18791 . 19069)) (
19071 19556 (CL:MAKE-BROADCAST-STREAM 19071 . 19556)) (19558 19701 (XCL:BROADCAST-STREAM-P 19558 .
19701)) (19703 19918 (XCL:BROADCAST-STREAM-STREAMS 19703 . 19918)) (19920 20504 (
CL:MAKE-CONCATENATED-STREAM 19920 . 20504)) (20506 20605 (XCL:CONCATENATED-STREAM-P 20506 . 20605)) (
20607 20820 (XCL:CONCATENATED-STREAM-STREAMS 20607 . 20820)) (20822 22563 (CL:MAKE-TWO-WAY-STREAM
20822 . 22563)) (22565 22702 (XCL:TWO-WAY-STREAM-P 22565 . 22702)) (22704 22849 (
XCL:TWO-WAY-STREAM-OUTPUT-STREAM 22704 . 22849)) (22851 22995 (XCL:TWO-WAY-STREAM-INPUT-STREAM 22851
. 22995)) (22997 24544 (CL:MAKE-ECHO-STREAM 22997 . 24544)) (24546 24675 (XCL:ECHO-STREAM-P 24546 .
24675)) (24677 24815 (XCL:ECHO-STREAM-INPUT-STREAM 24677 . 24815)) (24817 24956 (
XCL:ECHO-STREAM-OUTPUT-STREAM 24817 . 24956)) (24958 25685 (CL:MAKE-STRING-INPUT-STREAM 24958 . 25685)
) (25687 26180 (MAKE-CONCATENATED-STRING-INPUT-STREAM 25687 . 26180)) (26182 26342 (
%MAKE-INITIAL-STRING-STREAM-CONTENTS 26182 . 26342)) (26344 26774 (CL:WITH-OPEN-STREAM 26344 . 26774))
(26776 28005 (CL:WITH-INPUT-FROM-STRING 26776 . 28005)) (28007 28509 (CL:WITH-OUTPUT-TO-STRING 28007
. 28509)) (28511 29165 (CL:WITH-OPEN-FILE 28511 . 29165)) (29389 30915 (
MAKE-FILL-POINTER-OUTPUT-STREAM 29389 . 30915)) (30917 31638 (CL:GET-OUTPUT-STREAM-STRING 30917 .
31638)) (31640 32119 (\\STRING-STREAM-OUTCHARFN 31640 . 32119)) (32121 33976 (
\\ADJUSTABLE-STRING-STREAM-OUTCHARFN 32121 . 33976)) (34005 34087 (%NEW-FILE 34005 . 34087)) (34089
34234 (PREDICT-NAME 34089 . 34234)) (34270 34421 (INTERLISP-ACCESS 34270 . 34421)) (34510 35245 (
%BROADCAST-STREAM-DEVICE-BOUT 34520 . 34743) (%BROADCAST-STREAM-DEVICE-CLOSEFILE 34745 . 34984) (
%BROADCAST-STREAM-DEVICE-FORCEOUTPUT 34986 . 35243)) (35247 35574 (%BROADCAST-STREAM-DEVICE-CHARSETFN
35247 . 35574)) (35575 36370 (%BROADCAST-STREAM-OUTCHARFN 35585 . 36368)) (36409 38468 (
%CONCATENATED-STREAM-DEVICE-BIN 36419 . 36824) (%CONCATENATED-STREAM-DEVICE-CLOSEFILE 36826 . 37139) (
%CONCATENATED-STREAM-DEVICE-EOFP 37141 . 37505) (%CONCATENATED-STREAM-DEVICE-PEEKBIN 37507 . 37982) (
%CONCATENATED-STREAM-DEVICE-BACKFILEPTR 37984 . 38466)) (38469 41099 (%CONCATENATED-STREAM-INCCODEFN
38479 . 39349) (%CONCATENATED-STREAM-PEEKCCODEFN 39351 . 40223) (%CONCATENATED-STREAM-BACKCCODEFN
40225 . 41097)) (41101 41432 (%CONCATENATED-STREAM-DEVICE-CHARSETFN 41101 . 41432)) (41433 41964 (
%ECHO-STREAM-DEVICE-BIN 41443 . 41650) (%ECHO-STREAM-INCCODEFN 41652 . 41962)) (41999 42224 (
%SYNONYM-STREAM-DEVICE-GET-INDIRECT-STREAM 41999 . 42224)) (42225 44861 (%SYNONYM-STREAM-DEVICE-BIN
42235 . 42423) (%SYNONYM-STREAM-DEVICE-BOUT 42425 . 42626) (%SYNONYM-STREAM-DEVICE-EOFP 42628 . 42819)
(%SYNONYM-STREAM-DEVICE-FORCEOUTPUT 42821 . 43059) (%SYNONYM-STREAM-DEVICE-GETFILEINFO 43061 . 43298)
(%SYNONYM-STREAM-DEVICE-PEEKBIN 43300 . 43523) (%SYNONYM-STREAM-DEVICE-READP 43525 . 43636) (
%SYNONYM-STREAM-DEVICE-BACKFILEPTR 43638 . 43784) (%SYNONYM-STREAM-DEVICE-SETFILEINFO 43786 . 44035) (
%SYNONYM-STREAM-DEVICE-CHARSETFN 44037 . 44273) (%SYNONYM-STREAM-DEVICE-CLOSEFILE 44275 . 44859)) (
44889 45128 (%SYNONYM-STREAM-DEVICE-GET-STREAM 44899 . 45126)) (45172 47937 (%SYNONYM-STREAM-OUTCHARFN
45182 . 46128) (%SYNONYM-STREAM-INCCODEFN 46130 . 46659) (%SYNONYM-STREAM-PEEKCCODEFN 46661 . 47290)
(%SYNONYM-STREAM-BACKCCODEFN 47292 . 47935)) (47971 49864 (%TWO-WAY-STREAM-BACKCCODEFN 47981 . 48382)
(%TWO-WAY-STREAM-INCCODEFN 48384 . 48779) (%TWO-WAY-STREAM-OUTCHARFN 48781 . 49473) (
%TWO-WAY-STREAM-PEEKCCODEFN 49475 . 49862)) (49865 54190 (%TWO-WAY-STREAM-DEVICE-BIN 49875 . 50048) (
%TWO-WAY-STREAM-DEVICE-INPUTSTREAM 50050 . 50241) (%TWO-WAY-STREAM-DEVICE-BOUT 50243 . 50415) (
%TWO-WAY-STREAM-DEVICE-OUTPUTSTREAM 50417 . 50607) (%TWO-WAY-STREAM-DEVICE-OUTCHARFN 50609 . 51471) (
%TWO-WAY-STREAM-DEVICE-CLOSEFILE 51473 . 52896) (%TWO-WAY-STREAM-DEVICE-EOFP 52898 . 53074) (
%TWO-WAY-STREAM-DEVICE-READP 53076 . 53269) (%TWO-WAY-STREAM-DEVICE-BACKFILEPTR 53271 . 53407) (
%TWO-WAY-STREAM-DEVICE-FORCEOUTPUT 53409 . 53638) (%TWO-WAY-STREAM-DEVICE-PEEKBIN 53640 . 53853) (
%TWO-WAY-STREAM-DEVICE-CHARSETFN 53855 . 54188)) (54230 54455 (%FILL-POINTER-STREAM-DEVICE-CLOSEFILE
54230 . 54455)) (54457 54576 (%FILL-POINTER-STREAM-DEVICE-GETFILEPTR 54457 . 54576)) (55014 55557 (
%INITIALIZE-STANDARD-STREAMS 55014 . 55557)) (55558 65584 (%INITIALIZE-CLSTREAM-TYPES 55568 . 65582)))
))
STOP

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

View File

@ -1,12 +1,13 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED " 3-Jul-2022 08:55:45" 
{DSK}<users>kaplan>local>medley3.5>working-medley>sources>FILEIO.;111 159022
(FILECREATED " 6-Jul-2022 00:01:09" 
{DSK}<users>kaplan>local>medley3.5>working-medley>sources>FILEIO.;113 159763
:CHANGES-TO (VARS FILEIOCOMS)
:CHANGES-TO (FNS PUTSTREAMPROP GETSTREAMPROP \DO.PARAMS.AT.OPEN)
(RECORDS STREAM)
:PREVIOUS-DATE " 2-Jul-2022 18:55:29"
{DSK}<users>kaplan>local>medley3.5>working-medley>sources>FILEIO.;110)
:PREVIOUS-DATE " 3-Jul-2022 08:55:45"
{DSK}<Users>kaplan>Local>medley3.5>working-medley>sources>FILEIO.;111)
(* ; "
@ -229,7 +230,7 @@ Copyright (c) 1981-1993, 1999, 2020-2022 by Venue & Xerox Corporation.
(DEVICE POINTER)
(USERVISIBLE FLAG)
(EOLCONVENTION BITS 2)
(NIL FLAG)
(READONLY-EXTERNALFORMAT FLAG)
(VALIDATION POINTER)
(CPAGE POINTER)
(EPAGE POINTER)
@ -305,7 +306,9 @@ Copyright (c) 1981-1993, 1999, 2020-2022 by Venue & Xerox Corporation.
(USERVISIBLE FLAG) (* ;
 "Listed by OPENP; NIL for terminal, dribble ...")
(EOLCONVENTION BITS 2) (* ; "End-of-line convention")
(NIL FLAG) (* ; "Was NOTXCCS.")
(READONLY-EXTERNALFORMAT FLAG) (* ;
 "T if external format can only be set at open.")
(* ; "Was NOTXCCS.")
(VALIDATION POINTER) (* ;
 "A number somehow identifying file, used to determine if file has changed in our absence")
(CPAGE POINTER) (* ;
@ -573,24 +576,29 @@ Copyright (c) 1981-1993, 1999, 2020-2022 by Venue & Xerox Corporation.
(T (\ILLEGAL.ARG NIL])
(GETSTREAMPROP
[LAMBDA (STREAM PROP) (* ; "Edited 29-Jun-2021 17:06 by rmk:")
[LAMBDA (STREAM PROP) (* ; "Edited 5-Jul-2022 23:57 by rmk")
(* ; "Edited 29-Jun-2021 17:06 by rmk:")
(* rda%: "22-Aug-84 16:17")
(SELECTQ PROP
((FORMAT EXTERNALFORMAT)
((FORMAT EXTERNALFORMAT :EXTERNAL-FORMAT)
(\EXTERNALFORMAT STREAM))
(ENDOFSTREAMOP (FETCH (STREAM ENDOFSTREAMOP) OF STREAM))
(LISTGET (fetch (STREAM OTHERPROPS) of STREAM)
PROP])
(PUTSTREAMPROP
[LAMBDA (STREAM PROP VALUE) (* ; "Edited 29-Jun-2021 17:06 by rmk:")
[LAMBDA (STREAM PROP VALUE) (* ; "Edited 5-Jul-2022 23:56 by rmk")
(* ; "Edited 29-Jun-2021 17:06 by rmk:")
(* rda%: "22-Aug-84 16:11")
(SELECTQ PROP
((FORMAT EXTERNALFORMAT)
((FORMAT EXTERNALFORMAT :EXTERNAL-FORMAT)
(* ;; "Return the old name (=VALUE), not the format datum. Better design: the format should have it's name, and not have name as a separate property.")
(PROG1 (\EXTERNALFORMAT STREAM NIL)
(AND VALUE (\EXTERNALFORMAT STREAM VALUE))))
[IF (FETCH (STREAM READONLY-EXTERNALFORMAT) OF STREAM)
THEN (ERROR "EXTERNALFORMAT CANNOT BE CHANGED" STREAM)
ELSE (PROG1 (\EXTERNALFORMAT STREAM NIL)
(AND VALUE (\EXTERNALFORMAT STREAM VALUE)))])
(ENDOFSTREAMOP (PROG1 (fetch (STREAM ENDOFSTREAMOP) of STREAM)
(replace (STREAM ENDOFSTREAMOP) of STREAM with VALUE)))
(PROG ((OLDDATA (fetch OTHERPROPS of STREAM))
@ -608,12 +616,11 @@ Copyright (c) 1981-1993, 1999, 2020-2022 by Venue & Xerox Corporation.
(T (for TAIL on (CDR OLDDATA)
by (CDDR TAIL)
when (EQ (CADR TAIL)
PROP)
PROP)
do (FRPLACD TAIL (CDDDR TAIL))
(RETURN]
(RETURN]
OLDVALUE)
(VALUE (replace OTHERPROPS of STREAM with (LIST PROP
VALUE))
(VALUE (replace OTHERPROPS of STREAM with (LIST PROP VALUE))
(* ; "know old value is NIL")
NIL])
@ -1425,10 +1432,11 @@ Copyright (c) 1981-1993, 1999, 2020-2022 by Venue & Xerox Corporation.
(GO RETRY])
(\DO.PARAMS.AT.OPEN
[LAMBDA (STREAM ACCESS PARAMETERS) (* ; "Edited 19-Dec-2021 09:30 by rmk")
(* ; "Edited 14-Dec-2021 16:10 by rmk")
(* ; "Edited 13-Dec-2021 15:20 by rmk")
(* ; "Edited 29-Jun-2021 17:07 by rmk:")
[LAMBDA (STREAM ACCESS PARAMETERS) (* ; "Edited 6-Jul-2022 00:00 by rmk")
(* ; "Edited 19-Dec-2021 09:30 by rmk")
(* ; "Edited 14-Dec-2021 16:10 by rmk")
(* ; "Edited 13-Dec-2021 15:20 by rmk")
(* ; "Edited 29-Jun-2021 17:07 by rmk:")
(* ; "Edited 5-Oct-92 13:45 by jds")
(* ;; "Does generic parameters when a file/stream is open. Called by \OPENFILE and OPENSTREAM")
@ -1450,7 +1458,7 @@ Copyright (c) 1981-1993, 1999, 2020-2022 by Venue & Xerox Corporation.
(BUFFERS (SETFILEINFO STREAM 'BUFFERS VAL))
(ENDOFSTREAMOP (SETFILEINFO STREAM 'ENDOFSTREAMOP VAL))
(CHARSET (CHARSET STREAM VAL))
((FORMAT EXTERNALFORMAT)
((FORMAT EXTERNALFORMAT :EXTERNAL-FORMAT)
(\EXTERNALFORMAT STREAM VAL))
(CONVHANKAKU (CONVHANKAKU STREAM VAL))
((EOL EOLCONVENTION EOLC)
@ -3049,39 +3057,39 @@ update the map")
(PUTPROPS FILEIO COPYRIGHT ("Venue & Xerox Corporation" 1981 1982 1983 1984 1985 1986 1987 1988 1989
1990 1991 1992 1993 1999 2020 2021 2022))
(DECLARE%: DONTCOPY
(FILEMAP (NIL (27258 30736 (STREAMPROP 27268 . 27702) (GETSTREAMPROP 27704 . 28173) (PUTSTREAMPROP
28175 . 30584) (STREAMP 30586 . 30734)) (30779 33298 (\DEFPRINT.BY.NAME 30789 . 31941) (
\STREAM.DEFPRINT 31943 . 32991) (\FDEV.DEFPRINT 32993 . 33296)) (33556 38597 (\GETACCESS 33566 . 34020
) (\SETACCESS 34022 . 38595)) (58823 64792 (\DEFINEDEVICE 58833 . 61149) (\GETDEVICEFROMNAME 61151 .
61624) (\GETDEVICEFROMHOSTNAME 61626 . 62670) (\REMOVEDEVICE 62672 . 63795) (\REMOVEDEVICE.NAMES 63797
. 64790)) (64832 89578 (\CLOSEFILE 64842 . 65667) (\DELETEFILE 65669 . 65963) (\DEVICEEVENT 65965 .
67735) (\GENERATEFILES 67737 . 68684) (\GENERATENEXTFILE 68686 . 69337) (\GENERATEFILEINFO 69339 .
69800) (\GETFILENAME 69802 . 70191) (\GENERIC.OUTFILEP 70193 . 70663) (\OPENFILE 70665 . 73243) (
\DO.PARAMS.AT.OPEN 73245 . 75415) (\RENAMEFILE 75417 . 75841) (\REVALIDATEFILE 75843 . 78445) (
\PAGED.REVALIDATEFILELST 78447 . 80005) (\PAGED.REVALIDATEFILES 80007 . 81726) (\PAGED.REVALIDATEFILE
81728 . 84011) (\BUFFERED.REVALIDATEFILE 84013 . 86299) (\BUFFERED.REVALIDATEFILELST 86301 . 87485) (
\PRINT-REVALIDATION-RESULT 87487 . 87902) (\TRUNCATEFILE 87904 . 88295) (\FILE-CONFLICT 88297 . 89576)
) (89614 94277 (\GENERATENOFILES 89624 . 91720) (\NULLFILEGENERATOR 91722 . 91966) (\NOFILESNEXTFILEFN
91968 . 93959) (\NOFILESINFOFN 93961 . 94275)) (94396 96304 (\FILE.NOT.OPEN 94406 . 94919) (
\FILE.WONT.OPEN 94921 . 95249) (\ILLEGAL.DEVICEOP 95251 . 95533) (\IS.NOT.RANDACCESSP 95535 . 95981) (
\STREAM.NOT.OPEN 95983 . 96302)) (96439 98737 (\FDEVINSTANCE 96449 . 98735)) (99939 107313 (CNDIR
99949 . 101254) (DIRECTORYNAME 101256 . 105439) (DIRECTORYNAMEP 105441 . 106057) (HOSTNAMEP 106059 .
106866) (\ADD.CONNECTED.DIR 106868 . 107311)) (107358 135238 (\BACKFILEPTR 107368 . 107556) (
\BACKPEEKBIN 107558 . 107919) (\BACKBIN 107921 . 108272) (BIN 108274 . 108491) (\BIN 108493 . 108770)
(\BINS 108772 . 109058) (BOUT 109060 . 109422) (\BOUT 109424 . 109739) (\BOUTS 109741 . 110052) (
COPYBYTES 110054 . 113386) (COPYCHARS 113388 . 117054) (COPYFILE 117056 . 117853) (\COPYOPENFILE
117855 . 120928) (\INFER.FILE.TYPE 120930 . 121884) (EOFP 121886 . 122183) (FORCEOUTPUT 122185 .
122432) (\FLUSH.OPEN.STREAMS 122434 . 122790) (CHARSET 122792 . 124456) (ACCESS-CHARSET 124458 .
124675) (GETEOFPTR 124677 . 124927) (GETFILEINFO 124929 . 128122) (\TYPE.FROM.FILETYPE 128124 . 128594
) (\FILETYPE.FROM.TYPE 128596 . 128775) (GETFILEPTR 128777 . 129029) (SETFILEINFO 129031 . 133137) (
SETFILEPTR 133139 . 134858) (BOUT16 134860 . 135045) (BIN16 135047 . 135236)) (135341 140546 (
\GENERIC.BINS 135351 . 135631) (\GENERIC.BOUTS 135633 . 135898) (\GENERIC.RENAMEFILE 135900 . 137731)
(\GENERIC.OPENP 137733 . 139048) (\GENERIC.READP 139050 . 140091) (\GENERIC.CHARSET 140093 . 140544))
(140547 140886 (\MAP-OPEN-STREAMS 140557 . 140884)) (142670 144750 (\EOF.ACTION 142680 . 142931) (
\EOSERROR 142933 . 143126) (\GETEOFPTR 143128 . 143310) (\INCFILEPTR 143312 . 143662) (\PEEKBIN 143664
. 143855) (\SETCLOSEDFILELENGTH 143857 . 144191) (\SETEOFPTR 144193 . 144381) (\SETFILEPTR 144383 .
144748)) (144751 145293 (\FIXPOUT 144761 . 145061) (\FIXPIN 145063 . 145291)) (145294 145860 (\BOUTEOL
145304 . 145858)) (148756 158620 (\BUFFERED.BIN 148766 . 149618) (\BUFFERED.PEEKBIN 149620 . 150402)
(\BUFFERED.BOUT 150404 . 151264) (\BUFFERED.BINS 151266 . 154951) (\BUFFERED.BOUTS 154953 . 156754) (
\BUFFERED.COPYBYTES 156756 . 158618)))))
(FILEMAP (NIL (27526 31332 (STREAMPROP 27536 . 27970) (GETSTREAMPROP 27972 . 28567) (PUTSTREAMPROP
28569 . 31180) (STREAMP 31182 . 31330)) (31375 33894 (\DEFPRINT.BY.NAME 31385 . 32537) (
\STREAM.DEFPRINT 32539 . 33587) (\FDEV.DEFPRINT 33589 . 33892)) (34152 39193 (\GETACCESS 34162 . 34616
) (\SETACCESS 34618 . 39191)) (59419 65388 (\DEFINEDEVICE 59429 . 61745) (\GETDEVICEFROMNAME 61747 .
62220) (\GETDEVICEFROMHOSTNAME 62222 . 63266) (\REMOVEDEVICE 63268 . 64391) (\REMOVEDEVICE.NAMES 64393
. 65386)) (65428 90319 (\CLOSEFILE 65438 . 66263) (\DELETEFILE 66265 . 66559) (\DEVICEEVENT 66561 .
68331) (\GENERATEFILES 68333 . 69280) (\GENERATENEXTFILE 69282 . 69933) (\GENERATEFILEINFO 69935 .
70396) (\GETFILENAME 70398 . 70787) (\GENERIC.OUTFILEP 70789 . 71259) (\OPENFILE 71261 . 73839) (
\DO.PARAMS.AT.OPEN 73841 . 76156) (\RENAMEFILE 76158 . 76582) (\REVALIDATEFILE 76584 . 79186) (
\PAGED.REVALIDATEFILELST 79188 . 80746) (\PAGED.REVALIDATEFILES 80748 . 82467) (\PAGED.REVALIDATEFILE
82469 . 84752) (\BUFFERED.REVALIDATEFILE 84754 . 87040) (\BUFFERED.REVALIDATEFILELST 87042 . 88226) (
\PRINT-REVALIDATION-RESULT 88228 . 88643) (\TRUNCATEFILE 88645 . 89036) (\FILE-CONFLICT 89038 . 90317)
) (90355 95018 (\GENERATENOFILES 90365 . 92461) (\NULLFILEGENERATOR 92463 . 92707) (\NOFILESNEXTFILEFN
92709 . 94700) (\NOFILESINFOFN 94702 . 95016)) (95137 97045 (\FILE.NOT.OPEN 95147 . 95660) (
\FILE.WONT.OPEN 95662 . 95990) (\ILLEGAL.DEVICEOP 95992 . 96274) (\IS.NOT.RANDACCESSP 96276 . 96722) (
\STREAM.NOT.OPEN 96724 . 97043)) (97180 99478 (\FDEVINSTANCE 97190 . 99476)) (100680 108054 (CNDIR
100690 . 101995) (DIRECTORYNAME 101997 . 106180) (DIRECTORYNAMEP 106182 . 106798) (HOSTNAMEP 106800 .
107607) (\ADD.CONNECTED.DIR 107609 . 108052)) (108099 135979 (\BACKFILEPTR 108109 . 108297) (
\BACKPEEKBIN 108299 . 108660) (\BACKBIN 108662 . 109013) (BIN 109015 . 109232) (\BIN 109234 . 109511)
(\BINS 109513 . 109799) (BOUT 109801 . 110163) (\BOUT 110165 . 110480) (\BOUTS 110482 . 110793) (
COPYBYTES 110795 . 114127) (COPYCHARS 114129 . 117795) (COPYFILE 117797 . 118594) (\COPYOPENFILE
118596 . 121669) (\INFER.FILE.TYPE 121671 . 122625) (EOFP 122627 . 122924) (FORCEOUTPUT 122926 .
123173) (\FLUSH.OPEN.STREAMS 123175 . 123531) (CHARSET 123533 . 125197) (ACCESS-CHARSET 125199 .
125416) (GETEOFPTR 125418 . 125668) (GETFILEINFO 125670 . 128863) (\TYPE.FROM.FILETYPE 128865 . 129335
) (\FILETYPE.FROM.TYPE 129337 . 129516) (GETFILEPTR 129518 . 129770) (SETFILEINFO 129772 . 133878) (
SETFILEPTR 133880 . 135599) (BOUT16 135601 . 135786) (BIN16 135788 . 135977)) (136082 141287 (
\GENERIC.BINS 136092 . 136372) (\GENERIC.BOUTS 136374 . 136639) (\GENERIC.RENAMEFILE 136641 . 138472)
(\GENERIC.OPENP 138474 . 139789) (\GENERIC.READP 139791 . 140832) (\GENERIC.CHARSET 140834 . 141285))
(141288 141627 (\MAP-OPEN-STREAMS 141298 . 141625)) (143411 145491 (\EOF.ACTION 143421 . 143672) (
\EOSERROR 143674 . 143867) (\GETEOFPTR 143869 . 144051) (\INCFILEPTR 144053 . 144403) (\PEEKBIN 144405
. 144596) (\SETCLOSEDFILELENGTH 144598 . 144932) (\SETEOFPTR 144934 . 145122) (\SETFILEPTR 145124 .
145489)) (145492 146034 (\FIXPOUT 145502 . 145802) (\FIXPIN 145804 . 146032)) (146035 146601 (\BOUTEOL
146045 . 146599)) (149497 159361 (\BUFFERED.BIN 149507 . 150359) (\BUFFERED.PEEKBIN 150361 . 151143)
(\BUFFERED.BOUT 151145 . 152005) (\BUFFERED.BINS 152007 . 155692) (\BUFFERED.BOUTS 155694 . 157495) (
\BUFFERED.COPYBYTES 157497 . 159359)))))
STOP

Binary file not shown.