From: Paul Eggert Date: Thu, 28 Apr 2011 16:11:49 +0000 (-0700) Subject: Merge from mainline. X-Git-Tag: emacs-pretest-24.0.90~104^2~275^2~92^2~38 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=49b14d65c3f6b0a981ca032c6801d2c39ab1591a;p=emacs.git Merge from mainline. --- 49b14d65c3f6b0a981ca032c6801d2c39ab1591a diff --cc src/ChangeLog index 40fb601e061,107d6f0073a..f9ca67e703d --- a/src/ChangeLog +++ b/src/ChangeLog @@@ -1,28 -1,13 +1,38 @@@ +2011-04-28 Paul Eggert + + * sysdep.c (get_random): Don't assume EMACS_INT is no wider than long. + Also, don't assume VALBITS / RAND_BITS is less than 5, + and don't rely on undefined behavior when shifting a 1 left into + the sign bit. + * lisp.h (get_random): Change signature to match. + + * lread.c (hash_string): Use size_t, not int, for hash computation. + Normally we prefer signed values; but hashing is special, because + it's better to use unsigned division on hash table sizes so that + the remainder is nonnegative. Also, size_t is the natural width + for hashing into memory. The previous code used 'int', which doesn't + retain enough info to hash well into very large tables. + (oblookup, oblookup_last_bucket_number, Funintern): Likewise. + + * dbusbind.c: Don't possibly lose pointer info when converting. + (xd_remove_watch, Fdbus_init_bus, xd_read_queued_messages): + Use XPNTR rather than XHASH, so that the high-order bits of + the pointer aren't lost when converting through void *. + + * eval.c (Fautoload): Don't double-shift a pointer. + + * fns.c (Frandom): Let EMACS_UINT be wider than unsigned long. + + 2011-04-28 Eli Zaretskii + + * doprnt.c (doprnt): Don't return value smaller than the buffer + size if the message was truncated. (Bug#8545). + + 2011-04-28 Juanma Barranquero + + * w32fns.c (Fx_change_window_property, Fx_delete_window_property) + (Fx_window_property): #if-0 the whole functions, not just the bodies. + 2011-04-27 Paul Eggert * doprnt.c (doprnt): Support "ll" length modifier, for long long.