zsh-workers
 help / color / mirror / code / Atom feed
From: Bart Schaefer <schaefer@brasslantern.com>
To: zsh-workers@zsh.org
Subject: Re: Limitations of menuselect
Date: Wed, 27 Feb 2013 17:59:00 -0800	[thread overview]
Message-ID: <130227175900.ZM7434@torch.brasslantern.com> (raw)
In-Reply-To: <21084.1361986051@thecus.kiddle.eu>

On Feb 27,  6:27pm, Oliver Kiddle wrote:
} Subject: Re: Limitations of menuselect
}
} Olivier Teuliere wrote:
} > Someone told me on IRC that in menuselect a hard-coded table is used
} > to lookup the widget names.
} 
} More or less. It seems any keybinding picked up from the main keymap
} will work though menu selection is exited first. For anything from the
} menuselect keymap, it hard codes the actions with various widgets being
} overloaded from their original meanings. I'm not sure that I get the
} point of this.

At the time menuselect was added, the "local keymaps" implementation had
not yet been done.  So menuselect was implemented as a self-contained
widget (just like the incremental search widgets, etc.) that does all
its own key interpretation.

The reason for overloading widgets from the main keymap was because the
keystroke interpretation code always mapped everything directly to a
known widget object.  (I'm not sure user-defined widgets even existed
yet at that time.)  So the only way to have [say] ENTER mean one thing
in the main keymap and another in menuselect was to overload the widget
to which ENTER was mapped.

When the local keymaps were introduced, nobody ever undertook to refit
menuselect to use real widgets; it got its own keymap but the overload
implementation was never ripped out and rebuilt.

} > 3) When using the reverse-menu-complete widget to open menuselect, I
} > would like to select the last result, not the first one (otherwise I
} > can use menu-complete directly...). It doesn't sem to be possible at
} > the moment.
} 
} That seems like a bug to me.

I think it was punted as requiring too much implementation effort, given
that up-arrow from the first result in menu-selection will cycle to the
last result.
 
} It certainly makes sense and is quite thought provoking. I'm only sorry
} that my answers aren't especially helpful.

Ditto ...


  parent reply	other threads:[~2013-02-28  1:59 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-02-25 21:49 Olivier Teuliere
2013-02-27 17:27 ` Oliver Kiddle
2013-02-27 17:53   ` Peter Stephenson
2013-02-27 18:09     ` Peter Stephenson
2013-02-28  1:07   ` Oliver Kiddle
2013-02-28  9:34     ` Olivier Teuliere
2013-02-28 10:15       ` Bart Schaefer
2013-02-28  1:59   ` Bart Schaefer [this message]
2013-03-01 23:59 ` Oliver Kiddle

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=130227175900.ZM7434@torch.brasslantern.com \
    --to=schaefer@brasslantern.com \
    --cc=zsh-workers@zsh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).