diff options
| -rw-r--r-- | src/fns.c | 6 |
1 files changed, 6 insertions, 0 deletions
| @@ -4224,6 +4224,12 @@ hash_table_rehash (struct Lisp_Hash_Table *h) | |||
| 4224 | { | 4224 | { |
| 4225 | ptrdiff_t size = HASH_TABLE_SIZE (h); | 4225 | ptrdiff_t size = HASH_TABLE_SIZE (h); |
| 4226 | 4226 | ||
| 4227 | /* These structures may have been purecopied and shared | ||
| 4228 | (bug#36447). */ | ||
| 4229 | h->next = Fcopy_sequence (h->next); | ||
| 4230 | h->index = Fcopy_sequence (h->index); | ||
| 4231 | h->hash = Fcopy_sequence (h->hash); | ||
| 4232 | |||
| 4227 | /* Recompute the actual hash codes for each entry in the table. | 4233 | /* Recompute the actual hash codes for each entry in the table. |
| 4228 | Order is still invalid. */ | 4234 | Order is still invalid. */ |
| 4229 | for (ptrdiff_t i = 0; i < size; ++i) | 4235 | for (ptrdiff_t i = 0; i < size; ++i) |