diff options
| author | Paul Eggert | 2020-01-07 11:23:11 -0800 |
|---|---|---|
| committer | Paul Eggert | 2020-01-07 11:29:42 -0800 |
| commit | 724af7671590cd91df37f64df6be73f6dca0144d (patch) | |
| tree | 075df63dcdc3653ff710ce49a5f238c165d0f0c1 /src/lisp.h | |
| parent | f950b078a6f2fd011312e9471998edf6b5fb957e (diff) | |
| download | emacs-724af7671590cd91df37f64df6be73f6dca0144d.tar.gz emacs-724af7671590cd91df37f64df6be73f6dca0144d.zip | |
Fix sxhash-equal on bytecodes, markers, etc.
Problem reported by Pip Cet (Bug#38912#14).
* doc/lispref/objects.texi (Equality Predicates):
Document better when ‘equal’ looks inside objects.
* doc/lispref/windows.texi (Window Configurations):
Don’t say that ‘equal’ looks inside window configurations.
* etc/NEWS: Mention the change.
* src/fns.c (internal_equal):
Do not look inside window configurations.
(sxhash_obj): Hash markers, byte-code function objects,
char-tables, and font objects consistently with Fequal.
* src/window.c (compare_window_configurations):
Now static. Remove last argument. Caller changed.
* test/lisp/ffap-tests.el (ffap-other-window--bug-25352):
Use compare-window-configurations, not ‘equal’.
* test/src/fns-tests.el (test-sxhash-equal): New test.
Diffstat (limited to 'src/lisp.h')
| -rw-r--r-- | src/lisp.h | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lisp.h b/src/lisp.h index 1a1ae0399be..3681b7b2a7c 100644 --- a/src/lisp.h +++ b/src/lisp.h | |||
| @@ -1069,7 +1069,7 @@ DEFINE_GDB_SYMBOL_END (PSEUDOVECTOR_FLAG) | |||
| 1069 | with PVEC_TYPE_MASK to indicate the actual type. */ | 1069 | with PVEC_TYPE_MASK to indicate the actual type. */ |
| 1070 | enum pvec_type | 1070 | enum pvec_type |
| 1071 | { | 1071 | { |
| 1072 | PVEC_NORMAL_VECTOR, | 1072 | PVEC_NORMAL_VECTOR, /* Should be first, for sxhash_obj. */ |
| 1073 | PVEC_FREE, | 1073 | PVEC_FREE, |
| 1074 | PVEC_BIGNUM, | 1074 | PVEC_BIGNUM, |
| 1075 | PVEC_MARKER, | 1075 | PVEC_MARKER, |
| @@ -1094,7 +1094,7 @@ enum pvec_type | |||
| 1094 | PVEC_CONDVAR, | 1094 | PVEC_CONDVAR, |
| 1095 | PVEC_MODULE_FUNCTION, | 1095 | PVEC_MODULE_FUNCTION, |
| 1096 | 1096 | ||
| 1097 | /* These should be last, check internal_equal to see why. */ | 1097 | /* These should be last, for internal_equal and sxhash_obj. */ |
| 1098 | PVEC_COMPILED, | 1098 | PVEC_COMPILED, |
| 1099 | PVEC_CHAR_TABLE, | 1099 | PVEC_CHAR_TABLE, |
| 1100 | PVEC_SUB_CHAR_TABLE, | 1100 | PVEC_SUB_CHAR_TABLE, |