1
0
mirror of synced 2026-01-13 15:37:38 +00:00

Merge branch 'master' into fgh_loadups-updates-24-05-16

This commit is contained in:
Frank Halasz 2024-05-24 19:31:21 -07:00
commit 40306a3fe8
4 changed files with 244 additions and 266 deletions

View File

@ -19,7 +19,7 @@ name: "Build/Push Release & Docker"
# Run this workflow on ...
on:
schedule:
- cron: '0 9 * * 1'
- cron: '0 9 * * 3'
workflow_dispatch:
inputs:

3
.gitignore vendored
View File

@ -19,7 +19,8 @@ loadups/exports.all
library/RDSYS*
loadups/lisp.sysout
loadups/full.sysout
loadups/fuller.sysout # not currently included but might as well ignore it
# not currently included but might as well ignore it
loadups/fuller.sysout
loadups/*.dribble
loadups/whereis.hash
loadups/apps.sysout

View File

@ -1,19 +1,18 @@
(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "INTERLISP" BASE 10)
(FILECREATED "28-Jun-99 17:07:34" {DSK}<project>medley3.5>sources>NSFILING.;2 294552
changes to%: (FNS \NSFILING.GENERATEFILES)
(FILECREATED "23-May-2024 23:20:49" {DSK}<home>frank>il>medley>sources>NSFILING.;2 293309
previous date%: "19-Jan-93 10:59:09" {DSK}<project>medley3.5>sources>NSFILING.;1)
:EDIT-BY "frank"
:CHANGES-TO (FNS \NSRANDOM.CREATE.STREAM \NSFILING.GETFILE)
:PREVIOUS-DATE "28-Jun-99 17:07:34" {DSK}<home>frank>il>medley>sources>NSFILING.;1)
(* ; "
Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1990, 1993, 1999 by Venue & Xerox Corporation. All rights reserved.
")
(PRETTYCOMPRINT NSFILINGCOMS)
(RPAQQ NSFILINGCOMS
[(COMS (* ; "Filing Protocol")
[(COMS (* ; "Filing Protocol")
(COURIERPROGRAMS FILING FILING.4)
(DECLARE%: EVAL@COMPILE DONTCOPY (CONSTANTS * NSFILINGCONSTANTS)
(RECORDS NSFILINGSTREAM FILINGSESSION FILINGHANDLE NSFILESERVER
@ -54,24 +53,24 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1990, 1993, 1999 by Venue & Xe
(*NSFILING-PAGE-CACHE-INCREMENT* 4)
(*NSFILING-SESSION-TIMEOUT* '(900 . 21600))
(\NSRANDOM.CHECK.CACHE))
(COMS (* ; "Connection maintenance")
(COMS (* ; "Connection maintenance")
(FNS \GETFILINGCONNECTION \NSFILING.GET.NEW.SESSION \NSFILING.GET.STREAM
\NSFILING.COURIER.OPEN \NSFILING.CLOSE.BULKSTREAM \NSFILING.RELEASE.BULKSTREAM
FILING.CALL \NSFILING.LOGIN \NSFILING.AFTER.LOGIN \NSFILING.SET.CONTINUANCE
\NSFILING.LOGOUT \NSFILING.DISCARD.SESSION \VALID.FILING.CONNECTIONP
\NSFILING.CLOSE.CONNECTIONS BREAK.NSFILING.CONNECTION)
(ADDVARS (\AFTERLOGINFNS \NSFILING.AFTER.LOGIN)))
(COMS (* ; "Support")
(COMS (* ; "Support")
(FNS \NSFILING.CONNECT \NSFILING.MAYBE.CREATE \NSFILING.REMOVEQUOTES
\NSFILING.ADDQUOTES \FILING.ATTRIBUTE.TYPE.SEQUENCE \FILING.ATTRIBUTE.TYPE
\LISP.TO.NSFILING.ATTRIBUTE))
(COMS (* ; "FILINGHANDLE stuff")
(COMS (* ; "FILINGHANDLE stuff")
(FNS \NSFILING.GETFILE \NSFILING.LOOKUP.CACHE \NSFILING.ADD.TO.CACHE
\NSFILING.OPEN.HANDLE \NSFILING.CONFLICTP \NSFILING.CHECK.ACCESS
\NSFILING.FILLIN.ATTRIBUTES \NSFILING.COMPOSE.PATHNAME \NSFILING.PARSE.FILENAME
\NSFILING.ERRORHANDLER \NSFILING.WHENCLOSED \NSFILING.CLOSE.HANDLE
\NSFILING.FULLNAME))
(COMS (* ; "NSFILING device")
(COMS (* ; "NSFILING device")
(FNS \NSFILING.OPENFILE \NSFILING.HANDLE.ERROR \NSFILING.CLOSEFILE \NSFILING.EVENTFN
\NSFILING.DELETEFILE \NSFILING.CHILDLESS-P \NSFILING.DIRECTORYNAMEP
\NSFILING.HOSTNAMEP \NSFILING.GETFILENAME \NSFILING.GETFILEINFO
@ -80,21 +79,20 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1990, 1993, 1999 by Venue & Xe
\NSFILING.GETEOFPTR \NSFILING.GENERATEFILES \NSFILING.GENERATE.STARS
\NSFILING.NEXTFILE \NSFILING.FILEINFOFN \NSFILING.RENAMEFILE \NSFILING.COPYFILE
\NSFILING.COPY/RENAME))
(COMS (* ; "Random access methods")
(COMS (* ; "Random access methods")
(FNS \NSRANDOM.CLOSEFILE \NSRANDOM.RELEASE.HANDLE \NSRANDOM.RELEASE.LOCK
\NSRANDOM.RELEASE.IF.ERROR \NSRANDOM.CREATE.STREAM \NSRANDOM.READPAGES
\NSRANDOM.READ.SEGMENT \NSRANDOM.PREPARE.CACHE \NSRANDOM.FETCH.CACHE
\NSRANDOM.CHECK.CACHE \NSRANDOM.WRITEPAGES \NSRANDOM.WRITE.SEGMENT
\NSRANDOM.WROTE.HANDLE \NSRANDOM.SETEOFPTR \NSRANDOM.TRUNCATEFILE
\NSRANDOM.UPDATE.VALIDATION \NSRANDOM.OPENFILE)
(* ; "error handling")
(* ; "error handling")
(FNS \NSRANDOM.HANDLE.ERROR \NSRANDOM.PROCEEDABLE.ERROR \NSRANDOM.REESTABLISH
\NSRANDOM.STREAM.CHANGED \NSRANDOM.DESTROY.STREAM \NSRANDOM.SESSION.WATCHER
\NSRANDOM.ENSURE.WATCHER))
(COMS (* ; "Cleaning up directories")
(COMS (* ; "Cleaning up directories")
(FNS GC-FILING-DIRECTORY \NSGC.COLLECT.DIRECTORIES))
(COMS (* ;
 "Deserialize (special for NSMAIL)")
(COMS (* ; "Deserialize (special for NSMAIL)")
(FNS \NSFILING.DESERIALIZE \NSFILING.DESERIALIZE1))
[COMS (FNS \NSFILING.INIT)
(DECLARE%: DONTEVAL@LOAD DOCOPY (P (\NSFILING.INIT]
@ -418,106 +416,100 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1990, 1993, 1999 by Venue & Xe
(DECLARE%: EVAL@COMPILE
(ACCESSFNS NSFILINGSTREAM ( (* ;
 "Overlays STREAM. F1-2 and FW6-8 are used by the bulkdata device")
(NSFILING.CONNECTION (fetch F3 of DATUM)
(replace F3 of DATUM with NEWVALUE))
(* ;
 "Session on which this stream is open")
(NSFILING.HANDLE (fetch F4 of DATUM)
(replace F4 of DATUM with NEWVALUE))
(* ; "Filing HANDLE")
(NSFILING.NEW.ATTRIBUTES (fetch F5 of DATUM)
(replace F5 of DATUM with NEWVALUE))
(* ;
 "For output sequential files, the attributes to install after we write the file")
(NSFILING.PAGE.CACHE (fetch F1 of DATUM)
(replace F1 of DATUM with NEWVALUE))
(* ;
 "Cache of pages read from server but not yet read by client")
(NSFILING.SERVER.LENGTH (fetch F2 of DATUM)
(replace F2 of DATUM with NEWVALUE))
(* ;
 "For random-access streams, actual length of file on server")
(NSFILING.LAST.REQUEST (fetch FW6 of DATUM)
(replace FW6 of DATUM with NEWVALUE))
(* ;
 "Last page requested to be read or written")
))
(ACCESSFNS NSFILINGSTREAM ( (* ;
 "Overlays STREAM. F1-2 and FW6-8 are used by the bulkdata device")
(NSFILING.CONNECTION (fetch F3 of DATUM)
(replace F3 of DATUM with NEWVALUE))
(* ;
 "Session on which this stream is open")
(NSFILING.HANDLE (fetch F4 of DATUM)
(replace F4 of DATUM with NEWVALUE))
(* ; "Filing HANDLE")
(NSFILING.NEW.ATTRIBUTES (fetch F5 of DATUM)
(replace F5 of DATUM with NEWVALUE))
(* ;
 "For output sequential files, the attributes to install after we write the file")
(NSFILING.PAGE.CACHE (fetch F1 of DATUM)
(replace F1 of DATUM with NEWVALUE))
(* ;
 "Cache of pages read from server but not yet read by client")
(NSFILING.SERVER.LENGTH (fetch F2 of DATUM)
(replace F2 of DATUM with NEWVALUE))
(* ;
 "For random-access streams, actual length of file on server")
(NSFILING.LAST.REQUEST (fetch FW6 of DATUM)
(replace FW6 of DATUM with NEWVALUE))
(* ;
 "Last page requested to be read or written")
))
(DATATYPE FILINGSESSION ((FSLOGINCHANGED FLAG) (* ;
 "True if login info changes for this host")
(FSREALACTIVITY FLAG) (* ;
 "Set true when there have been non-CONTINUE calls made on this session")
(NIL BITS 6)
(FSPARSEDNAME POINTER) (* ; "Canonical NSNAME of server")
(FSNAMESTRING POINTER) (* ; "same as a Lisp string")
(FSADDRESS POINTER) (* ; "NSADDRESS of server")
(FSPROCESSNAME POINTER) (* ;
 "Courier stream open for this session, or NIL if none")
(FSSESSIONHANDLE POINTER) (* ; "Handle for this session")
(FSSESSIONLOCK POINTER)
(FSLASTREALACTIVITYTIMER POINTER)
(* ;
 "Time of last interesting activity")
(FSDEVICENAME POINTER)
(FSCOURIERSTREAMS POINTER) (* ;
 "Courier streams usable by session")
(FSCACHEDHANDLES POINTER) (* ;
 "Zero or more instances of FILINGHANDLE describing handles we have open in this session")
(FSLOGINNAME POINTER) (* ;
 "Name under which this session is logged in")
(FSPROTOCOLNAME POINTER) (* ; "FILING or OLDFILING")
(FSPROTOCOLDEF POINTER) (* ;
 "Courier def for FILING.CALL to use")
(FSSESSIONTIMER POINTER) (* ;
 "Time we last did anything at all in this session")
(FSCONTINUANCE WORD) (* ;
 "How long in msecs we can be idle without having server close session")
(FSVERSION WORD) (* ;
 "Version of the protocol in use by this server")
(* ; "Spares")
(NIL POINTER)
(NIL POINTER)
(NIL POINTER)))
(DATATYPE FILINGSESSION ((FSLOGINCHANGED FLAG) (* ;
 "True if login info changes for this host")
(FSREALACTIVITY FLAG) (* ;
 "Set true when there have been non-CONTINUE calls made on this session")
(NIL BITS 6)
(FSPARSEDNAME POINTER) (* ; "Canonical NSNAME of server")
(FSNAMESTRING POINTER) (* ; "same as a Lisp string")
(FSADDRESS POINTER) (* ; "NSADDRESS of server")
(FSPROCESSNAME POINTER) (* ;
 "Courier stream open for this session, or NIL if none")
(FSSESSIONHANDLE POINTER) (* ; "Handle for this session")
(FSSESSIONLOCK POINTER)
(FSLASTREALACTIVITYTIMER POINTER) (* ; "Time of last interesting activity")
(FSDEVICENAME POINTER)
(FSCOURIERSTREAMS POINTER) (* ; "Courier streams usable by session")
(FSCACHEDHANDLES POINTER) (* ;
 "Zero or more instances of FILINGHANDLE describing handles we have open in this session")
(FSLOGINNAME POINTER) (* ;
 "Name under which this session is logged in")
(FSPROTOCOLNAME POINTER) (* ; "FILING or OLDFILING")
(FSPROTOCOLDEF POINTER) (* ;
 "Courier def for FILING.CALL to use")
(FSSESSIONTIMER POINTER) (* ;
 "Time we last did anything at all in this session")
(FSCONTINUANCE WORD) (* ;
 "How long in msecs we can be idle without having server close session")
(FSVERSION WORD) (* ;
 "Version of the protocol in use by this server")
(* ; "Spares")
(NIL POINTER)
(NIL POINTER)
(NIL POINTER)))
(DATATYPE FILINGHANDLE ((NSHDIRECTORYP FLAG) (* ; "Handle is a directory")
(NSHWASREAD FLAG) (* ;
"True if we have read file since we obtained the handle (in which case read date has been updated)")
(NSHWASWRITTEN FLAG)
(NSHWASMODIFIED FLAG)
(NIL BITS 4)
(NSHDATUM POINTER) (* ;
 "The file handle datum used in Courier calls")
(NSHFILEID POINTER) (* ; "FILE.ID of file")
(NSHNAME POINTER) (* ;
 "Full name of the file referenced")
(NSHPATHNAME POINTER) (* ; "Canonical pathname of file")
(NSHATTRIBUTES POINTER) (* ; "Cached attributes")
(NSHACCESS POINTER) (* ;
 "Current access controls on handle")
(NSHTIMER POINTER) (* ; "Last reference to this handle")
(NSHBUSYCOUNT WORD) (* ;
 "Number of current users of handle")
(NIL WORD)
(NSHDIRECTORYPATH POINTER) (* ;
 "For directories, the list of component dirs")
(NIL POINTER))
NSHTIMER _ (SETUPTIMER 0)
NSHDIRECTORYPATH _ T)
(DATATYPE FILINGHANDLE ((NSHDIRECTORYP FLAG) (* ; "Handle is a directory")
(NSHWASREAD FLAG) (* ;
 "True if we have read file since we obtained the handle (in which case read date has been updated)")
(NSHWASWRITTEN FLAG)
(NSHWASMODIFIED FLAG)
(NIL BITS 4)
(NSHDATUM POINTER) (* ;
 "The file handle datum used in Courier calls")
(NSHFILEID POINTER) (* ; "FILE.ID of file")
(NSHNAME POINTER) (* ; "Full name of the file referenced")
(NSHPATHNAME POINTER) (* ; "Canonical pathname of file")
(NSHATTRIBUTES POINTER) (* ; "Cached attributes")
(NSHACCESS POINTER) (* ; "Current access controls on handle")
(NSHTIMER POINTER) (* ; "Last reference to this handle")
(NSHBUSYCOUNT WORD) (* ; "Number of current users of handle")
(NIL WORD)
(NSHDIRECTORYPATH POINTER) (* ;
 "For directories, the list of component dirs")
(NIL POINTER))
NSHTIMER _ (SETUPTIMER 0)
NSHDIRECTORYPATH _ T)
(RECORD NSFILESERVER (NSFSPARSEDNAME . NSFSADDRESSES))
(RECORD NSFILINGDEVICEINFO (NSFILESERVER NSWATCHERPROC NSFILINGLOCK NSFILINGNAME NSRANDOMDEVICE
. NSCONNECTIONS))
(RECORD \NSFILING.GENFILESTATE (CURRENTINFO NSCONNECTION NSGENERATOR NSFILTER NSIGNOREDIRECTORIES
NSBULKSTREAM))
(RECORD \NSFILING.GENFILESTATE (CURRENTINFO NSCONNECTION NSGENERATOR NSFILTER NSIGNOREDIRECTORIES
NSBULKSTREAM))
(RECORD NSFILINGPARSE (NSDIRECTORIES NSROOTNAME NSVERSION NSDIRECTORYP NSHASPERIOD))
(RECORD NSPAGECACHE (NSPSIZE . NSPHEADER)
(RECORD NSPHEADER (NSPTAIL . NSPBUFFERS)))
(RECORD NSPHEADER (NSPTAIL . NSPBUFFERS)))
)
(/DECLAREDATATYPE 'FILINGSESSION
@ -571,13 +563,12 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1990, 1993, 1999 by Venue & Xe
(DECLARE%: EVAL@COMPILE
(PUTPROPS WITHOUT.SESSION.MONITOR MACRO
[(SESSION . FORMS)
(LET ((LOCK (fetch FSSESSIONLOCK of SESSION)))
(DECLARE (LOCALVARS LOCK))
(RELEASE.MONITORLOCK LOCK)
(PROG1 (PROGN . FORMS)
(OBTAIN.MONITORLOCK LOCK])
(PUTPROPS WITHOUT.SESSION.MONITOR MACRO [(SESSION . FORMS)
(LET ((LOCK (fetch FSSESSIONLOCK of SESSION)))
(DECLARE (LOCALVARS LOCK))
(RELEASE.MONITORLOCK LOCK)
(PROG1 (PROGN . FORMS)
(OBTAIN.MONITORLOCK LOCK])
)
(DECLARE%: DOEVAL@COMPILE DONTCOPY
@ -749,10 +740,10 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1990, 1993, 1999 by Venue & Xe
(RPAQQ \NSFILING.NULL.HANDLE (0 0))
(RPAQQ \NSFILING.PROTECTION.BITS ((READ . 16)
(WRITE . 8)
(DELETE . 1)
(CREATE . 2)
(MODIFY . 4)))
(WRITE . 8)
(DELETE . 1)
(CREATE . 2)
(MODIFY . 4)))
(RPAQQ \NSFILING.ATTRIBUTES
((CHECKSUM 0 CARDINAL)
@ -801,11 +792,9 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1990, 1993, 1999 by Venue & Xe
(FILETYPE FILE.TYPE)))
(RPAQ \NSFILING.USEFUL.ATTRIBUTE.TYPES (\FILING.ATTRIBUTE.TYPE.SEQUENCE '(CREATED.ON FILE.ID
IS.DIRECTORY
PATHNAME
SIZE.IN.BYTES
FILE.TYPE VERSION
)))
IS.DIRECTORY PATHNAME
SIZE.IN.BYTES
FILE.TYPE VERSION)))
)
(RPAQ? FILING.CACHE.LIMIT 6)
@ -1608,6 +1597,7 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1990, 1993, 1999 by Venue & Xe
(\NSFILING.GETFILE
[LAMBDA (DEVICE FILENAME ACCESS RECOG OPTION PARAMETERS DIROK SEQUENTIAL OLDSTREAM)
(* ; "Edited 23-May-2024 23:12 by frank")
(* ; "Edited 19-Aug-88 17:17 by bvm")
(* ;; "Opens FILENAME for specified ACCESS and RECOG, returning a stream. If OPTION is NAME, ATTRIBUTES, or HANDLE, just return the appropriate information instead of a stream. If OPTION is DIRECTORY, return T or NIL if FILENAME is a directory or not -- PARAMETERS gives the CREATE? option in case the directory doesn't exist. If ACCESS is not NONE, then PARAMETERS gives extra parameters for the open.")
@ -1621,56 +1611,53 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1990, 1993, 1999 by Venue & Xe
(RETURN NIL)))
[COND
((EQ ACCESS 'SERIALIZE) (* ;
 "Like INPUT, but retrieve a serialized stream on file")
 "Like INPUT, but retrieve a serialized stream on file")
(SETQ ACCESS 'INPUT)
(SETQ SERIALIZE 'SERIALIZE)
(SETQ SEQUENTIAL T))
((AND (NOT SEQUENTIAL)
(NOT OPTION)
*NSFILING-RANDOM-ACCESS*) (* ;
 "RANDEVICE set if we want to open a randaccess stream")
(SETQ RANDEVICE (fetch NSRANDOMDEVICE of (fetch DEVICEINFO of
DEVICE]
 "RANDEVICE set if we want to open a randaccess stream")
(SETQ RANDEVICE (fetch NSRANDOMDEVICE of (fetch DEVICEINFO of DEVICE]
RETRY
[COND
[(SETQ HANDLE (\NSFILING.LOOKUP.CACHE SESSION FILENAME))
(* ; "Cache hit")
(COND
(OPTION (* ;
 "Got handle, so just do what the option said (else fall thru and try to open a file)")
 "Got handle, so just do what the option said (else fall thru and try to open a file)")
(GO HANDLE.OPTION]
((AND (LISTP FILENAME)
(EQ (CAR FILENAME)
'FILE.ID)) (* ; "Identifying file by ID, take shortcut. Do this second just in case we have cached this file already")
(SETQ FILE.ID (CADR FILENAME)))
(T (* ;
 "Parse the name and go thru all this hassle")
 "Parse the name and go thru all this hassle")
(SETQ PARSE (\NSFILING.PARSE.FILENAME FILENAME))
(SETQ DIRPATH (fetch NSDIRECTORIES of PARSE))
(COND
((NULL DIRPATH) (* ;
 "No directories specified, so is illegal name")
 "No directories specified, so is illegal name")
(GO FILE.NOT.FOUND))
[(EQ OPTION 'DIRECTORY)
(RETURN (AND (fetch NSDIRECTORYP of PARSE)
(SETQ HANDLE (\NSFILING.CONNECT SESSION DIRPATH T PARAMETERS
))
(SETQ HANDLE (\NSFILING.CONNECT SESSION DIRPATH T PARAMETERS))
(GO HANDLE.OPTION]
((AND (fetch NSDIRECTORYP of PARSE)
(NOT DIROK)) (* ;
 "No name, just a directory. Failure unless caller said a directory file is ok")
 "No name, just a directory. Failure unless caller said a directory file is ok")
(GO FILE.NOT.FOUND)))
(SETQ EXPLICIT-VERSION (fetch NSVERSION of PARSE))
(SETQ ROOTNAME (fetch NSROOTNAME of PARSE]
[COND
(HANDLE (* ;
 "We have an open file handle from the cache")
 "We have an open file handle from the cache")
)
[FILE.ID (* ;
 "Try to open an existing file by ID.")
 "Try to open an existing file by ID.")
(COND
([SETQ HANDLE (\NSFILING.OPEN.HANDLE SESSION
`((FILE.ID ,FILE.ID))
([SETQ HANDLE (\NSFILING.OPEN.HANDLE SESSION `((FILE.ID ,FILE.ID))
(AND RANDEVICE (SELECTQ ACCESS
((BOTH APPEND)
'OUTPUT)
@ -1680,16 +1667,15 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1990, 1993, 1999 by Venue & Xe
(T (* ; "open by name")
(SETQ OLDHANDLE (\NSFILING.OPEN.HANDLE
SESSION
[\NSFILING.COMPOSE.PATHNAME
DIRPATH ROOTNAME (OR EXPLICIT-VERSION
(SELECTQ RECOG
(OLDEST '-)
'+]
[\NSFILING.COMPOSE.PATHNAME DIRPATH ROOTNAME
(OR EXPLICIT-VERSION (SELECTQ RECOG
(OLDEST '-)
'+]
(AND RANDEVICE (SETQ HAVELOCK
(SELECTQ ACCESS
((OUTPUT BOTH APPEND)
(* ;
"When opening for output, only get lock right now if we know we will be playing with the old file.")
 "When opening for output, only get lock right now if we know we will be playing with the old file.")
(AND (OR EXPLICIT-VERSION
(NEQ RECOG 'NEW))
'OUTPUT))
@ -1703,18 +1689,18 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1990, 1993, 1999 by Venue & Xe
'ACCESS.ERROR)
(EQ (CADDR OLDHANDLE)
'FileNotFound] (* ;
 "No file of any version exists by this name")
 "No file of any version exists by this name")
(SETQ HAVELOCK NIL)
(SELECTQ RECOG
((OLD OLDEST) (* ;
 "No version exists, so certainly this one doesn't")
 "No version exists, so certainly this one doesn't")
(RETURN NIL))
(COND
((EQ ACCESS 'INPUT) (* ;
 "Version given explicitly, file does not exist")
 "Version given explicitly, file does not exist")
(RETURN NIL))
((NULL EXPLICIT-VERSION) (* ;
 "No extant version, so create number 1")
 "No extant version, so create number 1")
(OR RANDEVICE (SETQ VERSION 1)))
(T (SETQ VERSION EXPLICIT-VERSION]
((LISTP OLDHANDLE) (* ; "Error case")
@ -1723,11 +1709,11 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1990, 1993, 1999 by Venue & Xe
(GO HANDLE.ERROR))
((AND (fetch NSHDIRECTORYP of OLDHANDLE)
(NOT DIROK)) (* ;
 "It's a directory, don't try to treat as ordinary file")
 "It's a directory, don't try to treat as ordinary file")
(GO FILE.NOT.FOUND))
[(OR EXPLICIT-VERSION (NEQ RECOG 'NEW))
(* ;
 "Old file exists, use it unless we explicitly requested a new version")
 "Old file exists, use it unless we explicitly requested a new version")
(SETQ HANDLE OLDHANDLE)
(COND
(EXPLICIT-VERSION (SETQ VERSION EXPLICIT-VERSION]
@ -1735,7 +1721,7 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1990, 1993, 1999 by Venue & Xe
(SETQ VERSION (ADD1 (OR [CADR (ASSOC 'VERSION (OR (fetch NSHATTRIBUTES
of OLDHANDLE)
(
 \NSFILING.FILLIN.ATTRIBUTES
 \NSFILING.FILLIN.ATTRIBUTES
SESSION OLDHANDLE]
(GO FILE.NOT.FOUND]
@ -1745,7 +1731,7 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1990, 1993, 1999 by Venue & Xe
VERSION))
(COND
(OPTION (* ;
 "Not opening file, something simpler")
 "Not opening file, something simpler")
(GO HANDLE.OPTION))
((AND HANDLE (NOT OLDSTREAM)
(\NSFILING.CONFLICTP DEVICE SESSION HANDLE ACCESS))
@ -1753,10 +1739,10 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1990, 1993, 1999 by Venue & Xe
(SELECTQ ACCESS
(INPUT (COND
((NULL HANDLE) (* ;
 "Odd to get here. E.g., open for INPUT recog NEW.")
 "Odd to get here. E.g., open for INPUT recog NEW.")
(GO FILE.NOT.FOUND))
(RANDEVICE (SETQ FILESTREAM (\NSRANDOM.CREATE.STREAM SESSION HANDLE
'INPUT HAVELOCK OLDSTREAM)))
(RANDEVICE (SETQ FILESTREAM (\NSRANDOM.CREATE.STREAM SESSION HANDLE
RANDEVICE 'INPUT HAVELOCK OLDSTREAM)))
[(NEQ (fetch NSHACCESS of HANDLE)
'OUTPUT) (* ; "Just retrieve old file")
(SETQ FILESTREAM (FILING.CALL SESSION (OR SERIALIZE 'RETRIEVE)
@ -1767,18 +1753,18 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1990, 1993, 1999 by Venue & Xe
(COND
((AND (NEQ ACCESS 'OUTPUT)
(NOT RANDEVICE)) (* ;
 "Sequential can only write whole files")
 "Sequential can only write whole files")
(GO FILE.WONT.OPEN)))
(COND
[HANDLE (* ;
 "File already exists, need to overwrite")
 "File already exists, need to overwrite")
(COND
(RANDEVICE (SETQ FILESTREAM (\NSRANDOM.CREATE.STREAM SESSION
HANDLE ACCESS HAVELOCK
OLDSTREAM T)))
(RANDEVICE (SETQ FILESTREAM
(\NSRANDOM.CREATE.STREAM SESSION HANDLE RANDEVICE
ACCESS HAVELOCK OLDSTREAM T)))
[(NULL (fetch NSHACCESS of HANDLE))
(* ;
 "Overwrite existing file sequentially")
 "Overwrite existing file sequentially")
[SETQ FILESTREAM (OR (\NSFILING.CHECK.ACCESS SESSION HANDLE
'WRITE)
(FILING.CALL SESSION 'REPLACE
@ -1788,15 +1774,16 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1990, 1993, 1999 by Venue & Xe
(COND
((type? STREAM FILESTREAM)
(* ;
 "Cache of saved attributes is now wrong")
 "Cache of saved attributes is now wrong")
(replace NSHATTRIBUTES of HANDLE with NIL)
(* ;
 "Save attributes to change after file is stored")
(replace NSFILING.NEW.ATTRIBUTES of FILESTREAM
with PARAMETERS]
 "Save attributes to change after file is stored")
(replace NSFILING.NEW.ATTRIBUTES of FILESTREAM with
PARAMETERS
]
(T (GO FILE.BUSY]
(OLDSTREAM (* ;
 "Trying to reopen old stream, failed.")
 "Trying to reopen old stream, failed.")
(RETURN NIL))
[(SETQ OLDHANDLE (\NSFILING.CONNECT SESSION DIRPATH T T))
(* ; "Need to create the file, so first had to get a handle on the parent (CREATE and STORE procedures do not permit PATHNAME as one of the specifying attributes).")
@ -1808,7 +1795,7 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1990, 1993, 1999 by Venue & Xe
'CREATE
(fetch NSHDATUM of OLDHANDLE)
`([NAME ,(\NSFILING.REMOVEQUOTES (fetch NSROOTNAME
of PARSE]
of PARSE]
,@[AND VERSION `((VERSION ,VERSION]
,@PARAMETERS)
'((LOCK EXCLUSIVE))
@ -1824,43 +1811,41 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1990, 1993, 1999 by Venue & Xe
NSHDATUM _ HANDLE
NSHACCESS _ 'OUTPUT]
(* ;
 "Create failed or we can't read its attributes! Fall thru to error handler")
 "Create failed or we can't read its attributes! Fall thru to error handler")
(SETQ FILESTREAM HANDLE)
(GO HANDLE.ERROR))
((type? STREAM (SETQ FILESTREAM
(\NSRANDOM.CREATE.STREAM SESSION
HANDLE ACCESS T)))
(\NSRANDOM.CREATE.STREAM SESSION HANDLE
RANDEVICE ACCESS T)))
(* ;
 "Succeeded in opening stream, i.e., no further conflicts detected.")
 "Succeeded in opening stream, i.e., no further conflicts detected.")
(SETQ FULLNAME (\NSFILING.FULLNAME SESSION HANDLE)))
(T (GO HANDLE.ERROR]
(T (* ; "Start writing new file, guessing the version. Ideally we shouldn't guess the version, but Lisp wants a full file name NOW (grumble).")
(SETQ FILESTREAM
(OR (\NSFILING.CHECK.ACCESS SESSION OLDHANDLE 'ADD)
(FILING.CALL SESSION 'STORE (fetch NSHDATUM
of OLDHANDLE)
`([NAME ,(\NSFILING.REMOVEQUOTES (fetch
NSROOTNAME
of PARSE]
(FILING.CALL SESSION 'STORE (fetch NSHDATUM of OLDHANDLE)
`([NAME ,(\NSFILING.REMOVEQUOTES (fetch NSROOTNAME
of PARSE]
(VERSION ,VERSION)
,@PARAMETERS)
NIL NIL SESSION 'RETURNERRORS 'KEEPSTREAM]
(T (GO FILE.NOT.FOUND))))
(\ILLEGAL.ARG ACCESS))
(COND
((NOT (type? STREAM FILESTREAM)) (* ;
 "Had handle, but failed to open it.")
((NOT (type? STREAM FILESTREAM)) (* ;
 "Had handle, but failed to open it.")
(GO HANDLE.ERROR)))
(replace FULLFILENAME of FILESTREAM with (COND
(*UPPER-CASE-FILE-NAMES*
(MKATOM (U-CASE FULLNAME)))
(T FULLNAME)))
(*UPPER-CASE-FILE-NAMES*
(MKATOM (U-CASE FULLNAME)))
(T FULLNAME)))
(replace NSFILING.CONNECTION of FILESTREAM with SESSION)
(replace NSFILING.HANDLE of FILESTREAM with HANDLE)
(replace DEVICE of FILESTREAM with (OR RANDEVICE DEVICE))
(COND
(HANDLE (add (fetch NSHBUSYCOUNT of HANDLE)
1)))
1)))
(RETURN FILESTREAM)
HANDLE.OPTION
@ -1870,12 +1855,12 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1990, 1993, 1999 by Venue & Xe
(RETURN (SELECTQ OPTION
(NAME (if HANDLE
then (\NSFILING.FULLNAME SESSION HANDLE NIL
*UPPER-CASE-FILE-NAMES*)
else (* ;
 "OUTFILEP case: no handle, but we have computed the name")
FULLNAME))
*UPPER-CASE-FILE-NAMES*)
else (* ;
 "OUTFILEP case: no handle, but we have computed the name")
FULLNAME))
(DIRECTORY (* ;
 "I'm pretty sure HANDLE can't be NIL at this point, but a little test never hurt anyone.")
 "I'm pretty sure HANDLE can't be NIL at this point, but a little test never hurt anyone.")
(AND HANDLE (fetch NSHDIRECTORYP of HANDLE)
(\NSFILING.FULLNAME SESSION HANDLE NIL
*UPPER-CASE-FILE-NAMES*)))
@ -1898,7 +1883,7 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1990, 1993, 1999 by Venue & Xe
(SETQ HAVELOCK (SETQ HANDLE (SETQ VERSION NIL)))
(GO RETRY))
(T (* ;
 "Can't get connection at all? OH well, die as if it were true from the start.")
 "Can't get connection at all? OH well, die as if it were true from the start.")
(RETURN NIL)))
FILE.NOT.FOUND
(COND
@ -3480,7 +3465,8 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1990, 1993, 1999 by Venue & Xe
(AND RESETSTATE (\NSRANDOM.RELEASE.LOCK SESSION HANDLE])
(\NSRANDOM.CREATE.STREAM
[LAMBDA (SESSION HANDLE ACCESS GOTCONTROLS OLDSTREAM CHECKACCESS)
[LAMBDA (SESSION HANDLE DEVICE ACCESS GOTCONTROLS OLDSTREAM CHECKACCESS)
(* ; "Edited 23-May-2024 23:07 by frank")
(* ; "Edited 19-Aug-88 17:24 by bvm")
(PROG NIL
[COND
@ -3492,38 +3478,35 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1990, 1993, 1999 by Venue & Xe
ERROR)
[COND
((SELECTQ OLDACCESS
((NIL) (* ;
 "Just a cached handle, no controls")
((NIL) (* ; "Just a cached handle, no controls")
NIL)
(OUTPUT (* ;
 "Handle already open for write, can't do anything else")
 "Handle already open for write, can't do anything else")
T)
(INPUT (* ;
 "Open for input, so only other input streams allowed.")
 "Open for input, so only other input streams allowed.")
(NEQ ACCESS 'INPUT))
(SHOULDNT))
(RETURN (LISPERROR "FILE WON'T OPEN" (\NSFILING.FULLNAME SESSION HANDLE]
(COND
((NEQ OLDACCESS 'INPUT) (* ;
 "Get a share/exclusive control. If OLDACCESS is INPUT, we have already obtained this control")
 "Get a share/exclusive control. If OLDACCESS is INPUT, we have already obtained this control")
(COND
((SETQ ERROR (FILING.CALL
SESSION
'CHANGE.CONTROLS
(fetch NSHDATUM of HANDLE)
`[(LOCK ,(SELECTQ ACCESS
(INPUT 'SHARE)
'EXCLUSIVE]
SESSION
'RETURNERRORS))
((SETQ ERROR (FILING.CALL SESSION 'CHANGE.CONTROLS (fetch NSHDATUM
of HANDLE)
`[(LOCK ,(SELECTQ ACCESS
(INPUT 'SHARE)
'EXCLUSIVE]
SESSION
'RETURNERRORS))
(RETURN ERROR)))
(RESETSAVE NIL (LIST (FUNCTION \NSRANDOM.RELEASE.IF.ERROR)
SESSION HANDLE)) (* ;
 "If this open doesn't succeed, be sure to release this lock.")
 "If this open doesn't succeed, be sure to release this lock.")
(replace NSHACCESS of HANDLE with (SELECTQ ACCESS
((BOTH APPEND)
'OUTPUT)
ACCESS]
((BOTH APPEND)
'OUTPUT)
ACCESS]
[COND
(CHECKACCESS
@ -3536,37 +3519,33 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1990, 1993, 1999 by Venue & Xe
(LEN (CADR (ASSOC 'SIZE.IN.BYTES ATTRS)))
S EOF)
[COND
(OLDSTREAM [LET [(OLDATTRS (fetch NSHATTRIBUTES of (fetch
NSFILING.HANDLE
of OLDSTREAM]
(OLDSTREAM [LET [(OLDATTRS (fetch NSHATTRIBUTES of (fetch NSFILING.HANDLE
of OLDSTREAM]
(COND
([OR (NOT (EQUAL LEN (fetch NSFILING.SERVER.LENGTH
of OLDSTREAM)))
([OR (NOT (EQUAL LEN (fetch NSFILING.SERVER.LENGTH of OLDSTREAM
)))
(NOT (EQUAL (CADR (ASSOC 'CREATED.ON ATTRS))
(CADR (ASSOC 'CREATED.ON OLDATTRS]
(* ; "file has changed!")
(\NSRANDOM.STREAM.CHANGED OLDSTREAM HANDLE]
(* ;
 "If got here, user let us continue")
(* ; "If got here, user let us continue")
(replace NSFILING.HANDLE of (SETQ S OLDSTREAM) with HANDLE))
(T (SETQ EOF (SELECTQ ACCESS
(OUTPUT 0)
LEN))
(SETQ S (create STREAM
DEVICE _ DEVICE
EPAGE _ (FOLDLO EOF BYTESPERPAGE)
EOFFSET _ (IMOD EOF BYTESPERPAGE)
MULTIBUFFERHINT _ T))
(if (EQ ACCESS 'APPEND)
then (* ; "File pos at end")
(freplace (STREAM CPAGE) of S with (fetch
(STREAM EPAGE)
of S))
(freplace (STREAM COFFSET) of S with (fetch
(STREAM EOFFSET)
of S))
else (* ; "File pos at start")
(freplace (STREAM CPAGE) of S with 0)
(freplace (STREAM COFFSET) of S with 0]
then (* ; "File pos at end")
(freplace (STREAM CPAGE) of S with (fetch (STREAM EPAGE) of S))
(freplace (STREAM COFFSET) of S with (fetch (STREAM EOFFSET)
of S))
else (* ; "File pos at start")
(freplace (STREAM CPAGE) of S with 0)
(freplace (STREAM COFFSET) of S with 0]
(replace NSFILING.SERVER.LENGTH of S with LEN)
(RETURN S])
@ -4657,49 +4636,47 @@ Copyright (c) 1983, 1984, 1985, 1986, 1987, 1988, 1990, 1993, 1999 by Venue & Xe
(ADDTOVAR LAMA FILING.CALL)
)
(PUTPROPS NSFILING COPYRIGHT ("Venue & Xerox Corporation" 1983 1984 1985 1986 1987 1988 1990 1993 1999
))
(DECLARE%: DONTCOPY
(FILEMAP (NIL (34234 35080 (\FILINGSESSION.DEFPRINT 34244 . 34758) (\FILINGHANDLE.DEFPRINT 34760 .
35078)) (35081 38808 (\GET.FILING.ATTRIBUTE 35091 . 36404) (\PUT.FILING.ATTRIBUTE 36406 . 37604) (
\GET.SESSION.HANDLE 37606 . 38025) (\PUT.SESSION.HANDLE 38027 . 38806)) (41840 77789 (
\GETFILINGCONNECTION 41850 . 43745) (\NSFILING.GET.NEW.SESSION 43747 . 44232) (\NSFILING.GET.STREAM
44234 . 46010) (\NSFILING.COURIER.OPEN 46012 . 46277) (\NSFILING.CLOSE.BULKSTREAM 46279 . 46557) (
\NSFILING.RELEASE.BULKSTREAM 46559 . 47488) (FILING.CALL 47490 . 56089) (\NSFILING.LOGIN 56091 . 69270
) (\NSFILING.AFTER.LOGIN 69272 . 69803) (\NSFILING.SET.CONTINUANCE 69805 . 70478) (\NSFILING.LOGOUT
70480 . 70661) (\NSFILING.DISCARD.SESSION 70663 . 72360) (\VALID.FILING.CONNECTIONP 72362 . 73958) (
\NSFILING.CLOSE.CONNECTIONS 73960 . 76822) (BREAK.NSFILING.CONNECTION 76824 . 77787)) (77867 91247 (
\NSFILING.CONNECT 77877 . 80294) (\NSFILING.MAYBE.CREATE 80296 . 83335) (\NSFILING.REMOVEQUOTES 83337
. 83962) (\NSFILING.ADDQUOTES 83964 . 86702) (\FILING.ATTRIBUTE.TYPE.SEQUENCE 86704 . 86918) (
\FILING.ATTRIBUTE.TYPE 86920 . 87423) (\LISP.TO.NSFILING.ATTRIBUTE 87425 . 91245)) (91283 144407 (
\NSFILING.GETFILE 91293 . 112576) (\NSFILING.LOOKUP.CACHE 112578 . 114640) (\NSFILING.ADD.TO.CACHE
114642 . 117005) (\NSFILING.OPEN.HANDLE 117007 . 119110) (\NSFILING.CONFLICTP 119112 . 120606) (
\NSFILING.CHECK.ACCESS 120608 . 121971) (\NSFILING.FILLIN.ATTRIBUTES 121973 . 123720) (
\NSFILING.COMPOSE.PATHNAME 123722 . 124223) (\NSFILING.PARSE.FILENAME 124225 . 129762) (
\NSFILING.ERRORHANDLER 129764 . 134582) (\NSFILING.WHENCLOSED 134584 . 135856) (\NSFILING.CLOSE.HANDLE
135858 . 136151) (\NSFILING.FULLNAME 136153 . 144405)) (144440 212555 (\NSFILING.OPENFILE 144450 .
149642) (\NSFILING.HANDLE.ERROR 149644 . 150522) (\NSFILING.CLOSEFILE 150524 . 153147) (
\NSFILING.EVENTFN 153149 . 155907) (\NSFILING.DELETEFILE 155909 . 157577) (\NSFILING.CHILDLESS-P
157579 . 158282) (\NSFILING.DIRECTORYNAMEP 158284 . 158691) (\NSFILING.HOSTNAMEP 158693 . 161788) (
\NSFILING.GETFILENAME 161790 . 162050) (\NSFILING.GETFILEINFO 162052 . 165460) (
\NSFILING.GET.ATTRIBUTES 165462 . 165858) (\NSFILING.GETFILEINFO.FROM.PLIST 165860 . 168820) (
\NSFILING.GDATE 168822 . 169012) (\NSFILING.SETFILEINFO 169014 . 172196) (\NSFILING.GET/SETINFO 172198
. 173662) (\NSFILING.UPDATE.ATTRIBUTES 173664 . 174635) (\NSFILING.GETEOFPTR 174637 . 175171) (
\NSFILING.GENERATEFILES 175173 . 191035) (\NSFILING.GENERATE.STARS 191037 . 191627) (
\NSFILING.NEXTFILE 191629 . 193207) (\NSFILING.FILEINFOFN 193209 . 193436) (\NSFILING.RENAMEFILE
193438 . 194038) (\NSFILING.COPYFILE 194040 . 194638) (\NSFILING.COPY/RENAME 194640 . 212553)) (212594
263202 (\NSRANDOM.CLOSEFILE 212604 . 214400) (\NSRANDOM.RELEASE.HANDLE 214402 . 215595) (
\NSRANDOM.RELEASE.LOCK 215597 . 215936) (\NSRANDOM.RELEASE.IF.ERROR 215938 . 216138) (
\NSRANDOM.CREATE.STREAM 216140 . 222206) (\NSRANDOM.READPAGES 222208 . 226998) (\NSRANDOM.READ.SEGMENT
227000 . 237526) (\NSRANDOM.PREPARE.CACHE 237528 . 244860) (\NSRANDOM.FETCH.CACHE 244862 . 247035) (
\NSRANDOM.CHECK.CACHE 247037 . 248082) (\NSRANDOM.WRITEPAGES 248084 . 253627) (\NSRANDOM.WRITE.SEGMENT
253629 . 255223) (\NSRANDOM.WROTE.HANDLE 255225 . 257031) (\NSRANDOM.SETEOFPTR 257033 . 258562) (
\NSRANDOM.TRUNCATEFILE 258564 . 261478) (\NSRANDOM.UPDATE.VALIDATION 261480 . 262383) (
\NSRANDOM.OPENFILE 262385 . 263200)) (263234 277742 (\NSRANDOM.HANDLE.ERROR 263244 . 265690) (
\NSRANDOM.PROCEEDABLE.ERROR 265692 . 266948) (\NSRANDOM.REESTABLISH 266950 . 268422) (
\NSRANDOM.STREAM.CHANGED 268424 . 269694) (\NSRANDOM.DESTROY.STREAM 269696 . 270466) (
\NSRANDOM.SESSION.WATCHER 270468 . 276377) (\NSRANDOM.ENSURE.WATCHER 276379 . 277740)) (277783 288993
(GC-FILING-DIRECTORY 277793 . 285216) (\NSGC.COLLECT.DIRECTORIES 285218 . 288991)) (289043 293734 (
\NSFILING.DESERIALIZE 289053 . 291155) (\NSFILING.DESERIALIZE1 291157 . 293732)) (293735 294222 (
\NSFILING.INIT 293745 . 294220)))))
(FILEMAP (NIL (33827 34673 (\FILINGSESSION.DEFPRINT 33837 . 34351) (\FILINGHANDLE.DEFPRINT 34353 .
34671)) (34674 38401 (\GET.FILING.ATTRIBUTE 34684 . 35997) (\PUT.FILING.ATTRIBUTE 35999 . 37197) (
\GET.SESSION.HANDLE 37199 . 37618) (\PUT.SESSION.HANDLE 37620 . 38399)) (41234 77183 (
\GETFILINGCONNECTION 41244 . 43139) (\NSFILING.GET.NEW.SESSION 43141 . 43626) (\NSFILING.GET.STREAM
43628 . 45404) (\NSFILING.COURIER.OPEN 45406 . 45671) (\NSFILING.CLOSE.BULKSTREAM 45673 . 45951) (
\NSFILING.RELEASE.BULKSTREAM 45953 . 46882) (FILING.CALL 46884 . 55483) (\NSFILING.LOGIN 55485 . 68664
) (\NSFILING.AFTER.LOGIN 68666 . 69197) (\NSFILING.SET.CONTINUANCE 69199 . 69872) (\NSFILING.LOGOUT
69874 . 70055) (\NSFILING.DISCARD.SESSION 70057 . 71754) (\VALID.FILING.CONNECTIONP 71756 . 73352) (
\NSFILING.CLOSE.CONNECTIONS 73354 . 76216) (BREAK.NSFILING.CONNECTION 76218 . 77181)) (77261 90641 (
\NSFILING.CONNECT 77271 . 79688) (\NSFILING.MAYBE.CREATE 79690 . 82729) (\NSFILING.REMOVEQUOTES 82731
. 83356) (\NSFILING.ADDQUOTES 83358 . 86096) (\FILING.ATTRIBUTE.TYPE.SEQUENCE 86098 . 86312) (
\FILING.ATTRIBUTE.TYPE 86314 . 86817) (\LISP.TO.NSFILING.ATTRIBUTE 86819 . 90639)) (90677 143609 (
\NSFILING.GETFILE 90687 . 111778) (\NSFILING.LOOKUP.CACHE 111780 . 113842) (\NSFILING.ADD.TO.CACHE
113844 . 116207) (\NSFILING.OPEN.HANDLE 116209 . 118312) (\NSFILING.CONFLICTP 118314 . 119808) (
\NSFILING.CHECK.ACCESS 119810 . 121173) (\NSFILING.FILLIN.ATTRIBUTES 121175 . 122922) (
\NSFILING.COMPOSE.PATHNAME 122924 . 123425) (\NSFILING.PARSE.FILENAME 123427 . 128964) (
\NSFILING.ERRORHANDLER 128966 . 133784) (\NSFILING.WHENCLOSED 133786 . 135058) (\NSFILING.CLOSE.HANDLE
135060 . 135353) (\NSFILING.FULLNAME 135355 . 143607)) (143642 211757 (\NSFILING.OPENFILE 143652 .
148844) (\NSFILING.HANDLE.ERROR 148846 . 149724) (\NSFILING.CLOSEFILE 149726 . 152349) (
\NSFILING.EVENTFN 152351 . 155109) (\NSFILING.DELETEFILE 155111 . 156779) (\NSFILING.CHILDLESS-P
156781 . 157484) (\NSFILING.DIRECTORYNAMEP 157486 . 157893) (\NSFILING.HOSTNAMEP 157895 . 160990) (
\NSFILING.GETFILENAME 160992 . 161252) (\NSFILING.GETFILEINFO 161254 . 164662) (
\NSFILING.GET.ATTRIBUTES 164664 . 165060) (\NSFILING.GETFILEINFO.FROM.PLIST 165062 . 168022) (
\NSFILING.GDATE 168024 . 168214) (\NSFILING.SETFILEINFO 168216 . 171398) (\NSFILING.GET/SETINFO 171400
. 172864) (\NSFILING.UPDATE.ATTRIBUTES 172866 . 173837) (\NSFILING.GETEOFPTR 173839 . 174373) (
\NSFILING.GENERATEFILES 174375 . 190237) (\NSFILING.GENERATE.STARS 190239 . 190829) (
\NSFILING.NEXTFILE 190831 . 192409) (\NSFILING.FILEINFOFN 192411 . 192638) (\NSFILING.RENAMEFILE
192640 . 193240) (\NSFILING.COPYFILE 193242 . 193840) (\NSFILING.COPY/RENAME 193842 . 211755)) (211796
262065 (\NSRANDOM.CLOSEFILE 211806 . 213602) (\NSRANDOM.RELEASE.HANDLE 213604 . 214797) (
\NSRANDOM.RELEASE.LOCK 214799 . 215138) (\NSRANDOM.RELEASE.IF.ERROR 215140 . 215340) (
\NSRANDOM.CREATE.STREAM 215342 . 221069) (\NSRANDOM.READPAGES 221071 . 225861) (\NSRANDOM.READ.SEGMENT
225863 . 236389) (\NSRANDOM.PREPARE.CACHE 236391 . 243723) (\NSRANDOM.FETCH.CACHE 243725 . 245898) (
\NSRANDOM.CHECK.CACHE 245900 . 246945) (\NSRANDOM.WRITEPAGES 246947 . 252490) (\NSRANDOM.WRITE.SEGMENT
252492 . 254086) (\NSRANDOM.WROTE.HANDLE 254088 . 255894) (\NSRANDOM.SETEOFPTR 255896 . 257425) (
\NSRANDOM.TRUNCATEFILE 257427 . 260341) (\NSRANDOM.UPDATE.VALIDATION 260343 . 261246) (
\NSRANDOM.OPENFILE 261248 . 262063)) (262097 276605 (\NSRANDOM.HANDLE.ERROR 262107 . 264553) (
\NSRANDOM.PROCEEDABLE.ERROR 264555 . 265811) (\NSRANDOM.REESTABLISH 265813 . 267285) (
\NSRANDOM.STREAM.CHANGED 267287 . 268557) (\NSRANDOM.DESTROY.STREAM 268559 . 269329) (
\NSRANDOM.SESSION.WATCHER 269331 . 275240) (\NSRANDOM.ENSURE.WATCHER 275242 . 276603)) (276646 287856
(GC-FILING-DIRECTORY 276656 . 284079) (\NSGC.COLLECT.DIRECTORIES 284081 . 287854)) (287906 292597 (
\NSFILING.DESERIALIZE 287916 . 290018) (\NSFILING.DESERIALIZE1 290020 . 292595)) (292598 293085 (
\NSFILING.INIT 292608 . 293083)))))
STOP

Binary file not shown.