(FILECREATED "20-Jun-86 14:15:20" ("compiled on " {ERIS}MSPF>FILESYS.;4) "11-Jun-86 13:27:02" recompiled changes: nothing in "" dated "11-Jun-86 13:41:17") (FILECREATED "20-Jun-86 14:14:17" {ERIS}MSPF>FILESYS.;4 6160 changes to: (VARS FILESYSCOMS) (FUNCTIONS FILE-AUTHOR FILE-LENGTH FILE-POSITION RENAME-FILE USER-HOMEDIR-PATHNAME FILE-WRITE-DATE DELETE-FILE PROBE-FILE) (PROPS (FILESYS FILE-TYPE)) (FNS DELETE-FILE RENAME-FILE) previous date: " 9-Jun-86 16:12:02" {ERIS}CML>FILESYS.;14) %%INTERLISP-FILE-ACCESS D1 (L (0 -args-)) =ekaIºgJ:“ggJ:“ggJ:“ggJ:“ggJ:´INIL (65Q \ILLEGAL.ARG 61Q PROBE 53Q :PROBE 47Q BOTH 41Q :IO 35Q OUTPUT 27Q :OUTPUT 23Q INPUT 15Q :INPUT) () (PRETTYCOMPRINT FILESYSCOMS) (RPAQQ FILESYSCOMS ((FNS %%INTERLISP-FILE-ACCESS) (FUNCTIONS FILE-AUTHOR FILE-LENGTH FILE-POSITION USER-HOMEDIR-PATHNAME FILE-WRITE-DATE) (FUNCTIONS PROBE-FILE RENAME-FILE DELETE-FILE) (DECLARE: DONTCOPY (PROP FILE-TYPE FILESYS)) (DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS ( ADDVARS (NLAMA) (NLAML) (LAMA FILE-AUTHOR FILE-WRITE-DATE USER-HOMEDIR-PATHNAME DELETE-FILE RENAME-FILE %%INTERLISP-FILE-ACCESS))))) (DEFUN FILE-AUTHOR (FILE) (* * "Returns author of file") (COERCE (OR (GETFILEINFO FILE (QUOTE AUTHOR)) "") (QUOTE SIMPLE-STRING))) (DEFUN FILE-LENGTH (FILE-STREAM) (if (AND (STREAMP FILE-STREAM) (OPENP FILE-STREAM)) then (GETEOFPTR FILE-STREAM))) (DEFUN FILE-POSITION (FILE-STREAM &OPTIONAL (POSITION NIL POSITIONP)) (if POSITIONP then (GETFILEPTR FILE-STREAM) else (SETFILEPTR FILE-STREAM (CASE POSITION (:START 0) (:END (GETEOFPTR FILE-STREAM)) (T POSITION))) T)) (DEFUN USER-HOMEDIR-PATHNAME (&OPTIONAL HOST) (DECLARE (GLOBALVARS LOGINHOST/DIR *DEFAULT-PATHNAME-DEFAULTS*)) (CL:DECLARE (IGNORE HOST)) (PATHNAME (OR LOGINHOST/DIR *DEFAULT-PATHNAME-DEFAULTS*))) (DEFUN FILE-WRITE-DATE (FILE) (* * "Return file's creation date, or NIL if it doesn't exist.") (* * "N.B. date is returned in Common Lisp Universal Time, not Interlisp-D internal time") (LET ((TN ( PROBE-FILE FILE))) (CL:WHEN TN (DIFFERENCE (GETFILEINFO TN (QUOTE IWRITEDATE)) MIN.FIXP)))) (DEFUN PROBE-FILE (FILE) (* * "Return a pathname which is the truename of the file if it exists, NIL otherwise. Returns NIL for directories and other non-file entries." ) (if (AND (STREAMP FILE) (OPENP STREAM)) then (fetch FULLNAME of FILE) else (if (INFILEP FILE) then ( PATHNAME FILE) else NIL))) (DEFUN RENAME-FILE (FILE NEW-NAME) (* * "Give FILE the new name NEW-NAME. If FILE is an open stream, error. Otherwise, do the rename. If successful, return three values: the new name, truename of original file, truename of new file." ) (LET ((OLD-PATHNAME (PATHNAME FILE)) (NEW-FULLNAME)) (if (STREAMP FILE) then (if (OPENP FILE) then ( CL:ERROR "Renaming open streams is not supported: ~S" FILE) else (SETQ NEW-FULLNAME (RENAMEFILE (SETQ FILE (fetch (STREAM FULLNAME) of FILE)) NEW-NAME))) else (SETQ NEW-FULLNAME (RENAMEFILE FILE NEW-NAME) )) (VALUES (MERGE-PATHNAMES NEW-NAME FILE) OLD-PATHNAME (PATHNAME NEW-FULLNAME)))) (DEFUN DELETE-FILE (FILE) (* * "Delete the specified file.") (LET ((TN (PROBE-FILE FILE))) (CL:WHEN ( STREAMP FILE) (CLOSE FILE :ABORT T)) (CL:IF TN (LET ((NS (NAMESTRING TN))) (DELFILE NS)) (CL:UNLESS ( STREAMP FILE) (CL:ERROR "File to be deleted does not exist: ~S" FILE)))) T) (PRETTYCOMPRINT FILESYSCOMS) (RPAQQ FILESYSCOMS ((FNS %%INTERLISP-FILE-ACCESS) (FUNCTIONS FILE-AUTHOR FILE-LENGTH FILE-POSITION USER-HOMEDIR-PATHNAME FILE-WRITE-DATE) (FUNCTIONS PROBE-FILE RENAME-FILE DELETE-FILE) (DECLARE: DONTCOPY (PROP FILE-TYPE FILESYS)) (DECLARE: DONTEVAL@LOAD DOEVAL@COMPILE DONTCOPY COMPILERVARS ( ADDVARS (NLAMA) (NLAML) (LAMA %%INTERLISP-FILE-ACCESS))))) (PUTPROPS FILESYS COPYRIGHT ("Xerox Corporation" 1986)) NIL