# HG changeset patch # User Richard M. Stallman # Date 738905904 0 # Node ID 68f28e378f50b16b10cb73c901dd5abe1756f849 # Parent cb9eb3e46e2c73cc6f997d1e3d53c9197538c208 (internal_equal): Don't let ints be equal to floats. diff -r cb9eb3e46e2c -r 68f28e378f50 src/fns.c --- a/src/fns.c Tue Jun 01 03:37:28 1993 +0000 +++ b/src/fns.c Tue Jun 01 03:38:24 1993 +0000 @@ -820,7 +820,9 @@ They must have the same data type.\n\ Conses are compared by comparing the cars and the cdrs.\n\ Vectors and strings are compared element by element.\n\ -Numbers are compared by value. Symbols must match exactly.") +Numbers are compared by value, but integers cannot equal floats.\n\ + (Use `=' if you want integers and floats to be able to be equal.)\n\ +Symbols must match exactly.") (o1, o2) register Lisp_Object o1, o2; { @@ -838,10 +840,8 @@ QUIT; if (EQ (o1, o2)) return Qt; #ifdef LISP_FLOAT_TYPE - if (NUMBERP (o1) && NUMBERP (o2)) - { - return (extract_float (o1) == extract_float (o2)) ? Qt : Qnil; - } + if (FLOATP (o1) && FLOATP (o2)) + return (extract_float (o1) == extract_float (o2)) ? Qt : Qnil; #endif if (XTYPE (o1) != XTYPE (o2)) return Qnil; if (XTYPE (o1) == Lisp_Cons