The value of this variable should be a function name or function
object (suitable as the first argument to funcall) or
function should take no arguments. It is called at the end of the
startup procedure instead of a standard Lisp listener being
started. This function is designed to provide its own top-level (in
place of a Lisp listener). The function should not return. The
behavior if it does return is undefined.
When this variable is
nil, a standard Lisp
listener is started using start-interactive-top-level.
Warning: the functions build-lisp-image and generate-application both accept a
:restart-app-function keyword argument whose value
defaults to the value of this variable. However, the only valid values
for that argument are a symbol or a list (typically a lambda list
defining an anonymous function). If the value of this variable is a
function object, and the
argument is not specified, the call to build-lisp-image or generate-application will fail. Thus, this
(setq *restart-app-function* #'(lambda () (do-my-startup)) (build-lisp-image "myimage.dxl")
and this will succeed:
(setq *restart-app-function* '(lambda () (do-my-startup)) (build-lisp-image "myimage.dxl")
If the Lisp uses a minimal top level (i.e. the image was built with
the include-tpl keyword argument to
nil) and this variable is
nil, start-interactive-top-level is still
called but has a different definition than in a standard image with a
standard top level. See Minimal top levels in
The variable is designed for applications. Users and programmers
wanting to dump Lisp images for later use will not typically set this
*restart-init-function*, allows for
initializations prior to the Lisp listener starting). Programmers who
want to start a Lisp listener themselves (perhaps providing a choice
between the application top-level and a standard listener) from within
should see the description of start-interactive-top-level.
This note applies to users of the Integrated Development Environment (IDE) with Allegro CL 5.0/5.0.1 on Windows.
In 5.0.1, *restart-app-function* is used by the IDE to initialize
Common Graphics and start the IDE. Applications written using the
project system in the IDE use the
*restart-init-function* to start the
*restart-app-function* should be set by users of the IDE or by
applications created using the IDE and the Project system. For
initialization for such applications, see
See also startup.htm for general information on starting Allegro CL, including information on command-line arguments and init files. See particularly the section What Lisp does when it starts up in that document.
The documentation is described in introduction.htm and the index is in index.htm.
Copyright (c) 1998-2000, Franz Inc. Berkeley, CA., USA. All rights reserved.