diff --git a/src/ChangeLog b/src/ChangeLog index 0e8d8f6961a2ae491b4892b548dc95bc3ae6c0df..e416284200861ea549d34f0d611e5fb3e04bb691 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,5 +1,7 @@ 2009-08-15 Chong Yidong + * xdisp.c (pop_it): Don't pop into a display vector (Bug#4131). + * buffer.c (set_buffer_internal_1) (swap_out_buffer_local_variables): Check for unbound local variables (Bug#4138). diff --git a/src/xdisp.c b/src/xdisp.c index 33cd722e6b4184236ca791945f4a9b1ce264d643..a13463555d6501ab82448e99d1c05a7fbfe99606 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -5167,6 +5167,16 @@ pop_it (it) case GET_FROM_STRING: it->object = it->string; break; + case GET_FROM_DISPLAY_VECTOR: + if (it->s) + it->method = GET_FROM_C_STRING; + else if (STRINGP (it->string)) + it->method = GET_FROM_STRING; + else + { + it->method = GET_FROM_BUFFER; + it->object = it->w->buffer; + } } it->end_charpos = p->end_charpos; it->string_nchars = p->string_nchars;