Groups keyboard shortcuts have been updated
Dismiss
See shortcuts

weirdness in key bindings when loading new/old outlines

24 views
Skip to first unread message

jkn

unread,
Apr 3, 2025, 3:28:25 PMApr 3
to leo-editor
Hi All (and welcome back, Edward!).

I have muttered about this before but now think I have a concrete example to show. The behaviour of defined commands seems to change according to outline being edited...

Here are some step to reproduce.

1) my myleosettings.leo has some @command nodes, and some @shortcut nodes to define the keystrokes for these commands.

1a) you can sort-of see the effects of these by entering 'show-bindings' in the minibuffer. An extract of the output of this (when a normal outline, with no shortcut or commands, is being edited) is:

Plain keys...
M    body: End           crisp_end
M    tree: End           end-of-line
M    body: Home          crisp_home
M    tree: Home          back-to-home
M    body: Insert        paste-text
M    tree: Insert        insert-node
F     all: Keypad++      crispKeypadPlus
F     all: Keypad+-      crispKeypadMinus

1c) The 'F' denotation seems a bit odd here; it is supposed to mean 'defined in the loaded .leo file'. In fact, this is not true, all of these are defined in myleosettings.leo

1d) The difference seems to be that the two 'F' commands are defined like

    @command crispKeypadPlus @key=Keypad+plus
        ...
    @command crispKeypadMinus @key=Keypad+minus
        ...

however this is a minor bug I think (although it confused me a bit)

2) if, however, I then create a new outline, the bindings in myleosettings.leo do not seem to be correctly applied. I would expect all of the above to be in place; however 'show-bindings' when editing the new outline gives (again, extracted)

M    tree: End           end-of-line
M    tree: Home          back-to-home
M    body: Insert        paste-text
M    tree: Insert        insert-node
D     all: Keypad++      crispKeypadPlus
D     all: Keypad+-      crispKeypadMinus

That is:

   - the bindings previous mis-denoted as 'F' are now mis-denoted as 'D' !
   - I have lost the bindings:
       M    body: End           crisp_end
       M    tree: End           end-of-line

3) I have just now loaded an existing outline (ie. as well as the other outlines_, and now both this outline, and the 'new' outline, which was previously misbehaving, show the original correct bindings (albeit with the 'F' not 'M' buglet):

M    body: End           crisp_end
M    tree: End           end-of-line
M    body: Home          crisp_home
M    tree: Home          back-to-home
M    body: Insert        paste-text
M    tree: Insert        insert-node
F     all: Keypad++      crispKeypadPlus
F     all: Keypad+-      crispKeypadMinus

I'm not misunderstanding things here, am I? With no @settings in an outline, or when creating a new outline, the bindings in myleosettings.leo should be the same across outlines?

Puzzling...

    J^n





jkn

unread,
Apr 3, 2025, 3:30:44 PMApr 3
to leo-editor
correction to part of what I wrote:

   - I have lost the bindings:
       M    body: End           crisp_end
       M    body: Home          crisp_home

Edward K. Ream

unread,
Apr 10, 2025, 8:55:32 AMApr 10
to leo-e...@googlegroups.com
On Thu, Apr 3, 2025 at 2:28 PM jkn <jkn...@nicorp.f9.co.uk> wrote:
Hi All (and welcome back, Edward!).

:-)

I have muttered about this before but now think I have a concrete example to show. The behaviour of defined commands seems to change according to outline being edited...

Thanks for this report. I'll look into it after I merge the big PR.

Edward
Reply all
Reply to author
Forward
0 new messages