aboutsummaryrefslogtreecommitdiffstats
path: root/src/data.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/data.c')
-rw-r--r--src/data.c33
1 files changed, 17 insertions, 16 deletions
diff --git a/src/data.c b/src/data.c
index e5c485f5322..4b9d2ec0387 100644
--- a/src/data.c
+++ b/src/data.c
@@ -2476,13 +2476,13 @@ enum arithop
2476 Amin 2476 Amin
2477 }; 2477 };
2478 2478
2479static Lisp_Object float_arith_driver (double, int, enum arithop, 2479static Lisp_Object float_arith_driver (double, size_t, enum arithop,
2480 int, Lisp_Object *); 2480 size_t, Lisp_Object *);
2481static Lisp_Object 2481static Lisp_Object
2482arith_driver (enum arithop code, int nargs, register Lisp_Object *args) 2482arith_driver (enum arithop code, size_t nargs, register Lisp_Object *args)
2483{ 2483{
2484 register Lisp_Object val; 2484 register Lisp_Object val;
2485 register int argnum; 2485 register size_t argnum;
2486 register EMACS_INT accum = 0; 2486 register EMACS_INT accum = 0;
2487 register EMACS_INT next; 2487 register EMACS_INT next;
2488 2488
@@ -2564,7 +2564,8 @@ arith_driver (enum arithop code, int nargs, register Lisp_Object *args)
2564#define isnan(x) ((x) != (x)) 2564#define isnan(x) ((x) != (x))
2565 2565
2566static Lisp_Object 2566static Lisp_Object
2567float_arith_driver (double accum, register int argnum, enum arithop code, int nargs, register Lisp_Object *args) 2567float_arith_driver (double accum, register size_t argnum, enum arithop code,
2568 size_t nargs, register Lisp_Object *args)
2568{ 2569{
2569 register Lisp_Object val; 2570 register Lisp_Object val;
2570 double next; 2571 double next;
@@ -2626,7 +2627,7 @@ float_arith_driver (double accum, register int argnum, enum arithop code, int na
2626DEFUN ("+", Fplus, Splus, 0, MANY, 0, 2627DEFUN ("+", Fplus, Splus, 0, MANY, 0,
2627 doc: /* Return sum of any number of arguments, which are numbers or markers. 2628 doc: /* Return sum of any number of arguments, which are numbers or markers.
2628usage: (+ &rest NUMBERS-OR-MARKERS) */) 2629usage: (+ &rest NUMBERS-OR-MARKERS) */)
2629 (int nargs, Lisp_Object *args) 2630 (size_t nargs, Lisp_Object *args)
2630{ 2631{
2631 return arith_driver (Aadd, nargs, args); 2632 return arith_driver (Aadd, nargs, args);
2632} 2633}
@@ -2636,7 +2637,7 @@ DEFUN ("-", Fminus, Sminus, 0, MANY, 0,
2636With one arg, negates it. With more than one arg, 2637With one arg, negates it. With more than one arg,
2637subtracts all but the first from the first. 2638subtracts all but the first from the first.
2638usage: (- &optional NUMBER-OR-MARKER &rest MORE-NUMBERS-OR-MARKERS) */) 2639usage: (- &optional NUMBER-OR-MARKER &rest MORE-NUMBERS-OR-MARKERS) */)
2639 (int nargs, Lisp_Object *args) 2640 (size_t nargs, Lisp_Object *args)
2640{ 2641{
2641 return arith_driver (Asub, nargs, args); 2642 return arith_driver (Asub, nargs, args);
2642} 2643}
@@ -2644,7 +2645,7 @@ usage: (- &optional NUMBER-OR-MARKER &rest MORE-NUMBERS-OR-MARKERS) */)
2644DEFUN ("*", Ftimes, Stimes, 0, MANY, 0, 2645DEFUN ("*", Ftimes, Stimes, 0, MANY, 0,
2645 doc: /* Return product of any number of arguments, which are numbers or markers. 2646 doc: /* Return product of any number of arguments, which are numbers or markers.
2646usage: (* &rest NUMBERS-OR-MARKERS) */) 2647usage: (* &rest NUMBERS-OR-MARKERS) */)
2647 (int nargs, Lisp_Object *args) 2648 (size_t nargs, Lisp_Object *args)
2648{ 2649{
2649 return arith_driver (Amult, nargs, args); 2650 return arith_driver (Amult, nargs, args);
2650} 2651}
@@ -2653,9 +2654,9 @@ DEFUN ("/", Fquo, Squo, 2, MANY, 0,
2653 doc: /* Return first argument divided by all the remaining arguments. 2654 doc: /* Return first argument divided by all the remaining arguments.
2654The arguments must be numbers or markers. 2655The arguments must be numbers or markers.
2655usage: (/ DIVIDEND DIVISOR &rest DIVISORS) */) 2656usage: (/ DIVIDEND DIVISOR &rest DIVISORS) */)
2656 (int nargs, Lisp_Object *args) 2657 (size_t nargs, Lisp_Object *args)
2657{ 2658{
2658 int argnum; 2659 size_t argnum;
2659 for (argnum = 2; argnum < nargs; argnum++) 2660 for (argnum = 2; argnum < nargs; argnum++)
2660 if (FLOATP (args[argnum])) 2661 if (FLOATP (args[argnum]))
2661 return float_arith_driver (0, 0, Adiv, nargs, args); 2662 return float_arith_driver (0, 0, Adiv, nargs, args);
@@ -2737,7 +2738,7 @@ DEFUN ("max", Fmax, Smax, 1, MANY, 0,
2737 doc: /* Return largest of all the arguments (which must be numbers or markers). 2738 doc: /* Return largest of all the arguments (which must be numbers or markers).
2738The value is always a number; markers are converted to numbers. 2739The value is always a number; markers are converted to numbers.
2739usage: (max NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS) */) 2740usage: (max NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS) */)
2740 (int nargs, Lisp_Object *args) 2741 (size_t nargs, Lisp_Object *args)
2741{ 2742{
2742 return arith_driver (Amax, nargs, args); 2743 return arith_driver (Amax, nargs, args);
2743} 2744}
@@ -2746,7 +2747,7 @@ DEFUN ("min", Fmin, Smin, 1, MANY, 0,
2746 doc: /* Return smallest of all the arguments (which must be numbers or markers). 2747 doc: /* Return smallest of all the arguments (which must be numbers or markers).
2747The value is always a number; markers are converted to numbers. 2748The value is always a number; markers are converted to numbers.
2748usage: (min NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS) */) 2749usage: (min NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS) */)
2749 (int nargs, Lisp_Object *args) 2750 (size_t nargs, Lisp_Object *args)
2750{ 2751{
2751 return arith_driver (Amin, nargs, args); 2752 return arith_driver (Amin, nargs, args);
2752} 2753}
@@ -2755,7 +2756,7 @@ DEFUN ("logand", Flogand, Slogand, 0, MANY, 0,
2755 doc: /* Return bitwise-and of all the arguments. 2756 doc: /* Return bitwise-and of all the arguments.
2756Arguments may be integers, or markers converted to integers. 2757Arguments may be integers, or markers converted to integers.
2757usage: (logand &rest INTS-OR-MARKERS) */) 2758usage: (logand &rest INTS-OR-MARKERS) */)
2758 (int nargs, Lisp_Object *args) 2759 (size_t nargs, Lisp_Object *args)
2759{ 2760{
2760 return arith_driver (Alogand, nargs, args); 2761 return arith_driver (Alogand, nargs, args);
2761} 2762}
@@ -2764,7 +2765,7 @@ DEFUN ("logior", Flogior, Slogior, 0, MANY, 0,
2764 doc: /* Return bitwise-or of all the arguments. 2765 doc: /* Return bitwise-or of all the arguments.
2765Arguments may be integers, or markers converted to integers. 2766Arguments may be integers, or markers converted to integers.
2766usage: (logior &rest INTS-OR-MARKERS) */) 2767usage: (logior &rest INTS-OR-MARKERS) */)
2767 (int nargs, Lisp_Object *args) 2768 (size_t nargs, Lisp_Object *args)
2768{ 2769{
2769 return arith_driver (Alogior, nargs, args); 2770 return arith_driver (Alogior, nargs, args);
2770} 2771}
@@ -2773,7 +2774,7 @@ DEFUN ("logxor", Flogxor, Slogxor, 0, MANY, 0,
2773 doc: /* Return bitwise-exclusive-or of all the arguments. 2774 doc: /* Return bitwise-exclusive-or of all the arguments.
2774Arguments may be integers, or markers converted to integers. 2775Arguments may be integers, or markers converted to integers.
2775usage: (logxor &rest INTS-OR-MARKERS) */) 2776usage: (logxor &rest INTS-OR-MARKERS) */)
2776 (int nargs, Lisp_Object *args) 2777 (size_t nargs, Lisp_Object *args)
2777{ 2778{
2778 return arith_driver (Alogxor, nargs, args); 2779 return arith_driver (Alogxor, nargs, args);
2779} 2780}
@@ -3302,7 +3303,7 @@ syms_of_data (void)
3302 XSYMBOL (intern_c_string ("most-negative-fixnum"))->constant = 1; 3303 XSYMBOL (intern_c_string ("most-negative-fixnum"))->constant = 1;
3303} 3304}
3304 3305
3305static SIGTYPE 3306static void
3306arith_error (int signo) 3307arith_error (int signo)
3307{ 3308{
3308 sigsetmask (SIGEMPTYMASK); 3309 sigsetmask (SIGEMPTYMASK);