diff options
Diffstat (limited to 'src/interp/lisplib.boot')
-rw-r--r-- | src/interp/lisplib.boot | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/interp/lisplib.boot b/src/interp/lisplib.boot index f491569e..755e3f8e 100644 --- a/src/interp/lisplib.boot +++ b/src/interp/lisplib.boot @@ -35,7 +35,10 @@ import nlib import c_-util import debug + namespace BOOT +module lisplib + ++ $functionLocations := [] @@ -701,3 +704,18 @@ getIndexTable dir == -- index file doesn't exist but mark this directory as a Lisplib. WITH_-OPEN_-FILE(stream(indexFile,KEYWORD::DIRECTION,KEYWORD::OUTPUT), nil) + +--% +compDefineExports(op,catobj,sig,e) == + not $LISPLIB => systemErrorHere "compDefineExports" + libName := getConstructorAbbreviation op + exportsFile := strconc(STRING libName,'".sig") + removeFile exportsFile + withOutputFile(s,exportsFile, + PRETTYPRINT( + ["put", quoteForm op, quoteForm "isFunctor", quoteForm catobj.1, + ["addModemap", quoteForm op, quoteForm first sig, + quoteForm sig, true, quoteForm op, + ["put", quoteForm op, quoteForm "mode", + quoteForm ["Mapping",:sig], "$CategoryFrame"]]], s)) + [op,["Mapping",:sig],e] |