(sit_for): Signal error if TIMEOUT is not a number in case arg comes
directly from a Lisp variable.
This commit is contained in:
parent
bac4dbd166
commit
8e09f23fbf
2 changed files with 12 additions and 7 deletions
|
@ -3,6 +3,7 @@
|
|||
* dispnew.c (sit_for): Reduce number of args from 5 to 3.
|
||||
Now just one TIMEOUT arg that can be a Lisp float or Lisp int.
|
||||
Combine args DISPLAY and INITIAL_DISPLAY into one arg DO_DISPLAY.
|
||||
Signal error if TIMEOUT is not a number.
|
||||
Undo 2006-06-14 change for non-preemptive display if TIMEOUT < 0.
|
||||
The rework of sit_for args also fixes several incorrect Qt args
|
||||
which should have been 1.
|
||||
|
|
|
@ -6519,17 +6519,21 @@ sit_for (timeout, reading, do_display)
|
|||
if (do_display >= 2)
|
||||
redisplay_preserve_echo_area (2);
|
||||
|
||||
if (FLOATP (timeout))
|
||||
{
|
||||
double seconds = XFLOAT_DATA (timeout);
|
||||
sec = (int) seconds;
|
||||
usec = (int) ((seconds - sec) * 1000000);
|
||||
}
|
||||
else
|
||||
if (INTEGERP (timeout))
|
||||
{
|
||||
sec = XFASTINT (timeout);
|
||||
usec = 0;
|
||||
}
|
||||
else if (FLOATP (timeout))
|
||||
{
|
||||
double seconds;
|
||||
|
||||
seconds = XFLOAT_DATA (timeout);
|
||||
sec = (int) seconds;
|
||||
usec = (int) ((seconds - sec) * 1000000);
|
||||
}
|
||||
else
|
||||
wrong_type_argument (Qnumberp, timeout);
|
||||
|
||||
if (sec == 0 && usec == 0)
|
||||
return Qt;
|
||||
|
|
Loading…
Add table
Reference in a new issue