From: Eli Zaretskii Date: Sun, 9 Jun 2013 16:49:07 +0000 (+0300) Subject: Fix current-bidi-paragraph-direction wrt window pointer. X-Git-Tag: emacs-24.3.90~173^2^2~42^2~45^2~387^2~2026^2~26 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=ad257d4f6c67ff216a1944acde6e9cf740922ae8;p=emacs.git 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. --- 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 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);