Next: Quitting, Previous: Special Events, Up: Command Loop [Contents][Index]
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.
This function performs redisplay (provided there is no pending input
from the user), then waits seconds seconds, or until input is
available. The usual purpose of sit-for
is to give the user
time to read text that you display. The value is t
if
sit-for
waited the full time with no input arriving
(see Event Input Misc). Otherwise, the value is nil
.
The argument seconds need not be an integer. If it is floating
point, 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 expression (sit-for 0)
is equivalent to (redisplay)
,
i.e., it requests a redisplay, without any delay, if there is no pending input.
See 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).
In batch mode (see Batch Mode), sit-for
cannot be
interrupted, even by input from the standard input descriptor. It is
thus equivalent to sleep-for
, which is described below.
It is also possible to call sit-for
with three arguments,
as (sit-for seconds millisec nodisp)
,
but that is considered obsolete.
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 floating
point, 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.
See Time of Day, for functions to get the current time.
Next: Quitting, Previous: Special Events, Up: Command Loop [Contents][Index]