On Fri, Jul 28, 2023 at 7:18 AM Edward K. Ream <[email protected]> wrote:
> This Engineering Notebook post announces several momentous Ahas, all
directly related to VNodes and our attitude towards them.
Several notes:
1. I have just merged the unified PR into devel. This merge will require
some cleanups. I'll tend to these tasks immediately.
2. Hurray! Leo has just reported link errors after I switched branches.
I created a copy of my local leoPy.leo for study. Leo wouldn't let me save
a "corrupt" outline(!), so I used copy/paste. Even better, Leo *continues*
to report the link errors, so I should be able to nail down what happened.
3. I forgot to mention *why *p.archive can represent VNodes with gnxs. The
reason is that c.fileCommands.gnxDict contains *all *vnodes, including
deleted VNodes! But I've got to check this statement :-)
4. The basis for the VNode checks is the *parent/child constraint*:
for child in parent.children:
parent.children.count(child) == child.parents.count(parent)
In other words, Leo should update v.parents and v.children arrays
"symmetrically." Like this:
parent.children.append(child)
child.parents.append(parent)
Alas, not all of Leo's code updates these arrays this way. Leo's FastRead
code is a prime offender.
*Summary*
At last we have a way to fix #1183
<https://github.com/leo-editor/leo-editor/issues/1183>!! But the fix will
not be trivial.
<https://github.com/leo-editor/leo-editor/issues/1183>
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 view this discussion on the web visit
https://groups.google.com/d/msgid/leo-editor/CAMF8tS06JJzgCQJyJyw667NUVJcQbrNUB5%2BdTX-496J51jHhNQ%40mail.gmail.com.