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.
