These bugs were introduced after bignums were added.
* src/data.c (cons_to_unsigned, cons_to_signed):
* src/xdisp.c (calc_line_height_property):
Invoke integer_to_intmax and integer_to_uintmax only on integers.
else
{
Lisp_Object hi = CONSP (c) ? XCAR (c) : c;
- valid = integer_to_uintmax (hi, &val);
+ valid = INTEGERP (hi) && integer_to_uintmax (hi, &val);
if (valid && CONSP (c))
{
else
{
Lisp_Object hi = CONSP (c) ? XCAR (c) : c;
- valid = integer_to_intmax (hi, &val);
+ valid = INTEGERP (hi) && integer_to_intmax (hi, &val);
if (valid && CONSP (c))
{
/* FIXME: Check for overflow in multiplication or conversion. */
if (FLOATP (val))
height = (int)(XFLOAT_DATA (val) * height);
- else
+ else if (INTEGERP (val))
{
intmax_t v;
if (integer_to_intmax (val, &v))