Subject: Re: bug#11199: 24.0.95; killing right-to-left text at eob leads to inconsistent state

From: Eli Zaretskii <[email-masked]>
Date: Sun, 08 Apr 2012 23:03:07 +0300

> From: Michael Welsh Duggan <[email-masked]>
> Cc: YAMAMOTO Mitsuharu <[email-masked]>,  [email-masked]
> Date: Sun, 08 Apr 2012 14:28:03 -0400
> 
> Eli Zaretskii <[email-masked]> writes:
> 
> >> Date: Sun, 08 Apr 2012 11:26:41 +0900
> >> From: YAMAMOTO Mitsuharu <[email-masked]>
> >> 
> >> Steps to reproduce:
> >> 
> >> 1. emacs -Q
> >> 2. type the following text in the *scratch* buffer:
> >> 
> >>   (progn
> >>     (delete-region (point) (point-max))
> >>     (insert (substring (get-language-info "Hebrew" 'sample-text) 7)))
> >> 
> >> 3. move the cursor to the beginning of the next line of the above text.
> >> 4. C-x C-e
> >> 5. C-a
> >> 6. C-k
> >> 
> >> Result:
> >> 
> >> The Hebrew text is still shown, though it is internally killed.
> >> Typing C-p after the last step does not move the cursor.
> >
> > I cannot reproduce this with today's bzr, neither in the emacs-24
> > release branch nor with the trunk version.  I cannot run a GUI session
> > with a GTK build on GNU/Linux where I'm typing this, but I tried GUI
> > and TTY sessions on MS-Windows and a TTY session on GNU/Linux, and
> > they all work correctly: the Hebrew text is killed and C-p works as
> > expected.  (Btw, did you mean C-p or C-n?)
> >
> > Can you try reproducing this in a clean build, or on another system?
> >
> > Also, what happens on the system where you see the problem, if you
> > switch to another buffer and then back to *scratch*, so that it is
> > completely redrawn? does the killed text re-appear or not?
> >
> > Thanks.
> 
> I have assertions turned on and get an assertion failure.  My setup is
> as follows:

With the above recipe?  Or with something different?

I have assertions turned on all the time, and I still cannot reproduce
this.  Maybe I don't understand the recipe; can you describe exactly
where and how you type the Lisp code, and where you put the cursor
before "C-x C-e"?

In any case, please go to this frame:

  #4  0x080a82f0 in try_window_id (w=0x88e30d0) at xdisp.c:17140

and type:

 (gdb) pgrowx last_unchanged_at_beg_row
 (gdb) prowlims last_unchanged_at_beg_row

then post here everything printed by GDB.  (These commands are
available only if you start GDB from the src directory; if not, type
"source /path/to/emacs/src/.gdbinit" before them.)

TIA