On Sun, Jan 11, 2009 at 11:43 AM, TL <[email protected]> wrote:

>
> > A) ... Leo never attempts to disable a plugin while processing enabled
> >     plugin strings. Thus, plugins enabled in an @enabled-plugins node in
> >     leoSettings.leo *will* be enabled regardless of the contents of any
> other
> >     @enabled-plugins node.
>

>
> Note A) implies that there is no way to disable the default plugins
> enabled in the leoSettings.leo file except to edit the leoSettings.leo
> file itself.  Not a good solution when any edits to the
> leoSettings.leo file can be lost when a new Leo version is downloaded.


First, let me apologize for the confusion regarding @enabled-plugins nodes.
I'll see if I can get all the docs to be clear and in synch.

However, Leo doesn't work the way you say it does, and a little testing on
your part could have confirmed that fact.

Let us distinguish two different situations.  First, what Leo does when
loading a file, say x.leo initially.   Second, what Leo does when loading a
second file, say y.leo, *from x.leo*.

In the first case, Leo will use the *last* found @enabled-plugins node from
the list leoSettings.leo, myLeoSettings.leo, x.leo.  See the docs for full
details about search order.

So, in the *first* case, it *is* possible to disable any or all plugins.
For example, you could put an empty @enabled-plugins node in x.leo.  If
x.leo contains no @enabled-plugins node, you could put an empty
@enabled-plugins node in myLeoSettings.leo.

To summarize the first case: you *can* disable any or all plugins.

However, in the second case, plugins have **already** been loaded and
enabled.  In this case, there is *no way* to disable
already-loaded-and-enabled plugins.  All that can be done is to enable more
plugins.  This will happen if y.leo contains an @enabled-plugins node that
mentions more plugins.  It can also happen if x.leo contained an
@enabled-plugins node, but y.leo does not, and myLeoSettings.leo contains an
@enabled-plugins node that mentions more plugins.

Do you see what is happening?  Leo enables plugins in a (relatively)
straightforward way when it loads x.leo.  Leo also enables plugins (in the
same way) when loading y.leo.  But things might get confusing, depending on
whether x.leo or y.leo (or both or neither) contain @enabled-plugins nodes.
This simply can't be helped, and it is emphatically *not* a bug in how Leo
works.  (I've already admitted that there are problems with the docs, and I
plan to fix them today.)

In short, Leo acts in a reasonable manner, but it is still possible to get
confused even if you know the rules.  This suggests that you refrain from
putting @enabled-plugins nodes in any .leo file except myLeoSettings.leo.
That way all your .leo files will use the same plugins.  If you do put
@enabled-plugins nodes in x.leo, be prepared for confusion from time to
time.

HTH.

Edward

--~--~---------~--~----~------------~-------~--~----~
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