On Tuesday, January 22, 2013 7:18:08 AM UTC-6, Edward K. Ream wrote:

> The truly adventurous may want to set allow_cloned_sibs = True and see 
what happens :-)  The new code passes all the hand tests I can think of, 
which may say more about my imagination than the quality of the code!

Despite these caveats, the new code is actually fairly simple.  There are a 
lot of "if" statements involved, but they only select the proper read/write 
code given all the various flavors of nodes & versions that Leo must 
support.  The heart of the new code are the methods at.new_createThinChild4 
and at.createV5ThinNode.  These methods have the minimal number of "if" 
statements: there can be no combinatorial explosion of complexity.  This 
means that if the code works at all it should work everywhere.  That is my 
hope, at any rate.

In fact, the two methods mentioned in the previous paragraph are almost the 
only changed methods in the read code, with the exception of refactoring in 
at.createNewThinNode.  I took great pains to ensure that as little as 
possible changed.  In particular, it was imperative that the at.changeLevel 
method did not change: it is used in two many read paths.  Changing it 
significantly would likely have broken seldom-used legacy read code.

Edward

Edward

-- 
You received this message because you are subscribed to the Google Groups 
"leo-editor" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/leo-editor/-/3Z4rpDYgFZ8J.
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