Subject: bug#17497: The text-mode menu looks very broken in emacs-24

From: Martin Trojer <[email-masked]>
Date: Wed, 18 Mar 2015 16:51:48 +0000

Hello,

I believe that snippet of code was from you :) I simply put that quoted
snipped in the cmgoto function as per your instructions. I'm sure this
isn't the 'right thing to do' since it completely bypasses the switch
statement that tries to do the cheapest cursor move.

For what I can tell from the long discussion this is very hairy bug to
observe and debug. But for some reason that I don't fully understand this
patch solves my re-draw issues.

Also, if you are interested in solving this issue properly, running emacs
inside a VM (in this case Virtualbox) seems to make re-draw issues a lot
more likely and thus perhaps easier to diagnose.

Cheers...

On Wed, Mar 18, 2015 at 4:40 PM, Eli Zaretskii <[email-masked]> wrote:

> > Date: Wed, 18 Mar 2015 11:45:17 +0000
> > From: Martin Trojer <[email-masked]>
> >
> > > I don't think it's memory corruption.  I suspect the problem is
> > > related to the different ways cmgoto chooses to get to the specified
> > > screen coordinates.  If someone on the affected systems could tweak
> > > cmgoto such that only the direct move is used, i.e. this code:
> > >
> > >      p = (dcm == tty->Wcm->cm_habs
> > >           ? tgoto (dcm, row, col)
> > >           : tgoto (dcm, col, row));
> > >      emacs_tputs (tty, p, 1, cmputc);
> > >      curY (tty) = row, curX (tty) = col;
> > >
> > > then perhaps we could see if my suspicions are in the right direction.
> >
> > Hi Eli,
> > I just applied this patch trying to solve a different but related issue (
> https://www.virtualbox.org/ticket/13687).
> > I am happy to report that applying this patch completely solved the
> redrawing issues I was experiencing!
>
> You don't quote the person who wrote the above, so I need to ask you
> who wrote the code.  We need to know to whom to attribute it.
>
> Also, I'd be happier if someone could explain why this is the the
> right thing to do in that place.
>
> Thanks.
>