From 6bed930a8b95af2bf6b14f44a02a3a6de117082e Mon Sep 17 00:00:00 2001 From: Karl Heuer Date: Mon, 17 Jul 1995 22:09:03 +0000 Subject: (Fbyte_code): For Beqlsign, if both args are ints, compare as ints. --- src/bytecode.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'src/bytecode.c') 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.") v2 = POP; v1 = TOP; CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (v1, 0); CHECK_NUMBER_OR_FLOAT_COERCE_MARKER (v2, 0); - TOP = (XFLOATINT (v1) == XFLOATINT (v2)) ? Qt : Qnil; +#ifdef LISP_FLOAT_TYPE + if (FLOATP (num1) || FLOATP (num2)) + { + double f1, f2; + + f1 = (FLOATP (v1) ? XFLOAT (v1)->data : XINT (v1)); + f2 = (FLOATP (v2) ? XFLOAT (v2)->data : XINT (v2)); + TOP = (f1 == f2 ? Qt : Qnil); + } + else +#endif + TOP = (XINT (num1) == XINT (num2) ? Qt : Qnil); break; case Bgtr: -- cgit v1.2.1