It looks like the caching problems have been solved at rev 3194 of the
new sentinels branch.

All unit tests pass, as do many round-trip tests.

This was a worthy bug indeed.  Here is the checkin log:

QQQ
Fixed a major bug, due to the interaction of caching with the new
sentinels scheme.
The caching code itself was blameless. The blunder, so hard to see,
was having
at.createThinNode set v.tempBodyString.

1. With new sentinels we *never* terminate nodes until the postpass.
This is an important global simplification.

2. at.createThinNode remembers old body text in v.tempBodyString,
but it must *not* set v.tempBodyString otherwise.

This was the bug: if at.createThinNode always sets v.tempBodyString
it is in effect telling at.copyAllTempBodyStringsToVnodes the
there is an empty old node.

This is a fatal mistake, because at.read calls cacher.makeCacheList,
that is, before *other* files (which would correct the mistake)
have been read.
QQQ

In other words, at.createThinNode was misleading cacher.makeCacheList.

I plan to use the code for at least several days before merging with
the trunk.

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