(DEFINE-FILE-INFO READTABLE "INTERLISP" PACKAGE (DEFPACKAGE "XCL" (USE)))
(IL:FILECREATED "14-Jun-90 15:54:35" IL:|{PELE:MV:ENVOS}<LISPCORE>SOURCES>XCL-PACKAGE.;3| 16820  

      IL:previous IL:date%: "18-May-90 01:18:05" IL:|{PELE:MV:ENVOS}<LISPCORE>SOURCES>XCL-PACKAGE.;2|
)


(IL:* ; "
Copyright (c) 1986, 1987, 1988, 1990 by Venue & Xerox Corporation.  All rights reserved.
")

(IL:PRETTYCOMPRINT IL:XCL-PACKAGECOMS)

(IL:RPAQQ IL:XCL-PACKAGECOMS 
          (

(IL:* IL:;;; "Setting up the XCL package.")

           (IL:FUNCTIONS LISP::DEFECT-FROM-IL-TO-XCL LISP::CHECK-ALL)
           (IL:VARIABLES LISP::FUTURE-CITIZENS-OF-XCL)
           (IL:DECLARE%: IL:DONTEVAL@LOAD IL:DOCOPY
                  (IL:P 
                        (IL:* IL:;; "New exports from XCL should go in the EXPORT clause here")

                        (DEFPACKAGE "XEROX-COMMON-LISP" (:USE "LISP" "CONDITIONS")
                               (:NICKNAMES "XCL")
                               (:PREFIX-NAME "XCL")
                               (:EXPORT ARGLIST SET-EXEC-TYPE SET-DEFAULT-EXEC-TYPE SYNONYM-STREAM-P
                                      SYNONYM-STREAM-SYMBOL FOLLOW-SYNONYM-STREAMS BROADCAST-STREAM-P
                                      BROADCAST-STREAM-STREAMS CONCATENATED-STREAM-P 
                                      CONCATENATED-STREAM-STREAMS TWO-WAY-STREAM-P 
                                      TWO-WAY-STREAM-INPUT-STREAM TWO-WAY-STREAM-OUTPUT-STREAM 
                                      ECHO-STREAM-P ECHO-STREAM-INPUT-STREAM 
                                      ECHO-STREAM-OUTPUT-STREAM STRING-STREAM-P OPEN-STREAM-P 
                                      *CURRENT-CONDITION* *EVAL-FUNCTION* *EXEC-PROMPT* 
                                      *DEBUGGER-PROMPT* MAKE-PROFILE RESTORE-PROFILE SAVE-PROFILE 
                                      WITH-PROFILE COPY-PROFILE PROFILE-NAME PROFILE-P FIND-PROFILE 
                                      LIST-ALL-PROFILES DEFPROFILE PROFILES *DEFAULT-PROFILE* 
                                      *PROFILE* PACK PACK* *PRINT-STRUCTURE* DO-INTERNAL-SYMBOLS 
                                      PKG-GOTO READ-CONFLICT READ-CONFLICT-NAME 
                                      READ-CONFLICT-PACKAGES MISSING-EXTERNAL-SYMBOL 
                                      MISSING-EXTERNAL-SYMBOL-NAME MISSING-EXTERNAL-SYMBOL-PACKAGE 
                                      MISSING-PACKAGE MISSING-PACKAGE-PACKAGE-NAME 
                                      MISSING-PACKAGE-SYMBOL-NAME MISSING-PACKAGE-EXTERNAL 
                                      PACKAGE-ERROR PACKAGE-ERROR-PACKAGE SYMBOL-CONFLICT 
                                      SYMBOL-CONFLICT-SYMBOLS USE-CONFLICT USE-CONFLICT-USED-PACKAGE
                                      EXPORT-CONFLICT EXPORT-CONFLICT-EXPORTED-SYMBOLS 
                                      SYMBOL-COLON-ERROR ESCAPE-COLONS-PROCEED 
                                      EXPORT-CONFLICT-PACAKGES EXPORT-MISSING EXPORT-MISSING-SYMBOLS
                                      IMPORT-CONFLICT UNINTERN-CONFLICT UNINTERN-CONFLICT-SYMBOL 
                                      PREFER-CLSYM-PROCEED RETURN-CLSYM-PROCEED PREFER-ILSYM-PROCEED
                                      RETURN-ILSYM-PROCEED MAKE-EXTERNAL-PROCEED 
                                      MAKE-INTERNAL-PROCEED NEW-PACKAGE-PROCEED UGLY-SYMBOL-PROCEED 
                                      SHADOW-USE-CONFLICTS-PROCEED UNINTERN-USER-PROCEED 
                                      UNINTERN-USEE-PROCEED UNINTERN-PROCEED IMPORT-PROCEED 
                                      SHADOWING-IMPORT-PROCEED *TRACE-IO* HASH-TABLE-FULL 
                                      HASH-TABLE-FULL-TABLE ATTEMPT-TO-CHANGE-CONSTANT 
                                      ATTEMPT-TO-CHANGE-CONSTANT-NAME ATTEMPT-TO-RPLAC-NIL 
                                      ATTEMPT-TO-RPLAC-NIL-NAME TYPE-ERROR-EXPECTED-TYPE 
                                      SIMPLE-TYPE-ERROR SIMPLE-TYPE-ERROR-EXPECTED-TYPE 
                                      SIMPLE-TYPE-ERROR-CULPRIT STREAM-NOT-OPEN 
                                      STREAM-NOT-OPEN-STREAM SYMBOL-NAME-TOO-LONG 
                                      SYMBOL-NAME-TOO-LONG-STREAM SYMBOL-HT-FULL ARRAY-SPACE-FULL 
                                      DATA-TYPES-EXHAUSTED DEVICE-ERROR DEVICE-ERROR-DEVICE 
                                      SIMPLE-DEVICE-ERROR SIMPLE-DEVICE-ERROR-DEVICE 
                                      SIMPLE-DEVICE-ERROR-MESSAGE FS-ERROR FILE-WONT-OPEN 
                                      FILE-WONT-OPEN-PATHNAME FS-RESOURCES-EXCEEDED 
                                      FS-PROTECTION-VIOLATION ARITHMETIC-ERROR 
                                      ARITHMETIC-ERROR-OPERATION ARITHMETIC-ERROR-OPERANDS 
                                      FLOATING-OVERFLOW FLOATING-OVERFLOW-OPERATION 
                                      FLOATING-OVERFLOW-OPERANDS FLOATING-UNDERFLOW 
                                      FLOATING-UNDERFLOW-OPERATION FLOATING-UNDERFLOW-OPERANDS 
                                      PATHNAME-ERROR PATHNAME-ERROR-PATHNAME FILE-NOT-FOUND 
                                      FILE-NOT-FOUND-PATHNAME INVALID-PATHNAME 
                                      INVALID-PATHNAME-PATHNAME CONTROL-E-INTERRUPT 
                                      CONTROL-E-INTERRUPT-FUNCTION ASSERTION-FAILED 
                                      ASSERTION-FAILED-FORMAT-STRING 
                                      ASSERTION-FAILED-FORMAT-ARGUMENTS BAD-PROCEED-CASE 
                                      BAD-PROCEED-CASE-NAME TYPE-MISMATCH TYPE-MISMATCH-EXPECTED-TYPE
                                      TYPE-MISMATCH-VALUE TYPE-MISMATCH-MESSAGE STORAGE-EXHAUSTED 
                                      CREATE-TRACE-WINDOW UNBREAK-FUNCTION REBREAK-FUNCTION 
                                      TRACE-FUNCTION *TRACE-LEVEL* *TRACE-LENGTH* *TRACE-VERBOSE* 
                                      INNER REINSTALL-ADVICE ADVISE-FUNCTION UNADVISE-FUNCTION 
                                      READVISE-FUNCTION ADVISED-FUNCTIONS DEFADVICE WITH-COLLECTION 
                                      COLLECT ONCE-ONLY *SHORT-SITE-NAME* *LONG-SITE-NAME* DEFINER 
                                      NAMED-PROGN COMPILE-DEFINER COMPILE-FORM FALSE 
                                      FILE-ENVIRONMENTS DEFINE-FILE-ENVIRONMENT *BREAK-ON-SIGNALS* 
                                      HANDLER-CASE WITH-SIMPLE-RESTART RESTART-CASE RESTART-BIND 
                                      COMPUTE-RESTARTS RESTART-NAME FIND-RESTART INVOKE-RESTART 
                                      INVOKE-RESTART-INTERACTIVELY CONTINUE MUFFLE-WARNING 
                                      INVOKE-DEBUGGER RESTART TYPE-ERROR TYPE-ERROR-DATUM 
                                      PROGRAM-ERROR FILE-ERROR FILE-ERROR-PATHNAME DIVISION-BY-ZERO 
                                      FLOATING-POINT-OVERFLOW FLOATING-POINT-UNDERFLOW ROW-MAJOR-AREF
                                      RECORD-FETCH RECORD-FFETCH RECORD-CREATE DEFINE-RECORD 
                                      PACKAGE-PREFIX))
                        (IL:MAPC LISP::FUTURE-CITIZENS-OF-XCL 'LISP::DEFECT-FROM-IL-TO-XCL)
                        (LISP::CHECK-ALL)))
           
           (IL:* IL:;; "Arrange for the proper makefile environment")

           (IL:PROP (IL:FILETYPE IL:MAKEFILE-ENVIRONMENT)
                  IL:XCL-PACKAGE)))



(IL:* IL:;;; "Setting up the XCL package.")


(DEFUN LISP::DEFECT-FROM-IL-TO-XCL (LISP::NAME)
   (LISP::NATURALIZE LISP::NAME (FIND-PACKAGE 'LISP::IL)
          (FIND-PACKAGE 'LISP::XCL)))

(DEFUN LISP::CHECK-ALL ()
   [LET ((LISP::XCLP (FIND-PACKAGE "XCL")))
        (DOLIST (LISP::X LISP::FUTURE-CITIZENS-OF-XCL T)
            (LET* ((LISP::S (INTERN LISP::X LISP::XCLP))
                   (LISP::P (SYMBOL-PACKAGE LISP::S)))
                  (IF (NOT (EQ LISP::P LISP::XCLP))
                      (FORMAT T "~S ~S~%%" LISP::S LISP::P)))
            (LET [(LISP::SL (MAPCAN [IL:FUNCTION (LAMBDA (PACKAGE)
                                                        (MULTIPLE-VALUE-BIND (SYMBOL LISP::WHERE)
                                                               (FIND-SYMBOL LISP::X PACKAGE)
                                                               (AND SYMBOL (EQ LISP::WHERE :EXTERNAL)
                                                                    (LIST SYMBOL]
                                   '("IL" "XCL" "CL"]
                 (IF (NOT (CASE (LENGTH LISP::SL)
                              (2 (EQ (FIRST LISP::SL)
                                     (SECOND LISP::SL)))
                              (3 (AND (EQ (FIRST LISP::SL)
                                          (SECOND LISP::SL))
                                      (EQ (SECOND LISP::SL)
                                          (THIRD LISP::SL))))
                              (T T)))
                     (ERROR "More than one version of this symbol exists: ~s~%%" LISP::SL))))])

(DEFPARAMETER LISP::FUTURE-CITIZENS-OF-XCL
   '(
     (IL:* IL:;; "new definers")

     "DEFCOMMAND" "DEFDEFINER" "DEFGLOBALPARAMETER" "DEFGLOBALVAR" "DEFINE-CONDITION" 
     "DEFINE-PROCEED-FUNCTION" "DEFINLINE" "DEFOPTIMIZER" "DEFPACKAGE" "DEF-DEFINE-TYPE" 
     "*DEFINITION-HASH-TABLE*" 

     (IL:* IL:;; "for UNDO")

     "DEFINE-UNDOABLE-MODIFY-MACRO" "UNDOABLY" "UNDOABLY-SETF" "DEFINE-SPECIAL-FORM" 

     (IL:* IL:;; "for the EXEC")

     "*CURRENT-EVENT*" "EXEC-ID" "*PER-EXEC-VARIABLES*" "*EXEC-MAKE-UNDOABLE-P*" "EXEC-FORMAT" 
     "EXEC-EVAL" "EXEC" "ADD-EXEC" "EXEC-VALUE-OF" 

     (IL:* IL:;; "for the debugger")

     "DEBUGGER" "PRINT-BACKTRACE" "*DEBUGGER-MENU-ITEMS*" "ENTER-DEBUGGER-P" 
     "*DEBUGGER-ENTRY-POINTS*" "HELP" "UNBREAK" "BREAK-FUNCTION" "*TRACE-DEPTH*" 

     (IL:* IL:;; "others in alphabetical order")

     "&CONTEXT" "*DEFAULT-PUSH-EXTENSION-SIZE*" "*PREFERRED-READING-SYMBOLS*" 
     "*TOTAL-PACKAGES-LIMIT*" "ABORT" "ARRAY-NEEDS-INDIRECTION-P" "ASET" "BIT-ARRAY-P" "CATCH-ABORT"
     "CELL-ERROR" "CELL-ERROR-NAME" "COMPUTE-PROCEED-CASES" "CONDITION" "CONDITION-BIND" 
     "CONDITION-CASE" "CONDITION-HANDLER" "CONDITION-REPORTER" "CONTROL-ERROR" "COPY-ARRAY" "DEBUG" 
     "DEFAULT-PROCEED-REPORT" "DEFAULT-PROCEED-TEST" "DELETE-PACKAGE" "DESTRUCTURING-BIND" 
     "DESTRUCTURING-SETQ" "DISPLACED-ARRAY-P" "DO-LOCAL-SYMBOLS" "END-OF-FILE" "END-OF-FILE-STREAM" 
     "EQUAL-DIMENSIONS-P" "EXTENDABLE-ARRAY-P" "FILL-ARRAY" "FILL-VECTOR" "FIND-PROCEED-CASE" 
     "GLOBAL" "GLOBALIZE" "HANDLER-BIND" "IGNORE-ERRORS" "ILLEGAL-GO" "ILLEGAL-GO-TAG" 
     "ILLEGAL-RETURN" "ILLEGAL-RETURN-TAG" "ILLEGAL-THROW" "ILLEGAL-THROW-TAG" "INVOKE-PROCEED-CASE"
     "MAKE-CONDITION" "MAKE-VECTOR" "OPTIMIZERS" "PARSE-BODY" "PROCEED" "PROCEED-CASE" 
     "PROCEED-CASE-NAME" "READ-ERROR" "READ-ERROR-STREAM" "READ-ONLY-ARRAY-P" "REMOVE-COMMENTS" 
     "SERIOUS-CONDITION" "SHADOWING-USE-PACKAGE" "SIGNAL" "SIMPLE-ARRAY-P" "SIMPLE-BREAK" 
     "SIMPLE-BREAK-FORMAT-ARGUMENTS" "SIMPLE-BREAK-FORMAT-STRING" "SIMPLE-CONDITION" 
     "SIMPLE-CONDITION-FORMAT-ARGUMENTS" "SIMPLE-CONDITION-FORMAT-STRING" "SIMPLE-ERROR" 
     "SIMPLE-ERROR-FORMAT-ARGUMENTS" "SIMPLE-ERROR-FORMAT-STRING" "SIMPLE-WARNING" 
     "SIMPLE-WARNING-FORMAT-ARGUMENTS" "SIMPLE-WARNING-FORMAT-STRING" "STACK-OVERFLOW" 
     "STORAGE-CONDITION" "STORE-VALUE" "STREAM-ERROR" "STREAM-ERROR-STREAM" "STRING-ARRAY-P" "TRUE" 
     "UNBOUND-VARIABLE" "UNBOUND-VARIABLE-NAME" "UNDEFINED-FUNCTION" "UNDEFINED-FUNCTION-NAME" 
     "USE-VALUE" "VECTOR-LENGTH" "WALK-FORM" "WALK-FORM-INTERNAL" "WALK-TEMPLATE" "WARNING")
   "A list of names retroactively placed in XCL; do not add to it.")
(IL:DECLARE%: IL:DONTEVAL@LOAD IL:DOCOPY 


(IL:* IL:;; "New exports from XCL should go in the EXPORT clause here")


(DEFPACKAGE "XEROX-COMMON-LISP" (:USE "LISP" "CONDITIONS")
       (:NICKNAMES "XCL")
       (:PREFIX-NAME "XCL")
       (:EXPORT ARGLIST SET-EXEC-TYPE SET-DEFAULT-EXEC-TYPE SYNONYM-STREAM-P SYNONYM-STREAM-SYMBOL 
              FOLLOW-SYNONYM-STREAMS BROADCAST-STREAM-P BROADCAST-STREAM-STREAMS 
              CONCATENATED-STREAM-P CONCATENATED-STREAM-STREAMS TWO-WAY-STREAM-P 
              TWO-WAY-STREAM-INPUT-STREAM TWO-WAY-STREAM-OUTPUT-STREAM ECHO-STREAM-P 
              ECHO-STREAM-INPUT-STREAM ECHO-STREAM-OUTPUT-STREAM STRING-STREAM-P OPEN-STREAM-P 
              *CURRENT-CONDITION* *EVAL-FUNCTION* *EXEC-PROMPT* *DEBUGGER-PROMPT* MAKE-PROFILE 
              RESTORE-PROFILE SAVE-PROFILE WITH-PROFILE COPY-PROFILE PROFILE-NAME PROFILE-P 
              FIND-PROFILE LIST-ALL-PROFILES DEFPROFILE PROFILES *DEFAULT-PROFILE* *PROFILE* PACK 
              PACK* *PRINT-STRUCTURE* DO-INTERNAL-SYMBOLS PKG-GOTO READ-CONFLICT READ-CONFLICT-NAME 
              READ-CONFLICT-PACKAGES MISSING-EXTERNAL-SYMBOL MISSING-EXTERNAL-SYMBOL-NAME 
              MISSING-EXTERNAL-SYMBOL-PACKAGE MISSING-PACKAGE MISSING-PACKAGE-PACKAGE-NAME 
              MISSING-PACKAGE-SYMBOL-NAME MISSING-PACKAGE-EXTERNAL PACKAGE-ERROR 
              PACKAGE-ERROR-PACKAGE SYMBOL-CONFLICT SYMBOL-CONFLICT-SYMBOLS USE-CONFLICT 
              USE-CONFLICT-USED-PACKAGE EXPORT-CONFLICT EXPORT-CONFLICT-EXPORTED-SYMBOLS 
              SYMBOL-COLON-ERROR ESCAPE-COLONS-PROCEED EXPORT-CONFLICT-PACAKGES EXPORT-MISSING 
              EXPORT-MISSING-SYMBOLS IMPORT-CONFLICT UNINTERN-CONFLICT UNINTERN-CONFLICT-SYMBOL 
              PREFER-CLSYM-PROCEED RETURN-CLSYM-PROCEED PREFER-ILSYM-PROCEED RETURN-ILSYM-PROCEED 
              MAKE-EXTERNAL-PROCEED MAKE-INTERNAL-PROCEED NEW-PACKAGE-PROCEED UGLY-SYMBOL-PROCEED 
              SHADOW-USE-CONFLICTS-PROCEED UNINTERN-USER-PROCEED UNINTERN-USEE-PROCEED 
              UNINTERN-PROCEED IMPORT-PROCEED SHADOWING-IMPORT-PROCEED *TRACE-IO* HASH-TABLE-FULL 
              HASH-TABLE-FULL-TABLE ATTEMPT-TO-CHANGE-CONSTANT ATTEMPT-TO-CHANGE-CONSTANT-NAME 
              ATTEMPT-TO-RPLAC-NIL ATTEMPT-TO-RPLAC-NIL-NAME TYPE-ERROR-EXPECTED-TYPE 
              SIMPLE-TYPE-ERROR SIMPLE-TYPE-ERROR-EXPECTED-TYPE SIMPLE-TYPE-ERROR-CULPRIT 
              STREAM-NOT-OPEN STREAM-NOT-OPEN-STREAM SYMBOL-NAME-TOO-LONG SYMBOL-NAME-TOO-LONG-STREAM
              SYMBOL-HT-FULL ARRAY-SPACE-FULL DATA-TYPES-EXHAUSTED DEVICE-ERROR DEVICE-ERROR-DEVICE 
              SIMPLE-DEVICE-ERROR SIMPLE-DEVICE-ERROR-DEVICE SIMPLE-DEVICE-ERROR-MESSAGE FS-ERROR 
              FILE-WONT-OPEN FILE-WONT-OPEN-PATHNAME FS-RESOURCES-EXCEEDED FS-PROTECTION-VIOLATION 
              ARITHMETIC-ERROR ARITHMETIC-ERROR-OPERATION ARITHMETIC-ERROR-OPERANDS FLOATING-OVERFLOW
              FLOATING-OVERFLOW-OPERATION FLOATING-OVERFLOW-OPERANDS FLOATING-UNDERFLOW 
              FLOATING-UNDERFLOW-OPERATION FLOATING-UNDERFLOW-OPERANDS PATHNAME-ERROR 
              PATHNAME-ERROR-PATHNAME FILE-NOT-FOUND FILE-NOT-FOUND-PATHNAME INVALID-PATHNAME 
              INVALID-PATHNAME-PATHNAME CONTROL-E-INTERRUPT CONTROL-E-INTERRUPT-FUNCTION 
              ASSERTION-FAILED ASSERTION-FAILED-FORMAT-STRING ASSERTION-FAILED-FORMAT-ARGUMENTS 
              BAD-PROCEED-CASE BAD-PROCEED-CASE-NAME TYPE-MISMATCH TYPE-MISMATCH-EXPECTED-TYPE 
              TYPE-MISMATCH-VALUE TYPE-MISMATCH-MESSAGE STORAGE-EXHAUSTED CREATE-TRACE-WINDOW 
              UNBREAK-FUNCTION REBREAK-FUNCTION TRACE-FUNCTION *TRACE-LEVEL* *TRACE-LENGTH* 
              *TRACE-VERBOSE* INNER REINSTALL-ADVICE ADVISE-FUNCTION UNADVISE-FUNCTION 
              READVISE-FUNCTION ADVISED-FUNCTIONS DEFADVICE WITH-COLLECTION COLLECT ONCE-ONLY 
              *SHORT-SITE-NAME* *LONG-SITE-NAME* DEFINER NAMED-PROGN COMPILE-DEFINER COMPILE-FORM 
              FALSE FILE-ENVIRONMENTS DEFINE-FILE-ENVIRONMENT *BREAK-ON-SIGNALS* HANDLER-CASE 
              WITH-SIMPLE-RESTART RESTART-CASE RESTART-BIND COMPUTE-RESTARTS RESTART-NAME 
              FIND-RESTART INVOKE-RESTART INVOKE-RESTART-INTERACTIVELY CONTINUE MUFFLE-WARNING 
              INVOKE-DEBUGGER RESTART TYPE-ERROR TYPE-ERROR-DATUM PROGRAM-ERROR FILE-ERROR 
              FILE-ERROR-PATHNAME DIVISION-BY-ZERO FLOATING-POINT-OVERFLOW FLOATING-POINT-UNDERFLOW 
              ROW-MAJOR-AREF RECORD-FETCH RECORD-FFETCH RECORD-CREATE DEFINE-RECORD PACKAGE-PREFIX))

(IL:MAPC LISP::FUTURE-CITIZENS-OF-XCL 'LISP::DEFECT-FROM-IL-TO-XCL)

(LISP::CHECK-ALL)
)



(IL:* IL:;; "Arrange for the proper makefile environment")


(IL:PUTPROPS IL:XCL-PACKAGE IL:FILETYPE IL:COMPILE-FILE)

(IL:PUTPROPS IL:XCL-PACKAGE IL:MAKEFILE-ENVIRONMENT (:READTABLE "INTERLISP" :PACKAGE
                                                               (DEFPACKAGE "XCL" (:USE))))
(IL:PUTPROPS IL:XCL-PACKAGE IL:COPYRIGHT ("Venue & Xerox Corporation" 1986 1987 1988 1990))
(IL:DECLARE%: IL:DONTCOPY
  (IL:FILEMAP (NIL)))
IL:STOP
