GNU bug report logs - #13864
24.3.50; emacsclient -t loops when connected to emacs server running in X11

Previous Next

Package: emacs;

Reported by: Ashish SHUKLA <ashish.is <at> lostca.se>

Date: Mon, 4 Mar 2013 00:15:01 UTC

Severity: normal

Found in version 24.3.50

Done: Glenn Morris <rgm <at> gnu.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: ashish.is <at> lostca.se (Ashish SHUKLA)
To: Eli Zaretskii <eliz <at> gnu.org>
Cc: 13864 <at> debbugs.gnu.org
Subject: bug#13864: 24.3.50; emacsclient -t loops when connected to emacs server running in X11
Date: Fri, 08 Mar 2013 15:38:30 +0530
[Message part 1 (text/plain, inline)]
On Thu, 07 Mar 2013 14:48:20 +0200, Eli Zaretskii <eliz <at> gnu.org> said:
>> From: ashish.is <at> lostca.se (Ashish SHUKLA)
>> Cc: 13864 <at> debbugs.gnu.org
>> 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

I later added a 'continue' in here as Breakpoint 6 in the output.

>> 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.

Not sure if the attached gdb output is any useful. Here is what I did:

- emacs -Q 
- M-x server-start
- gdb stuff, breakpoints + loading .gdbinit
- Started an xterm of dimensions (maybe 20-25 rows)
- emacsclient -t
- key presses (none of them is C-x C-f)
- Breakpoint 1 being hit and requiring me to type 'cont' on every hit
- After some 'cont' inputs, I deleted it, and re-added it as Breakpoint 6 with
 'continue' as mentioned above.
- Breakpoint 6 being continuously hit
- C-x 5 0 in emacsclient window
- appended '====EMACSCLIENT STOPPED====' to logfile
- emacsclient -t
- Breakpoint 6 being hit
- I resized window to 4-5 rows in an effort to reduce no. of redraw messages
- Killed gdb after 2 minutes, which killed emacs.

Let me know if you need more information.

Thanks
-- 
Ashish SHUKLA

“Tous pour un, un pour tous, c'est notre devise” (Alexandre Dumas, père, "Les
Trois Mousquetaires", 1844)

Sent from my Emacs
[gdb.txt.xz (application/octet-stream, attachment)]
[Message part 3 (application/pgp-signature, inline)]

This bug report was last modified 12 years and 40 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.