From: Kevin Rodgers <kevin.d.rodgers@gmail.com>
To: help-gnu-emacs@gnu.org
Subject: Re: How to get current keymap
Date: Sun, 07 Dec 2008 08:09:05 -0700 [thread overview]
Message-ID: <ghgouf$bsm$1@ger.gmane.org> (raw)
In-Reply-To: <003b01c95837$ee8b1e30$0200a8c0@us.oracle.com>
Drew Adams wrote:
>> I used (concat (symbol-name major-mode) "-map") to get
>> current keymap, but it failed for LaTeX mode. Are there
>> other methode to get current keymap.
>
> If I enter a buffer, do `M-x latex-mode',
> then M-: (concat (symbol-name major-mode) "-map")
> it returns "latex-mode-map". What did you want?
>
> That's the name of a symbol whose value is the latex mode keymap. If you want
> the keymap itself, then you want this:
>
> (symbol-value ; Value of
> (intern ; Symbol whose name is
> (concat (symbol-name major-mode) "-map")))
>
> However, (current-local-map) gives you the same thing, and it works regardless
> of the name of the symbol.
>
> (eq (symbol-value
> (intern
> (concat (symbol-name major-mode) "-map")))
> (current-local-map))
>
> => t
A different way to find the symbol, instead of relying on its name:
(when (current-local-map)
(let ((result nil))
(mapatoms (function (lambda (symbol)
(when (and (boundp symbol)
(eq (symbol-value symbol)
(current-local-map)))
(push symbol result)))))
result))
--
Kevin Rodgers
Denver, Colorado, USA
next prev parent reply other threads:[~2008-12-07 15:09 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-12-06 14:37 How to get current keymap netawater
2008-12-06 18:24 ` Xah Lee
2008-12-06 21:37 ` Rupert Swarbrick
2008-12-07 5:28 ` netawater
2008-12-07 6:35 ` Drew Adams
2008-12-07 6:49 ` Drew Adams
2008-12-07 15:09 ` Kevin Rodgers [this message]
2008-12-07 17:33 ` Drew Adams
[not found] ` <mailman.2157.1228671183.26697.help-gnu-emacs@gnu.org>
2008-12-08 14:39 ` netawater
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='ghgouf$bsm$1@ger.gmane.org' \
--to=kevin.d.rodgers@gmail.com \
--cc=help-gnu-emacs@gnu.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.
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).