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.

Reply via email to