*patches-only*Module Manager Facilitycontinue-patchcompile-moduleGoTo Top

compile-module   module-name &rest options[Function]

Purpose
Compiles and loads the files in a module.

Package   :module-manager

Module   :module-manager

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)

Errors
Module module-name has not been defined.
A relative directory specification contains a circularity.
Module module-name or one of its required modules has not been loaded and *patches-only* is true.

Description
These file options, when specified for individual files in the module definition (see define-module), have the following effects (overriding the behavior of options supplied to compile-module):

:developing If the patch file has changed, recompile and reload it (patch files only)
:forces-recompile    If the file has changed, recompile and reload all subsequent files and modules
:noload Compile, but do not load the file
:recompile Always recompile the file
:reload Always reload the file
:skip-recompile    Skip recompiling the file if it has been loaded already
(takes precedence over other recompilation decisions)
:source Do not compile the file (load the source instead)

See also
    :disable-compiler-macros
    :full-safety
    *automatically-create-missing-directories*
    *autorun-modules*
    *patches-only*
    define-module
    load-module
    load-module-file
    startup-module

Example
Compile and load the GBBopen User module and all its required modules, creating new compilation directories if they do not exist already:

  (compile-module :gbbopen-user :propagate :create-dirs)

REPL Note
Compile-module can be invoked using the REPL command:

  :cm [module-name [option*]]
which remembers the last specified module-name and options as default values for the command.


The GBBopen Project


*patches-only*Module Manager Facilitycontinue-patchcompile-moduleGoTo Top