# HG changeset patch # User Stefan Monnier # Date 1259615305 0 # Node ID e72085f5ccf505ee8f7fab4248bcc0a2ef9d55fa # Parent 1328c6aa3dec5702f89312e5549746db74506b81 (print_preprocess): Preprocess the key_and_value table of hashtables, even tho they're "hidden" (bug#5082). diff -r 1328c6aa3dec -r e72085f5ccf5 src/ChangeLog --- 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 + + * 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 -r 1328c6aa3dec -r e72085f5ccf5 src/print.c --- 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: