GNU bug report logs -
#11199
24.0.95; killing right-to-left text at eob leads to inconsistent state
Previous Next
Full log
Message #83 received at 11199 <at> debbugs.gnu.org (full text, mbox):
> From: Michael Welsh Duggan <md5i <at> md5i.com>
> Cc: mituharu <at> math.s.chiba-u.ac.jp, 11199 <at> debbugs.gnu.org
> Date: Mon, 09 Apr 2012 08:18:10 -0400
>
> > === modified file 'src/xdisp.c'
> > --- src/xdisp.c 2012-03-31 19:30:53 +0000
> > +++ src/xdisp.c 2012-04-09 11:46:50 +0000
> > @@ -16602,7 +16602,15 @@ find_last_unchanged_at_beg_row (struct w
> > continued. */
> > && !(MATRIX_ROW_END_CHARPOS (row) == first_changed_pos
> > && (row->continued_p
> > - || row->exact_window_width_line_p)))
> > + || row->exact_window_width_line_p))
> > + /* If ROW->end is beyond ZV, then ROW->end is outdated and
> > + needs to be recomputed, so don't consider this row as
> > + unchanged. This happens when the last line was
> > + bidi-reordered and was killed immediately before this
> > + redisplay cycle. In that case, ROW->end stores the
> > + buffer position of the first visual-order character of
> > + the next row, which is now beyond ZV. */
> > + && CHARPOS (row->end.pos) <= ZV)
> > row_found = row;
> >
> > /* Stop if last visible row. */
> >
>
> I can verify that this patch keeps the original recipe from causing
> Emacs to crash. Everything looks good for now.
Thanks, I installed this as revision 107792 on the emacs-24 branch. I
will wait for Yamamoto-san to confirm that this fixes his problem as
well, before I close this bug.
Thank you both for your great help in solving this bug.
This bug report was last modified 13 years and 40 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.