[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master bed5642: Fix assertion-violations on non-integers
From: |
Paul Eggert |
Subject: |
[Emacs-diffs] master bed5642: Fix assertion-violations on non-integers |
Date: |
Sun, 30 Dec 2018 22:00:56 -0500 (EST) |
branch: master
commit bed56428a6e767d68a974f5ad81bebf035eb44f4
Author: Paul Eggert <address@hidden>
Commit: Paul Eggert <address@hidden>
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.
---
src/data.c | 4 ++--
src/xdisp.c | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/src/data.c b/src/data.c
index c64adb6..4ea71ce 100644
--- a/src/data.c
+++ b/src/data.c
@@ -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))
{
diff --git a/src/xdisp.c b/src/xdisp.c
index 65a61a0..4cb1050 100644
--- a/src/xdisp.c
+++ b/src/xdisp.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))
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master bed5642: Fix assertion-violations on non-integers,
Paul Eggert <=