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

From: Juri Linkov <[email-masked]>
Date: Thu, 19 Oct 2023 09:40:23 +0300

> FWIW, I haven't been able to reproduce this so far.

Unfortunately it's not easily reproducible.

>> The bug occurs when multiple lines are displayed in the echo area.
>> Then '(:eval (project-mode-line-format)) is called twice.
>> At the end of the first call 'buffer-file-coding-system'
>> is still correct: utf-8.  But at the beginning of the
>> second call it's already wrong: raw-text.
>>
>> I guess it was a mistake to allow specifying the project name
>> in .dir-locals.el.  A better place would be in ~/.emacs.d/projects.
>
> But project-name uses project--value-in-dir which uses a temporary buffer
> to apply all variables in.

So it does this extensive work several times per second every time
when the mode-line is updated?

Then maybe better to cache the project name somewhere? 

> Does that affect the original buffer somehow?

Actually it doesn't affect the original buffer directly.
When saving a buffer and the message is multi-line
during saving, then '(project-mode-line-format)' is called twice,
and the buffer coding is changed between these calls.

I don't know where is this code that decides to evaluate
mode-line-format twice in a row, and how this code is affected
by temporary buffers used by project--value-in-dir.