#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.
