On Sunday, July 10, 2016 at 8:49:41 AM UTC-4, Bram Moolenaar wrote:
> Manuel Ortega wrote:
> 
> > I'm seeing some screen rendering problems with the new execute()
> > function.
> > 
> > To reproduce:
> > 
> > vim -u NONE -N somenonemptyfile
> > :echo execute("!ls")
> > 
> > I expect: the same thing that "redir=>h | !ls |redir END | echo h"
> > shows, i.e., ":!ls", except without a HIT ENTER prompt.
> > 
> > I see: ":!ls" and a HIT ENTER prompt, followed by (if I indeed hit
> > enter) a garbled screen that is only fixable by ":redraw!"
> > 
> > Note that I'm much more concerned about the garbled screen than the HIT
> > ENTER (though I don't see why that's there when using execute()). And
> > "ls" is just an example; I know full well that if I really wanted the
> > dir contents this is the wrong way to do it.
> > 
> > The docs say that execute() is the equivalent of "cmd" sandwiched by a
> > manual redir operation.  But the cmd "!ls" sandwiched by a redir
> > operation doesn't result in a garbled screen.
> > 
> > I observe this in both the console version and MacVim.
> 
> Keep in mind that by default execute() works silently.  But an external
> command will still output text.  This is the same as with redir:
> 
>       redir => output
>       silent !ls
>       redir END
>       echo output
> 
> This also messes up the screen.  This is explained at ":help :silent"
> I'll add a hint at the help for execute().  Especially that for an
> external command system() should be used.

Aaargh, I forgot about the "silent" part of execute().  Sorry for the noise.

-Manny

-- 
-- 
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