From: Stefan Monnier Date: Mon, 30 Nov 2009 21:08:25 +0000 (+0000) Subject: (print_preprocess): Preprocess the key_and_value table of X-Git-Tag: emacs-pretest-23.1.90~160 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=3e0de07fa8dffb0b2ff383f1921d25b916260c21;p=emacs.git (print_preprocess): Preprocess the key_and_value table of hashtables, even tho they're "hidden" (bug#5082). --- diff --git a/src/ChangeLog b/src/ChangeLog index 7d5525c781e..4d539a30861 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,8 @@ +2009-11-30 Stefan Monnier + + * 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 * 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. diff --git a/src/print.c b/src/print.c index a011cb885fa..764572fedfc 100644 --- a/src/print.c +++ b/src/print.c @@ -1416,6 +1416,13 @@ print_preprocess (obj) 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: