diff options
author | Karl Heuer <kwzh@gnu.org> | 1995-07-17 22:09:03 +0000 |
---|---|---|
committer | Karl Heuer <kwzh@gnu.org> | 1995-07-17 22:09:03 +0000 |
commit | 6bed930a8b95af2bf6b14f44a02a3a6de117082e (patch) | |
tree | d5e3c470204100f65466b528581457b9333aa3d0 /src/bytecode.c | |
parent | f74fa3c8df9ec075f9dc772dd1f60ce527b69306 (diff) | |
download | emacs-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.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.") 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: |