Wie führe ich eine Änderungsaktion durch, ohne den Puffer zu ändern?


8

Ich möchte dem Text Eigenschaften hinzufügen ( read-onlyvorübergehend festlegen) und keine Änderung des Änderungsstatus vornehmen. Wie führe ich im Allgemeinen eine Änderungsaktion durch, ohne dass Emacs dies bemerkt?

Antworten:


10

Hierfür gibt es ein eingebautes Makro with-silent-modifications.

Der beabsichtigte Verwendungszweck besteht darin, Änderungen an den Texteigenschaften eines Puffers vorzunehmen, da Texteigenschaften Teil des Texts sind und Änderungen an diesen ansonsten im Status der Pufferänderung widergespiegelt werden und die entsprechenden Hooks auslösen. Obwohl es einen rudimentären Schutz gegen invasivere Änderungen des Textes gibt, sollten Sie sicherstellen, dass der Körper nichts Seltsames tut:

Wenn BODY echte Änderungen am Text des Puffers vornimmt, die nicht kosmetisch sind, können Rückgängig-Daten beschädigt werden.


Vielleicht möchten Sie die Warnung aus der with-silent-modificationsDokumentation hinzufügen
Iqbal Ansari
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.