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.

View in manual

Probably introduced at or before Emacs version 19.20.

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