*restart-init-function*

$Revision: 5.0.2.4 $

Variable

Package: EXCL

The value of this variable should be a function name or function object (suitable as the first argument to funcall) or nil. The function should take no arguments. It is called as the last startup action before either a standard Lisp listener is started or *restart-app-function* is called. This variable is never modified or set by any Allegro CL facility. Since the value of this variable is passed to funcall, if the value is nil, no action is taken.

As an example of its use, consider the following code, suitable for placement in a user's .clinit.cl file. It defines the function start-composer-from-clinit-file, which, if called in the .clinit.cl file, causes Allegro Composer to be started. It is reprinted here to illustrate how *restart-init-function* might be modified in a .clinit.cl file in a way that preserves any functionality expressed by the current value of the variable and is further careful to reset the variable appropriately after Allegro Composer is started -- thus preventing a dumped image from trying to start Allegro Composer twice. (Evaluating (composer:start-composer) in .clinit.cl works but causes annoying bogus warnings to be printed.)

;; Description: Facilitate Composer startup from .clinit.cl file
;;
 
(defun start-composer-from-clinit-file ()
  (let ((initial-restart-init-function *restart-init-function*))
    (cond (initial-restart-init-function
      (setf *restart-init-function*
            #'(lambda ()
               (composer:start-composer)
               (setf *restart-init-function* initial-restart-init-function)
               (funcall initial-restart-init-function))))
     (t (setf *restart-init-function*
              #'(lambda ()
                 (composer:start-composer)
                 (setf *restart-init-function* nil)))))))

See startup.htm for information on initialization functions.

The general documentation description is in introduction.htm. The index is in index.htm.

Copyright (C) 1998-1999, Franz Inc., Berkeley, CA. All Rights Reserved.