Subject: bug#62751: 29.0.90; New libraries that still need to be assigned to packages

From: Stefan Monnier <[email-masked]>
Date: Sat, 14 Oct 2023 10:39:09 -0400

>> BTW, how 'bout we drop the `millisec` arg of `sleep-for` as well (and
>> the pretense that there are still systems that can only sleep for whole
>> seconds)?
>
> Do we know which systems are/were those?

I don't.
And my intuition tells me that "waiting for a fraction of a second"
was only part of the problem, and Emacs support for floating points
was another.  :-)

> If not, how can we be sure they are no longer interesting?

Because the code doesn't accommodate them any more anyway.
Removing the arg (as opposed to just marking it obsolete) amounts to:

    -DEFUN ("sleep-for", Fsleep_for, Ssleep_for, 1, 2, 0,
    +DEFUN ("sleep-for", Fsleep_for, Ssleep_for, 1, 1, 0,
            doc: /* Pause, without updating display, for SECONDS seconds.
     SECONDS may be a floating-point value, meaning that you can wait for a
    -fraction of a second.  Optional second arg MILLISECONDS specifies an
    -additional wait period, in milliseconds; this is for backwards compatibility.
    -\(Not all operating systems support waiting for a fraction of a second.)  */)
    -  (Lisp_Object seconds, Lisp_Object milliseconds)
    +fraction of a second.  */)
    +  (Lisp_Object seconds)
     {
       double duration = extract_float (seconds);
     
    -  if (!NILP (milliseconds))
    -    {
    -      CHECK_FIXNUM (milliseconds);
    -      duration += XFIXNUM (milliseconds) / 1000.0;
    -    }
    -
       if (duration > 0)
         {
           struct timespec t = dtotimespec (duration);

-- Sefan