Технически, вам нужно было бы сделать что-то подобное, чтобы получить формы кода для оценки внутри .dir-locals.el
:
((nil . ((eval . (setq tags-file-name (concat default-directory "TAGS"))))))
Однако я попробовал это, и default-directory
выглядит как nil
в то время, когда код в dir-locals
выполняется, поэтому кажется невозможным делать то, что вы пытаетесь.
Тем не менее, tags-file-name
не похоже на то, что он должен быть установлен вручную.Скорее, он устанавливается кодом тегов при первом доступе к файлу тегов.
Так почему бы не оставить его неустановленным и просто использовать функции тегов?TAGS
- это имя файла тега по умолчанию, в конце концов.
Редактировать : вы также можете рассмотреть возможность использования дополнительной библиотеки project-local-variables
, которая использует аналогичный для каждого проекта .elфайл, но более гибок в отношении кода, который вы можете поместить в него.Вот как я бы лично решил вашу проблему.