(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