(FILECREATED "14-Oct-86 15:22:57" {QV}<NOTECARDS>1.3K>NEXT>KIRKPATCH030.;2 1481   

      changes to:  (MACROS NC.AutoloadApply*)
		   (VARS KIRKPATCH030COMS x)

      previous date: "14-Oct-86 15:17:18" {QV}<NOTECARDS>1.3K>NEXT>KIRKPATCH030.;1)


(* Copyright (c) 1986 by Xerox Corporation. All rights reserved.)

(PRETTYCOMPRINT KIRKPATCH030COMS)

(RPAQQ KIRKPATCH030COMS ((MACROS NC.AutoloadApply*)))
(DECLARE: EVAL@COMPILE 
(DEFMACRO NC.AutoloadApply* (Fn &REST args)
	  (* * First arg is name of function to apply. Rest are args. The fn name should be in the 
	     global table with an accompanying file to autoload from.)
	  (BQUOTE (if (GETD , Fn)
		      then
		      (APPLY* , Fn ,@ args)
		      else
		      (LET ((AutoloadFnEntry (NC.LookupAutoloadFnFile , Fn))
			    FileName)
			   (if AutoloadFnEntry then (NC.LoadFileFromDirectories
				 (SETQ FileName (fetch (AutoloadFnEntry FileName)
						       of AutoloadFnEntry))
				 (fetch (AutoloadFnEntry Directories)
					of AutoloadFnEntry))
			       (if (GETD , Fn)
				   then
				   (APPLY* , Fn ,@ args)
				   else
				   (NC.ReportError "NC.AutoloadApply*"
						   (CONCAT "Loaded file " FileName 
							   ", but still no definition of "
							   , Fn)))
			       else
			       (NC.ReportError "NC.AutoloadApply*" (CONCAT "No definition of " , Fn 
							   " in table of autoloadable functions.")))))
		  ))
)
(PUTPROPS KIRKPATCH030 COPYRIGHT ("Xerox Corporation" 1986))
(DECLARE: DONTCOPY
  (FILEMAP (NIL)))
STOP