]> git.eshelyaron.com Git - emacs.git/commitdiff
Add use cases of (fn) documentation facility.
authorJeremy Bryant <jb@jeremybryant.net>
Sun, 3 Dec 2023 21:32:01 +0000 (21:32 +0000)
committerEli Zaretskii <eliz@gnu.org>
Sat, 16 Dec 2023 12:57:06 +0000 (14:57 +0200)
* doc/lispref/functions.texi (Function Documentation):  Add examples.
(Bug#67499)

Co-authored-by: Eli Zaretskii <eliz@gnu.org>
doc/lispref/functions.texi

index e646e7c8b0a5f39e185cb5b89b79f9682ae2da56..34a568b728e1bc597bf0e233f44b23a29e5d7469 100644 (file)
@@ -533,6 +533,39 @@ Instead, use the @code{advertised-calling-convention} declaration
 compiler emit a warning message when it compiles Lisp programs which
 use the deprecated calling convention.
 
+@ifnottex
+The @code{(fn)} feature is typically used in the following situations:
+
+@itemize @minus
+@item To spell out arguments and their purposes in a macro or a function.  Example:
+
+@example
+(defmacro lambda (&rest cdr)
+  "@dots{}
+\(fn ARGS [DOCSTRING] [INTERACTIVE] BODY)"@dots{})
+@end example
+
+@item To provide a more detailed description and names of arguments.  Example:
+
+@example
+(defmacro macroexp--accumulate (var+list &rest body)
+  "@dots{}
+\(fn (VAR LIST) BODY@dots{})"
+  (declare (indent 1))
+  (let ((var (car var+list))
+         (list (cadr var+list))
+@dots{})))
+@end example
+
+@item To better explain the purpose of a @code{defalias}.  Example:
+
+@example
+(defalias 'abbrev-get 'get
+  "@dots{}
+\(fn ABBREV PROP)")
+@end example
+@end ifnottex
+
 @cindex computed documentation string
 @kindex :documentation
 Documentation strings are usually static, but occasionally it can be