Subject: bug#14616: 24.3.50; Excessive cursor movement on non-X Emacs

From: Eli Zaretskii <[email-masked]>
Date: Mon, 05 Aug 2013 22:40:29 +0300

> From: Lars Magne Ingebrigtsen <[email-masked]>
> Cc: [email-masked]
> Date: Mon, 05 Aug 2013 21:10:37 +0200
> 
> >> 0x0000000000420725 in do_switch_frame (frame=12659685, track=1,
> >> for_deletion=0, norecord=12571250) at frame.c:844
> >> 844		  SET_FRAME_VISIBLE (XFRAME (frame), 1);
> >
> > We are close.  What I need to know now is what is 'frame" and what is
> > 'top_frame' at this point.  You can define this as the watchpoint's
> > commands:
> >
> >   > pp frame
> >   > pp top_frame
> >   > continue
> >   > end
> >
> > Then run the recipe again, and let's see what this shows.
> 
> Uhm.  I think I must have done something wrong...  I get the stuff at
> the end in the backtrace file, and the following in gdb interactively:
> 
> #<frame F1 0xc12be0>
> #<frame emacs 0x2f8fba8>
> (gdb)
> 
> Must be lacking a "cont" somewhere...

It might be better simply to put a breakpoint at frame.c:844 with the
commands shown above, and see what they print as you go through the
recipe.

> Anyway, are those the values you wanted?

Almost, I'm just puzzled by the fact that the frame pointers are not
identical to what frame-list returned.  Are those in the same session?

Anyway, what is #<frame emacs 0x2f8fba8> ?  Is it displayed on some
display?  Can you switch to it, and if so, what happens if you do?