]> git.eshelyaron.com Git - emacs.git/commitdiff
Fix current-bidi-paragraph-direction wrt window pointer.
authorEli Zaretskii <eliz@gnu.org>
Sun, 9 Jun 2013 16:49:07 +0000 (19:49 +0300)
committerEli Zaretskii <eliz@gnu.org>
Sun, 9 Jun 2013 16:49:07 +0000 (19:49 +0300)
 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.

src/ChangeLog
src/xdisp.c

index 06b738e50435d3fbcbfac39f5c1305846f05450d..94c5f76a76dc33f15c038b19542d48ccdefeac14 100644 (file)
@@ -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>
 
index 2097929128b6445bf3db5eedce0f21f832a95ad0..5edd4bbbc5f335146be16b291fa904c57af6aa13 100644 (file)
@@ -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);