On Fri, 15 Mar 2013 11:39:34 +0200, Eli Zaretskii said: >> From: ashish.is@lostca.se (Ashish SHUKLA) >> Cc: 13864@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