Random fixes. E.g., (random) never returned negative values.
* fns.c (Frandom): Use GET_EMACS_TIME for random seed, and add the subseconds part to the entropy, as that's a bit more random. Prefer signed to unsigned, since the signedness doesn't matter and in general we prefer signed. When given a limit, use a denominator equal to INTMASK + 1, not to VALMASK + 1, because the latter isn't right if USE_2_TAGS_FOR_INTS. * sysdep.c (get_random): Return a value in the range 0..INTMASK, not 0..VALMASK. Don't discard "excess" bits that random () returns.
Showing with 26 additions and 7 deletions