P: ¿Cómo inserto / modifico texto en un búfer sin undodarme cuenta?
Aquí está el caso de uso. Tengo un bloque de comentarios al comienzo de cada archivo que, entre otras cosas, actualiza una marca de tiempo para el cambio más reciente en un archivo. Me gustaría poder modificar esa marca de tiempo sin que las undoinstalaciones lo noten.
La razón por la que quiero hacer un cortocircuito undoaquí se debe al siguiente caso límite, que surge al editar / compilar documentos LaTeX (y probablemente otros, pero este es el que me vuelve loco con más frecuencia):
- Realice un pequeño cambio en el archivo para ver cómo afectará al documento compilado
- Guarde el archivo (que actualiza la marca de tiempo)
- Ejecutar
latexen el archivo - Decide que el cambio es malo
undolos cambios
El problema en el paso (5) ( undo) es que no deshace el cambio realizado en el paso (1), sino que deshace la actualización de la marca de tiempo en el paso (2). Eso no me molestaría (podría undovolver a hacerlo), excepto que también mueve el punto hasta la marca de tiempo en la parte superior del archivo, que casi siempre está a muchas, muchas líneas del cambio sustantivo real. Es muy discordante y rompe completamente mi concentración.
Estoy haciendo la pregunta con respecto a un archivo que estoy visitando, pero en general se trata de modificar buffers.
Entonces: ¿cómo puedo evitar undonotar una modificación específica en un búfer?
undodeshacería ambas.
with-undo-collapsemacro que fue muy útil: emacs.stackexchange.com/a/7560/2418