> Isn't this to do with the fact that "<(...)" causes the shell to create 
> a temporary file

It does not. It is =(...) that uses temporary files (assuming you use zsh), 
<(...) creates file descriptors before forking and attaches them to ...’s 
stdout.

> which is then sourced by ViM, and in ViM, all block constructs must be 
> terminated
> by the end of the current file, therwise an error occurs.

Error?! Where have you seen a word about *occurring* error?

Originally I checked this on a running vim by *typing* :bufdo if 1.

> 
> "-c" on the other hand simply executes an Ex command as if it had been 
> entered
> interactively by the user. There is no file scope

`-s` is not regular sourcing. There is a thing which you may call “file scope”: 
implementation-defined differences in Ex commands handling (e.g. line 
continuation working only in files), but this has nothing to do with -s: it 
feeds input like if it was typed.

> therefore there is no 
> error output if
> the end of the block is missing.

:h :execute, third-last paragraph:

>                       Note: The executed string may be any command-line, but
>                       you cannot start or end a "while", "for" or "if"
>                       command.  Thus this is illegal: >
>               :execute 'while i > 5'
>               :execute 'echo "test" | break'

. Even though with :execute it works it is explicitly marked as illegal. Will 
you say :execute has file scope?

// Note about “works”:

    execute 'if '.condition

works like

    if eval(condition)

, be it in file or not: i.e. it expects endif in the following lines.

> 
> To me it looks like ViM is working normally here.

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