Что такое файловая локальная переменная mangle-whitespace?

12

я вижу

;; Local Variables:
;; mangle-whitespace: t
;; End:

во многих исходных файлах Elisp различными опытными программистами Emacs.

Но когда я describe-variable, Emacs 24.3 говорит, что переменная mangle-whitespaceне определена.

Является ли mangle-whitespaceобеспечивается Emacs 24.4? Или каким-то популярным пакетом? (Я не вижу ни одного на MELPA с именем "mangle".)

Что делает mangle-whitespace?

Примечание: я искал это и здесь, и на SO под тегом emacs. Я также попробовал и DuckDuckGo и Google, и результаты поиска - только больше примеров .elфайлов, использующих это. Эрго спрашивает здесь.

Грег Хендершотт
источник
1
Я согласен - в Google ничего не появляется, кроме установки локальной файловой переменной, которая иллюзорна.
законник
3
Нет совпадений при поиске исходного кода для Emacs, находящегося в разработке 25.1. Также нет совпадений греющих древних Emacs 22.1.
PythonNut

Ответы:

8

Я grepped My ~/.emacs.d/elpaза mangle-whitespaceи заметил , что это используется в нескольких пакетах , которые все написаны Roland Walker . Затем я приступил к загрузке tar-архивов для Emacs 22.1 в Emacs 24.4 (потому что это версия Emacs, которую Роланд Уокер поддерживает со своими пакетами) и нашел их для этой переменной, но безуспешно.

Вот почему я открыл вопрос, чтобы выяснить причины этого. Я обновлю этот ответ, как только появится ответ.

edit: автор этих пакетов подтвердил, что это переменная, которую уважает его собственный конфиг Emacs, который инструктирует его безоговорочно требовать заключительного перевода строки. Он также выразил заинтересованность в том, чтобы превратить его в локальную переменную каталога, чтобы не передавать его на Github.

wasamasa
источник
Итак, чтобы уточнить, это не часть Emacs, и это не часть стороннего пакета, а скорее чья-то личная настройка, правильно?
Дан
Кстати, это было впечатляющее количество ублюдков.
Дан
Что ж, это относится ко всем пакетам, показывающим эту довольно уникальную локальную переменную файла, написанную Роландом Уокером. Если вы найдете какие-либо другие авторы, пожалуйста, сообщите мне.
Васамаса
2
На заметку. Эта переменная может быть заменена на ;; require-final-newline: t. Это должно обеспечить аналогичный результат со встроенной переменной.
Джонатан Лич-Пепин
@wasamasa Другие примеры: exec-path-from-shell и magit-find-file .
Грег Хендершотт,