aboutsummaryrefslogtreecommitdiffstats
path: root/src/bytecode.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bytecode.c')
-rw-r--r--src/bytecode.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/bytecode.c b/src/bytecode.c
index c3cd3d43072..ce79b011bbb 100644
--- a/src/bytecode.c
+++ b/src/bytecode.c
@@ -1186,7 +1186,7 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
1186 { 1186 {
1187 Lisp_Object v1; 1187 Lisp_Object v1;
1188 v1 = TOP; 1188 v1 = TOP;
1189 if (INTEGERP (v1)) 1189 if (INTEGERP (v1) && MOST_NEGATIVE_FIXNUM < XINT (v1))
1190 { 1190 {
1191 XSETINT (v1, XINT (v1) - 1); 1191 XSETINT (v1, XINT (v1) - 1);
1192 TOP = v1; 1192 TOP = v1;
@@ -1204,7 +1204,7 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
1204 { 1204 {
1205 Lisp_Object v1; 1205 Lisp_Object v1;
1206 v1 = TOP; 1206 v1 = TOP;
1207 if (INTEGERP (v1)) 1207 if (INTEGERP (v1) && XINT (v1) < MOST_POSITIVE_FIXNUM)
1208 { 1208 {
1209 XSETINT (v1, XINT (v1) + 1); 1209 XSETINT (v1, XINT (v1) + 1);
1210 TOP = v1; 1210 TOP = v1;
@@ -1290,7 +1290,7 @@ exec_byte_code (Lisp_Object bytestr, Lisp_Object vector, Lisp_Object maxdepth,
1290 { 1290 {
1291 Lisp_Object v1; 1291 Lisp_Object v1;
1292 v1 = TOP; 1292 v1 = TOP;
1293 if (INTEGERP (v1)) 1293 if (INTEGERP (v1) && - MOST_POSITIVE_FIXNUM <= XINT (v1))
1294 { 1294 {
1295 XSETINT (v1, - XINT (v1)); 1295 XSETINT (v1, - XINT (v1));
1296 TOP = v1; 1296 TOP = v1;