; More accurate text about how `equal` compares various objects
authorMattias Engdegård <mattiase@acm.org>
Sat, 31 Aug 2024 16:39:46 +0000 (18:39 +0200)
committerMattias Engdegård <mattiase@acm.org>
Sat, 31 Aug 2024 16:39:46 +0000 (18:39 +0200)
* doc/lispref/objects.texi (Equality Predicates):
Attempt at improving the text further (bug#72888).

doc/lispref/objects.texi

index 399a1d169c262de2fc232edd1aca2c8dbf7ec005..34ea7cf4996b3b0c148a2519612ad71081b2a504 100644 (file)
@@ -2413,10 +2413,12 @@ the converse is not always true.
 @end group
 @end example
 
-The @code{equal} function recursively compares the contents of objects
-if they are integers, strings, markers, lists, cons cells, vectors,
-bool-vectors, byte-code function objects, char-tables, records, or font
-objects.
+The @code{equal} function compares strings and bool-vectors by value.
+Numbers are compared by type and numeric value, using @code{eql}.
+Lists, cons cells, vectors, records, markers, char-tables, font objects,
+and function objects (closures)@footnote{However, equality of distinct
+function objects cannot be guaranteed in general.} are compared
+recursively by using @code{equal} on their constituent parts.
 
 Comparison of strings is case-sensitive, but does not take account of
 text properties---it compares only the characters in the strings.