(DEFINE-FILE-INFO PACKAGE "INTERLISP" READTABLE "XCL" BASE 10) (filecreated "13-Jul-90 18:00:23" |{PELE:MV:ENVOS}SOURCES>CMLLOAD.;4| 3202 |changes| |to:| (functions cl::\\openstream-with-default) |previous| |date:| " 4-Jun-90 15:23:02" |{PELE:MV:ENVOS}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}\", (CL:LOAD \"{CORE}FOO\") should load \"{CORE}FOO\" rather than \"{CORE}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