GNU bug report logs - #67835
30.0.50; Error with undocumented disabled commands

Previous Next

Package: emacs;

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 #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: kakkokakko <at> gmail.com
To: bug-gnu-emacs <at> gnu.org
Subject: 30.0.50; Error with undocumented disabled commands
Date: Fri, 15 Dec 2023 19:45:13 +0900
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 >>"))

-- 
KH




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.