Что такое файловая локальная переменная 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.


Итак, чтобы уточнить, это не часть Emacs, и это не часть стороннего пакета, а скорее чья-то личная настройка, правильно?
— Дан

Кстати, это было впечатляющее количество ублюдков.
— Дан

Что ж, это относится ко всем пакетам, показывающим эту довольно уникальную локальную переменную файла, написанную Роландом Уокером. Если вы найдете какие-либо другие авторы, пожалуйста, сообщите мне.
— Васамаса

2
На заметку. Эта переменная может быть заменена на ;; require-final-newline: t. Это должно обеспечить аналогичный результат со встроенной переменной.
— Джонатан Лич-Пепин

@wasamasa Другие примеры: exec-path-from-shell и magit-find-file .
— Грег Хендершотт,
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.