From: Eli Zaretskii Date: Tue, 30 Oct 2018 10:14:19 +0000 (+0200) Subject: Document that generic functions cannot be commands X-Git-Tag: emacs-26.1.90~46 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=38f88a7;p=emacs.git Document that generic functions cannot be commands * doc/lispref/commands.texi (Defining Commands): * doc/lispref/functions.texi (Generic Functions): Document that generic functions cannot be turned into commands. (Bug#33170) --- diff --git a/doc/lispref/commands.texi b/doc/lispref/commands.texi index 49c839a8971..427379bc79c 100644 --- a/doc/lispref/commands.texi +++ b/doc/lispref/commands.texi @@ -136,6 +136,9 @@ start with a capital, e.g., @code{"use (system-name) instead."}); @code{t}; any other symbol, which should be an alternative function to use in Lisp code. +Generic functions (@pxref{Generic Functions}) cannot be turned into +commands by adding the @code{interactive} form to them. + @menu * Using Interactive:: General rules for @code{interactive}. * Interactive Codes:: The standard letter-codes for reading arguments diff --git a/doc/lispref/functions.texi b/doc/lispref/functions.texi index 9b8057080ea..242d754dea9 100644 --- a/doc/lispref/functions.texi +++ b/doc/lispref/functions.texi @@ -1345,6 +1345,13 @@ to invoke the other auxiliary or primary methods. This allows you to add more methods, distinguished by @var{string}, for the same specializers and qualifiers. @end table + +Functions defined using @code{cl-defmethod} cannot be made +interactive, i.e.@: commands (@pxref{Defining Commands}), by adding +the @code{interactive} form to them. If you need a polymorphic +command, we recommend defining a normal command that calls a +polymorphic function defined via @code{cl-defgeneric} and +@code{cl-defmethod}. @end defmac @cindex dispatch of methods for generic function