]> code.delx.au - gnu-emacs/blobdiff - src/floatfns.c
(command_loop_1): No direct display if Column Number mode.
[gnu-emacs] / src / floatfns.c
index 134332b9861275536b22244c045496c4eccceea5..459f4d63faa380d47f5cf9ef460fba5687748a1f 100644 (file)
@@ -183,7 +183,7 @@ static char *float_error_fn_name;
       if ((x) >= (((EMACS_INT) 1) << (VALBITS-1)) ||                   \
          (x) <= - (((EMACS_INT) 1) << (VALBITS-1)) - 1)                \
        range_error (name, num);                                        \
-      XSET (i, Lisp_Int,  (EMACS_INT)(x));                             \
+      XSETINT (i,  (EMACS_INT)(x));                                    \
     }                                                                  \
   while (0)
 #define FLOAT_TO_INT2(x, i, name, num1, num2)                          \
@@ -192,7 +192,7 @@ static char *float_error_fn_name;
       if ((x) >= (((EMACS_INT) 1) << (VALBITS-1)) ||                   \
          (x) <= - (((EMACS_INT) 1) << (VALBITS-1)) - 1)                \
        range_error2 (name, num1, num2);                                \
-      XSET (i, Lisp_Int,  (EMACS_INT)(x));                             \
+      XSETINT (i,  (EMACS_INT)(x));                                    \
     }                                                                  \
   while (0)
 
@@ -447,7 +447,7 @@ DEFUN ("expt", Fexpt, Sexpt, 2, 2, 0,
   if (INTEGERP (arg1)     /* common lisp spec */
       && INTEGERP (arg2)) /* don't promote, if both are ints */
     {                          /* this can be improved by pre-calculating */
-      int acc, x, y;           /* some binary powers of x then accumulating */
+      EMACS_INT acc, x, y;     /* some binary powers of x then accumulating */
       Lisp_Object val;
 
       x = XINT (arg1);
@@ -473,7 +473,7 @@ DEFUN ("expt", Fexpt, Sexpt, 2, 2, 0,
              y = (unsigned)y >> 1;
            }
        }
-      XSET (val, Lisp_Int, acc);
+      XSETINT (val, acc);
       return val;
     }
   f1 = FLOATP (arg1) ? XFLOAT (arg1)->data : XINT (arg1);
@@ -648,7 +648,7 @@ DEFUN ("abs", Fabs, Sabs, 1, 1, 0,
   if (FLOATP (arg))
     IN_FLOAT (arg = make_float (fabs (XFLOAT (arg)->data)), "abs", arg);
   else if (XINT (arg) < 0)
-    XSETINT (arg, - XFASTINT (arg));
+    XSETINT (arg, - XINT (arg));
 
   return arg;
 }
@@ -673,7 +673,7 @@ This is the same as the exponent of a float.")
      Lisp_Object arg;
 {
   Lisp_Object val;
-  int value;
+  EMACS_INT value;
   double f = extract_float (arg);
 
   if (f == 0.0)
@@ -684,8 +684,9 @@ This is the same as the exponent of a float.")
       IN_FLOAT (value = logb (f), "logb", arg);
 #else
 #ifdef HAVE_FREXP
-      IN_FLOAT (frexp (f, &value), "logb", arg);
-      value--;
+      int ivalue;
+      IN_FLOAT (frexp (f, &ivalue), "logb", arg);
+      value = ivalue - 1;
 #else
       int i;
       double d;
@@ -709,7 +710,7 @@ This is the same as the exponent of a float.")
 #endif
 #endif
     }
-  XSET (val, Lisp_Int, value);
+  XSETINT (val, value);
   return val;
 }
 
@@ -746,7 +747,7 @@ With optional DIVISOR, return the largest integer no greater than ARG/DIVISOR.")
 
   if (! NILP (divisor))
     {
-      int i1, i2;
+      EMACS_INT i1, i2;
 
       CHECK_NUMBER_OR_FLOAT (divisor, 1);
 
@@ -778,7 +779,7 @@ With optional DIVISOR, return the largest integer no greater than ARG/DIVISOR.")
            ? (i1 <= 0  ?  -i1 / -i2  :  -1 - ((i1 - 1) / -i2))
            : (i1 < 0  ?  -1 - ((-1 - i1) / i2)  :  i1 / i2));
 
-      XSET (arg, Lisp_Int, i1);
+      XSETINT (arg, i1);
       return arg;
     }