summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorNoam Postavsky <npostavs@gmail.com>2018-03-31 00:40:43 -0400
committerNoam Postavsky <npostavs@gmail.com>2018-03-31 00:50:37 -0400
commite50196e8a96216f1fd69f9257cddd8d76ad2ac78 (patch)
tree0cc120b6a633ce87db822016922c1df4976f2f65 /lisp/emacs-lisp
parent8a2466ff7240136c32b1cc21143225935d462cc6 (diff)
downloademacs-e50196e8a96216f1fd69f9257cddd8d76ad2ac78.tar.gz
emacs-e50196e8a96216f1fd69f9257cddd8d76ad2ac78.tar.bz2
emacs-e50196e8a96216f1fd69f9257cddd8d76ad2ac78.zip
Document return value of pcase (Bug#30425)
* doc/lispref/control.texi (Pattern matching case statement): * lisp/emacs-lisp/pcase.el (pcase): State that pcase returns nil if no patterns match. (pcase-exhaustive): State that an error is signaled if no patterns match.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/pcase.el7
1 files changed, 5 insertions, 2 deletions
diff --git a/lisp/emacs-lisp/pcase.el b/lisp/emacs-lisp/pcase.el
index 6cfd074cf0b..ce148c9e1a9 100644
--- a/lisp/emacs-lisp/pcase.el
+++ b/lisp/emacs-lisp/pcase.el
@@ -118,7 +118,9 @@ two element list, binding its elements to symbols named `foo' and
A significant difference from `cl-destructuring-bind' is that, if
a pattern match fails, the next case is tried until either a
-successful match is found or there are no more cases.
+successful match is found or there are no more cases. The CODE
+expression corresponding to the matching pattern determines the
+return value. If there is no match the returned value is nil.
Another difference is that pattern elements may be quoted,
meaning they must match exactly: The pattern \\='(foo bar)
@@ -211,7 +213,8 @@ Emacs Lisp manual for more information and examples."
;;;###autoload
(defmacro pcase-exhaustive (exp &rest cases)
- "The exhaustive version of `pcase' (which see)."
+ "The exhaustive version of `pcase' (which see).
+If EXP fails to match any of the patterns in CASES, an error is signaled."
(declare (indent 1) (debug pcase))
(let* ((x (gensym "x"))
(pcase--dontwarn-upats (cons x pcase--dontwarn-upats)))