On Friday, May 5, 2017 at 11:23:57 PM UTC+3, Bram Moolenaar wrote:
> Ramel Eshed wrote:
> 
> > > > On Sunday, April 30, 2017 at 9:24:13 PM UTC+3, Bram Moolenaar wrote:
> > > > > Ramel Eshed wrote:
> > > > > 
> > > > > > On Sunday, April 30, 2017 at 5:25:08 PM UTC+3, Bram Moolenaar wrote:
> > > > > > > Ramel Eshed wrote:
> > > > > > > 
> > > > > > > > This is not the case with every job, but redirecting the 
> > > > > > > > following
> > > > > > > > script output to a buffer causes messages to disappear from 
> > > > > > > > command
> > > > > > > > line:
> > > > > > > >  
> > > > > > > > -- loop.sh --
> > > > > > > > #!/bin/bash
> > > > > > > > for i in `seq 1 1000`;
> > > > > > > > do
> > > > > > > >     echo $i
> > > > > > > >     sleep 0.008s
> > > > > > > > done    
> > > > > > > > 
> > > > > > > > vim -u NONE -N
> > > > > > > > :call job_start('loop.sh', {'out_io': 'buffer', 'out_buf':1})
> > > > > > > > 
> > > > > > > > while the numbers are running try to do :pwd -this command's 
> > > > > > > > output
> > > > > > > > will disappear.
> > > > > > > > 
> > > > > > > > Also (not related to this issue), the buffer (which the job 
> > > > > > > > output was
> > > > > > > > redirected to) is only updated in normal and insert mode but 
> > > > > > > > not while
> > > > > > > > typing in command-line mode. Is it possible to update the 
> > > > > > > > buffer also
> > > > > > > > for command-line?
> > > > > > > 
> > > > > > > I suspect these are opposite requests.  Vim can only update the 
> > > > > > > whole
> > > > > > > screen, because the redraw causes any output from commands to be
> > > > > > > cleared. When looking at the output of :pwd, Vim is probably in 
> > > > > > > Normal
> > > > > > > mode, thus redraws to show the new buffer content.
> > > > > >
> > > > > > If I use
> > > > > > :call job_start('ls -lR /', {'out_io': 'buffer', 'out_buf':1})
> > > > > > instead of the above script, I can still see the :pwd command 
> > > > > > output.
> > > > > > How come it's not cleared as well?
> > > > > >
> > > > > > > I could check if we can update the window only. This probably 
> > > > > > > only works
> > > > > > > when the command line has not scrolled.
> > > > > 
> > > > > I have sent out patch 8.0.0592.  This attempts to update the buffer 
> > > > > that
> > > > > shows job output as often as possible.  And it tries to keep the 
> > > > > command
> > > > > line and command output.  Please check it out.  It does update the
> > > > > buffer more often than before, and should keep the output of commands
> > > > > like ":pwd".  It may cause new problems, I only tested a few things.
> > > > > 
> > > > I tested this patch with my plugins and it seems that both issues are
> > > > solved now. There is a minor issue with text and cursor flickering in
> > > > the command line, you can play with the sleep delay in the script
> > > > above and see if there is something you can do.
> > > > Many thanks!
> > > 
> > > It is unlikely the cursor flickering can be fixed.  It has to be
> > > switched off to be able to redraw the window for the modified buffer.
> > > 
> > Besides of the cursor, the part of the command that has already been
> > typed flickers as well, can you see that?
> 
> It might be possible to fix that, if we overwrite the command line and
> clear the rest.  Perhaps someone wants to have a go at that.
> 
> > Also, I found a problem with the command line completion menu - it is
> > cleared while the buffer is updated. You can see that by running my
> > example above after :set wildmode=list. While the buffer is updated
> > try to type :set and then hit tab -the completion menu will be
> > cleared.
> 
> Hmm, perhaps msg_scrolled isn't set in that situation, and we need to
> check another flag.
> 

Did anyone have a chance to look at this? both issues still exist.

-- 
-- 
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/d/optout.

Raspunde prin e-mail lui