summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
authorStefan Kangas <stefankangas@gmail.com>2025-03-23 17:40:22 +0100
committerStefan Kangas <stefankangas@gmail.com>2025-03-23 17:46:07 +0100
commitc2c287b3252e2cd3223f2e2d0ef96f29e024b47b (patch)
treeabe02ea0b1a5d6dbcb2f6e34ffd1374066f5debe /lisp/emacs-lisp
parentc6a11128d58e8ee4c21741c439d79da420378818 (diff)
downloademacs-c2c287b3252e2cd3223f2e2d0ef96f29e024b47b.tar.gz
emacs-c2c287b3252e2cd3223f2e2d0ef96f29e024b47b.tar.bz2
emacs-c2c287b3252e2cd3223f2e2d0ef96f29e024b47b.zip
Improve docstring of should-error
* lisp/emacs-lisp/ert.el (should-error): Improve docstring.
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r--lisp/emacs-lisp/ert.el27
1 files changed, 17 insertions, 10 deletions
diff --git a/lisp/emacs-lisp/ert.el b/lisp/emacs-lisp/ert.el
index 02551bad31f..731e8d1a40a 100644
--- a/lisp/emacs-lisp/ert.el
+++ b/lisp/emacs-lisp/ert.el
@@ -422,16 +422,23 @@ and aborts the current test as failed if it doesn't."
(cl-defmacro should-error (form &rest keys &key type exclude-subtypes)
"Evaluate FORM and check that it signals an error.
-The error signaled needs to match TYPE. TYPE should be a list
-of condition names. (It can also be a non-nil symbol, which is
-equivalent to a singleton list containing that symbol.) If
-EXCLUDE-SUBTYPES is nil, the error matches TYPE if one of its
-condition names is an element of TYPE. If EXCLUDE-SUBTYPES is
-non-nil, the error matches TYPE if it is an element of TYPE.
-
-If the error matches, returns (ERROR-SYMBOL . DATA) from the
-error. If not, or if no error was signaled, abort the test as
-failed."
+If no error was signaled, abort the test as failed and
+return (ERROR-SYMBOL . DATA) from the error.
+
+You can also match specific errors using the KEYWORD-ARGS arguments,
+which is specified as keyword/argument pairs. The following arguments
+are defined:
+
+:type TYPE -- If TYPE is non-nil, the error signaled needs to match
+TYPE. TYPE should be a list of condition names. It can also be a
+symbol, which is equivalent to a one-element list containing that
+symbol.
+
+:exclude-subtypes EXCLUDED -- If EXCLUDED is non-nil, the error matches
+TYPE only if it is an element of TYPE. If nil (the default), the error
+matches TYPE if one of its condition names is an element of TYPE.
+
+\(fn FORM &rest KEYWORD-ARGS)"
(declare (debug t))
(unless type (setq type ''error))
(ert--expand-should