While transliterating Le's python code to typescript, Félix has found strange code in fc.restoreDescendentAttributes. You can find the details in
#2362.
This Engineering Notebook post discusses the implications of the strange code.
This could be the opportunity to retire some complex, unused code involving so-called tnode lists. cffs on tnodeList and tempTnodeList show all the methods involved.
Iirc, tnode lists were retired many years ago. Alas, a search of Leo's documentation does not mention exactly when Leo ended support for version 4.x files. It's frustrating that file format changes have not been properly documented. Indeed, the
documentation of Leo's file format appears way out of date.
Summary
All code involving v.tempTnodeList and v.tnodeList probably should be retired. My guess is that code became obsolete several years ago, but I can't be sure. As far as I can tell, Leo's read code should "just work" even if the read code completely ignores the <tnodeList> element of <v> elements. We shall see.
Edward