Subject: Re: bug#71289: 30.0.50; cmcheckmagic aborts when tty_write_glyphs writes "Garbage collecting..." in some cases

From: Eli Zaretskii <[email-masked]>
Date: Fri, 31 May 2024 21:17:50 +0300

> From: Daniel Clemente <[email-masked]>
> Date: Fri, 31 May 2024 17:07:45 +0000
> Cc: [email-masked]
> 
> > Thanks, but these backtraces are not enough, because they don't
> > explain why was emacs_abort called.  We need to see all the values
> > involved in this condition:
> >
> >  if (curX (tty) == FrameCols (tty))
> >    {
> >      if (!MagicWrap (tty) || curY (tty) >= FrameRows (tty) - 1) <<<<<<<<<<<
> >        emacs_abort ();
> 
> 
> These were the variables just before emacs_abort, and (abort==1) when aborting.
> 
> At point cmcheckmagic, ¿abort? 0. MagicWrap 1, curY 0, vs. 3 - 1. Now
> tty has 3 rows, 14 cols
> At point cmcheckmagic, ¿abort? 0. MagicWrap 1, curY 1, vs. 3 - 1. Now
> tty has 3 rows, 14 cols
> At point cmcheckmagic, ¿abort? 1. MagicWrap 1, curY 3, vs. 3 - 1. Now
> tty has 3 rows, 14 cols

So you are saying that the terminal lies to us?  It has 3 rows, but
somehow wraps the cursor to the 4th row?  What are the window and
frame dimensions at this point?