From 3e0de07fa8dffb0b2ff383f1921d25b916260c21 Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Mon, 30 Nov 2009 21:08:25 +0000 Subject: [PATCH] (print_preprocess): Preprocess the key_and_value table of hashtables, even tho they're "hidden" (bug#5082). --- src/ChangeLog | 7 ++++++- src/print.c | 7 +++++++ 2 files changed, 13 insertions(+), 1 deletion(-) 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: -- 2.39.5