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

> I may have found the source of the problem.  The code in atFile.read()
> that determines whether an @file node is an old or new format by
> looking for a tnodeList attribute of the root node.  But this
> attribute comes from the .leo file, not the external file! This is a
> dubious, fragile scheme.  It would seem safer to look at the @+leo
> line of the external file.

Rev 2751 contains a major restructuring of atFile.read to make this
happen.  I believe this work is justified because it decouples the
data in in the .leo file (the tnodeList) from the data in external
files, thereby making the read logic more robust.  Pylint is happy and
all unit tests pass, but this is yet another significant change.  For
this reason, delaying rc1 until next Friday seems appropriate.

Here is what I did:

The new code defines several new helper methods.

More importantly, it eliminates the dubious 'thinFile' argument and
instead computes this value in atFile.readOpenFile.  As a result,
deleting the children of the root gets delayed until we know this
value.

At present, atFile.read() will happily uncache *any* kind of external
file, provided that the 'force' argument is off.

Please report any problems immediately.

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