+2013-06-09 Eli Zaretskii <eliz@gnu.org>
+
+ * xdisp.c (get_it_property): If it->object is a buffer, pass to
+ get-char-property the window that is being rendered, instead of
+ the buffer, to support window-specific overlays. (Bug#14575)
+
2013-06-08 Eli Zaretskii <eliz@gnu.org>
* bidi.c (bidi_fetch_char): Accept additional argument, the window
static Lisp_Object
get_it_property (struct it *it, Lisp_Object prop)
{
- Lisp_Object position;
+ Lisp_Object position, object = it->object;
- if (STRINGP (it->object))
+ if (STRINGP (object))
position = make_number (IT_STRING_CHARPOS (*it));
- else if (BUFFERP (it->object))
- position = make_number (IT_CHARPOS (*it));
+ else if (BUFFERP (object))
+ {
+ position = make_number (IT_CHARPOS (*it));
+ XSETWINDOW (object, it->w);
+ }
else
return Qnil;
- return Fget_char_property (position, prop, it->object);
+ return Fget_char_property (position, prop, object);
}
/* See if there's a line- or wrap-prefix, and if so, push it on IT. */