Subject: Re: bug#66317: Project mode-line

From: Dmitry Gutov <[email-masked]>
Date: Tue, 10 Oct 2023 13:45:00 +0300

On 10/10/2023 10:10, Eshel Yaron wrote:
> Juri Linkov <[email-masked]> writes:
> 
>>>>>>>> Agreed.  No need to support it in older versions.  Moreover,
>>>>>>>> I'm trying to add another option to join project and vc indicators
>>>>>>>> on the mode-line that won't be possible to support in older versions.
>>>>>>> Then that needs to be explained in the docstring. project.el is installable
>>>>>>> in older versions.
>>>>>> Hopefully I explained this sufficiently well in the docstring
>>>>>> both for users of older versions and users who customized the
>>>>>> default mode line.
>>>>> Not sure: I imagine that most users don't customize mode-line-format
>>>>> themselves, and thus don't know which contents it has.
>>>>>
>>>>> I would append some clarification that in Emacs 30 the mode-line has that
>>>>> element by default.
>>>> I'm not sure if this helps because a user might run Emacs 30
>>>> and still using some package that heavily modifies the mode line.
>>>> This will puzzle the user: why it doesn't work in Emacs 30
>>>> as documented.
>>>
>>> Hence "by default".
>>>
>>> Mode-line package authors might be helped out by this explanation as well.
>>
>> Maybe this would be sufficient:
>>
>> diff --git a/lisp/progmodes/project.el b/lisp/progmodes/project.el
>> index 2475d7c403e..1d6c9c1cf1b 100644
>> --- a/lisp/progmodes/project.el
>> +++ b/lisp/progmodes/project.el
>> @@ -2109,7 +2109,8 @@ project-uniquify-dirname-transform
>>   (defcustom project-mode-line nil
>>     "Show the current project name with the menu on the mode line.
>>   This feature requires the presence of the following item in
>> -`mode-line-format': `(project-mode-line project-mode-line-format)'."
>> +`mode-line-format': `(project-mode-line project-mode-line-format)'
>> +that already exists by default in Emacs 30."
> 
> To me, this description looks a bit too implementation-focused.  How
> about the following?

I'm fine with either, but...

>      Show the name of the current project on the mode line.
> 
>      This option only works in Emacs 30 or later, for a similar effect in
>      Emacs 29 or earlier add `project-mode-line-format' to your
>      `mode-line-format' instead of using this option.

There might be a problem in the fact that it still won't work in Emacs 
30 if the user had customized the mode-line (or installed one of the 
packages that do).

Also: "in addition", not "instead".