GNU bug report logs - #11199
24.0.95; killing right-to-left text at eob leads to inconsistent state

Previous Next

Package: emacs;

Reported by: YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp>

Date: Sun, 8 Apr 2012 02:28:02 UTC

Severity: normal

Found in version 24.0.95

Done: Eli Zaretskii <eliz <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


Message #59 received at 11199 <at> debbugs.gnu.org (full text, mbox):

From: YAMAMOTO Mitsuharu <mituharu <at> math.s.chiba-u.ac.jp>
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: Michael Welsh Duggan <md5i <at> md5i.com>, 11199 <at> debbugs.gnu.org
Subject: Re: bug#11199: 24.0.95;
	killing right-to-left text at eob leads to inconsistent state
Date: Mon, 09 Apr 2012 17:21:51 +0900
>>>>> On Mon, 09 Apr 2012 00:07:42 +0300, Eli Zaretskii <eliz <at> gnu.org> said:

> Well, it would help if you could find out how does row->end get out
> of sync with row->maxpos, for this specific row.  Both end and
> maxpos are set near the end of display_line, around line 19480 of
> xdisp.c.  They are identical when bidi-display-reordering is turned
> off, but different when it's on (because maxpos-1 gives the largest
> buffer position of the characters in the row, while end-1 gives the
> buffer position of the rightmost character on display).  In this
> case, it looks like row->end came from a totally different screen
> line, the one that was killed by C-k.  I wonder how could that
> happen and which code is responsible.  Perhaps some code tries to
> reuse existing rows, and goofs.

It seems that row->end gets "out of sync" much earlier than C-k,
actually just after C-x C-e in Step 4 in the original recipe.  It is
set at the part you mentioned above in display_line:

 19473	  row->end = it->current;

and it->current has been updated by

 19379		  /* Consume the line end.  This skips over invisible lines.  */
 19380		  set_iterator_to_next (it, 1);

Maybe set_iterator_to_next has skipped too much, or another value
should be set to row->end if the subsequent row starts with some
right-to-left text?

			     YAMAMOTO Mitsuharu
			mituharu <at> math.s.chiba-u.ac.jp




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.