Mercurial > emacs
changeset 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 | 1328c6aa3dec |
children | 1c9648ddfd5e |
files | src/ChangeLog src/print.c |
diffstat | 2 files changed, 13 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/src/ChangeLog Mon Nov 30 20:27:44 2009 +0000 +++ b/src/ChangeLog Mon Nov 30 21:08:25 2009 +0000 @@ -1,3 +1,8 @@ +2009-11-30 Stefan Monnier <monnier@iro.umontreal.ca> + + * print.c (print_preprocess): Preprocess the key_and_value table of + hashtables, even tho they're "hidden" (bug#5082). + 2009-11-29 Jan Djärv <jan.h.d@swipnet.se> * frame.c (frame_make_pointer_invisible) @@ -16,7 +21,7 @@ * xterm.c (x_delete_terminal): Set dpyinfo->display to NULL. * frame.c (frame_make_pointer_invisible) - (frame_make_pointer_visible): Just return if there isn't any selected + (frame_make_pointer_visible): Just return if there isn't any selected frame. * search.c (simple_search): Remove warning by making *p const.
--- 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: