Subject: Re: bug#72405: 29.4; Doc string of `org-indent-mode'

From: Visuwesh <[email-masked]>
Date: Wed, 14 Aug 2024 12:08:33 +0530

[புதன் ஆகஸ்ட் 14, 2024] Eli Zaretskii wrote:

>> diff --git a/lisp/emacs-lisp/easy-mmode.el b/lisp/emacs-lisp/easy-mmode.el
>> index 944a74a91ee..5332a3b4fcf 100644
>> --- a/lisp/emacs-lisp/easy-mmode.el
>> +++ b/lisp/emacs-lisp/easy-mmode.el
>> @@ -91,7 +91,7 @@ easy-mmode--arg-docstring
>>  Disable the mode if ARG is a negative number.
>>  
>>  To check whether the minor mode is enabled in the current buffer,
>> -evaluate `%s'.
>> +evaluate %s`%s'.
>             ^^^^^
> This looks like a bug (I know it isn't, but it looks like one).  Can
> we instead use just %s here, and generate the full string, including
> the "the variable" part, in the code that uses the format?
>
> Thanks.

Is the attached patch fine?  

>From 335e30093d9d5b08f8ef4473b86e89c1a3175e9c Mon Sep 17 00:00:00 2001
From: Visuwesh <[email-masked]>
Date: Wed, 14 Aug 2024 08:07:15 +0530
Subject: [PATCH] Disambiguate minor-mode variable in its function docstring

* lisp/emacs-lisp/easy-mmode.el (easy-mmode--arg-docstring)
(easy-mmode--mode-docstring): Add "the variable" before the
GETTER if it is a symbol to properly link to minor-mode variable
in the *Help* buffer in the common case.  (bug#72405)
---
 lisp/emacs-lisp/easy-mmode.el | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/lisp/emacs-lisp/easy-mmode.el b/lisp/emacs-lisp/easy-mmode.el
index 944a74a91ee..96bab8487b4 100644
--- a/lisp/emacs-lisp/easy-mmode.el
+++ b/lisp/emacs-lisp/easy-mmode.el
@@ -91,7 +91,7 @@ easy-mmode--arg-docstring
 Disable the mode if ARG is a negative number.
 
 To check whether the minor mode is enabled in the current buffer,
-evaluate `%s'.
+evaluate %s.
 
 The mode's hook is called both when the mode is enabled and when
 it is disabled.")
@@ -128,8 +128,11 @@ easy-mmode--mode-docstring
                         easy-mmode--arg-docstring
                         (if global "global " "")
                         mode-pretty-name
-                        ;; Avoid having quotes turn into pretty quotes.
-                        (string-replace "'" "\\='" (format "%S" getter)))))
+                        (concat
+                         (when (symbolp getter) "the variable ")
+                         (format "`%s'"
+                                 ;; Avoid having quotes turn into pretty quotes.
+                                 (string-replace "'" "\\='" (format "%S" getter)))))))
           (let ((start (point)))
             (insert argdoc)
             (when (fboundp 'fill-region) ;Don't break bootstrap!
-- 
2.45.2