On Wed, 06 Mar 2013 19:07:36 +0200, Eli Zaretskii said: >> From: ashish.is@lostca.se (Ashish SHUKLA) >> Cc: 13864@debbugs.gnu.org >> Date: Tue, 05 Mar 2013 05:56:40 +0530 >> >> I tried r1110803, r110921, r111026, r111253, r111312, and r111607, they were >> good. Then, I tried r111818, and it has this. >> >> No problem with Emacs 23.4. > So this is a recent regression. Thanks, this narrows down the set of > culprits quite a bit, but still not enough to see the root cause. > Could you please attach a debugger to Emacs, after starting the > server, but before opening the TTY frame with emacsclient, and set a > breakpoint like this: > (gdb) break update_frame_1 > (gdb) commands >> p force_p >> p inhibit_id_p >> continue >> end > (gdb) > Then re-create the problem and see whether update_frame_1 is called > very frequently, and if so, what are the values of the 2 arguments > printed by the breakpoint commands above. (I don't know what is your > level of proficiency with GDB, so let me know if you need more > detailed instructions.) > Don't forget to invoke GDB from the src directory, and make sure that > it reads the .gdbinit file there, and does not reject it due to > security considerations. > If update_frame_1 indeed gets called at high frequency when the xterm > frame flickers, then please do the same when Emacs is started with -nw > (in which case I understand that there's no flickering), and see if > there's any difference in the frequency of calls to update_frame_1 and > in the values of the above 2 arguments. Output with 'emacs -Q': #v+ Breakpoint 3, update_frame_1 (f=0x1895d98, force_p=true, inhibit_id_p=false) at dispnew.c:4474 4474 struct glyph_matrix *current_matrix = f->current_matrix; $85 = true $86 = false Breakpoint 3, update_frame_1 (f=0x1895d98, force_p=true, inhibit_id_p=false) at dispnew.c:4474 4474 struct glyph_matrix *current_matrix = f->current_matrix; $87 = true $88 = false Breakpoint 3, update_frame_1 (f=0x1895d98, force_p=true, inhibit_id_p=false) at dispnew.c:4474 4474 struct glyph_matrix *current_matrix = f->current_matrix; $89 = true $90 = false #v- Output with 'emacs -Q -nw': #v+ Breakpoint 3, update_frame_1 (f=0x1255c48, force_p=true, inhibit_id_p=false) at dispnew.c:4474 4474 struct glyph_matrix *current_matrix = f->current_matrix; $39 = true $40 = false Breakpoint 3, update_frame_1 (f=0x1255c48, force_p=true, inhibit_id_p=false) at dispnew.c:4474 4474 struct glyph_matrix *current_matrix = f->current_matrix; $41 = true $42 = false Breakpoint 3, update_frame_1 (f=0x1255c48, force_p=true, inhibit_id_p=false) at dispnew.c:4474 4474 struct glyph_matrix *current_matrix = f->current_matrix; $43 = true $44 = false #v- Output with 'emacs -Q' was more frequent, whereas output with 'emacs -Q -nw' only printed when I pressed some key into the 'emacsclient' xterm window. HTH -- Ashish SHUKLA “I am free, no matter what rules surround me. If I find them tolerable, I tolerate them; if I find them too obnoxious, I break them. I am free because I know that I alone am morally responsible for everything I do.” (Robert A. Heinlein, "The Moon Is a Harsh Mistress", 1966) Sent from my Emacs