bug-ncurses
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: mvwprintw


From: Thomas Dickey
Subject: Re: mvwprintw
Date: Fri, 31 Mar 2006 14:17:47 -0500 (EST)

On Fri, 31 Mar 2006, Bob Rossi wrote:

Now, the trace file I sent to you looked good to me. Did it look good to
you? Wouldn't the problem be detectable there? If you didn't see the

yes - but -

file, I'll send it in again in this Email. The line:
(tgdb) b main.c:7
gets corrupted during the last display. Looks like this:
(tgdb) b main1Cc:

If something (outside ncurses) happens to write to the screen in the middle of an escape sequence, that could produce this effect. I see a cursor-movement string being computed at the end of the trace:

GoTo(59, 14) from (59, 13)
+ + called {mvcur(59,13,59,14)
+ + + called {tparm("\e[%i%p1%d;%p2%dH", 59, 14)
+ + + return }"\e[60;15H"
+ + + called {tparm("\e[%p1%dC", 1)
+ + + return }"\e[1C"
+ + + called {tparm("\e[%p1%dC", 14)
+ + + return }"\e[14C"
+ + + called {tparm("\e[%p1%dB", 59)
+ + + return }"\e[59B"
+ + + called {tparm("\e[%p1%dC", 14)
+ + + return }"\e[14C"
+ + + called {tparm("\e[%p1%dC", 1)
+ + + return }"\e[1C"
+ + return }0

It's possible that readline is emitting a single character as part of some stray optimization that it's doing for the repainting (note that the GoTo call is moving right by one character). You can verify this by capturing the output using script. I use the unmap program (in ncurses' ftp directory) to render typescript files readable.

If one part of the program is writing buffered output and another is writing unbuffered, e.g., writing on stdout and stderr, then it's a matter of timing whether certain characters come out in a given order.

--
Thomas E. Dickey
http://invisible-island.net
ftp://invisible-island.net




reply via email to

[Prev in Thread] Current Thread [Next in Thread]