+2012-02-20 Paul Eggert <eggert@cs.ucla.edu>
+
+ Fix crash due to non-contiguous EMACS_INT (Bug#10780).
+ * lisp.h (VALBITS): Move definition up, so that USE_LSB_TAG can use it.
+ (USE_LSB_TAG): Do not define if UINTPTR_MAX >> VALBITS == 0.
+ It's useless in that case, and it can cause problems on hosts
+ that allocate halves of EMACS_INT values separately.
+ Reported by Dan HorĂ¡k. Diagnosed by Andreas Schwab in
+ <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10780#30>.
+ * mem-limits.h (EXCEEDS_LISP_PTR): Define to 0 on hosts where
+ UINTPTR_MAX >> VALBITS == 0. This is required by the above change;
+ it avoids undefined behavior on hosts where shifting right by more
+ than the word width has undefined behavior.
+
2012-02-19 Chong Yidong <cyd@gnu.org>
* fileio.c (Ffile_name_directory, Ffile_name_nondirectory)