Function: or
or is a special form defined in eval.c.
Signature
(or CONDITIONS...)
Documentation
Eval args until one of them yields non-nil, then return that value.
The remaining args are not evalled at all. If all args return nil, return nil.
Probably introduced at or before Emacs version 1.1.
Source Code
// Defined in /usr/src/emacs/src/eval.c
{
Lisp_Object val = Qnil;
while (CONSP (args))
{
Lisp_Object arg = XCAR (args);
args = XCDR (args);
val = eval_sub (arg);
if (!NILP (val))
break;
}
return val;
}