This was a problem with running versions of vim-LaTeX from between January 2018 (042f247) and November 2018 (ae0ecab) on vim 7.4 or earlier. As of this last commit vim-LaTeX should work normally on vim 7.4. If constrained to vim 7.4 or earlier the solution should now be upgrade vim-LaTeX.
Using the latest version of vim-LaTeX on vim 7.4 I get
1 || I can't find file `0'. 0
2 || Emergency stop.
3 || ==> Fatal error occurred, no output PDF file produced!
which is preceded on my setup by a notice
Error detected while processing function Tex_RunLaTeX..Tex_SetupErrorWindow..Tex_GetMainFileName:
line 23:
E121: Undefined variable: v:true
E116: Invalid arguments for function glob('*.latexmain',v:true) == ''
E15: Invalid expression: glob('*.latexmain',v:true) == ''
line 34:
E121: Undefined variable: v:true
E116: Invalid arguments for function glob('*.latexmain',v:true)
E15: Invalid expression: glob('*.latexmain',v:true)
line 35:
E121: Undefined variable: lheadfile
E15: Invalid expression: lheadfile != ''
line 51:
E121: Undefined variable: lheadfile
The first complaint of this being about v:true
, consulting the list of new features in vim 8 we can see that one of those is the addition of the new vim variable v:true
.
Since a January 2018 commit (042f247) vim-LaTeX code relies on the existence of the v:true
variable. My solution was simply to revert to the vim-LaTeX source just before the aforementioned commit, using the repository as of e6972ac, though of course upgrading to vim 8.0 would be the easier fix.
The commit 042f247 could selectively be omitted from vim-LaTeX, as of the most recent commit (dc2053c) no additional uses of v:true
have been made but this could interfere with future updates. It may also be possible to define v:true
with vim script but that's beyond me (possibly a question for https://vi.stackexchange.com/).
v:true
andv:false
which were only introduced in Vim 8. Didn't find a fix in my case, I just reverted to a slightly older version of vim-LaTeX.! I can't find file `0'.
part and the differences may just be different compilation calls.