aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorEli Zaretskii2013-06-09 19:37:22 +0300
committerEli Zaretskii2013-06-09 19:37:22 +0300
commit52fab9c9b8d690de6e8754995c0027767d356146 (patch)
treef7ab231ad82c10ccb14c8be8abf51fbda1cee1ec /src
parentbf77e2305f392b966805fb7b080570911468709b (diff)
downloademacs-52fab9c9b8d690de6e8754995c0027767d356146.tar.gz
emacs-52fab9c9b8d690de6e8754995c0027767d356146.zip
Fix bug #14575 with window-specific overlays with line-prefix or wrap-prefix.
src/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.
Diffstat (limited to 'src')
-rw-r--r--src/ChangeLog6
-rw-r--r--src/xdisp.c13
2 files changed, 14 insertions, 5 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index cf5a8c0ee1e..06b738e5043 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
12013-06-09 Eli Zaretskii <eliz@gnu.org>
2
3 * xdisp.c (get_it_property): If it->object is a buffer, pass to
4 get-char-property the window that is being rendered, instead of
5 the buffer, to support window-specific overlays. (Bug#14575)
6
12013-06-08 Eli Zaretskii <eliz@gnu.org> 72013-06-08 Eli Zaretskii <eliz@gnu.org>
2 8
3 * bidi.c (bidi_fetch_char): Accept additional argument, the window 9 * bidi.c (bidi_fetch_char): Accept additional argument, the window
diff --git a/src/xdisp.c b/src/xdisp.c
index 5ec72407191..2097929128b 100644
--- a/src/xdisp.c
+++ b/src/xdisp.c
@@ -18971,16 +18971,19 @@ push_prefix_prop (struct it *it, Lisp_Object prop)
18971static Lisp_Object 18971static Lisp_Object
18972get_it_property (struct it *it, Lisp_Object prop) 18972get_it_property (struct it *it, Lisp_Object prop)
18973{ 18973{
18974 Lisp_Object position; 18974 Lisp_Object position, object = it->object;
18975 18975
18976 if (STRINGP (it->object)) 18976 if (STRINGP (object))
18977 position = make_number (IT_STRING_CHARPOS (*it)); 18977 position = make_number (IT_STRING_CHARPOS (*it));
18978 else if (BUFFERP (it->object)) 18978 else if (BUFFERP (object))
18979 position = make_number (IT_CHARPOS (*it)); 18979 {
18980 position = make_number (IT_CHARPOS (*it));
18981 XSETWINDOW (object, it->w);
18982 }
18980 else 18983 else
18981 return Qnil; 18984 return Qnil;
18982 18985
18983 return Fget_char_property (position, prop, it->object); 18986 return Fget_char_property (position, prop, object);
18984} 18987}
18985 18988
18986/* See if there's a line- or wrap-prefix, and if so, push it on IT. */ 18989/* See if there's a line- or wrap-prefix, and if so, push it on IT. */