private void FileModified(int newElementsOnUndoStack)
{
if (elementsOnUndoUntilOriginalFile == int.MinValue)
return;
elementsOnUndoUntilOriginalFile += newElementsOnUndoStack;
if (elementsOnUndoUntilOriginalFile > undostack.Count)
elementsOnUndoUntilOriginalFile = int.MinValue;
// don't call RecalcIsOriginalFile(): wait until end of undo group
}