GNU bug report logs -
#67499
[PATCH] Add use cases of (fn) documentation facility.
Previous Next
Reported by: Jeremy Bryant <jb <at> jeremybryant.net>
Date: Mon, 27 Nov 2023 23:34:02 UTC
Severity: normal
Tags: patch
Done: Eli Zaretskii <eliz <at> gnu.org>
Bug is archived. No further changes may be made.
Full log
View this message in rfc822 format
[0001-Add-use-cases-of-fn-documentation-facility.patch (text/x-diff, attachment)]
[Message part 2 (text/plain, inline)]
>
> Thanks. I actually had in mind an even shorter variant:
>
> 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 <at> 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
>
> WDYT?
>
Agree this is a more readable version of my initial attempts.
The only thing that is not clear in my mind is the use of the @ifnottex.
I have left it in the attached patch, as I understand we are trying to
reduce the size of the printed manual?
I have a 2-volume Elisp manual, which is out of date as the current ones
don't seem to be printed.
I have also added a line to the commit message which seems appropriate
here given the rewrites:
Co-authored-by: Eli Zaretskii <eliz <at> gnu.org>
If this is all suitable to install I agree to close the original bug.
This bug report was last modified 1 year and 156 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.