Rev 7a851eb enables automatic updating of @nosent files. When loading a .leo file, Leo will automatically update @nosent trees if the corresponding external file has been changed outside Leo! This is one of the most important advances in Leo's history.
As discussed yesterday, using @nosent files is about twice as fast as using @shadow trees. No shadow directories or shadow files are needed: it's trivial to recreate the "shadow" data from the @nosent tree! Why, of why, did we never see this before? It could have been done at any time since Leo supported @shadow. Finally, Leo reports all changes using the "recovered nodes" mechanism. No new code was required: the core @shadow code was not changed in any way. Edward P.S. at.readOneAtNosentNode and two simple helpers handle all the details. readOneAtNosentNode uses the @shadow algorithm to compute the updated lines of the @nosent tree, exactly as described yesterday. If the new lines match the old, nothing more need be done: we can use the existing @nosent tree as is. Otherwise, the new lines are passed to at.readOpenFile to delete the old tree and create the @nosent tree. This part of the code is similar to the code in at.read, but it is much simpler because caching is not involved. In essence, everything "just worked" from the get go. EKR -- 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 http://groups.google.com/group/leo-editor. For more options, visit https://groups.google.com/d/optout.
