GNU bug report logs -
#67835
30.0.50; Error with undocumented disabled commands
Previous Next
Reported by: kakkokakko <at> gmail.com
Date: Fri, 15 Dec 2023 13:32:02 UTC
Severity: normal
Found in version 30.0.50
Fixed in version 29.2
Done: Stefan Kangas <stefankangas <at> gmail.com>
Bug is archived. No further changes may be made.
Full log
Message #13 received at 67835-done <at> debbugs.gnu.org (full text, mbox):
Version: 29.2
Eli Zaretskii <eliz <at> gnu.org> writes:
>> Date: Fri, 15 Dec 2023 19:45:13 +0900
>> From: kakkokakko <at> gmail.com
>>
>> 1. emacs -Q --eval "(progn (defun foo () (interactive)) (put 'foo 'disabled t))"
>> 2. M-x foo RET
>>
>> Then, I encountered the error message "Wrong type argument:
>> char-or-string-p, nil". This behavior is different from that in
>> previous versions, like 27.1, where I received the following message.
>>
>> | You have invoked the disabled command foo.
>> | It is disabled because new users often find it confusing.
>> | Here’s the first part of its description:
>> |
>> | << not documented >>
>> | ...
>>
>> I also expect similar behavior in 30.0.50.
>>
>> In 30.0.50, it appears that disabled-command-function in
>> novice.el triggers this error by executing (insert nil) for
>> undocumented commands in the following code.
>>
>> | (insert (condition-case ()
>> | (documentation cmd)
>> | (error "<< not documented >>")))
>>
>> Although omitting a docstring is generally considered poor practice,
>> triggering an error for such commands might not be intentional
>> behavior. The corresponding code in 27.1 was as follows:
>>
>> | (... (or (condition-case ()
>> | (documentation cmd)
>> | (error nil))
>> | "<< not documented >>"))
Thanks for the bug report!
This should now be fixed on emacs-29.
This bug report was last modified 1 year and 157 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.