diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/data.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/data.c b/src/data.c index 38968359a50..dfc8a892f5e 100644 --- a/src/data.c +++ b/src/data.c | |||
| @@ -3117,12 +3117,14 @@ Both X and Y must be numbers or markers. */) | |||
| 3117 | { | 3117 | { |
| 3118 | CHECK_NUMBER_COERCE_MARKER (x); | 3118 | CHECK_NUMBER_COERCE_MARKER (x); |
| 3119 | CHECK_NUMBER_COERCE_MARKER (y); | 3119 | CHECK_NUMBER_COERCE_MARKER (y); |
| 3120 | if (FLOATP (x) || FLOATP (y)) | ||
| 3121 | return fmod_float (x, y); | ||
| 3120 | 3122 | ||
| 3121 | /* A bignum can never be 0, so don't check that case. */ | 3123 | /* A bignum can never be 0, so don't check that case. */ |
| 3122 | if (EQ (y, make_fixnum (0))) | 3124 | if (EQ (y, make_fixnum (0))) |
| 3123 | xsignal0 (Qarith_error); | 3125 | xsignal0 (Qarith_error); |
| 3124 | 3126 | ||
| 3125 | return (FLOATP (x) || FLOATP (y) ? fmod_float : integer_mod) (x, y); | 3127 | return integer_mod (x, y); |
| 3126 | } | 3128 | } |
| 3127 | 3129 | ||
| 3128 | static Lisp_Object | 3130 | static Lisp_Object |