On the "#<freed cell 0x40b66060; GC missed a reference>" bug reported a while ago, I now think the problem is in symbols.c, in the function scm_mem2symbol, and involves the call of scm_i_rehash. If I gc-protect the symbol referred to in the error message (via scm_permanent_object), or if I comment out the rehash, everything is fine. I notice that if the symbol table is drastically reduced in size (after closing a large let, for example), the dead entries may not always be removed; a subsequent gc leaves the cells in the symbol table, and scm_cell or someone then reallocates them as a number, or whatever, so you end up with a symbol table full of non-symbols, causing havoc for "apropos". Unfortunately, I have not yet found a simple case.
_______________________________________________ Bug-guile mailing list [EMAIL PROTECTED] http://mail.gnu.org/mailman/listinfo/bug-guile
