On 21/10/23 15:21, Juri Linkov wrote: >> +(defun read-dir-locals-file () >> +  "Read a dir-locals filename using completion. >> +Intended to be used in the `interactive' spec of `add-dir-local-variable', >> +`delete-dir-local-variable' and `copy-file-locals-to-dir-locals'. >> + >> +Returns the filename, expanded." >> +  (expand-file-name >> +   (read-file-name "File" nil nil > > The prompt needs a colon. Fixed. >> +                   (lambda (fname) >> +                     (member (file-name-nondirectory fname) >> +                             (list dir-locals-file >> + (replace-regexp-in-string >> +                                    ".el$" "-2.el" dir-locals-file)))) >> +                   dir-locals-file))) > > This needs to be run in the project's root directory > where the dir-locals file is saved.  Probably it's not easy > to find the root without using project.el.  But when one of the > files already exists (either .dir-locals.el or .dir-locals-2.el), > then better to use the directory of the existing file by default. In this new patch, I went for using it if already available and we couldn't find an existing file by other means.