]> git.eshelyaron.com Git - emacs.git/commitdiff
cl-defmethod doc string clarification
authorLars Ingebrigtsen <larsi@gnus.org>
Wed, 9 Dec 2020 13:51:48 +0000 (14:51 +0100)
committerLars Ingebrigtsen <larsi@gnus.org>
Wed, 9 Dec 2020 13:52:53 +0000 (14:52 +0100)
* lisp/emacs-lisp/cl-generic.el (cl-defmethod): Clarify the doc
string, and give an example (bug#42322).

lisp/emacs-lisp/cl-generic.el

index 02da07daaf40fbd0f788d1c5ceefa8aca86e9a2b..b37b05b9a3ad0bdacdccaa430990293a1f4f2da6 100644 (file)
@@ -410,8 +410,18 @@ the specializer used will be the one returned by BODY."
 ;;;###autoload
 (defmacro cl-defmethod (name args &rest body)
   "Define a new method for generic function NAME.
-I.e. it defines the implementation of NAME to use for invocations where the
-values of the dispatch arguments match the specified TYPEs.
+This it defines an implementation of NAME to use for invocations
+of specific types of arguments.
+
+ARGS is a list of dispatch arguments (see `cl-defun'), but where
+each variable element is either just a single variable name VAR,
+or a list on the form (VAR TYPE).
+
+For instance:
+
+  (cl-defmethod foo (bar (format-string string) &optional zot)
+    (format format-string bar))
+
 The dispatch arguments have to be among the mandatory arguments, and
 all methods of NAME have to use the same set of arguments for dispatch.
 Each dispatch argument and TYPE are specified in ARGS where the corresponding