Ar an séú lá is fiche de mí Iúil, scríobh Stephen J. Turnbull:
> Hi, Aidan
>
> With --error-checking=structures in r7130, I'm getting this crash in
> symbol-tests:
>
> Fatal error: assertion failed, file /Users/steve/src/XEmacs/21.5/local/src/elhash.c, line 1892, NILP (reloc) || (EQ (Vequal_hash_table_test, ht->test) && !memcmp (XSTRING_DATA (reloc), str, len))
> make[1]: *** [check] Abort trap: 6
> make: *** [check] Error 2
>
> I've verified that r7128 does not crash and r7129 does, and the part
> of the test that's failing is
>
> EQ (Vequal_hash_table_test, ht->test)
>
> Any ideas? If not, any other information I can give you that helps?
Yes, the changes I made to bring case-insensitive packages closer to prime
time didn’t take that assertion into account. Thanks for sending on the
report.
APPROVE COMMIT
NOTE: This patch has been committed
# HG changeset patch
# User Aidan Kehoe <kehoea(a)parhasard.net>
# Date 1564305428 -3600
# Sun Jul 28 10:17:08 2019 +0100
# Node ID 3ca291c0f7e3ffa1016435150bff036219cf8ab9
# Parent 30910ee1cf8ced871fbd83ddd0c7039fb29aa425
Correct an assertion with case-insensitive packages, elhash.c
src/ChangeLog addition:
2019-07-28 Aidan Kehoe <kehoea(a)parhasard.net>
* elhash.c (intern_istring):
Correct an assertion here that didn't take into account
case-insensitive packages, thank you Stephen!
diff -r 30910ee1cf8c -r 3ca291c0f7e3 src/ChangeLog
--- a/src/ChangeLog Tue Jun 18 10:37:46 2019 +0100
+++ b/src/ChangeLog Sun Jul 28 10:17:08 2019 +0100
@@ -1,3 +1,9 @@
+2019-07-28 Aidan Kehoe <kehoea(a)parhasard.net>
+
+ * elhash.c (intern_istring):
+ Correct an assertion here that didn't take into account
+ case-insensitive packages, thank you Stephen!
+
2019-06-18 Aidan Kehoe <kehoea(a)parhasard.net>
* emacs.c (main_1):
diff -r 30910ee1cf8c -r 3ca291c0f7e3 src/elhash.c
--- a/src/elhash.c Tue Jun 18 10:37:46 2019 +0100
+++ b/src/elhash.c Sun Jul 28 10:17:08 2019 +0100
@@ -1888,6 +1888,7 @@
#ifdef ERROR_CHECK_STRUCTURES
assert (HTENTRY_CLEAR_P (probe));
assert (NILP (reloc) ||
+ EQ (Vequalp_hash_table_test, ht->test) ||
(EQ (Vequal_hash_table_test, ht->test)
&& !memcmp (XSTRING_DATA (reloc), str, len)));
#endif
--
‘As I sat looking up at the Guinness ad, I could never figure out /
How your man stayed up on the surfboard after forty pints of stout’
(C. Moore)