From: Kim Storm <storm@cua.dk>
To: Stefan Monnier <monnier@iro.umontreal.ca>,
Chong Yidong <cyd@stupidchicken.com>
Cc: Emacs-devel@gnu.org
Subject: Re: The history of sit_for vs sit-for
Date: Thu, 29 May 2014 22:19:13 +0200 [thread overview]
Message-ID: <53879641.1040505@cua.dk> (raw)
In-Reply-To: <jwvk394ismr.fsf-monnier+emacs@gnu.org>
Hi Stefan
Maybe this thread will explain why and how...
http://lists.gnu.org/archive/html/emacs-devel/2006-07/msg00401.html
Kim
On 2014-05-29 16:18, Stefan Monnier wrote:
> Hi Yidong and Kim,
>
> Around July 2006, a whole bunch of sit-for related changes were made
> resulting among other things in moving `sit-for' to Elisp (while
> keeping a `sit_for' implemented in C as well).
>
> Do you guys remember what this was about?
> We're having problems still with sit-for, because it uses `read-event'
> and then pushes those back to unread-command-events and this bumps into
> various problems in corner cases.
>
> It seems that the C version `sit_for' does not suffer from those
> problems, so I'm strongly tempted to move `sit-for' back to C, but I'd
> rather not just go back to some old problem.
>
> See appended some of the relevant commit messages, in the hopes that it
> might help your memory.
>
>
> Stefan
>
>
> revno: 72101
> committer: Chong Yidong <cyd@stupidchicken.com>
> timestamp: Wed 2006-07-26 18:18:26 +0000
> message:
> * subr.el (sit-for): Use new SECONDS arg of read-event instead of
> a timer.
> ------------------------------------------------------------
> revno: 72059
> committer: Richard M. Stallman <rms@gnu.org>
> timestamp: Mon 2006-07-24 17:01:08 +0000
> message:
> (dolist, dotimes): Use interned symbols for iteration.
> (--dotimes-limit--, --dolist-tail--): New defvars.
> (looking-back): Doc fix.
> ------------------------------------------------------------
> revno: 71924
> committer: Chong Yidong <cyd@stupidchicken.com>
> timestamp: Tue 2006-07-18 01:34:48 +0000
> message:
> * subr.el (sit-for): Just sleep-for if noninteractive.
> ------------------------------------------------------------
> revno: 71738
> committer: Kim F. Storm <storm@cua.dk>
> timestamp: Tue 2006-07-11 00:17:43 +0000
> message:
> (sit-for): Doc fix. Specify normal arg list using fn-form.
> Remove special case for seconds < 0. Use (redisplay t) instead.
> ------------------------------------------------------------
> revno: 71735
> committer: Kim F. Storm <storm@cua.dk>
> timestamp: Mon 2006-07-10 23:54:17 +0000
> message:
> (Fredisplay): Doc fix.
> ------------------------------------------------------------
> revno: 71734
> committer: Kim F. Storm <storm@cua.dk>
> timestamp: Mon 2006-07-10 23:52:38 +0000
> message:
> (Fredisplay): Add FORCE argument to force redisplay when
> input is available. Fix test for redisplay_dont_pause non-nil.
> Specbind redisplay-dont-pause to t if FORCE non-nil.
> ------------------------------------------------------------
> revno: 71726
> committer: Chong Yidong <cyd@stupidchicken.com>
> timestamp: Mon 2006-07-10 18:52:13 +0000
> message:
> * subr.el (sit-for): New function.
>
> * play/hanoi.el (hanoi-sit-for): Check sit-for return value.
> ------------------------------------------------------------
> revno: 71724
> committer: Chong Yidong <cyd@stupidchicken.com>
> timestamp: Mon 2006-07-10 18:51:31 +0000
> message:
> * puresize.h (BASE_PURESIZE): Increment to 1211000.
>
> * dispnew.c (Fredisplay): New function, equivalent to (sit-for 0).
> (Fsit_for): Function deleted.
>
> * keyboard.c (command_loop_1, Fexecute_extended_command): Call
> sit_for instead of Fsit_for.
>
> * minibuf.c (temp_echo_area_glyphs): Likewise.
> ------------------------------------------------------------
> revno: 71536
> committer: Kim F. Storm <storm@cua.dk>
> timestamp: Mon 2006-07-03 15:00:28 +0000
> message:
> (sit_for): Fix preempt condition.
> ------------------------------------------------------------
> revno: 71341
> committer: Kim F. Storm <storm@cua.dk>
> timestamp: Sat 2006-06-17 00:11:59 +0000
> message:
> (update_frame): Check for input pending on entry.
> (update_window, update_frame_1): Break loop if input is detected.
> ------------------------------------------------------------
> revno: 71296
> committer: Kim F. Storm <storm@cua.dk>
> timestamp: Tue 2006-06-13 22:06:22 +0000
> message:
> (sit_for): Undo 2006-06-01 change. Instead, a
> negative time forces redisplay even when input is available.
> (Fsit_for): Doc fix.
> ------------------------------------------------------------
> revno: 71286
> committer: Kim F. Storm <storm@cua.dk>
> timestamp: Mon 2006-06-12 22:32:47 +0000
> message:
> Modify preemptive redisplay to be based on periodic checks for input.
> (PERIODIC_PREEMPTION_CHECKING): Define to 1 iff EMACS_HAS_USECS.
> (Vredisplay_preemption_period): New variable.
> (syms_of_display): DEFVAR_LISP and initialize it.
> (preemption_period, preemption_next_check): New variables.
> (update_frame, update_single_window): Initialize them based on
> Vredisplay_preemption_period if !force_p.
> (update_window, update_frame_1): Use them to determine when to
> check for input.
> ------------------------------------------------------------
> revno: 71174
> committer: David Kastrup <dak@gnu.org>
> timestamp: Sun 2006-06-04 15:07:25 +0000
> message:
> Mention `redisplay-dont-pause' in doc string of
> `sit-for'.
> ------------------------------------------------------------
> revno: 71104
> committer: Richard M. Stallman <rms@gnu.org>
> timestamp: Thu 2006-06-01 21:04:58 +0000
> message:
> Whitespace changes.
> ------------------------------------------------------------
> revno: 71101
> committer: Kim F. Storm <storm@cua.dk>
> timestamp: Thu 2006-06-01 13:53:19 +0000
> message:
> (sit_for): Perform redisplay even if input is pending
> when redisplay-dont-pause is non-nil.
>
>
next prev parent reply other threads:[~2014-05-29 20:19 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-05-29 14:18 The history of sit_for vs sit-for Stefan Monnier
2014-05-29 20:19 ` Kim Storm [this message]
2014-05-30 15:32 ` Stefan Monnier
2014-05-30 18:10 ` Kim Storm
2014-05-30 18:31 ` Stefan Monnier
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=53879641.1040505@cua.dk \
--to=storm@cua.dk \
--cc=Emacs-devel@gnu.org \
--cc=cyd@stupidchicken.com \
--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 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.