Lennart Borgman wrote:
Eli Zaretskii wrote:
If you mean "C-x RET f", then it doesn't really change anything. It
just sets a buffer-local variable to some value. So there's nothing
to undo.
That is an internal Emacs perpective. From a users point of view there
is truly a change. If you for example change the line endings the file
will be saved with this new line endings.
Doing
(add-hook 'local-write-file-functions 'erase-buffer)
also would change how files were written out. Changing how Emacs works
(via variables like the coding systems, hooks, or outright rewriting
functions) is not within the scope of the undo mechanism, which is for
modifications to text, not Emacs.
BTW should not changes of this kind also set the buffer to modified?
If and only if they should be undoable (which they shouldn't, IMHO). It
would be very odd to have a buffer unmodified before and after an undo, or
to be marked modified with no way (via undo) to remove that marking.