#1392 is supposed to ensure that all changes that affect @<file> nodes actually mark those nodes dirty, so that they will be written when you save the outline. The work was done in the "dirty" branch, which has been retired.
This new code needs extensive testing. Please report any problems immediately.
I am please with the new code. It should be significantly faster than before, and it contains new code marking nodes dirty when moving, promoting or demoting them. Now, nodes are only marked dirty (in those situations), if they (or one of their clones) is a descendant of any @<file> node. This is a small change, but useful, because it (subtly!) tells whether the node affects an @<file> node.
All questions, comments and bug reports welcome.
Edward