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

## verify-symbol-value-is-bound-switch

As with most compiler switch variables, the value of this variable can be `t`, `nil`, or a function object that accepts five arguments and returns `t` or `nil`. The arguments passed to the function will be the values of the safety, space, speed, debug, and compilation-speed optimization qualities, in that order. `nil` is equivalent to a function that always returns `nil` and `t` to a function that always returns `t`. When the value is a function and we say `t` (or true) or `nil` (or false) in the text below, we mean that the function returns, respectively, `t` or `nil`.

If true, code will be added to ensure that a symbol is bound before the value of that symbol is used. The result (as shown in Bound symbol example) is a guaranteed error and a better error message in code compiled with this switch true. Initially true if speed is less than 3 or safety is greater than 1.

In code compiled when this switch returns `nil`, when a symbol is evaluated, the contents of the symbol-value slot of the symbol object are accessed. If the symbol is unbound, those contents may nonetheless be apparently valid and will be used without further checking. This can lead to mysterious failures later in execution or in apparently valid but in fact invalid results.

See compiling.htm for information on the compiler.

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