GNU bug report logs - #59014
29.0.50; single string in function body should act as doc string

Previous Next

Package: emacs;

Reported by: Nicolas Graner <nicolas <at> graner.name>

Date: Fri, 4 Nov 2022 12:27:01 UTC

Severity: normal

Found in version 29.0.50

Done: Stefan Monnier <monnier <at> iro.umontreal.ca>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Eli Zaretskii <eliz <at> gnu.org>
To: Nicolas Graner <nicolas <at> graner.name>, Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: 59014 <at> debbugs.gnu.org
Subject: bug#59014: 29.0.50; single string in function body should act as doc string
Date: Fri, 04 Nov 2022 14:55:54 +0200
> From: Nicolas Graner <nicolas <at> graner.name>
> Date: Fri, 04 Nov 2022 13:26:22 +0100
> 
> According to the Emacs lisp manual, node "Documentation Strings of Functions":
> 
>     You may wonder how the documentation string could be optional, since
>     there are required components of the function that follow it (the
>     body). Since evaluation of a string returns that string, without any
>     side effects, it has no effect if it is not the last form in the
>     body. Thus, in practice, there is no confusion between the first
>     form of the body and the documentation string; if the only body form
>     is a string then it serves both as the return value and as the
>     documentation.
> 
> This last sentence is no longer true in 29.0.50, the single string is
> not used as doc string:
> 
> (defun f () "foo")
> ⇒ f
> (f)
> ⇒ "foo"
> (documentation 'f)
> ⇒ nil
> (emacs-version)
> ⇒ "GNU Emacs 29.0.50 (build 3, x86_64-pc-linux-gnu, GTK+ Version 3.24.5, cairo version 1.16.0)
>  of 2022-11-03"

Thanks.

Stefan, this seems to be due to your changes in commit
39e8fd357dd0a1f3776c05eee2cc5be451686712.  Specifically, the new
function-documentation returns nil in this case.  Could you please
take a look at this?




This bug report was last modified 2 years and 277 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.