startup-module | | module-name options
&optional package-name | [Function]
|
Purpose
Compile and load a GBBopen module, even if the
Module Manager Facility is not yet loaded, and
optionally set the current package.
Package :common-lisp-user
(not exported)
Module Defined in initiate.lisp
Arguments and values
module-name | | A keyword symbol naming a module
|
option | | Any of the following keywords:
:create-dirs | Creates any needed directories that are missing in the
compiled-file tree |
:noautorun | Binds *autorun-modules* to nil
during compilation and loading |
:nopatches | Do not compile or load any patches |
:nopropagate | Cancels (overrides) a specified :propagate option |
:patches-only | Do not compile or load/reload any non-patch
files (binds *patches-only* to t during
compilation and loading) |
:print | Incrementally prints information during compilation and
loading |
:propagate | Applies the specified options to all
required modules |
:recompile | Compiles files even if the existing compiled file is newer
than the source file |
:reload | Loads files even if they are already loaded |
:source | Loads from the source file even if the existing compiled file
is newer than the source file (implies :reload ) |
|
|
package-name | | A package name (default is nil )
|
Errors
Module module-name has not been
defined.
A relative directory
specification contains a circularity.
Description
This function bootstraps GBBopen loading, if needed, before
calling compile-module on
module-name with options. Then, unless
package-name is nil
, the current package is set to the package
named by package-name. The named package does not need to be
defined before calling startup-module, but it must be defined
at the conclusion of module compilation and loading.
Startup-module adds the option :propagate
to the
supplied options. If this propagation behavior is not desired,
the :nopropagate
option can be specified to override (cancel)
propagation.
See also
compile-module
define-module
define-repl-command
Example
Define a REPL command named :my-app
that compiles and
loads the module :my-app
and sets the current package to
the :gbbopen-user
package:
(define-repl-command :my-app (&rest options)
"Compile and load my GBBopen application module"
(startup-module :my-app options :gbbopen-user))
The GBBopen Project