Питання: Як вставити / змінити текст у буфер, не undoпомічаючи?
Ось випадок використання. У мене на початку кожного файлу є блок коментарів, який, серед іншого, оновлює часову позначку для останньої зміни у файлі. Я хотів би мати змогу змінити цю мітку часу, не undoпомічаючи засобів.
Причина, за якою я хочу коротке замикання undoтут, пов’язана з наступним кращим випадком, який виникає під час редагування / складання документів LaTeX (і, мабуть, інших), але саме це найчастіше наштовхує мене на гайки:
- Зробіть невелику зміну файлу, щоб побачити, як це вплине на складений документ
- Збережіть файл (який оновлює часову позначку)
- Виконати
latexфайл - Вирішіть, що зміна є поганою
undoзміни
Проблема на етапі (5) ( undo) полягає в тому, що він не скасовує зміни, зроблені на кроці (1), а скоріше скасовує оновлення часових позначок на кроці (2). Це не заважало б мені (я міг би просто undoзнову), за винятком того, що воно також переміщає вказівку аж до часової позначки у верхній частині файлу, що майже завжди є багато, багато рядків від фактичної змістової зміни. Це дуже дрімотить і повністю порушує мою концентрацію.
Я задаю питання стосовно файлу, який я відвідую, але загалом це стосується зміни буферів.
Отже: як я можу запобігти undoпоміченню конкретної модифікації буфера?
undoбуло б скасовано і те, і інше.
with-undo-collapseмакрос, який був дуже корисним: emacs.stackexchange.com/a/7560/2418