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;
}