1
0
mirror of synced 2026-01-28 21:11:37 +00:00

FILEIO: single place for EOL specification

Now only in SETFILEINFO, not separately in \DO.PARAMS.AT.OPEN
This commit is contained in:
rmkaplan
2021-12-22 10:57:50 -08:00
parent c14419384b
commit 25f47c75a2
2 changed files with 87 additions and 91 deletions

View File

@@ -1,11 +1,11 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "14-Dec-2021 16:10:18" {DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>FILEIO.;102 160392
(FILECREATED "19-Dec-2021 09:31:06" {DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>FILEIO.;103 160528
:CHANGES-TO (FNS \DO.PARAMS.AT.OPEN)
:CHANGES-TO (FNS \DO.PARAMS.AT.OPEN SETFILEINFO)
:PREVIOUS-DATE "13-Dec-2021 15:20:15"
{DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>FILEIO.;101)
:PREVIOUS-DATE "14-Dec-2021 16:10:18"
{DSK}<Users>kaplan>Local>medley3.5>my-medley>sources>FILEIO.;102)
(* ; "
@@ -1412,7 +1412,8 @@ Copyright (c) 1981-1993, 1999, 2020-2021 by Venue & Xerox Corporation.
(GO RETRY])
(\DO.PARAMS.AT.OPEN
[LAMBDA (STREAM ACCESS PARAMETERS) (* ; "Edited 14-Dec-2021 16:10 by rmk")
[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:")
(* ; "Edited 5-Oct-92 13:45 by jds")
@@ -1426,33 +1427,22 @@ Copyright (c) 1981-1993, 1999, 2020-2021 by Venue & Xerox Corporation.
(DECLARE (USEDFREE STREAM-AFTER-OPEN-FNS))
(\EXTERNALFORMAT STREAM :DEFAULT)
(for X ATTR VAL in PARAMETERS
do (COND
[(LISTP X)
(SETQ ATTR (CAR X))
(SETQ VAL (CAR (LISTP (CDR X]
(T (SETQ ATTR X)
(SETQ VAL T)))
(SELECTQ ATTR
(BUFFERS (SETFILEINFO STREAM 'BUFFERS VAL))
(ENDOFSTREAMOP (SETFILEINFO STREAM 'ENDOFSTREAMOP VAL))
(CHARSET (CHARSET STREAM VAL))
((FORMAT EXTERNALFORMAT)
(\EXTERNALFORMAT STREAM VAL))
(CONVHANKAKU (CONVHANKAKU STREAM VAL))
((EOL EOLCONVENTION EOLC)
(replace EOLCONVENTION of STREAM with (SELECTQ VAL
(CR CR.EOLC)
(LF LF.EOLC)
(CRLF CRLF.EOLC)
(ANY (CL:WHEN (\GETSTREAM STREAM
'OUTPUT T)
(ERROR
"EOL convention ANY not allowed for output streams"
STREAM))
ANY.EOLC)
(\ILLEGAL.ARG VAL))))
NIL))
(for X ATTR VAL in PARAMETERS do (COND
[(LISTP X)
(SETQ ATTR (CAR X))
(SETQ VAL (CAR (LISTP (CDR X]
(T (SETQ ATTR X)
(SETQ VAL T)))
(SELECTQ ATTR
(BUFFERS (SETFILEINFO STREAM 'BUFFERS VAL))
(ENDOFSTREAMOP (SETFILEINFO STREAM 'ENDOFSTREAMOP VAL))
(CHARSET (CHARSET STREAM VAL))
((FORMAT EXTERNALFORMAT)
(\EXTERNALFORMAT STREAM VAL))
(CONVHANKAKU (CONVHANKAKU STREAM VAL))
((EOL EOLCONVENTION EOLC)
(SETFILEINFO STREAM 'EOL VAL))
NIL))
(FOR FN IN STREAM-AFTER-OPEN-FNS DO (APPLY* FN STREAM ACCESS PARAMETERS])
(\RENAMEFILE
@@ -2433,26 +2423,32 @@ update the map")
STREAM])
(SETFILEINFO
[LAMBDA (FILE ATTRIB VALUE) (* ; "Edited 29-Jun-2021 17:05 by rmk:")
(* ; "Edited 11-Dec-95 11:08 by ")
(* ; "Edited 27-Mar-89 15:33 by bvm")
[LAMBDA (FILE ATTRIB VALUE) (* ; "Edited 19-Dec-2021 09:30 by rmk")
(* ; "Edited 29-Jun-2021 17:05 by rmk:")
(* ; "Edited 11-Dec-95 11:08 by ")
(* ; "Edited 27-Mar-89 15:33 by bvm")
(LET (FULLNAME DEV)
(COND
[(type? STREAM FILE) (* ;
 "FILE is open, so strip off attributes that can be set from the stream.")
[(type? STREAM FILE) (* ;
 "FILE is open, so strip off attributes that can be set from the stream.")
(SELECTQ ATTRIB
((ACCESS BYTESIZE OPENBYTESIZE) (* ;
 "These can't be changed for an open file")
((ACCESS BYTESIZE OPENBYTESIZE) (* ;
 "These can't be changed for an open file")
NIL)
(EOL (replace EOLCONVENTION of FILE with (SELECTQ VALUE
(CR CR.EOLC)
(CRLF CRLF.EOLC)
(LF LF.EOLC)
(ANY ANY.EOLC)
(\ILLEGAL.ARG VALUE)))
(CR CR.EOLC)
(CRLF CRLF.EOLC)
(LF LF.EOLC)
(ANY (CL:WHEN (\GETSTREAM FILE
'OUTPUT T)
(ERROR
"EOL convention ANY is not allowed for output streams"
FILE))
ANY.EOLC)
(\ILLEGAL.ARG VALUE)))
VALUE)
((FORMAT EXTERNALFORMAT)
(\EXTERNALFORMAT FILE VALUE)
(\EXTERNALFORMAT FILE VALUE)
VALUE)
(ENDOFSTREAMOP (replace ENDOFSTREAMOP of FILE with VALUE))
(BUFFERS (replace MAXBUFFERS of FILE with (IMAX 1 (FIX VALUE))))
@@ -2461,18 +2457,18 @@ update the map")
FILE ATTRIB VALUE DEV)
(SELECTQ ATTRIB
(LENGTH
(* ;; "Let device at this attribute first. Probably should not have this generic op, since we don't know how to do this for all devices")
(* ;; "Let device at this attribute first. Probably should not have this generic op, since we don't know how to do this for all devices")
[\SETEOFPTR FILE (COND
((type? BYTEPTR VALUE)
VALUE)
(T (\ILLEGAL.ARG VALUE])
((type? BYTEPTR VALUE)
VALUE)
(T (\ILLEGAL.ARG VALUE])
(SIZE (\SETEOFPTR FILE (UNFOLD VALUE BYTESPERPAGE)))
NIL]
[(AND [SETQ DEV (\GETDEVICEFROMNAME (SETQ FULLNAME (\ADD.CONNECTED.DIR
(\CONVERT-PATHNAME FILE]
[(AND [SETQ DEV (\GETDEVICEFROMNAME (SETQ FULLNAME (\ADD.CONNECTED.DIR (\CONVERT-PATHNAME
FILE]
(SETQ FULLNAME (FDEVOP 'GETFILENAME DEV FULLNAME 'OLD DEV)))
(* ; "Name of existing file. It's possible we should have the device do recognition instead, but then we have the confusion of file not found recovery in the wrong place.")
(* ; "Name of existing file. It's possible we should have the device do recognition instead, but then we have the confusion of file not found recovery in the wrong place.")
(SELECTQ ATTRIB
((ACCESS OPENBYTESIZE EOLCONVENTION)
NIL)
@@ -2480,9 +2476,9 @@ update the map")
(COND
((EQ ATTRIB 'LENGTH)
(\SETCLOSEDFILELENGTH FULLNAME (COND
((type? BYTEPTR VALUE)
VALUE)
(T (\ILLEGAL.ARG VALUE]
((type? BYTEPTR VALUE)
VALUE)
(T (\ILLEGAL.ARG VALUE]
(T (LISPERROR "FILE NOT FOUND" FILE])
(SETFILEPTR
@@ -3093,40 +3089,40 @@ 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))
(DECLARE%: DONTCOPY
(FILEMAP (NIL (26864 30342 (STREAMPROP 26874 . 27308) (GETSTREAMPROP 27310 . 27779) (PUTSTREAMPROP
27781 . 30190) (STREAMP 30192 . 30340)) (30385 32904 (\DEFPRINT.BY.NAME 30395 . 31547) (
\STREAM.DEFPRINT 31549 . 32597) (\FDEV.DEFPRINT 32599 . 32902)) (33162 38203 (\GETACCESS 33172 . 33626
) (\SETACCESS 33628 . 38201)) (58356 64325 (\DEFINEDEVICE 58366 . 60682) (\GETDEVICEFROMNAME 60684 .
61157) (\GETDEVICEFROMHOSTNAME 61159 . 62203) (\REMOVEDEVICE 62205 . 63328) (\REMOVEDEVICE.NAMES 63330
. 64323)) (64365 89011 (\CLOSEFILE 64375 . 65200) (\DELETEFILE 65202 . 65496) (\DEVICEEVENT 65498 .
67268) (\GENERATEFILES 67270 . 67748) (\GENERATENEXTFILE 67750 . 68401) (\GENERATEFILEINFO 68403 .
68864) (\GETFILENAME 68866 . 69255) (\GENERIC.OUTFILEP 69257 . 69727) (\OPENFILE 69729 . 72307) (
\DO.PARAMS.AT.OPEN 72309 . 74848) (\RENAMEFILE 74850 . 75274) (\REVALIDATEFILE 75276 . 77878) (
\PAGED.REVALIDATEFILELST 77880 . 79438) (\PAGED.REVALIDATEFILES 79440 . 81159) (\PAGED.REVALIDATEFILE
81161 . 83444) (\BUFFERED.REVALIDATEFILE 83446 . 85732) (\BUFFERED.REVALIDATEFILELST 85734 . 86918) (
\PRINT-REVALIDATION-RESULT 86920 . 87335) (\TRUNCATEFILE 87337 . 87728) (\FILE-CONFLICT 87730 . 89009)
) (89047 93710 (\GENERATENOFILES 89057 . 91153) (\NULLFILEGENERATOR 91155 . 91399) (\NOFILESNEXTFILEFN
91401 . 93392) (\NOFILESINFOFN 93394 . 93708)) (93829 95737 (\FILE.NOT.OPEN 93839 . 94352) (
\FILE.WONT.OPEN 94354 . 94682) (\ILLEGAL.DEVICEOP 94684 . 94966) (\IS.NOT.RANDACCESSP 94968 . 95414) (
\STREAM.NOT.OPEN 95416 . 95735)) (95872 98170 (\FDEVINSTANCE 95882 . 98168)) (99372 106746 (CNDIR
99382 . 100687) (DIRECTORYNAME 100689 . 104872) (DIRECTORYNAMEP 104874 . 105490) (HOSTNAMEP 105492 .
106299) (\ADD.CONNECTED.DIR 106301 . 106744)) (106791 134178 (\BACKFILEPTR 106801 . 106989) (
\BACKPEEKBIN 106991 . 107352) (\BACKBIN 107354 . 107705) (BIN 107707 . 107924) (\BIN 107926 . 108203)
(\BINS 108205 . 108491) (BOUT 108493 . 108855) (\BOUT 108857 . 109172) (\BOUTS 109174 . 109485) (
COPYBYTES 109487 . 112819) (COPYCHARS 112821 . 116487) (COPYFILE 116489 . 117286) (\COPYOPENFILE
117288 . 120361) (\INFER.FILE.TYPE 120363 . 121317) (EOFP 121319 . 121616) (FORCEOUTPUT 121618 .
121865) (\FLUSH.OPEN.STREAMS 121867 . 122223) (CHARSET 122225 . 123889) (ACCESS-CHARSET 123891 .
124108) (GETEOFPTR 124110 . 124360) (GETFILEINFO 124362 . 127555) (\TYPE.FROM.FILETYPE 127557 . 128027
) (\FILETYPE.FROM.TYPE 128029 . 128208) (GETFILEPTR 128210 . 128462) (SETFILEINFO 128464 . 132077) (
SETFILEPTR 132079 . 133798) (BOUT16 133800 . 133985) (BIN16 133987 . 134176)) (134281 139486 (
\GENERIC.BINS 134291 . 134571) (\GENERIC.BOUTS 134573 . 134838) (\GENERIC.RENAMEFILE 134840 . 136671)
(\GENERIC.OPENP 136673 . 137988) (\GENERIC.READP 137990 . 139031) (\GENERIC.CHARSET 139033 . 139484))
(139487 139826 (\MAP-OPEN-STREAMS 139497 . 139824)) (141610 143690 (\EOF.ACTION 141620 . 141871) (
\EOSERROR 141873 . 142066) (\GETEOFPTR 142068 . 142250) (\INCFILEPTR 142252 . 142602) (\PEEKBIN 142604
. 142795) (\SETCLOSEDFILELENGTH 142797 . 143131) (\SETEOFPTR 143133 . 143321) (\SETFILEPTR 143323 .
143688)) (143691 144233 (\FIXPOUT 143701 . 144001) (\FIXPIN 144003 . 144231)) (144234 144800 (\BOUTEOL
144244 . 144798)) (147696 157560 (\BUFFERED.BIN 147706 . 148558) (\BUFFERED.PEEKBIN 148560 . 149342)
(\BUFFERED.BOUT 149344 . 150204) (\BUFFERED.BINS 150206 . 153891) (\BUFFERED.BOUTS 153893 . 155694) (
\BUFFERED.COPYBYTES 155696 . 157558)) (157589 159941 (\NULLDEVICE 157599 . 159617) (\NULL.OPENFILE
159619 . 159939)))))
(FILEMAP (NIL (26876 30354 (STREAMPROP 26886 . 27320) (GETSTREAMPROP 27322 . 27791) (PUTSTREAMPROP
27793 . 30202) (STREAMP 30204 . 30352)) (30397 32916 (\DEFPRINT.BY.NAME 30407 . 31559) (
\STREAM.DEFPRINT 31561 . 32609) (\FDEV.DEFPRINT 32611 . 32914)) (33174 38215 (\GETACCESS 33184 . 33638
) (\SETACCESS 33640 . 38213)) (58368 64337 (\DEFINEDEVICE 58378 . 60694) (\GETDEVICEFROMNAME 60696 .
61169) (\GETDEVICEFROMHOSTNAME 61171 . 62215) (\REMOVEDEVICE 62217 . 63340) (\REMOVEDEVICE.NAMES 63342
. 64335)) (64377 88654 (\CLOSEFILE 64387 . 65212) (\DELETEFILE 65214 . 65508) (\DEVICEEVENT 65510 .
67280) (\GENERATEFILES 67282 . 67760) (\GENERATENEXTFILE 67762 . 68413) (\GENERATEFILEINFO 68415 .
68876) (\GETFILENAME 68878 . 69267) (\GENERIC.OUTFILEP 69269 . 69739) (\OPENFILE 69741 . 72319) (
\DO.PARAMS.AT.OPEN 72321 . 74491) (\RENAMEFILE 74493 . 74917) (\REVALIDATEFILE 74919 . 77521) (
\PAGED.REVALIDATEFILELST 77523 . 79081) (\PAGED.REVALIDATEFILES 79083 . 80802) (\PAGED.REVALIDATEFILE
80804 . 83087) (\BUFFERED.REVALIDATEFILE 83089 . 85375) (\BUFFERED.REVALIDATEFILELST 85377 . 86561) (
\PRINT-REVALIDATION-RESULT 86563 . 86978) (\TRUNCATEFILE 86980 . 87371) (\FILE-CONFLICT 87373 . 88652)
) (88690 93353 (\GENERATENOFILES 88700 . 90796) (\NULLFILEGENERATOR 90798 . 91042) (\NOFILESNEXTFILEFN
91044 . 93035) (\NOFILESINFOFN 93037 . 93351)) (93472 95380 (\FILE.NOT.OPEN 93482 . 93995) (
\FILE.WONT.OPEN 93997 . 94325) (\ILLEGAL.DEVICEOP 94327 . 94609) (\IS.NOT.RANDACCESSP 94611 . 95057) (
\STREAM.NOT.OPEN 95059 . 95378)) (95515 97813 (\FDEVINSTANCE 95525 . 97811)) (99015 106389 (CNDIR
99025 . 100330) (DIRECTORYNAME 100332 . 104515) (DIRECTORYNAMEP 104517 . 105133) (HOSTNAMEP 105135 .
105942) (\ADD.CONNECTED.DIR 105944 . 106387)) (106434 134314 (\BACKFILEPTR 106444 . 106632) (
\BACKPEEKBIN 106634 . 106995) (\BACKBIN 106997 . 107348) (BIN 107350 . 107567) (\BIN 107569 . 107846)
(\BINS 107848 . 108134) (BOUT 108136 . 108498) (\BOUT 108500 . 108815) (\BOUTS 108817 . 109128) (
COPYBYTES 109130 . 112462) (COPYCHARS 112464 . 116130) (COPYFILE 116132 . 116929) (\COPYOPENFILE
116931 . 120004) (\INFER.FILE.TYPE 120006 . 120960) (EOFP 120962 . 121259) (FORCEOUTPUT 121261 .
121508) (\FLUSH.OPEN.STREAMS 121510 . 121866) (CHARSET 121868 . 123532) (ACCESS-CHARSET 123534 .
123751) (GETEOFPTR 123753 . 124003) (GETFILEINFO 124005 . 127198) (\TYPE.FROM.FILETYPE 127200 . 127670
) (\FILETYPE.FROM.TYPE 127672 . 127851) (GETFILEPTR 127853 . 128105) (SETFILEINFO 128107 . 132213) (
SETFILEPTR 132215 . 133934) (BOUT16 133936 . 134121) (BIN16 134123 . 134312)) (134417 139622 (
\GENERIC.BINS 134427 . 134707) (\GENERIC.BOUTS 134709 . 134974) (\GENERIC.RENAMEFILE 134976 . 136807)
(\GENERIC.OPENP 136809 . 138124) (\GENERIC.READP 138126 . 139167) (\GENERIC.CHARSET 139169 . 139620))
(139623 139962 (\MAP-OPEN-STREAMS 139633 . 139960)) (141746 143826 (\EOF.ACTION 141756 . 142007) (
\EOSERROR 142009 . 142202) (\GETEOFPTR 142204 . 142386) (\INCFILEPTR 142388 . 142738) (\PEEKBIN 142740
. 142931) (\SETCLOSEDFILELENGTH 142933 . 143267) (\SETEOFPTR 143269 . 143457) (\SETFILEPTR 143459 .
143824)) (143827 144369 (\FIXPOUT 143837 . 144137) (\FIXPIN 144139 . 144367)) (144370 144936 (\BOUTEOL
144380 . 144934)) (147832 157696 (\BUFFERED.BIN 147842 . 148694) (\BUFFERED.PEEKBIN 148696 . 149478)
(\BUFFERED.BOUT 149480 . 150340) (\BUFFERED.BINS 150342 . 154027) (\BUFFERED.BOUTS 154029 . 155830) (
\BUFFERED.COPYBYTES 155832 . 157694)) (157725 160077 (\NULLDEVICE 157735 . 159753) (\NULL.OPENFILE
159755 . 160075)))))
STOP

Binary file not shown.