On Jan 24, 6:24 am, "Edward K. Ream" <[email protected]> wrote:

> So that should be it.  Both  at.createThinChild4 and
> v.fastAddLastChild should warn about over-ridden node contents in
> similar ways.  It remains to be seen whether fc.createSaxVnode should
> issue an "internal Leo error" when nodes collide.  I expect this work
> to be done today.  It had better be done today: with all the recent
> changes we will need until Friday to have any confidence that the b2
> release will be stable.

Done at rev 2755 of the trunk.  As expected, there were complications
and surprises, but nothing horrid.  Here is the checkin log:

QQQ
Several important changes to Leo's read logic to handle clone
conflicts:

- at.readStartAll sets at.atAllFlag, inited in initReadIvars.

- at.readEndNode now *does* warn about changed nodes, provided that
at.atAllFlag is set.
The message is: "uncached read node changed <<node>>".

- fc.createSaxVnode now has some more traces, but these are disabled
by default.

- v.createOutlineFromCacheList sets atAll at the top level and passes
atAll to itself. A newly-read cloned node overrides a previous value
only if atAll is False.

- v.createOutlineFromCacheList gives the warning, "cashed read node
changed <<node>>" if a clone overrides a previous value.

- initAfterLoad in qtGui.py no longer calls c.setChanged(False). This
is needed so that updated clones can set the .leo file changed.

- fc.getLeoFile now helps out v.createOutlineFromCacheList, which can
only set the dirty bit for updated vnodes. The outline does not exist
in a state suitable for p.setAllAncestorAtFileNodesDirty when
v.createOutlineFromCacheList executes. Therefore, fc.getLeoFile calls
fc.propegatgeDirtyNodes if c.changed is True on exit.

- Added leo/test/testCloneUpdate.leo and related files. This is not as
good a test as a unit test would be, but it has been useful.

I created these notes from the node "Clones in @all files now have low
priority" in leoProjects.txt
QQQ

This concludes the planned work in this area.  Playing with various
scenarios using testCloneUpdate.leo uncovered several problems, and
those scenarios now work as expected.  However, I wouldn't be
surprised if some improvements are needed as people use Leo in various
situations.

Please report any problems with Leo immediately.  Thanks.

Edward

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/leo-editor?hl=en.

Reply via email to