Variable | Package: top-level | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version

## *top-level-read-eval-print-loop-wrapper*

The value of this variable should be `nil` or a function which takes two arguments and typically makes some customizations before applying the first argument to the second. The initial value of this variable is `nil`, which has no effect.

In this rather trivial example, we define the wrapper so that the command character (the value of `*command-char*`, initially #\:) is #\$. Of course, in a real example, something more complex would be done, but the form would be similar to this example. These forms must be in an initialization file (such as you .clinit.cl file) because they need to be executed before the top-level starts up.

    ;;  These forms whould be in an initialization file. When Lisp
    ;;  starts (assuming the .clinit.cl file is read), the command
    ;;  character will be $ (rather than :) in any new lisp listener
    ;;  process.
    (defun my-lisp-listener-wrapper (function args)
      (let ((tpl:*command-char* #\$))
        (apply function args)))

    (setq tpl:*top-level-read-eval-print-loop-wrapper*
          'my-lisp-listener-wrapper)

This variable is not available in Lisp images built with a minimal top level, that is built with the include-tpl argument to build-lisp-image specified `nil`. See Minimal top levels in building-images.htm for information on minimal top levels.

See top-level.htm for more information on the top level.

Copyright (c) 1998-2019, Franz Inc. Oakland, CA., USA. All rights reserved.
This page was not revised from the 8.2 page.
Created 2012.5.30.

|  | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 9.0 Unrevised from 8.2 to 9.0. 8.2 version