From: storm@cua.dk (Kim F. Storm)
Cc: rms@gnu.org, emacs-devel@gnu.org
Subject: Re: usr1-signal, usr2-signal, etc.
Date: Wed, 13 Dec 2006 11:26:53 +0100 [thread overview]
Message-ID: <m33b7kozv6.fsf@kfs-l.imdomain.dk> (raw)
In-Reply-To: <wlejr4nniv.wl%mituharu@math.s.chiba-u.ac.jp> (YAMAMOTO Mitsuharu's message of "Wed\, 13 Dec 2006 18\:38\:48 +0900")
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp> writes:
>>>>>> On Tue, 12 Dec 2006 14:54:06 +0100, storm@cua.dk (Kim F. Storm) said:
>
>>>> What if the signal handlers just increment a global counter (one
>>>> for each signal type), and the main loop in keyboard.c checked
>>>> those counters and added the pending signal events in the "safe
>>>> context"?
>>>
>>> There're two problems I can think of with this approach.
>
>> You are absolutely right about those problems, but they both existed
>> before. In both cases, they only mean a delay in delivering the
>> signal event, which already was a problem in the original code.
>
> I tried minimizing the first problem, but the second one still
> remains.
Thank you very much.
The changes look good, so please install them.
>
> BTW, is it necessary for us to read these events by read-key-sequence?
> If not, it looks natural to bind them in special-event-map.
You have a good point there! If we bind signals in special-event-map,
we don't really have to care about them being mixed up with the rest
of the keyboard events ...
OTOH, if we put them in the special-event-map, we make it practically
impossible for a (global) minor-mode to setup catching a signal
through its "private" keymaps. So keeping signals in the
read-key-sequence loop is definitely more flexible.
Also, although the definition of special-event-map doesn't explicitly
say so, it only allows bindings for single events. This means that we
would have to revert to having just a single event for signals.
So I suggest installing your changes, and otherwise keep things as they are.
--
Kim F. Storm <storm@cua.dk> http://www.cua.dk
next prev parent reply other threads:[~2006-12-13 10:26 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-12-03 1:39 usr1-signal, usr2-signal, etc Kim F. Storm
2006-12-04 5:15 ` Richard Stallman
2006-12-04 9:05 ` Kim F. Storm
2006-12-04 13:08 ` Kim F. Storm
2006-12-05 1:45 ` Richard Stallman
2006-12-05 3:40 ` YAMAMOTO Mitsuharu
2006-12-05 22:26 ` David Kastrup
2006-12-05 22:51 ` Kim F. Storm
2006-12-08 10:28 ` YAMAMOTO Mitsuharu
2006-12-11 9:41 ` Kim F. Storm
2006-12-11 14:31 ` YAMAMOTO Mitsuharu
2006-12-12 9:47 ` Kim F. Storm
2006-12-12 13:32 ` YAMAMOTO Mitsuharu
2006-12-12 13:54 ` Kim F. Storm
2006-12-13 9:38 ` YAMAMOTO Mitsuharu
2006-12-13 10:26 ` Kim F. Storm [this message]
2006-12-14 9:14 ` YAMAMOTO Mitsuharu
2006-12-14 11:23 ` Kim F. Storm
2006-12-18 16:38 ` Chong Yidong
2006-12-19 2:14 ` YAMAMOTO Mitsuharu
2006-12-19 9:48 ` Kim F. Storm
2006-12-19 15:46 ` Kim F. Storm
2006-12-20 13:01 ` Richard Stallman
2006-12-20 15:58 ` Kim F. Storm
2006-12-12 21:46 ` Richard Stallman
2006-12-06 0:46 ` Richard Stallman
2006-12-06 9:44 ` Johan Bockgård
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=m33b7kozv6.fsf@kfs-l.imdomain.dk \
--to=storm@cua.dk \
--cc=emacs-devel@gnu.org \
--cc=rms@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.