diff options
| author | Tom Tromey | 2018-07-07 22:19:21 -0600 |
|---|---|---|
| committer | Tom Tromey | 2018-07-12 22:12:27 -0600 |
| commit | 8fb995b9e360270b6a4d7b7732a127a6234eba23 (patch) | |
| tree | b2d93630fa1b764c3c098b4869cd05ac9ca574d8 /src/data.c | |
| parent | a770fb44288c75fa2b0471ceaf00bf741376e40f (diff) | |
| download | emacs-8fb995b9e360270b6a4d7b7732a127a6234eba23.tar.gz emacs-8fb995b9e360270b6a4d7b7732a127a6234eba23.zip | |
Make min and max handle bignums
* src/data.c (minmax_driver): Handle bignums.
* test/src/data-tests.el (data-tests-minmax): New test.
Diffstat (limited to 'src/data.c')
| -rw-r--r-- | src/data.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/data.c b/src/data.c index 2e366b5313f..7ded8366e32 100644 --- a/src/data.c +++ b/src/data.c | |||
| @@ -3119,11 +3119,11 @@ minmax_driver (ptrdiff_t nargs, Lisp_Object *args, | |||
| 3119 | enum Arith_Comparison comparison) | 3119 | enum Arith_Comparison comparison) |
| 3120 | { | 3120 | { |
| 3121 | Lisp_Object accum = args[0]; | 3121 | Lisp_Object accum = args[0]; |
| 3122 | CHECK_FIXNUM_OR_FLOAT_COERCE_MARKER (accum); | 3122 | CHECK_NUMBER_COERCE_MARKER (accum); |
| 3123 | for (ptrdiff_t argnum = 1; argnum < nargs; argnum++) | 3123 | for (ptrdiff_t argnum = 1; argnum < nargs; argnum++) |
| 3124 | { | 3124 | { |
| 3125 | Lisp_Object val = args[argnum]; | 3125 | Lisp_Object val = args[argnum]; |
| 3126 | CHECK_FIXNUM_OR_FLOAT_COERCE_MARKER (val); | 3126 | CHECK_NUMBER_COERCE_MARKER (val); |
| 3127 | if (!NILP (arithcompare (val, accum, comparison))) | 3127 | if (!NILP (arithcompare (val, accum, comparison))) |
| 3128 | accum = val; | 3128 | accum = val; |
| 3129 | else if (FLOATP (val) && isnan (XFLOAT_DATA (val))) | 3129 | else if (FLOATP (val) && isnan (XFLOAT_DATA (val))) |