(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10)
(filecreated "13-Jul-90 18:00:23" |{PELE:MV:ENVOS}<LISPCORE>SOURCES>CMLLOAD.;4| 3202   

      |changes| |to:|  (functions cl::\\openstream-with-default)

      |previous| |date:| " 4-Jun-90 15:23:02" |{PELE:MV:ENVOS}<LISPCORE>SOURCES>CMLLOAD.;3|)


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

(prettycomprint cmlloadcoms)

(rpaqq cmlloadcoms ((functions cl:load cl::\\openstream-with-default) (fns \\cml-load) (variables *load-print-stuff* *load-verbose*) (prop filetype cmlload)))

(cl:defun cl:load (filename &key ((:verbose *load-verbose*) *load-verbose*) ((:print *load-print-stuff*) *load-print-stuff*) (if-does-not-exist :error) (loadflg nil) package) "Loads the file named by Filename into the Lisp environment." (let ((stream (or (streamp filename) (|if| (null if-does-not-exist) |then| (condition-case (cl::\\openstream-with-default filename) (xcl:file-not-found nil (* |;;| "Spec says return NIL if file not found and IF-DOES-NOT-EXIST is NIL") (cl:return-from cl:load nil))) |else| (cl::\\openstream-with-default filename))))) (cl:unwind-protect (\\load-stream stream (cl:intern (string loadflg) (cl:find-package "INTERLISP")) *load-print-stuff* (and *load-verbose* *terminal-io*) package) (cl:close stream))))

(cl:defun cl::\\openstream-with-default (cl::filename) (declare (cl:special loadparamaters)) (* |;;| "If the current connected directory is \"{DSK}<tmp>\", (CL:LOAD \"{CORE}FOO\") should load \"{CORE}FOO\" rather than \"{CORE}<tmp>FOO\".  Thus we call MERGE-PATHNAMES iff HOST field is not specified in FILENAME. ") (cl:if (null (cl:if (cl:pathnamep cl::filename) (cl:pathname-host cl::filename) (filenamefield cl::filename (quote host)))) (openstream (cl:merge-pathnames (pathname cl::filename) *default-pathname-defaults*) (quote input) (quote old) loadparameters) (openstream cl::filename (quote input) (quote old) loadparameters)))
(defineq

(\\cml-load
  (lambda (stream printflg load-verbose-stream package)      (* \; "Edited 19-Jan-87 18:27 by bvm:")
          
          (* |;;| "Loads a \"Common Lisp file\" a la CL:LOAD.  Currently only do this if file starts with semi-colon.  PACKAGE overrides the default (USER).")

    (let ((*package* (or package (cl:find-package "USER")))
          (*readtable* cmlrdtbl)
          (full (fullname stream))
          (eof-mark "EOF")
          expr)
         (|until| (eq eof-mark (setq expr (cl:read stream nil eof-mark)))
            |do| (cond
                    (printflg (print (cl:eval expr)
                                     t))
                    (t (cl:eval expr))))
         (|if| load-verbose-stream
             |then| (cl:format load-verbose-stream "; Finished loading ~A, ~D bytes read~&" full
                           (getfileptr stream)))
         full)))
)

(cl:defvar *load-print-stuff* nil "Default value for :PRINT keyword to LOAD")

(cl:defvar *load-verbose* t "Default for VERBOSE keyword to LOAD.")

(putprops cmlload filetype cl:compile-file)
(putprops cmlload copyright ("Venue & Xerox Corporation" 1986 1987 1988 1990))
(declare\: dontcopy
  (filemap (nil (1980 2907 (\\cml-load 1990 . 2905)))))
stop
