#1003 <https://github.com/leo-editor/leo-editor/issues/1003> suggests that 
Leo can use @ignore to eliminate the vnode's orphan bit.  This is an 
unexpected, very welcome development.  Imo, it is worth considerable work. 
There are several serious problems with the orphan bit:

1. It's invisible to the user.
2. It is involved in error recovery in various sequence-depended ways.
3. It complicates disparate write methods, including the crucial 
fc.putVnode method.

In the new scheme, the at.writeError method will insert an @ignore 
directive into the body text of the erroneous root @<file> node.  There 
will be no particular need to even to mark the node dirty, much less to set 
the orphan bit.

Many cff's will be needed to ensure that there are no unexpected 
complications. The cff's that I have done so far indicate that the existing 
calls to at.writeError will suffice to eliminate redundant error-related 
code throughout the at-file write logic.  This would be an important 
simplification to Leo.

As noted in #1003, adding @ignore seems to be a perfect solution to an 
otherwise almost intractable problem:

1. The user will get warnings when reading *and* writing @ignore nodes, and 
will *continue *to get such warnings until the user corrects the problem. 
This puts the responsibility squarely on the user, where it belongs.  

2. fc.putVnode *already* writes the entire @<file> tree if that root of 
that tree contains @ignore.  No change is needed to fc.putVnode, but the 
test on v.isOrphan() may as well go away.

*Summary*

@ignore will probably replace all uses of the orphan bit. This bit can be 
retired or deprecated.  No plugin or unit test uses this bit.

This work must be done in a separate branch, maybe in change2, the branch 
for #1003.

Edward

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/leo-editor.
For more options, visit https://groups.google.com/d/optout.

Reply via email to