From: ken <gebser@mousecar.com>
To: Tim Visher <tim.visher@gmail.com>
Cc: GNU Emacs List <help-gnu-emacs@gnu.org>
Subject: Re: create new key prefix
Date: Wed, 20 Feb 2013 04:35:08 -0500 [thread overview]
Message-ID: <512498CC.3070009@mousecar.com> (raw)
In-Reply-To: <CAHa53uzd0D8zXLEMhnUn1CEvJg-_3eSsX3WvG+mGcrZxc9_NKw@mail.gmail.com>
On 02/19/2013 08:41 PM Tim Visher wrote:
> On Tue, Feb 19, 2013 at 8:36 PM, ken<gebser@mousecar.com> wrote:
>> On 02/19/2013 08:20 PM Tim Visher wrote:
>>> On Tue, Feb 19, 2013 at 6:26 PM, ken<gebser@mousecar.com> wrote:
>>>>
>>>> I've defined quite a few new keys over the years and so would like to
>>>> create
>>>> a new key prefix. I.e., I want to be able to define keys such as "C-c p
>>>> s",
>>>> "C-c p m", etc. So how do I tell emacs that (for all possible modes) I
>>>> want
>>>> "C-c p" to look for the new key definitions.
>>>>
>>>> From what I've read so far, how this is done depends a lot on the
>>>> particular
>>>> emacs version. Mine's 22.1.1.
>>>
>>>
>>> `(global-set-key (kbd "C-c p m") 'func-name)` doesn't work for you?
>>> The caveat to that is that modes down the line can possible shadow the
>>> binding. But that's easy enough to solve with `(eval-after-load…`
>>> forms.
>>
>> Thanks much for the reply. I have almost no idea what you said, but it got
>> me to try the code which I already wrote (which I didn't do before because I
>> didn't think it would work, thought sure there was something missing). The
>> code I already wrote and left sitting there untested for a couple-three
>> hours... it works!!
>>
>> Well that's a completely new experience for me. B^D
>
> LOL. Good to know.
>
> As an aside, what are you confused about regarding what I said? Maybe
> I can help clear some things up for you?
What I read in several docs on the web implied that a command was needed
first to create a sparse map (i.e., define-prefix-command) and then to
assign it to a key prefix, in my case, "C-c p". So when you
wrote/asked, "`(global-set-key... doesn't work for you?", it didn't
compute with me at all at first because it seemed like you were
ignoring/forgetting all that. But then 1% of me thought, maybe this guy
is one of the 0.02% who knows what he's talking about, prompting me to
try running my own code (which was likewise ignoring/forgoing sparse map
creation etc.). My crap not only ran without error, but it also worked
perfectly!
The other part is the reference to "(eval-after-load..."; from your
context I gather that it's meant to remedy some other code stepping on
my keybindings (and perhaps too other definitions). But how, when, and
where to actually implement that function gribbles the laft whicher
bonkhaft.
next prev parent reply other threads:[~2013-02-20 9:35 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-02-19 23:26 create new key prefix ken
2013-02-20 1:20 ` Tim Visher
2013-02-20 1:36 ` ken
2013-02-20 1:41 ` Tim Visher
2013-02-20 9:35 ` ken [this message]
2013-02-20 17:44 ` Tim Visher
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
List information: https://www.gnu.org/software/emacs/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=512498CC.3070009@mousecar.com \
--to=gebser@mousecar.com \
--cc=help-gnu-emacs@gnu.org \
--cc=tim.visher@gmail.com \
/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.
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 read-only IMAP folder(s) and NNTP newsgroup(s).