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

From: Lars Magne Ingebrigtsen <[email-masked]>
Date: Fri, 02 Aug 2013 15:33:23 +0200

Eli Zaretskii <[email-masked]> writes:

> The functions that actually cause Emacs to write something to the
> terminal are write_glyphs, insert_glyphs, delete_glyphs, and
> cursor_to and clear_end_of_line.  You will see them called from
> update_frame_line in several places.  Either put a breakpoint at each
> of those places, with the following breakpoint commands:

Thanks.

With the commands below, and the make-network-process loop, I can indeed
see no screen updates.  I'll try to find other ways to trigger the bug.

The only thing that's being triggered is the call to cursor_to, but that
should probably not have any effect.  I've included it below, though.

set logging file /tmp/emacs.gdb
set logging redirect on
set logging on
set height 0
break write_glyphs
commands
bt 2
continue
end
break insert_glyphs
commands
bt 2
continue
end
break delete_glyphs
commands
bt 2
continue
end
break cursor_to
commands
bt 2
continue
end
break clear_end_of_line
commands
bt 2
continue
end
run -Q -nw

Breakpoint 6, cursor_to (f=0xb7fbe0, vpos=11, hpos=0) at terminal.c:113
113	  if (FRAME_TERMINAL (f)->cursor_to_hook)
#0  cursor_to (f=0xb7fbe0, vpos=11, hpos=0) at terminal.c:113
#1  0x000000000041aeeb in update_frame_1 (inhibit_id_p=<optimized out>, 
    force_p=<optimized out>, f=0xb7fbe0) at dispnew.c:4606

Lisp Backtrace:
"redisplay_internal (C function)" (0xb5b5a8)
"delete-process" (0xffffd950)
"let" (0xffffda98)
"while" (0xffffdb88)
"let" (0xffffdcd8)
"eval" (0xffffddf8)
"eval-last-sexp-1" (0xffffdf80)
"eval-last-sexp" (0xffffe148)
"call-interactively" (0xffffe2f0)
"command-execute" (0xffffe418)

Breakpoint 6, cursor_to (f=0xb7fbe0, vpos=11, hpos=0) at terminal.c:113
113	  if (FRAME_TERMINAL (f)->cursor_to_hook)
#0  cursor_to (f=0xb7fbe0, vpos=11, hpos=0) at terminal.c:113
#1  0x000000000041aeeb in update_frame_1 (inhibit_id_p=<optimized out>, 
    force_p=<optimized out>, f=0xb7fbe0) at dispnew.c:4606

Lisp Backtrace:
"redisplay_internal (C function)" (0xb5b5a8)
"delete-process" (0xffffd950)
"let" (0xffffda98)
"while" (0xffffdb88)
"let" (0xffffdcd8)
"eval" (0xffffddf8)
"eval-last-sexp-1" (0xffffdf80)
"eval-last-sexp" (0xffffe148)
"call-interactively" (0xffffe2f0)
"command-execute" (0xffffe418)

-- 
(domestic pets only, the antidote for overdose, milk.)
  No Gnus T-Shirt for sale: http://ingebrigtsen.no/no.php