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