From: David Kastrup <dak@gnu.org>
Cc: cyd@stupidchicken.com, emacs-devel@gnu.org, storm@cua.dk
Subject: Re: local keymap patch for key-binding
Date: Wed, 13 Sep 2006 22:02:45 +0200 [thread overview]
Message-ID: <851wqfh6vu.fsf@lola.goethe.zz> (raw)
In-Reply-To: <E1GNaM5-00084e-Cr@fencepost.gnu.org> (Richard Stallman's message of "Wed\, 13 Sep 2006 15\:25\:05 -0400")
Richard Stallman <rms@gnu.org> writes:
> Why add the argument LOCATION? Is it just for the sake of
> command-rebinding?
See the more elaborate explanation in a recent mail.
> Why the need to switch buffers?
Because the values of overriding-local-map and the current minor maps
might depend on it. The buffer-local maps for the lookup of a mouse
event are taken from the buffer where the mouse event occured, not the
currently selected buffer.
> Aside from that, some little details:
>
> + * keymap.c: include "window.h".
>
> You need to add a dependency in Makefile.in for that.
Ouch. Yes.
> ! if (SYMBOLP (AREF(location,0)) && ASIZE(location) > 1)
> ! event = AREF(location,1);
> ! else
> ! event = AREF(location,0);
>
> To follow our coding style you need additional spaces here:
>
> ! if (SYMBOLP (AREF (location,0)) && ASIZE (location) > 1)
> ! event = AREF (location, 1);
> ! else
> ! event = AREF (location, 0);
>
> A comma should always be followed by a space.
> Outside of a parenthesis there must be a space,
> unless the same spot is inside another parenthesis
> or followed by a semicolon.
OK, will do.
> There needs to be documentation for LOCATION in etc/NEWS and the Lisp
> Manual.
Well, I wanted to get the code right (and use it) before tackling
those: and indeed, LOCATION has already morphed into POSITION because
the latter is more useful for mouse.el...
I would want to postpone the entries until I have finished recoding
the use cases of this functionality, and they test out well. That
way, I don't need to rewrite stuff in case the API turns out not to do
the trick.
> ! /* Key sequences beginning with mouse clicks are
> ! read using the keymaps in the buffer clicked on,
> ! not the current buffer. If we're at the
> ! beginning of a key sequence, switch buffers. */
>
> I can't understand the second sentence, "If we're at the beginning
> of a key sequence". Since key-binding always operates on a key
> sequence, and since we're not in the middle of a loop which scans
> that key sequence, what does it mean to say that we are, or are not,
> "at the beginning" of it?
Uhm, well, it means that this comment was copied and pasted from
keyboard.c (which has similar functionality) and not fully rewritten.
I'll change that.
--
David Kastrup, Kriemhildstr. 15, 44793 Bochum
next prev parent reply other threads:[~2006-09-13 20:02 UTC|newest]
Thread overview: 55+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-02-10 9:34 longlines-mode doesn't seem to work with some non-english text Miles Bader
2006-02-11 4:35 ` Chong Yidong
2006-02-13 0:32 ` Kevin Ryde
2006-09-09 15:08 ` local keymap patch for key-binding Chong Yidong
2006-09-09 15:15 ` David Kastrup
2006-09-09 15:26 ` Chong Yidong
2006-09-10 12:44 ` Chong Yidong
2006-09-10 13:25 ` David Kastrup
2006-09-11 2:36 ` Chong Yidong
2006-09-11 6:25 ` David Kastrup
2006-09-11 7:05 ` David Kastrup
2006-09-11 8:52 ` Kim F. Storm
2006-09-11 9:48 ` David Kastrup
2006-09-11 10:11 ` David Kastrup
2006-09-11 12:53 ` Kim F. Storm
2006-09-11 13:04 ` David Kastrup
2006-09-11 13:07 ` Chong Yidong
2006-09-11 19:58 ` Richard Stallman
2006-09-12 10:04 ` David Kastrup
2006-09-12 15:21 ` David Kastrup
2006-09-12 15:39 ` PCL-CVS's diff and marks (was: local keymap patch for key-binding) Stefan Monnier
2006-09-12 15:42 ` PCL-CVS's diff and marks David Kastrup
2006-09-12 15:54 ` Stefan Monnier
2006-09-12 21:45 ` local keymap patch for key-binding Richard Stallman
2006-09-12 22:23 ` David Kastrup
2006-09-12 23:44 ` David Kastrup
2006-09-13 7:45 ` Kim F. Storm
2006-09-13 8:11 ` David Kastrup
2006-09-13 11:05 ` Kim F. Storm
2006-09-13 11:38 ` David Kastrup
2006-09-13 12:23 ` Kim F. Storm
2006-09-13 12:32 ` David Kastrup
2006-09-13 13:45 ` Kim F. Storm
2006-09-13 19:25 ` Richard Stallman
2006-09-13 19:49 ` David Kastrup
2006-09-13 19:25 ` Richard Stallman
2006-09-13 20:02 ` David Kastrup [this message]
2006-09-13 19:24 ` Richard Stallman
2006-09-13 15:10 ` Richard Stallman
2006-09-13 15:25 ` David Kastrup
2006-09-14 2:34 ` Richard Stallman
2006-09-14 11:57 ` David Kastrup
2006-09-14 22:34 ` David Kastrup
2006-09-14 22:36 ` David Kastrup
2006-09-15 3:14 ` Richard Stallman
2006-09-15 8:20 ` David Kastrup
2006-09-15 23:47 ` David Kastrup
2006-09-16 0:14 ` Kim F. Storm
2006-09-16 19:05 ` Richard Stallman
2006-09-18 15:43 ` David Kastrup
2006-09-18 20:34 ` Kim F. Storm
2006-09-18 23:39 ` Richard Stallman
2006-09-16 16:41 ` Stefan Monnier
2006-09-10 18:52 ` Richard Stallman
2006-09-11 2:39 ` Chong Yidong
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=851wqfh6vu.fsf@lola.goethe.zz \
--to=dak@gnu.org \
--cc=cyd@stupidchicken.com \
--cc=emacs-devel@gnu.org \
--cc=storm@cua.dk \
/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 external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.