Re: screen update problem during periodic file "refresh"
Yakov Lerner wrote: > > > I see several problems (that I can't explain) in the vim "refresh"-loop > > > watching the growing file (a-la 'tail -f'). Vim commands are below. > > > > > > Problem #1: There is unexpected output on the bottom line > > > (lines of the file is echoed on the bottom line). Why > > ? > > > Problem #2: When you vertically resize the xterm window, > > > vim screen is corrupted and never repainted properly. > > > Problem #3: Sometimes, when I press Ctrl-C to quit the loop, > > > vim is in ex mode and responds 'Type :quit > > > to exit Vim' > > > Why ? > > > Problem #4: Since vim repaints properly when waiting for chars, I'd like > > > to put getchartimeout(1000) in place of sleep 1. Do we > > > have getchar() with timeout ? > > > > > > To see the demonstration: > > > > > > 1. In one window, create growing file using these shell command: > > > > > > % while :; do date >>1; sleep 1; done > > > > > > 2. In another window: > > > > > > vim -u NONE ~/xxx > > > :set nolz | while 1 | e | redraw | $ | sleep 1 | endw > > > > > > " notice unexpected output on the bottom line > > > " try to resize screen. It is not restored properly. > > > " Press Ctrl-C to quit. Sometimes, vim quits the loop > > properly. > > > " Sometime, vim does not quit the loop, stays in ex mode. > > > " (Type :quit to exit Vim) > > > > > > (This command sequence must be not perfect but it demonstrates the > > problem). > > > > I can see the extra output on the bottom line. I'll look into this > > later. > > > > How do you see the problem with the screen resize? > > > Originally, &lines is around 50. Screenshot before resize is > > http://www.wikiupload.com/download_page.php?id=16428 > (before-resize.gif). This is normal screen. > > Here is how I resize: I resize screen height down to 10. > Then I resize height back to approximately original height. > Here is screenshot after resize > (I also give it several seconds of time, but it never really recovers): > > http://www.wikiupload.com/download_page.php?id=16429 > (after-resize.gif). It's different every time, but always screwed. It looks wrong. I'll look into this later. -- Seen on the back of a biker's vest: If you can read this, my wife fell off. /// Bram Moolenaar -- [EMAIL PROTECTED] -- http://www.Moolenaar.net \\\ ///sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\download, build and distribute -- http://www.A-A-P.org/// \\\help me help AIDS victims -- http://ICCF-Holland.org///
Re: screen update problem during periodic file "refresh"
On 9/7/06, Yakov Lerner <[EMAIL PROTECTED]> wrote: On 9/7/06, Bram Moolenaar <[EMAIL PROTECTED]> wrote: > > Yakov Lerner wrote: > > > I see several problems (that I can't explain) in the vim "refresh"-loop > > watching the growing file (a-la 'tail -f'). Vim commands are below. > > > > Problem #1: There is unexpected output on the bottom line > > (lines of the file is echoed on the bottom line). Why ? > > Problem #2: When you vertically resize the xterm window, > > vim screen is corrupted and never repainted properly. > > Problem #3: Sometimes, when I press Ctrl-C to quit the loop, > > vim is in ex mode and responds 'Type :quit > > to exit Vim' > > Why ? > > Problem #4: Since vim repaints properly when waiting for chars, I'd like > > to put getchartimeout(1000) in place of sleep 1. Do we > > have getchar() with timeout ? > > > > To see the demonstration: > > > > 1. In one window, create growing file using these shell command: > > > > % while :; do date >>1; sleep 1; done > > > > 2. In another window: > > > > vim -u NONE ~/xxx > > :set nolz | while 1 | e | redraw | $ | sleep 1 | endw > > > > " notice unexpected output on the bottom line > > " try to resize screen. It is not restored properly. > > " Press Ctrl-C to quit. Sometimes, vim quits the loop properly. > > " Sometime, vim does not quit the loop, stays in ex mode. > > " (Type :quit to exit Vim) > > > > (This command sequence must be not perfect but it demonstrates the problem). > > I can see the extra output on the bottom line. I'll look into this > later. > > How do you see the problem with the screen resize? I am trying now to ':call getchar(0)' near 'sleep 1', and with this addition, screen resizes properly. Like this: :set nolz | while 1 | e | redraw | $ | call getchar(0) | sleep 1 | endw Correction, this should have been getchar(1) not getchar(0). Addition of getchar(1) also handles resizes properly. Yakov
Re: screen update problem during periodic file "refresh"
On 9/7/06, Bram Moolenaar <[EMAIL PROTECTED]> wrote: Yakov Lerner wrote: > I see several problems (that I can't explain) in the vim "refresh"-loop > watching the growing file (a-la 'tail -f'). Vim commands are below. > > Problem #1: There is unexpected output on the bottom line > (lines of the file is echoed on the bottom line). Why ? > Problem #2: When you vertically resize the xterm window, > vim screen is corrupted and never repainted properly. > Problem #3: Sometimes, when I press Ctrl-C to quit the loop, > vim is in ex mode and responds 'Type :quit > to exit Vim' > Why ? > Problem #4: Since vim repaints properly when waiting for chars, I'd like > to put getchartimeout(1000) in place of sleep 1. Do we > have getchar() with timeout ? > > To see the demonstration: > > 1. In one window, create growing file using these shell command: > > % while :; do date >>1; sleep 1; done > > 2. In another window: > > vim -u NONE ~/xxx > :set nolz | while 1 | e | redraw | $ | sleep 1 | endw > > " notice unexpected output on the bottom line > " try to resize screen. It is not restored properly. > " Press Ctrl-C to quit. Sometimes, vim quits the loop properly. > " Sometime, vim does not quit the loop, stays in ex mode. > " (Type :quit to exit Vim) > > (This command sequence must be not perfect but it demonstrates the problem). I can see the extra output on the bottom line. I'll look into this later. How do you see the problem with the screen resize? I am trying now to ':call getchar(0)' near 'sleep 1', and with this addition, screen resizes properly. Like this: :set nolz | while 1 | e | redraw | $ | call getchar(0) | sleep 1 | endw Without getchar(0), resize is not handled. Yakov
Re: screen update problem during periodic file "refresh"
On 9/7/06, Bram Moolenaar <[EMAIL PROTECTED]> wrote: Yakov Lerner wrote: > I see several problems (that I can't explain) in the vim "refresh"-loop > watching the growing file (a-la 'tail -f'). Vim commands are below. > > Problem #1: There is unexpected output on the bottom line > (lines of the file is echoed on the bottom line). Why ? > Problem #2: When you vertically resize the xterm window, > vim screen is corrupted and never repainted properly. > Problem #3: Sometimes, when I press Ctrl-C to quit the loop, > vim is in ex mode and responds 'Type :quit > to exit Vim' > Why ? > Problem #4: Since vim repaints properly when waiting for chars, I'd like > to put getchartimeout(1000) in place of sleep 1. Do we > have getchar() with timeout ? > > To see the demonstration: > > 1. In one window, create growing file using these shell command: > > % while :; do date >>1; sleep 1; done > > 2. In another window: > > vim -u NONE ~/xxx > :set nolz | while 1 | e | redraw | $ | sleep 1 | endw > > " notice unexpected output on the bottom line > " try to resize screen. It is not restored properly. > " Press Ctrl-C to quit. Sometimes, vim quits the loop properly. > " Sometime, vim does not quit the loop, stays in ex mode. > " (Type :quit to exit Vim) > > (This command sequence must be not perfect but it demonstrates the problem). I can see the extra output on the bottom line. I'll look into this later. How do you see the problem with the screen resize? Originally, &lines is around 50. Screenshot before resize is http://www.wikiupload.com/download_page.php?id=16428 (before-resize.gif). This is normal screen. Here is how I resize: I resize screen height down to 10. Then I resize height back to approximately original height. Here is screenshot after resize (I also give it several seconds of time, but it never really recovers): http://www.wikiupload.com/download_page.php?id=16429 (after-resize.gif). It's different every time, but always screwed. Yakov
Re: screen update problem during periodic file "refresh"
Yakov Lerner wrote: > I see several problems (that I can't explain) in the vim "refresh"-loop > watching the growing file (a-la 'tail -f'). Vim commands are below. > > Problem #1: There is unexpected output on the bottom line > (lines of the file is echoed on the bottom line). Why ? > Problem #2: When you vertically resize the xterm window, > vim screen is corrupted and never repainted properly. > Problem #3: Sometimes, when I press Ctrl-C to quit the loop, > vim is in ex mode and responds 'Type :quit > to exit Vim' > Why ? > Problem #4: Since vim repaints properly when waiting for chars, I'd like > to put getchartimeout(1000) in place of sleep 1. Do we > have getchar() with timeout ? > > To see the demonstration: > > 1. In one window, create growing file using these shell command: > > % while :; do date >>1; sleep 1; done > > 2. In another window: > > vim -u NONE ~/xxx > :set nolz | while 1 | e | redraw | $ | sleep 1 | endw > > " notice unexpected output on the bottom line > " try to resize screen. It is not restored properly. > " Press Ctrl-C to quit. Sometimes, vim quits the loop properly. > " Sometime, vim does not quit the loop, stays in ex mode. > " (Type :quit to exit Vim) > > (This command sequence must be not perfect but it demonstrates the problem). I can see the extra output on the bottom line. I'll look into this later. How do you see the problem with the screen resize? -- Vim is like Emacs without all the typing. (John "Johann" Spetz) /// Bram Moolenaar -- [EMAIL PROTECTED] -- http://www.Moolenaar.net \\\ ///sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ \\\download, build and distribute -- http://www.A-A-P.org/// \\\help me help AIDS victims -- http://ICCF-Holland.org///
screen update problem during periodic file "refresh"
I see several problems (that I can't explain) in the vim "refresh"-loop watching the growing file (a-la 'tail -f'). Vim commands are below. Problem #1: There is unexpected output on the bottom line (lines of the file is echoed on the bottom line). Why ? Problem #2: When you vertically resize the xterm window, vim screen is corrupted and never repainted properly. Problem #3: Sometimes, when I press Ctrl-C to quit the loop, vim is in ex mode and responds 'Type :quit to exit Vim' Why ? Problem #4: Since vim repaints properly when waiting for chars, I'd like to put getchartimeout(1000) in place of sleep 1. Do we have getchar() with timeout ? To see the demonstration: 1. In one window, create growing file using these shell command: % while :; do date >>1; sleep 1; done 2. In another window: vim -u NONE ~/xxx :set nolz | while 1 | e | redraw | $ | sleep 1 | endw " notice unexpected output on the bottom line " try to resize screen. It is not restored properly. " Press Ctrl-C to quit. Sometimes, vim quits the loop properly. " Sometime, vim does not quit the loop, stays in ex mode. " (Type :quit to exit Vim) (This command sequence must be not perfect but it demonstrates the problem). Yakov