Was ist die lokale Variable mangle-whitespace der Datei?

12

Aha

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

in vielen Elisp-Quelldateien von verschiedenen erfahrenen Emacs-Programmierern.

Aber wenn ich describe-variable, sagt Emacs 24.3, dass keine Variable mangle-whitespacedefiniert ist.

Wird mangle-whitespacevon Emacs 24.4 bereitgestellt? Oder durch ein beliebtes Paket? (Ich sehe keine auf MELPA mit dem Namen "mangle".)

Was macht mangle-whitespacedas?

Hinweis: Ich habe sowohl hier als auch auf SO unter dem Tag emacs danach gesucht. Ich habe auch DuckDuckGo und Google ausprobiert, und die Suchergebnisse sind nur weitere Beispiele für .elDateien, die diese verwenden. Ergo fragt hier.

Greg Hendershott
quelle
1
Ich stimme zu - bei Google wird nichts angezeigt, außer das Setzen einer dateilokalen Variablen, die illusorisch ist.
Gesetzesliste
3
Keine Übereinstimmungen mit dem Quellcode des in der Entwicklung befindlichen Emacs 25.1. Auch keine Streichhölzer gegen die alten Emacs 22.1.
PythonNut

Antworten:

8

Ich habe meine grep ~/.emacs.d/elpafür mangle-whitespaceund bemerkte , dass es in ein paar Pakete verwendet wird, die alle geschrieben von Roland Walker . Dann habe ich die Tarballs für Emacs 22.1 auf Emacs 24.4 heruntergeladen (da dies die Emacs-Version ist, die Roland Walker mit seinen Paketen unterstützt) und sie für diese Variable freigegeben, aber ohne Erfolg.

Aus diesem Grund habe ich eine Ausgabe eröffnet , um die Gründe dafür herauszufinden. Ich werde diese Antwort aktualisieren, sobald es eine Antwort gibt.

edit: Der Autor dieser Pakete hat bestätigt, dass es sich um eine Variable handelt, die von seiner eigenen Emacs-Konfiguration respektiert wird und die ihn anweist, unbedingt eine letzte neue Zeile anzufordern. Er bekundete auch Interesse daran, es in eine verzeichnislokale Variable umzuwandeln, um zu vermeiden, es an Github weiterzuleiten.

Wasamasa
quelle
Zur Verdeutlichung: Es ist nicht Teil von Emacs und nicht Teil eines Pakets von Drittanbietern, sondern die persönliche Anpassung von jemandem, richtig?
Dan
Das war übrigens eine beeindruckende Menge an Schlägereien.
Dan
Nun, dies ist der Fall für alle Pakete, die diese ziemlich eindeutige dateilokale Variable aufweisen, die von Roland Walker geschrieben wurde. Wenn Sie eines von anderen Autoren finden, teilen Sie es mir bitte mit.
Wasamasa
2
Als Randnotiz. Diese Variable könnte durch ersetzt werden ;; require-final-newline: t. Dies sollte mit einer eingebauten Variablen ein ähnliches Ergebnis liefern.
Jonathan Leech-Pepin
@wasamasa Andere Beispiele: exec-path-from-shell und magit-find-file .
Greg Hendershott