Mercurial > emacs
diff src/print.c @ 106330:e72085f5ccf5
(print_preprocess): Preprocess the key_and_value table of
hashtables, even tho they're "hidden" (bug#5082).
| author | Stefan Monnier <monnier@iro.umontreal.ca> |
|---|---|
| date | Mon, 30 Nov 2009 21:08:25 +0000 |
| parents | f2cea199b0c4 |
| children | 1d1d5d9bd884 |
line wrap: on
line diff
--- a/src/print.c Mon Nov 30 20:27:44 2009 +0000 +++ b/src/print.c Mon Nov 30 21:08:25 2009 +0000 @@ -1416,6 +1416,13 @@ size &= PSEUDOVECTOR_SIZE_MASK; for (i = 0; i < size; i++) print_preprocess (XVECTOR (obj)->contents[i]); + if (HASH_TABLE_P (obj)) + { /* For hash tables, the key_and_value slot is past + `size' because it needs to be marked specially in case + the table is weak. */ + struct Lisp_Hash_Table *h = XHASH_TABLE (obj); + print_preprocess (h->key_and_value); + } break; default:
