Subject: bug#58252: 29.0.50; Docstrings generated by defclass may be to wide

From: Jonas Bernoulli <[email-masked]>
Date: Sun, 02 Oct 2022 23:17:15 +0200

Stefan Kangas <[email-masked]> writes:

> Jonas Bernoulli <[email-masked]> writes:
>
>> The docstrings generated by helper functions of defclass are to wide
>> if the name of the class is wide enough.  For example, the docstring
>> for `emacsql-sqlite-builtin-connection--eieio-childp' is:
>>
>> ,----
>> | emacsql-sqlite-builtin-connection--eieio-childp is a byte-compiled
>> | Lisp function in `emacsql-sqlite-builtin.el'.
>> |
>> | (emacsql-sqlite-builtin-connection--eieio-childp OBJ)
>> |
>> | Return non-nil if OBJ is an object of type `emacsql-sqlite-builtin-connection' or a subclass.
>> `----
>>
>> This affects at least the --eieio-childp, -child-p, -list-p and -p
>> functions.
>
> Thanks, I pushed a fix for this (commit 0a40120b40).  Could you please
> test it?
>
> If it's still not working, please give examples of docstrings where it
> doesn't.

The docstrings of these functions are no longer to wide, but I still get
the same warning,

,----
| In toplevel form:
| emacsql-sqlite-builtin.el:28:5: Warning: docstring wider than 80
| characters
`----

M-x apropos RET emacsql-sqlite-builtin-connection RET gives me

,----
| emacsql-sqlite-builtin-connection
|   Function: Create a new object of class type
|   Variable: (not documented)
|   Value: emacsql-sqlite-builtin-connection
|   Properties: cl-deftype-satisfies compiler-macro
|               byte-obsolete-variable cl--class variable-documentation
| emacsql-sqlite-builtin-connection--anon-cmacro
|   Function: (not documented)
|   Properties: function-history
| emacsql-sqlite-builtin-connection--eieio-childp
|   Function: Return non-nil if OBJ is an object of type
| emacsql-sqlite-builtin-connection-child-p
|   Function: Return non-nil if OBJ is an object of type
|   Properties: byte-obsolete-info
| emacsql-sqlite-builtin-connection-list-p
|   Function: Test OBJ to see if it a list of objects which are a child
|             of type
|   Properties: byte-obsolete-info
| emacsql-sqlite-builtin-connection-p
|   Function: Return non-nil if OBJ is an object of type
`----

The information that is shown when following the various "Properties"
links is wider than 80 characters, but I wouldn't expect any warning
about that.

Maybe the warning should include information about which docstring(s)
are too wide?