Qual é a variável local do arquivo mangle-whitespace?

12

eu vejo

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

em muitos arquivos de origem Elisp por vários programadores experientes do Emacs.

Mas quando eu describe-variable, o Emacs 24.3 diz que nenhuma variável mangle-whitespaceestá definida.

É mangle-whitespacefornecido pelo Emacs 24.4? Ou por algum pacote popular? (Não vejo nenhum no MELPA chamado "mangle".)

O que mangle-whitespacefaz?

Nota: Eu procurei por isso aqui e no SO sob a tag emacs. Eu também tentei o DuckDuckGo e o Google, e os resultados da pesquisa são apenas mais exemplos de .elarquivos usando isso. Ergo perguntando aqui.

Greg Hendershott
fonte
1
Eu concordo - nada aparece no Google, exceto a configuração de variável local do arquivo que é ilusória.
lawlist
3
Nenhuma correspondência corresponde ao código-fonte do Emacs em desenvolvimento 25.1. Também não há correspondências cumprimentando o antigo Emacs 22.1.
PythonNut

Respostas:

8

Cumprimentei meu ~/.emacs.d/elpapedido mangle-whitespacee notei que ele é usado em alguns pacotes, todos escritos por Roland Walker . Então eu continuei baixando os tarballs do Emacs 22.1 para o Emacs 24.4 (porque essa é a versão do Emacs que Roland Walker suporta com seus pacotes) e os cumprimentei por essa variável, mas sem sorte.

É por isso que abri um problema para descobrir os motivos. Atualizarei esta resposta assim que houver uma resposta.

edit: O autor desses pacotes confirmou que é uma variável respeitada por sua própria configuração do Emacs, que o instrui a exigir incondicionalmente uma nova linha final. Ele também manifestou interesse em transformá-lo em uma variável diretório-local para evitar enviá-lo para o Github.

wasamasa
fonte
Então, para esclarecer, não faz parte do Emacs e não faz parte de um pacote de terceiros, mas é a personalização pessoal de alguém, correto?
Dan
A propósito, foi uma quantidade impressionante de investigações.
Dan
Bem, esse é o caso de todos os pacotes que exibem essa variável local de arquivo bastante exclusiva, escrita por Roland Walker. Se você encontrar algum de outros autores, por favor me diga.
23315 wasamasa
2
Em uma nota lateral. Esta variável pode ser substituída por ;; require-final-newline: t. Isso deve fornecer um resultado semelhante com uma variável interna.
Jonathan Leech-Pepin
@wasamasa Outros exemplos: exec-path-from-shell e magit-find-file .
Greg Hendershott 23/02