GNU bug report logs -
#13864
24.3.50; emacsclient -t loops when connected to emacs server running in X11
Previous Next
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
Message #59 received at 13864 <at> debbugs.gnu.org (full text, mbox):
[Message part 1 (text/plain, inline)]
On Fri, 15 Mar 2013 11:39:34 +0200, Eli Zaretskii <eliz <at> gnu.org> said:
>> From: ashish.is <at> lostca.se (Ashish SHUKLA)
>> Cc: 13864 <at> debbugs.gnu.org
>> Date: Wed, 13 Mar 2013 14:30:05 +0530
[...]
>> I don't know what you meant by mouse active. FTR, I don't use
>> "xterm-mouse-mode" in my .emacs.d/init.el nor the -Q config has that, if
>> that's what you're implying. Emacs instance in xterm doesn't have any effect
>> of mouse in it. The tooltip is courtesy some spurious key-presses during
>> debugging..
> That's strange, I'm probably missing something. Not terribly
> important (it's tangential to the issue I'm hunting with your GDB
> collected data), but could you give me a recipe to cause such a
> tooltip in the xterm frame by some key-press?
Sure, you set a breakpoint to some function which gets invoked as 'emacsclient
-t' starts, like update_frame_line, but forgot to add 'cont' to the list of
commands. And then you forgot that you didn't add 'cont' and starts
'emacsclient -t' and start typing (like some arrow key) without noticing that
'emacsclient' frame has yet to appear on the screen. Now look at gdb window,
breakpoint must have it, do 'cont' there so that emacsclient starts, and now
you'll see some characters in buffer, with "End of buffer" message in
minibuffer (tooltip).
[...]
> To answer the last questions, please use the following GDB setup.
> (Please verify the line numbers before you set each breakpoint, in
> case your sources are slightly different from what I'm using to write
> this message.)
FTR, I'm still running r111924 for this debugging to avoid adding more
variables.
[...]
> This is certainly a lot of typing, so I suggest to put it all (sans
> the "(gdb)" and ">" parts) in a file, and then "source that-file" from
> inside GDB. This way, you will be able to repeat the experiment
> without going through the pain of retyping it all again. (Don't
> forget adding to that file "set logging on" and a breakpoint on
> Fredraw_display.)
Done.
> Once you are set up in GDB, make Emacs flicker, and collect the data
> printed by GDB. The goal of these breakpoints is to see which code is
> involved in the flickering situation, and which parts of it are
> actually writing to the screen.
The output is attached though I forgot to prefix my inline annotations during
gdb. Here are they from the my shell history:
#v+
184 echo Starting emacsclient -t >>gdb.txt
185 echo 'Typing "foobar" in emacsclient window' >>gdb.txt
186 echo 'Now hovering mouse over X11 window' >>gdb.txt
187 echo 'Now focusing to emacsclient xterm by clicking on xterm titlebar' >>gdb.txt
188 echo 'Now typing "foobar" in emacsclient xterm' >>gdb.txt
189 echo 'Typed "foobar" two more times in emacsclient xterm ^^^, and no flicker yet' >>gdb.txt
190 echo 'Switching to X11 window' >>gdb.txt
191 echo 'Switching back to xterm window and typing "foobar"' >>gdb.txt
192 echo 'I only typed "foo" and it started flickering ^^^^^ vvvvv' >>gdb.txt
193 echo 'Typing C-g and M-x redraw-display' >>gdb.txt
194 echo 'Flickering stopped after C-g, now M-x redraw-display ' >>gdb.txt
195 echo 'While typing: M-x redraw-display it started flickering again' >>gdb.txt
#v-
HTH
--
Ashish SHUKLA
“Does history record any case in which the majority was right?” (Robert
A. Heinlein, 1973)
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 42 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.