Waiting for Elapsed Time or Input
=================================
The wait functions are designed to wait for a certain amount of time
to pass or until there is input. For example, you may wish to pause in
the middle of a computation to allow the user time to view the display.
`sit-for' pauses and updates the screen, and returns immediately if
input comes in, while `sleep-for' pauses without updating the screen.
- Function: sit-for seconds &optional millisec nodisp
This function performs redisplay (provided there is no pending
input from the user), then waits SECONDS seconds, or until input is
available. The value is `t' if `sit-for' waited the full time
with no input arriving (see `input-pending-p' in Note:Event Input
Misc). Otherwise, the value is `nil'.
The argument SECONDS need not be an integer. If it is a floating
point number, `sit-for' waits for a fractional number of seconds.
Some systems support only a whole number of seconds; on these
systems, SECONDS is rounded down.
The optional argument MILLISEC specifies an additional waiting
period measured in milliseconds. This adds to the period
specified by SECONDS. If the system doesn't support waiting
fractions of a second, you get an error if you specify nonzero
MILLISEC.
The expression `(sit-for 0)' is a convenient way to request a
redisplay, without any delay. Note:Forcing Redisplay.
If NODISP is non-`nil', then `sit-for' does not redisplay, but it
still returns as soon as input is available (or when the timeout
elapses).
Iconifying or deiconifying a frame makes `sit-for' return, because
that generates an event. Note:Misc Events.
The usual purpose of `sit-for' is to give the user time to read
text that you display.
- Function: sleep-for seconds &optional millisec
This function simply pauses for SECONDS seconds without updating
the display. It pays no attention to available input. It returns
`nil'.
The argument SECONDS need not be an integer. If it is a floating
point number, `sleep-for' waits for a fractional number of seconds.
Some systems support only a whole number of seconds; on these
systems, SECONDS is rounded down.
The optional argument MILLISEC specifies an additional waiting
period measured in milliseconds. This adds to the period
specified by SECONDS. If the system doesn't support waiting
fractions of a second, you get an error if you specify nonzero
MILLISEC.
Use `sleep-for' when you wish to guarantee a delay.
Note:Time of Day, for functions to get the current time.