save-image filename &key gc type normal-gc restart-function console environment remarks clean-down => nil
The console argument is available only in LispWorks for Windows.
A string. It is the name of the file that the image is saved as. This name should not be the same as the original name of the image.
If non-
nil
, there is a garbage collection before the image is saved. The default value is
t
.
Determines if some global variables are cleared before the image is saved. You can generally use the default value, which is
:user
.
If this is
t
the function normal-gc is called before the image is saved. The default is
t
.
Specifies a function (with no arguments) to be called when the image is started. The default is
nil
. The
restart-function
is called after the initialization file is loaded.
console controls whether the new image will be a Console or GUI application and when, if ever, to make a console window in the latter case. Possible values are discussed below.
environment controls whether the LispWorks environment is started on restart. Possible values are discussed below.
remarks adds a comment to the save history. The value should be a string.
When
t
, calls
(clean-down t)
.
Using this function, you can make modifications to the image, and then save the image with the modifications inside. This is particularly important when patches are sent by Xanalys.
Do not use this function when the programming environment is running. Instead, create an initialization script.
console is implemented only in Lispworks for Windows. The possible values for console are as follows:
Unchanged since previous save.
A Console application is saved, else a Windows application is saved which create its own console according to the other possible values.
Whenever input, output or any io is attempted on
*terminal-io*
.
At startup, if input and output are not redirected
At startup, even if input and output are redirected.
The LispWorks for Windows image shipped by Xanalys has
console
set to
:input
.
The possible values for environment are as follows:
Unchanged since previous save.
Start with just the TTY listener.
Start the environment automatically, no TTY listener.
Start the environment automatically, but still have a TTY listener.
The LispWorks image shipped by Xanalys has
environment
set to
t
.
You should not try to save a new image over an existing one. Always save images using a unique image name, and then, if necessary, replace the new image with the old one after the call to
save-image
has returned.
Here is an example initialization script. Save this to a file such as
my-file.lisp
, then run LispWorks with the command line argument
-init c:/my-file.lisp
to build the image
my-image.exe
.
(load-all-patches)
(load "my-application")
(save-image "my-image")
(quit)