emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: The history of sit_for vs sit-for


From: Kim Storm
Subject: Re: The history of sit_for vs sit-for
Date: Thu, 29 May 2014 22:19:13 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:24.0) Gecko/20100101 Thunderbird/24.5.0

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 <address@hidden>
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 <address@hidden>
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 <address@hidden>
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 <address@hidden>
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 <address@hidden>
timestamp: Mon 2006-07-10 23:54:17 +0000
message:
   (Fredisplay): Doc fix.
------------------------------------------------------------
revno: 71734
committer: Kim F. Storm <address@hidden>
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 <address@hidden>
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 <address@hidden>
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 <address@hidden>
timestamp: Mon 2006-07-03 15:00:28 +0000
message:
   (sit_for): Fix preempt condition.
------------------------------------------------------------
revno: 71341
committer: Kim F. Storm <address@hidden>
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 <address@hidden>
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 <address@hidden>
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 <address@hidden>
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 <address@hidden>
timestamp: Thu 2006-06-01 21:04:58 +0000
message:
   Whitespace changes.
------------------------------------------------------------
revno: 71101
committer: Kim F. Storm <address@hidden>
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.






reply via email to

[Prev in Thread] Current Thread [Next in Thread]