Joe Allen - 2025-06-11

Confirmed. There is a bug in usave.c:saver(). Note the comment:

/ Last UNDOREC which wasn't modified will be changed
* to modified. And because this block is
* executed after each 'save', there can't be more
* than one record which is not modified
* 24 Apr 2001, Marx
/

What the code should do is set the "changed" flag in all undo records, so if you undo after the save it counts as a change. The assumption in the above comment is wrong- there can be multiple "not modified" points in the undo records.