D: Come posso inserire / modificare il testo in un buffer senza undo
notarlo?
Ecco il caso d'uso. Ho un blocco di commenti all'inizio di ogni file che, tra le altre cose, aggiorna un timestamp per l'ultima modifica a un file. Mi piacerebbe essere in grado di modificare quel timestamp senza che le undo
strutture lo notino.
Il motivo per cui voglio cortocircuitare undo
qui è dovuto al seguente caso limite, che emerge durante la modifica / compilazione di documenti LaTeX (e probabilmente altri, ma questo è quello che mi fa impazzire più frequentemente):
- Apporta una piccola modifica al file per vedere come influirà sul documento compilato
- Salva il file (che aggiorna il timestamp)
- Esegui
latex
sul file - Decidi che il cambiamento è negativo
undo
i cambiamenti
Il problema al passaggio (5) ( undo
) è che non annulla la modifica apportata al passaggio (1), ma piuttosto annulla l'aggiornamento del timestamp nel passaggio (2). Ciò non mi disturberà (potrei solo di undo
nuovo), tranne per il fatto che si sposta anche fino al timestamp nella parte superiore del file, che è quasi sempre a molte, molte righe di distanza dall'effettivo cambiamento sostanziale. È molto sconcertante e rompe completamente la mia concentrazione.
Sto ponendo la domanda rispetto a un file che sto visitando, ma è più in generale sulla modifica dei buffer.
Quindi: come posso evitare undo
di notare una specifica modifica a un buffer?
undo
si annullerebbero entrambi.
with-undo-collapse
macro che è stata molto utile: emacs.stackexchange.com/a/7560/2418