From: Noam Postavsky Date: Thu, 8 Mar 2018 23:48:39 +0000 (-0500) Subject: Clarify that nil doesn't match itself as a cl-case clause (Bug#30749) X-Git-Tag: emacs-26.1-rc1~104 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=e244fed5e041c706dd10c60bd893634902f04aaa;p=emacs.git Clarify that nil doesn't match itself as a cl-case clause (Bug#30749) * lisp/emacs-lisp/cl-macs.el (cl-case): Mention that the ATOM => (ATOM) short form is only for non-nil ATOMs. --- diff --git a/lisp/emacs-lisp/cl-macs.el b/lisp/emacs-lisp/cl-macs.el index e7f82ced488..971f4f926bd 100644 --- a/lisp/emacs-lisp/cl-macs.el +++ b/lisp/emacs-lisp/cl-macs.el @@ -761,13 +761,15 @@ The result of the body appears to the compiler as a quoted constant." ;;;###autoload (defmacro cl-case (expr &rest clauses) "Eval EXPR and choose among clauses on that value. -Each clause looks like (KEYLIST BODY...). EXPR is evaluated and compared -against each key in each KEYLIST; the corresponding BODY is evaluated. -If no clause succeeds, cl-case returns nil. A single atom may be used in -place of a KEYLIST of one atom. A KEYLIST of t or `otherwise' is -allowed only in the final clause, and matches if no other keys match. -Key values are compared by `eql'. -\n(fn EXPR (KEYLIST BODY...)...)" +Each clause looks like (KEYLIST BODY...). EXPR is evaluated and +compared against each key in each KEYLIST; the corresponding BODY +is evaluated. If no clause succeeds, cl-case returns nil. A +single non-nil atom may be used in place of a KEYLIST of one +atom. A KEYLIST of t or `otherwise' is allowed only in the final +clause, and matches if no other keys match. Key values are +compared by `eql'. + +\(fn EXPR (KEYLIST BODY...)...)" (declare (indent 1) (debug (form &rest (sexp body)))) (macroexp-let2 macroexp-copyable-p temp expr (let* ((head-list nil))