diff options
| author | Eli Zaretskii <eliz@gnu.org> | 2013-06-09 19:49:07 +0300 |
|---|---|---|
| committer | Eli Zaretskii <eliz@gnu.org> | 2013-06-09 19:49:07 +0300 |
| commit | ad257d4f6c67ff216a1944acde6e9cf740922ae8 (patch) | |
| tree | e17842bf53653ac545d60690535be4fc5923c6e9 /src | |
| parent | 52fab9c9b8d690de6e8754995c0027767d356146 (diff) | |
| download | emacs-ad257d4f6c67ff216a1944acde6e9cf740922ae8.tar.gz | |
Fix current-bidi-paragraph-direction wrt window pointer.
src/xdisp.c (compute_display_string_pos): When W is NULL, use the current
buffer as the object to pass to get-char-property.
(Fcurrent_bidi_paragraph_direction): Assign NULL to the window
pointer member of the bidi iterator, since no window is pertinent
to this function.
Diffstat (limited to 'src')
| -rw-r--r-- | src/ChangeLog | 5 | ||||
| -rw-r--r-- | src/xdisp.c | 8 |
2 files changed, 10 insertions, 3 deletions
diff --git a/src/ChangeLog b/src/ChangeLog index 06b738e5043..94c5f76a76d 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -3,6 +3,11 @@ * 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) + (compute_display_string_pos): When W is NULL, use the current + buffer as the object to pass to get-char-property. + (Fcurrent_bidi_paragraph_direction): Assign NULL to the window + pointer member of the bidi iterator, since no window is pertinent + to this function. 2013-06-08 Eli Zaretskii <eliz@gnu.org> diff --git a/src/xdisp.c b/src/xdisp.c index 2097929128b..5edd4bbbc5f 100644 --- a/src/xdisp.c +++ b/src/xdisp.c @@ -3509,9 +3509,8 @@ compute_display_string_pos (struct text_pos *position, if (string && STRINGP (string->lstring)) object1 = object = string->lstring; - else if (!string_p) + else if (w && !string_p) { - eassert (w != NULL); XSETWINDOW (object, w); object1 = Qnil; } @@ -20013,7 +20012,10 @@ See also `bidi-paragraph-direction'. */) itb.string.lstring = Qnil; itb.string.bufpos = 0; itb.string.unibyte = 0; - itb.w = XWINDOW (selected_window); + /* We have no window to use here for ignoring window-specific + overlays. Using NULL for window pointer will cause + compute_display_string_pos to use the current buffer. */ + itb.w = NULL; bidi_paragraph_init (NEUTRAL_DIR, &itb, 1); bidi_unshelve_cache (itb_data, 0); set_buffer_temp (old); |
