LMFL#!C(:HOST "SYS" :BACKUP-DATE 2760030569. :SYSTEM-TYPE :LOGICAL :VERSION 13. :TYPE "LISP" :NAME "FS-ERROR-DEFS" :DIRECTORY ("REL3-SOURCE" "FILE") :SOURCE-PATTERN "( :DIRECTORY (\"REL3-SOURCE\") :NAME :WILD :TYPE :WILD :VERSION :NEWEST)" :VERSION-LIMIT 0. :CHARACTERS T :NOT-BACKED-UP T :CREATION-DATE 2758307679. :AUTHOR "REL3" :LENGTH-IN-BYTES 5164. :LENGTH-IN-BLOCKS 6. :BYTE-SIZE 8.)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                           ;;;; -*- Mode: COMMON-LISP; Base: 10.; cold-load:t; Package: File-System -*-;;;                           RESTRICTED RIGHTS LEGEND;;;Use, duplication, or disclosure by the Government is subject to;;;restrictions as set forth in subdivision (b)(3)(ii) of the Rights in;;;Technical Data and Computer Software clause at 52.227-7013.;;;;;;                     TEXAS INSTRUMENTS INCORPORATED.;;;                              P.O. BOX 2909;;;                           AUSTIN, TEXAS 78769;;;                                 MS 2151;;;; Copyright (C) 1980, Massachusetts Institute of Technology; Copyright (C) 1984,1987 Texas Instruments Incorporated. All rights reserved.(DEFMACRO DEFINE-ERRORS (&REST SYMBOLS-AND-STRINGS)  `(EVAL-WHEN (COMPILE EVAL LOAD)      ,@(LOOP FOR (SYMBOL STRING) ON SYMBOLS-AND-STRINGS BY #'CDDR COLLECTING   `(DEFPROP ,SYMBOL ,STRING ERROR-STRING))))  (DEFINE-ERRORS  ;; Error signalers in SYS:IO;OPEN   RENAME-TO-EXISTING-FILE   "Attempt to rename to an existing file"  RENAME-ACROSS-DIRECTORIES "Attempt to rename across directories"  FILE-NOT-FOUND            "File not found"  DIRECTORY-NOT-FOUND       "Directory not found"  INVALID-BYTE-SIZE         "Illegal byte size"  NO-MORE-ROOM              "Disk full"  NO-FILE-SYSTEM            "File system not mounted"  DIRECTORY-NOT-EMPTY       "Non-empty directories cannot be deleted"  DONT-DELETE-FLAG-SET      "File has DONT-DELETE bit set"  UNIMPLEMENTED-OPTION      "Unimplemented OPEN option"  FILE-LOCKED               "File is locked"  ;; Error signalers defined below.  UNDELETE-UNCLOSED-FILE    "Cannot undelete unclosed file"  OPEN-DELETED-FILE         "File is deleted"  OPEN-DELETED-DIRECTORY    "Directory is deleted"  OPEN-OUTPUT-FILE          "File is open for output"  OPEN-UNFINISHED-DIRECTORY "Directory still being created"  FILE-IS-SUBDIRECTORY      "File is a subdirectory"  UNSETTABLE-PROPERTY       "Unsettable property"  INVALID-PROPERTY-NAME     "Bad property"  VERSION-TOO-LARGE         "Version must be smaller than 65536"  INVALID-DIRECTORY-NAME    "Invalid name given for a directory"  RENAME-DIRECTORY-INVALID-TYPE "Invalid new type or version for renaming a subdirectory."  rename-over-itself-error  "Attemping to rename a directory to a subdirectory of itself"  LINKS-NOT-SUPPORTED       "Links not supported"  BAD-TYPE-FOR-SUBDIRECTORY "Invalid type for subdirectory"  SUPERSEDE-DIRECTORY       "Superseding a directory"  TOP-LEVEL-FILE            "No non-directory files in root"  INCOMPLETE-FILENAME-SPEC  "Filename has NIL component(s)"  WILDCARDS-NOT-ALLOWED     "Wildcard characters not allowed in filenames"  )  (DEFPROP UNDELETE-UNCLOSED-FILE FILE-LOCKED ERROR-SIGNALER)  (DEFSIGNAL OPEN-DELETED-FILE FILE-OPERATION-FAILURE (PATHNAME OPERATION)   "Opening a file that is deleted.")  (DEFSIGNAL OPEN-DELETED-DIRECTORY FILE-LOOKUP-ERROR (PATHNAME OPERATION)   "Containing directory is deleted.")  (DEFPROP OPEN-OUTPUT-FILE FILE-OPEN-FOR-OUTPUT ERROR-SIGNALER)  (DEFSIGNAL OPEN-UNFINISHED-DIRECTORY FILE-LOOKUP-ERROR (PATHNAME OPERATION)   "Containing directory is still being created.")  (DEFSIGNAL FILE-IS-SUBDIRECTORY   (FILE-OPERATION-FAILURE WRONG-KIND-OF-FILE INVALID-OPERATION-FOR-DIRECTORY)   (PATHNAME OPERATION) "Attempt to open a file which is a directory.")  (DEFSIGNAL UNSETTABLE-PROPERTY CHANGE-PROPERTY-FAILURE (PATHNAME PROPERTY)   "PROPERTY isn't one of the properties this file system allows users to set.")  (DEFSIGNAL VERSION-TOO-LARGE (FILE-OPERATION-FAILURE INVALID-PATHNAME-SYNTAX VERSION-TOO-LARGE)   (PATHNAME OPERATION) "Version larger that 65536.")  (DEFSIGNAL INVALID-DIRECTORY-NAME   (FILE-OPERATION-FAILURE INVALID-PATHNAME-SYNTAX INVALID-DIRECTORY-NAME) (PATHNAME OPERATION)   "")  (DEFSIGNAL RENAME-DIRECTORY-INVALID-TYPE (RENAME-FAILURE RENAME-DIRECTORY-INVALID-TYPE)   (PATHNAME NEW-PATHNAME) "")  (defsignal rename-over-itself-error file-operation-failure (pathname operation)   "Attemping to rename a directory to a subdirectory of itself.")(DEFSIGNAL LINKS-NOT-SUPPORTED   (FILE-OPERATION-FAILURE CREATION-FAILURE CREATE-LINK-FAILURE LINKS-NOT-SUPPORTED)   (PATHNAME OPERATION) "Links are not supported in this file system.")  (DEFSIGNAL BAD-TYPE-FOR-SUBDIRECTORY   (FILE-OPERATION-FAILURE CREATION-FAILURE CREATE-DIRECTORY-FAILURE BAD-TYPE-FOR-SUBDIRECTORY)   (PATHNAME OPERATION) "")  (DEFSIGNAL SUPERSEDE-DIRECTORY (FILE-OPERATION-FAILURE CREATION-FAILURE TOP-LEVEL-FILE)   (PATHNAME OPERATION) "Superseding a file which is a subdirectory.")  (DEFSIGNAL TOP-LEVEL-FILE (FILE-OPERATION-FAILURE CREATION-FAILURE TOP-LEVEL-FILE)   (PATHNAME OPERATION) "Attempt to create a file not a directory in the root directory.")  (DEFSIGNAL INCOMPLETE-FILENAME-SPEC   (FILE-OPERATION-FAILURE INVALID-PATHNAME-SYNTAX)   (PATHNAME OPERATION)   "Filename has NIL component(s)")(DEFSIGNAL WILDCARDS-NOT-ALLOWED   (FILE-OPERATION-FAILURE CREATION-FAILURE INVALID-PATHNAME-SYNTAX)   (PATHNAME OPERATION)   "Wildcard characters not allowed in filenames")ST BACKED-UP-FILE)))))))    (WHEN SET-BACKED-UP-FLAG      (REALLY-SET-BACKED-UP-FLAG BACKED-UP-FILES-LIST))    BACKED-UP-FILES-LIST))(DEFUN PRIMITIVE-COPY-DIRECTORY (INPUT-PLIST-OR-PATHNAME MAPPED-PATHNAME OUTPUT-SPEC INPUT-STREAM &OPTIONAL IGNORE &REST  OPTIONS &KEY SELECTIVE &ALLOW-OTHER-KEYS &AUX INPUT-PATHNAME INPUT-PLIST)  (IF (ATOM INPUT-PLIST-OR-PATHNAME)    (SETQ INPUT-PATHNAME INPUT-PLIST-OR-PATHNAME  INPUT-PLIST ())    (SETQ INPUT-PATHNAME (CAR INPUT-PLIST-OR-PATHNAME)  INPUT-PLIST INPUT-PLIST-OR-PATHNAME))  (UNLESS INPUT-PLIST    (WHEN INPUT-PATHNAME      (SETQ INPUT-PLIST (FILE-PROPERTIES INPUT-PATHNAME)    INPUT-PATHNAME (CAR INPUT-PLIST))))  (LET ((BACKED-UP-FILES-LIST (IF (MEMBER :DIRECTORY (CDR INPUT-PLIST) :TEST #'EQ)   (LET* ((DES-DIR (SEND OUTPUT-SPEC :DIRECTORY))  (SOURCE (CAR INPUT-PLIST))  (SRC-DIR   (SEND (SEND SOURCE :PATHNAME-AS-DIRECTORY) :NEW-PATHNAME :NAME () :TYPE ()      :VERSION ())))     (SETF (GE