Edward,

Thanks much for taking another look at this.  I have continued to try to
track down the issue.

I am typing a colon -- meaning I am typing Shift and the key that contains
the colon and semi-colon. For whatever reason, the log file message
references semi-colon and appears to be missing the fact that the shift key
is pressed.  If I am insert mode, I get the expected colon.  And since I
can type any cap character, I don't think it's my shift key.

I have just tried completely commenting out the @settings in the global
leosettings, which, as an aside is pretty interesting to see Leo with
absolutely no  settings active.  Alas, the problem continues.

I am willing to bet 50 cents that there is actually some  global setting
that is necessary for a colon to place you in command mode although that's
easy for you to test -- just remove all your global settings and only have
vim-mode = True in personal settings and see what happens.  Separately,
I'll try to find another computer to see if there is ghost somewhere in my
current machine.

Again, thanks for taking another look at this.  Leo is invaluable but
shifting back and forth between different editing frameworks is frustrating
and if I could use vim-style bindings it would be a major advance.

Steve


On Thu, Aug 14, 2014 at 7:13 AM, Edward K. Ream <[email protected]> wrote:

> On Wed, Aug 13, 2014 at 8:33 PM, Steve Zatz <[email protected]> wrote:
> >>  recommend looking at the output of the print-bindings and
> print-settings
> >> commands
> > Here are the key bindings.  Not sure what I am looking for but nothing
> > stands out as being in conflict with responding to a ":" in normal mode.
>
> Thanks for this.
>
> My apologies for the problems you are having.  I'm sure it's frustrating.
>
> This is a strange one.  Let's do some sleuthing right now.
>
> The message about ignoring ":" in normal mode is coming from the
> vc.ignore method. I see from an earlier post that the statement
> g.trace(g.callers()) in vc.ignore yields:
>
> ignore masterKeyHandler,do_key,do_normal_mode,do_state
>
> vc.do_normal mode is just::
>
>     def do_normal_mode(vc):
>         vc.do_state(vc.normal_mode_dispatch_d,'normal')
>
> That is as expected.  Looking at the code for do_state, we see the
> following, slightly edited::
>
>         func = d.get(vc.stroke)
>         if func:
>             func()
>         elif vc.is_plain_key(vc.stroke):
>             vc.ignore()
>         else:
>             vc.delegate()
>
> For vc.ignore to be called, both of the following must be true:
>
> 1. vc.stroke is not in vc.normal_mode_dispatch_d
>     (the dict passed to vc.do_state by do_normal_mode)
>
> 2. vc.is_plain_key(vc.stroke) is True.
>
> But 'colon' *is* in the vc.normal_mode_dispatch_d!
>
> Whoa!  I went back an re-read your original message.  It is::
>
>     ignoring semicolon in normal mode
>
> Oops.  You must type a colon, not a semicolon.  If your eyes are
> anywhere as old as mine, it's easy to confuse ':' and ';'.
>
> I should have picked up on the "ignoring semicolon" message much
> earlier.  Again, my apologies.  Here's hoping all is well now.
>
> Edward
>
> --
> 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.
>

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

Reply via email to