undefined_p, undefined_symbol_p

undefined_p, undefined_symbol_p — test for undefined types and symbols.

Syntax

undefined_p (s_exp)
undefined_symbol_p (s_exp)
    

Arguments

s_exp

Any Gamma or Lisp expression.

Returns

t if the value of s_exp is not defined; otherwise nil.

Description

These two functions perform a similar task, checking to see if the s_exp is defined. However, they differ in two important ways:

    undefined_p examines the value of s_exp directly, whereas undefined_symbol_p expects the value of s_exp to be a symbol, and examines the value of that resulting symbol.

    undefined_p evaluates its argument in a protected scope where any "Symbol is undefined" errors will be trapped and disregarded. undefined_symbol_p evaluates its argument without protection, so it is possible that a "Symbol is undefined" error could be thrown if the evaluation of s_exp generates such an error.

Example

Gamma> a = #xyz
xyz
Gamma> undefined_p (a);
nil
Gamma> undefined_symbol_p (a);
t
Gamma> xyz = t;
t
Gamma> undefined_symbol_p (a);
nil


Gamma> undefined_p (y);
t
Gamma> undefined_symbol_p (y);
Symbol is undefined: y
debug 1>
		

See Also

Data Types and Predicates