From: Richard Stallman <rms@gnu.org>
Cc: emacs-devel@gnu.org, monnier@iro.umontreal.ca, klaus.berndl@sdm.de
Subject: Re: while-no-input
Date: Mon, 29 Nov 2004 01:11:08 -0500 [thread overview]
Message-ID: <E1CYeke-0002CK-SZ@fencepost.gnu.org> (raw)
In-Reply-To: <m3r7me6gkb.fsf@kfs-l.imdomain.dk> (storm@cua.dk)
Here's where the discussion ended up:
The problem is that we need while-no-input to be able to encapsulate
_UNMODIFIED_ code (such as ange-ftp and tramp) so that user input
transparently "interrupts" (or quits) that code.
Obviously, the code we need to encapsulate must already have been
written to intercept the "quit" signal to be able to properly clean-up
network connections etc. due to a keyboard-quit.
Therefore, the most obvious solution -- once you see it -- to
implement while-no-input is to use the quit signal as an indication
of pending user input. That way, the existing code to handle
the quit signal will make while-no-input work transparently out of
the box!
In contrast, using throw/catch instead of Stefan's `annotated' quit
signal _DOES_NOT_WORK_ since the code we really want to encapsulate,
such as ange-ftp and tramp, is not written to expect a non-local exit
due to non-quit events!
I doubt that argument. Usually the way to arrange to clean something
up is with unwind-protect, and that will handle any nonlocal exit.
The only thing programs do to control quitting is to bind inhibit-quit
on and off. That is not relevant to handling with-no-input, so I think
there is really no advantage in using signals.
Can you find any real code where using a quit signal would work better
than using throw?
next prev parent reply other threads:[~2004-11-29 6:11 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-11-26 9:26 AW: vc-state always calls heuristic function klaus.berndl
2004-11-26 11:44 ` Kim F. Storm
2004-11-27 18:51 ` while-no-input Richard Stallman
2004-11-27 23:03 ` while-no-input Kim F. Storm
2004-11-29 6:11 ` Richard Stallman [this message]
2004-11-29 14:20 ` while-no-input Stefan Monnier
2004-11-30 7:03 ` while-no-input Richard Stallman
2004-11-30 14:56 ` while-no-input Kim F. Storm
-- strict thread matches above, loose matches on Subject: below --
2004-11-29 15:02 while-no-input klaus.berndl
2004-11-29 14:30 while-no-input klaus.berndl
2004-11-29 14:55 ` while-no-input Stefan Monnier
2002-10-01 21:19 while-no-input Stefan Monnier
2002-10-02 19:24 ` while-no-input Richard Stallman
2002-10-02 21:43 ` while-no-input Stefan Monnier
2002-10-03 13:28 ` while-no-input Richard Stallman
2002-10-03 15:53 ` while-no-input Stefan Monnier
2002-10-03 22:44 ` while-no-input Kim F. Storm
2002-10-03 22:33 ` while-no-input Stefan Monnier
2002-10-04 15:46 ` while-no-input Richard Stallman
2002-10-04 15:59 ` while-no-input Stefan Monnier
2002-10-05 16:33 ` while-no-input Richard Stallman
2002-10-24 0:06 ` while-no-input Kim F. Storm
2002-10-24 7:20 ` while-no-input Stefan Monnier
2002-10-24 10:24 ` while-no-input Kim F. Storm
2002-10-25 5:35 ` while-no-input Richard Stallman
2002-10-25 9:19 ` while-no-input Kim F. Storm
2002-10-26 20:15 ` while-no-input Richard Stallman
2002-10-25 13:44 ` while-no-input Stefan Monnier
2002-10-26 20:13 ` while-no-input Richard Stallman
2002-10-29 19:45 ` while-no-input Stefan Monnier
2002-10-31 17:25 ` while-no-input Richard Stallman
2002-10-31 18:03 ` while-no-input Stefan Monnier
2002-11-02 3:32 ` while-no-input Richard Stallman
2002-10-05 22:43 ` while-no-input 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
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=E1CYeke-0002CK-SZ@fencepost.gnu.org \
--to=rms@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=klaus.berndl@sdm.de \
--cc=monnier@iro.umontreal.ca \
/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 public inbox
https://git.savannah.gnu.org/cgit/emacs.git
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).