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>