Fix assertion-violations on non-integers
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.
This commit is contained in:
parent
433b6a74ec
commit
bed56428a6
2 changed files with 3 additions and 3 deletions
|
|
@ -2655,7 +2655,7 @@ cons_to_unsigned (Lisp_Object c, uintmax_t max)
|
|||
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))
|
||||
{
|
||||
|
|
@ -2716,7 +2716,7 @@ cons_to_signed (Lisp_Object c, intmax_t min, intmax_t max)
|
|||
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))
|
||||
{
|
||||
|
|
|
|||
|
|
@ -27991,7 +27991,7 @@ calc_line_height_property (struct it *it, Lisp_Object val, struct font *font,
|
|||
/* 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))
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue