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

## *print*

The values of `*read*`, `*eval*`, and *print* (this variable), if valid functions (that is, ones acceptable to the function funcall), will be funcalled to read user input, evaluate the result from the read, and print the result of the evaluation. If the value of this variable is not a funcallable object, the default function, prin1 will be used in place of the non-funcallable object. The default value for all three variables is `nil`.

To be a value of one of these variables, a function must accept one argument (for `*eval*` and `*read*`) or two arguments (for *print* (this variable)). The value of `*read*` will be passed the stream which is to be read. The value of `*eval*` will be passed a form to evaluate. The value of *print* (this variable) will be passed a value to print and a stream. Great care should be taken before setting any of these variables, since binding these to something other than a proper function will result in a recursive error (since after an error, another read-eval-print loop is called). If you change the value of one of these variables, you may return to the default behavior by changing the value back to `nil`.

If you build an image with the include-tpl keyword argument to build-lisp-image `nil`, the image will have a minimal top level which will use `*read*`, `*eval*`, and *print* (this variable). The values must be valid functions in that case. See Minimal top levels in building-images.htm for information on minimal top levels.

### Note about this variable and the Integrated Development Environment on Windows

In the IDE, listeners bind this variable internally due to the IDE's particular multithreaded and windowized implementation. So binding or setting this variable will have no effect on IDE listeners, but will still affect the console listener and the emacs listener (if any) while the IDE is running.

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

Copyright (c) 1998-2022, Franz Inc. Lafayette, CA., USA. All rights reserved.
This page was not revised from the 10.0 page.
Created 2019.8.20.

|  | ToC | DocOverview | CGDoc | RelNotes | FAQ | Index | PermutedIndex
| Allegro CL version 10.1 Unrevised from 10.0 to 10.1. 10.0 version