diff options
Diffstat (limited to 'src/bytecode.c')
| -rw-r--r-- | src/bytecode.c | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/src/bytecode.c b/src/bytecode.c index 39e2ae4a434..ac2e3ab1824 100644 --- a/src/bytecode.c +++ b/src/bytecode.c | |||
| @@ -758,7 +758,18 @@ If the third argument is incorrect, Emacs may crash.") | |||
| 758 | v2 = POP; v1 = TOP; | 758 | v2 = POP; v1 = TOP; |
| 759 | CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (v1, 0); | 759 | CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (v1, 0); |
| 760 | CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (v2, 0); | 760 | CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (v2, 0); |
| 761 | TOP = (XFLOATINT (v1) == XFLOATINT (v2)) ? Qt : Qnil; | 761 | #ifdef LISP_FLOAT_TYPE |
| 762 | if (FLOATP (num1) || FLOATP (num2)) | ||
| 763 | { | ||
| 764 | double f1, f2; | ||
| 765 | |||
| 766 | f1 = (FLOATP (v1) ? XFLOAT (v1)->data : XINT (v1)); | ||
| 767 | f2 = (FLOATP (v2) ? XFLOAT (v2)->data : XINT (v2)); | ||
| 768 | TOP = (f1 == f2 ? Qt : Qnil); | ||
| 769 | } | ||
| 770 | else | ||
| 771 | #endif | ||
| 772 | TOP = (XINT (num1) == XINT (num2) ? Qt : Qnil); | ||
| 762 | break; | 773 | break; |
| 763 | 774 | ||
| 764 | case Bgtr: | 775 | case Bgtr: |