Abuse NOTDONE to give some nuance to the return value of readfile(), so
that open_buffer() can distinguish between "failed, lol" and "failed
because the path is a directory".
Before this change, Vim *already* creates a new buffer when a directory
is edited. So there is no reason it should not raise BufEnter, that was
an implementation detail of ye olde readfile().
Most of the changes in this commit merely preserve the old semantics.
The "implicit" change that we actually are interested in, is this line
in `open_buffer()`, where `retval` being non-FAIL allows EVENT_BUFENTER
to be applied:
apply_autocmds_retval(EVENT_BUFENTER, NULL, NULL, FALSE, curbuf, &retval);
References https://github.com/vim/vim/issues/1353
In Windows we cannot rely on absolute install paths to point to the
location of the runtime. Vim uses the path of the current binary as
a possible location for the runtime folder. In Neovim the install
location places the runtime folder in ../share/nvim/runtime.
In Vim this logic is guarded by USE_EXE_NAME, which is defined for win32
and macOS.
TODO: We may need to incorporate similar logic for macOS:
0cdb72aa38/src/misc1.c (L4287-L4308)
Do _not_ set v:shell_error on parameter validation error.
system([...]) does not invoke a shell, so this change is somewhat
questionable. But `:help v:shell_error` is sufficiently vague to allow
-1 in this case.
Problem: "cgn" and "dgn" do not work correctly with a single character
match and the replacement includes the searched pattern. (John
Beckett)
Solution: If the match is found in the wrong column try in the next column.
Turn the test into new style. (Christian Brabandt)
6835dc61aeCloses#5796
After #4964 environment variables in the XDG "fallback" table are no
longer expanded.
Fallback to correctly expanded $LOCALAPPDATA, $TEMP. If that fails
(unlikely), fallback to hard-coded paths (e.g. ~/AppData/Local).
Closes#5255
Problem: The short form of ":noswapfile" is ":noswap" instead of ":now".
(Kent Sibilev)
Solution: Only require three characters. Add a test for the short forms.
3bcfca3ab4
Problem: When there is an CmdUndefined autocmd then the error for a missing
command is E464 instead of E492. (Manuel Ortega)
Solution: Don't let the pointer be NULL.
eac784eced
- Eliminate global test_autochdir.
- Eliminate VimL function test_autochdir()
- Use a lua test instead. Fails correctly after reverting
0c43479979 / vim-patch:7.4.2015.