diff options
Diffstat (limited to 'src/data.c')
| -rw-r--r-- | src/data.c | 33 |
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 | ||
| 2479 | static Lisp_Object float_arith_driver (double, int, enum arithop, | 2479 | static Lisp_Object float_arith_driver (double, size_t, enum arithop, |
| 2480 | int, Lisp_Object *); | 2480 | size_t, Lisp_Object *); |
| 2481 | static Lisp_Object | 2481 | static Lisp_Object |
| 2482 | arith_driver (enum arithop code, int nargs, register Lisp_Object *args) | 2482 | arith_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 | ||
| 2566 | static Lisp_Object | 2566 | static Lisp_Object |
| 2567 | float_arith_driver (double accum, register int argnum, enum arithop code, int nargs, register Lisp_Object *args) | 2567 | float_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 | |||
| 2626 | DEFUN ("+", Fplus, Splus, 0, MANY, 0, | 2627 | DEFUN ("+", 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. |
| 2628 | usage: (+ &rest NUMBERS-OR-MARKERS) */) | 2629 | usage: (+ &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, | |||
| 2636 | With one arg, negates it. With more than one arg, | 2637 | With one arg, negates it. With more than one arg, |
| 2637 | subtracts all but the first from the first. | 2638 | subtracts all but the first from the first. |
| 2638 | usage: (- &optional NUMBER-OR-MARKER &rest MORE-NUMBERS-OR-MARKERS) */) | 2639 | usage: (- &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) */) | |||
| 2644 | DEFUN ("*", Ftimes, Stimes, 0, MANY, 0, | 2645 | DEFUN ("*", 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. |
| 2646 | usage: (* &rest NUMBERS-OR-MARKERS) */) | 2647 | usage: (* &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. |
| 2654 | The arguments must be numbers or markers. | 2655 | The arguments must be numbers or markers. |
| 2655 | usage: (/ DIVIDEND DIVISOR &rest DIVISORS) */) | 2656 | usage: (/ 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). |
| 2738 | The value is always a number; markers are converted to numbers. | 2739 | The value is always a number; markers are converted to numbers. |
| 2739 | usage: (max NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS) */) | 2740 | usage: (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). |
| 2747 | The value is always a number; markers are converted to numbers. | 2748 | The value is always a number; markers are converted to numbers. |
| 2748 | usage: (min NUMBER-OR-MARKER &rest NUMBERS-OR-MARKERS) */) | 2749 | usage: (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. |
| 2756 | Arguments may be integers, or markers converted to integers. | 2757 | Arguments may be integers, or markers converted to integers. |
| 2757 | usage: (logand &rest INTS-OR-MARKERS) */) | 2758 | usage: (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. |
| 2765 | Arguments may be integers, or markers converted to integers. | 2766 | Arguments may be integers, or markers converted to integers. |
| 2766 | usage: (logior &rest INTS-OR-MARKERS) */) | 2767 | usage: (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. |
| 2774 | Arguments may be integers, or markers converted to integers. | 2775 | Arguments may be integers, or markers converted to integers. |
| 2775 | usage: (logxor &rest INTS-OR-MARKERS) */) | 2776 | usage: (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 | ||
| 3305 | static SIGTYPE | 3306 | static void |
| 3306 | arith_error (int signo) | 3307 | arith_error (int signo) |
| 3307 | { | 3308 | { |
| 3308 | sigsetmask (SIGEMPTYMASK); | 3309 | sigsetmask (SIGEMPTYMASK); |