From: Richard Stallman <rms@gnu.org>
Cc: cyd@stupidchicken.com, emacs-devel@gnu.org
Subject: Re: Strange behavior of C-u in the presence of sit-for in p-c-h
Date: Wed, 18 Oct 2006 13:54:46 -0400 [thread overview]
Message-ID: <E1GaFcs-0006g8-NC@fencepost.gnu.org> (raw)
In-Reply-To: <jwv4pu2o0nz.fsf-monnier+emacs@gnu.org> (message from Stefan Monnier on Tue, 17 Oct 2006 21:57:17 -0400)
I'm not sure exactly what this was trying to avoid, but the test looks odd.
Maybe the "!reread" could make some sense, but the
"this_command_key_count==0" looks positively odd since it may end up
recording the first (and only the first) of a sequence of keys.
I designed that test to do the right thing in the cases that were
encountered, and both conditions proved to be necessary.
!reread is the usual case of reading a new character.
this_command_key_count==0 is the case you get when a command reads
input with read-event and then unreads it. This usually IS the first
event of a key sequence; it is supposed to be.
To really do the right thing, we would need to associate each unread
key with a flag indicating whether it was previously added to
this-command-keys. That would be a very painful incompatibility, so I
never wanted to do it, and I don't want to do it now.
Maybe the problem is that `this-command-keys' has several potential uses and
they are incompatible: in one case one wants this-command-keys to list the
keys the user has typed (independently from whether or not some of those
keys were later read&unread&reread&reunread&rereread), whereas in the other
one wants the exact key-sequence which triggered this command, so we can
push it back on unread-command-events to force re-interpretation of
those keys.
I think that is true.
I suggest that we add a new primitive that does precisely what
`universal-argument-other-key' needs, and use it there. That will be
safe, in that the change can't break anything else.
Does anyone disagree? Would someone like to do this?
next prev parent reply other threads:[~2006-10-18 17:54 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-10-14 16:44 Strange behavior of C-u in the presence of sit-for in p-c-h Stefan Monnier
2006-10-16 13:50 ` Richard Stallman
2006-10-16 16:04 ` Stefan Monnier
2006-10-17 6:54 ` Richard Stallman
2006-10-17 14:50 ` Chong Yidong
2006-10-17 21:11 ` Chong Yidong
2006-10-17 22:12 ` Stefan Monnier
2006-10-17 22:18 ` Chong Yidong
2006-10-18 1:57 ` Stefan Monnier
2006-10-18 2:19 ` Chong Yidong
2006-10-18 5:57 ` Stefan Monnier
2006-10-18 14:28 ` Chong Yidong
2006-10-18 15:23 ` Stefan Monnier
2006-10-19 6:41 ` Richard Stallman
2006-10-19 6:41 ` Richard Stallman
2006-10-19 14:31 ` Chong Yidong
2006-10-19 14:51 ` Johan Bockgård
2006-10-18 17:54 ` Richard Stallman [this message]
2006-10-18 23:57 ` Chong Yidong
2006-10-19 9:01 ` Kim F. Storm
2006-10-19 21:09 ` Kim F. Storm
2006-10-19 21:25 ` Chong Yidong
2006-10-19 21:09 ` Kim F. Storm
2006-10-21 2:03 ` Richard Stallman
2006-10-22 22:54 ` Kim F. Storm
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=E1GaFcs-0006g8-NC@fencepost.gnu.org \
--to=rms@gnu.org \
--cc=cyd@stupidchicken.com \
--cc=emacs-devel@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.
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.