diff options
| author | Eli Zaretskii | 2013-06-09 19:37:22 +0300 |
|---|---|---|
| committer | Eli Zaretskii | 2013-06-09 19:37:22 +0300 |
| commit | 52fab9c9b8d690de6e8754995c0027767d356146 (patch) | |
| tree | f7ab231ad82c10ccb14c8be8abf51fbda1cee1ec /src | |
| parent | bf77e2305f392b966805fb7b080570911468709b (diff) | |
| download | emacs-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/ChangeLog | 6 | ||||
| -rw-r--r-- | src/xdisp.c | 13 |
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 @@ | |||
| 1 | 2013-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 | |||
| 1 | 2013-06-08 Eli Zaretskii <eliz@gnu.org> | 7 | 2013-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) | |||
| 18971 | static Lisp_Object | 18971 | static Lisp_Object |
| 18972 | get_it_property (struct it *it, Lisp_Object prop) | 18972 | get_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. */ |