On Jun 19, 10:56 am, "Edward K. Ream" <[email protected]> wrote:
> Leo can put all gnx's in a single (long) leo-editor line, just like a > vim line. Leo could, in fact, put these gnx's at the end of the present +leo line. However, I think a separate line is best. Something like: #...@leo-editor-data (do not delete or modify this line!) <padding to column 100, say> <list of gnx's> The warning is a nice touch, I think. Imo, this line should appear at the start of the file, right after the #...@+leo line. When writing the file, a simple prepass will append any needed new gnx's to this list. When reading a thin file, Leo will remember the <list of gnx's>, say in c.gnx_list. This list is all the persistent data that Leo needs to store. While reading and external file, Leo will use something like gnx_index_dict. Keys are (base-10) indices, values are gnx's. It's quick and easy to recreate this dict as needed when reading or writing a file. When Leo sees a node sentinel, it converts the base-62 index in the sentinel to a base-10 index, then looks up the gnx in the gnx_index_dict. To recap, under the new scheme, a single node sentinel will represent most nodes, but section references and @others directives require pairs of sentinels. Node sentinels will look like emacs outline comments, with the addition of two-to-four-character base-62 indices that indicate full gnx's. I plan to implement all parts of this scheme immediately. Edward P.S. The @+leo line will indicate whether the file contains old-style (ver=4) or new-style (ver=5) sentinels. Leo will continue to read ver=4 external files "forever", but after a changeover Leo will only write ver=5 thin external files. EKR -- You received this message because you are subscribed to the Google Groups "leo-editor" group. 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.
