Subject: bug#66317: Project mode-line

From: Juri Linkov <[email-masked]>
Date: Mon, 23 Oct 2023 20:23:06 +0300

> I'm not sure what to recommend, but some print-debugging could
> help. E.g. just add a (backtrace) call inside project-mode-line-format.
>
> But that's a lot of output to sort through, so there's definitely room for
> improvement in this recipe.

Ok, here is 100% reproducible minimal test case:

0. emacs-30 -Q
1. eval:

(progn
  (require 'project)
  (setq project-mode-line t)
  (setq set-message-functions '(set-multi-message)))

2. in a temporary directory: M-! git init RET
3. C-x C-f .dir-locals.el RET
4. insert: ((fundamental-mode . ((mode . flyspell))))
5. C-x C-s

At this point even buffer-file-coding-system of .dir-locals.el
is changed to 't' (raw-text-unix).  The same happens when saving
any file in that project.

The problem doesn't occur when flyspell-mode is enabled from
file-local variables, only from dir-locals.