Yegappan Lakshmanan wrote: > >> >>> > >> >>>> I see a problem in xterm screen refresh with the recent versions of > >> >>>> Vim. > >> >>>> The text displayed in the command line is not cleared. > >> >>>> > >> >>>> Steps to reproduce this problem: > >> >>>> > >> >>>> $ vim -u NONE -i NONE -N -c 'set cmdheight=2' -c 'set laststatus=2' > >> >>>> <press CTRL-G to display the current file name and other information> > >> >>>> <Press :e to edit a file> > >> >>>> > >> >>>> In the last step, the file name and other information displayed by > >> >>>> CTRL-G are not cleared. Even if I force a screen refresh using CTRL-L > >> >>>> or the ":redraw!" command, the text is not cleared. > >> >>>> > >> >>>> I don't see this problem with Vim 7.3. > >> >>>> > >> >>>> After this problem is seen, if I suspend Vim (using CTRL-Z) and > >> >>>> resume it (using fg), then the screen is cleared properly. > >> >>> > >> >>> I cannot reproduce this problem. I do see the first message from > >> >>> CTRL-G > >> >>> disappearing, that's most likely the other bug. > >> >>> For me pressing ":" to type the ":e" command already clears the info > >> >>> from CTRL-G. > >> >>> > >> >>> Since you say CTRL-G gives info, you actually are editing a file? > >> >>> > >> >> > >> >> This problem is caused by the 7.3.859 patch ( 'ambiwidth' must be set > >> >> by the user). > >> >> When I remove this patch, I don't see this screen refresh problem. > >> >> > >> > > >> > This problem is caused by the may_req_ambiguous_character_width() > >> > function added by the above patch (859). > >> > > >> > When I set the 'ambwidth' option in the .vimrc file, the screen is > >> > properly > >> > refreshed and the problem is not seen. > >> > > >> > >> I tried the latest Vim version (7.3.1294). I still see the xterm > >> screen refresh problem. The changes made for patch 1288 didn't fix > >> this problem. > > > > I still don't see this problem. You could compile with DEBUG_TERMRESPONSE. > > You need to change "if 0" to "if 1" in src/term.c for that. Then look > > at the termresponse.log file. > > > > Also check your $TERM environment variable. > > I compiled Vim with DEBUG_TERMRESPONSE turned on and collected the > below output. The TERM environment variable is set to "xterm". > > - Yegappan > > > 0.000008: NV setting crv_status to CRV_GET > 0.305545: CL Sending U7 request > 0.306208: NV Sending CRV > 0.307869: Received U7 status > 0.308574: set 'ambiwidth', redraw_asap(): 4
This is where it redraws the screen, apparently your default 'ambiwidth' is different. > 0.308610: Not enough characters for CRV > 0.308749: Received CRV > 0.308775: Enable checking for XT codes > 0.308779: Requesting XT 0: Co > 0.308783: Requesting XT 1: ku > 0.308786: Requesting XT 2: kd > 0.308789: Requesting XT 3: kr > 0.308792: Requesting XT 4: kl > 0.308796: Requesting XT 5: #2 > 0.308799: Requesting XT 6: #4 > 0.308801: Requesting XT 7: %i > 0.308804: Requesting XT 8: *7 > 0.308808: Requesting XT 9: k1 > 0.309938: Received XT 0: Co > 0.313354: Received t_Co, redraw_asap(): 4 And this is where it redraws the screen because t_Co changes value. What follows is likely irrelevant, and then you start typing. I don't really see a reason why typing CTRL-G and then ":e" would have any problems. For me as soon as I type ":" the message from CTRL-G is erased, as expected. -- If "R" is Reverse, how come "D" is FORWARD? /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\ /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\ an exciting new programming language -- http://www.Zimbu.org /// \\\ help me help AIDS victims -- http://ICCF-Holland.org /// -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/groups/opt_out.
