GNU bug report logs - #49007
28.0.50; "docstring wider than 80" misfire

Previous Next

Package: emacs;

Reported by: Stefan Monnier <monnier <at> iro.umontreal.ca>

Date: Sun, 13 Jun 2021 17:48:01 UTC

Severity: normal

Found in version 28.0.50

Fixed in version 28.1

Done: Lars Ingebrigtsen <larsi <at> gnus.org>

Bug is archived. No further changes may be made.

To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 49007 in the body.
You can then email your comments to 49007 AT debbugs.gnu.org in the normal way.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-gnu-emacs <at> gnu.org:
bug#49007; Package emacs. (Sun, 13 Jun 2021 17:48:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Stefan Monnier <monnier <at> iro.umontreal.ca>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs <at> gnu.org. (Sun, 13 Jun 2021 17:48:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: bug-gnu-emacs <at> gnu.org
Subject: 28.0.50; "docstring wider than 80" misfire
Date: Sun, 13 Jun 2021 13:47:27 -0400
Package: Emacs
Version: 28.0.50


Byte-compiling the declaration below complains that

    defalias `rudel-connect' docstring wider than 80 characters

even though it stays within the 80 columns limit.


        Stefan


(cl-defgeneric rudel-connect ((this rudel-protocol-backend) transport
			      info info-callback
			      &optional progress-callback)
  "Create a new connection through TRANSPORT according to the data in INFO.
TRANSPORT has to be an object of a class derived from `rudel-transport'.
INFO has to be a property list.
INFO-CALLBACK has to be a function of two arguments which will be
bound to THIS and INFO.  When called, INFO-CALLBACK should return
a modified version of the INFO argument in which no information
is missing.
When non-nil, PROGRESS-CALLBACK has to be a function that may be
called repeatedly while the connection is established.

Implementations can rely on the fact that the property :session
in INFO contains the `rudel-session' object to which the new
connection will be associated.")





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#49007; Package emacs. (Mon, 14 Jun 2021 13:48:03 GMT) Full text and rfc822 format available.

Message #8 received at 49007 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: Stefan Kangas <stefan <at> marxist.se>, 49007 <at> debbugs.gnu.org
Subject: Re: bug#49007: 28.0.50; "docstring wider than 80" misfire
Date: Mon, 14 Jun 2021 15:47:10 +0200
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:

> Byte-compiling the declaration below complains that
>
>     defalias `rudel-connect' docstring wider than 80 characters
>
> even though it stays within the 80 columns limit.
>
>         Stefan
>
> (cl-defgeneric rudel-connect ((this rudel-protocol-backend) transport
> 			      info info-callback
> 			      &optional progress-callback)
>   "Create a new connection through TRANSPORT according to the data in INFO.

Hm...  the warning comes from the arglist being too long, which it
indeed is:

(documentation 'rudel-connect)
=>
"Create a new connection through TRANSPORT according to the data in INFO.
[...]
Implementations can rely on the fact that the property :session
in INFO contains the ‘rudel-session’ object to which the new
connection will be associated.

(fn (THIS rudel-protocol-backend) TRANSPORT INFO INFO-CALLBACK &optional PROGRESS-CALLBACK)"

Which comes from `help--make-usage-docstring'.  However, when displaying
the help, this `fn' bit is then massaged and folded (and placed at the
start).

So perhaps the correct fix here is to have the docstring width checker
ignore those parts?

Any opinions?

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#49007; Package emacs. (Mon, 14 Jun 2021 14:48:04 GMT) Full text and rfc822 format available.

Message #11 received at 49007 <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: Stefan Kangas <stefan <at> marxist.se>, 49007 <at> debbugs.gnu.org
Subject: Re: bug#49007: 28.0.50; "docstring wider than 80" misfire
Date: Mon, 14 Jun 2021 10:47:51 -0400
> Hm...  the warning comes from the arglist being too long, which it indeed is:
[...]
> (fn (THIS rudel-protocol-backend) TRANSPORT INFO INFO-CALLBACK &optional PROGRESS-CALLBACK)"

Ah, I see.

> So perhaps the correct fix here is to have the docstring width checker
> ignore those parts?

Indeed: the (fn ...) on the last line of a docstring is not really part
of the text, it's just a chunk of data that happens to be stored using
its printed representation (I'm in part to blame for that design choice,
and I don't really like it either, but here we are).


        Stefan





Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#49007; Package emacs. (Tue, 15 Jun 2021 13:35:01 GMT) Full text and rfc822 format available.

Message #14 received at 49007 <at> debbugs.gnu.org (full text, mbox):

From: Lars Ingebrigtsen <larsi <at> gnus.org>
To: Stefan Monnier <monnier <at> iro.umontreal.ca>
Cc: Stefan Kangas <stefan <at> marxist.se>, 49007 <at> debbugs.gnu.org
Subject: Re: bug#49007: 28.0.50; "docstring wider than 80" misfire
Date: Tue, 15 Jun 2021 15:34:11 +0200
Stefan Monnier <monnier <at> iro.umontreal.ca> writes:

>> So perhaps the correct fix here is to have the docstring width checker
>> ignore those parts?
>
> Indeed: the (fn ...) on the last line of a docstring is not really part
> of the text, it's just a chunk of data that happens to be stored using
> its printed representation (I'm in part to blame for that design choice,
> and I don't really like it either, but here we are).

No matter where we go, there we are.

I've now pushed a fix for this to Emacs 28 that fixes the test case.

-- 
(domestic pets only, the antidote for overdose, milk.)
   bloggy blog: http://lars.ingebrigtsen.no




bug marked as fixed in version 28.1, send any further explanations to 49007 <at> debbugs.gnu.org and Stefan Monnier <monnier <at> iro.umontreal.ca> Request was from Lars Ingebrigtsen <larsi <at> gnus.org> to control <at> debbugs.gnu.org. (Tue, 15 Jun 2021 13:35:02 GMT) Full text and rfc822 format available.

Information forwarded to bug-gnu-emacs <at> gnu.org:
bug#49007; Package emacs. (Tue, 15 Jun 2021 15:55:02 GMT) Full text and rfc822 format available.

Message #19 received at 49007-done <at> debbugs.gnu.org (full text, mbox):

From: Stefan Monnier <monnier <at> iro.umontreal.ca>
To: Lars Ingebrigtsen <larsi <at> gnus.org>
Cc: 49007-done <at> debbugs.gnu.org, Stefan Kangas <stefan <at> marxist.se>
Subject: Re: bug#49007: 28.0.50; "docstring wider than 80" misfire
Date: Tue, 15 Jun 2021 11:54:34 -0400
> I've now pushed a fix for this to Emacs 28 that fixes the test case.

Thanks,


        Stefan





bug archived. Request was from Debbugs Internal Request <help-debbugs <at> gnu.org> to internal_control <at> debbugs.gnu.org. (Wed, 14 Jul 2021 11:24:04 GMT) Full text and rfc822 format available.

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

Previous Next


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