summaryrefslogtreecommitdiff
path: root/src/bytecode.c
diff options
context:
space:
mode:
authorKarl Heuer <kwzh@gnu.org>1995-07-17 22:09:03 +0000
committerKarl Heuer <kwzh@gnu.org>1995-07-17 22:09:03 +0000
commit6bed930a8b95af2bf6b14f44a02a3a6de117082e (patch)
treed5e3c470204100f65466b528581457b9333aa3d0 /src/bytecode.c
parentf74fa3c8df9ec075f9dc772dd1f60ce527b69306 (diff)
downloademacs-6bed930a8b95af2bf6b14f44a02a3a6de117082e.tar.gz
(Fbyte_code): For Beqlsign, if both args are ints,
compare as ints.
Diffstat (limited to 'src/bytecode.c')
-rw-r--r--src/bytecode.c13
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.")
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: