Subject: bug#17386: 24.3.90; emacs_abort in cmcheckmagic

From: Eli Zaretskii <[email-masked]>
Date: Sat, 03 May 2014 10:18:50 +0300

> From: Nicolas Richard <[email-masked]>
> Cc: Nicolas Richard <[email-masked]>,  [email-masked]
> Date: Sat, 03 May 2014 08:56:57 +0200
> 
> Eli Zaretskii <[email-masked]> writes:
> >> Perhaps it was counting lines in the frame that lived in tmux-over-gdb
> >> (tmux uses one line). Would that make sense ?
> >
> > Sorry, I have no idea what tmux-over-gdb can do to that.  I'd be
> > surprised if it changed Emacs's idea of screen dimensions, though.
> 
> tmux shows some sort of status line, which means that the client
> (emacs-in-gdb in my case) sees one line less.
> 
> I tried this experiment in a maximized gnome-terminal on my laptop:
> $ gdb emacs
> (gdb) r -nw -Q
> hit: C-z
> (gdb) p FrameRows(current_tty)
> $1 = 43
> 
> now with tmux, still in a maximized gnome-terminal :
> $ tmux # this will show a "status line" from tmux in gnome-terminal
> $ gdb emacs
> (gdb) r -nw -Q
> hit: C-z
> (gdb) p FrameRows(current_tty)
> $1 = 42
> 
> So it does change the screen dimensions.

OK, so evidently tmux reduces the screen dimensions _before_ Emacs
starts, in which case yes, the 1-off difference is probably due to
that factor, and shouldn't be causing any trouble.

So perhaps the problem is that Emacs takes the screen dimensions only
at startup and when it gets the SIGWINCH signal, and tmux somehow
makes these changes without sending SIGWINCH?