Subject: Re: bug#13864: 24.3.50; emacsclient -t loops when connected to emacs server running in X11

From: Eli Zaretskii <[email-masked]>
Date: Thu, 07 Mar 2013 14:48:20 +0200

> From: [email-masked] (Ashish SHUKLA)
> Cc: [email-masked]
> Date: Thu, 07 Mar 2013 15:49:55 +0530
> 
> >     (gdb) set pagination off
> > or
> >     (gdb) set height 0
> 
> > will do that.
> 
> Thanks
> 
> Let me know if you need anything else or like me to test something.

Another trick that potentially avoids some work is this:

 (gdb) set logging on

This will cause GDB to put all of its output on a file named gdb.txt,
so you don't need to copy-paste from your screen into the mail
messages.  (Caveat: this does not show what _you_ type at GDB's
prompt, only the GDB responses.)

What I need now is the output of several times the following
breakpoint is hit:

  (gdb) break dispnew.c:4509
  (gdb) commands
   > p i
   > p desired_matrix->nrows
   > if i < desired_matrix->nrows
    > pgrowx desired_matrix->rows+i
    > end
   > end

Also, let's see if scrolling_1 is ever called:

  (gdb) break scrolling_1
  (gdb) commands
   > continue
   > end
  (gdb)

The goal is to understand why Emacs is redrawing the display although
nothing on display changes.  There's some convoluted code in
update_frame_line, a subroutine of update_frame_1, which attempts to
find the differences between the current line on display and what
should be on the current line, and only redraw the part(s) that
changed.  I'd expect that code to figure out that nothing needs to be
redrawn in this case, but somehow it fails, I don't yet see why.