changeset 104281:222761334e34

* xdisp.c (pop_it): Don't pop into a display vector (Bug#4131).
author Chong Yidong <cyd@stupidchicken.com>
date Sat, 15 Aug 2009 17:30:18 +0000
parents 52ff955e0cc5
children e78ba806456a
files src/ChangeLog src/xdisp.c
diffstat 2 files changed, 12 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/src/ChangeLog	Sat Aug 15 14:06:02 2009 +0000
+++ b/src/ChangeLog	Sat Aug 15 17:30:18 2009 +0000
@@ -1,5 +1,7 @@
 2009-08-15  Chong Yidong  <cyd@stupidchicken.com>
 
+	* 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).
--- a/src/xdisp.c	Sat Aug 15 14:06:02 2009 +0000
+++ b/src/xdisp.c	Sat Aug 15 17:30:18 2009 +0000
@@ -5167,6 +5167,16 @@
     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;