Commit Graph

3936 Commits

Author SHA1 Message Date
Justin M. Keyes
42c922b32c open_buffer(): Do BufEnter for directories.
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
2017-01-12 23:10:38 +01:00
James McCoy
f2dff86493 inccommand: Preview :sub commands only after the delimiter is present
Closes #5888
2017-01-11 21:05:02 -05:00
James McCoy
dcd77c64ef inccommand: Suppress error reporting when previewing commands
Closes #5912
2017-01-11 21:05:02 -05:00
Justin M. Keyes
207ba359b0 Windows: vim_getenv(): Find runtime relative to nvim. #3303 (#5929)
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)
2017-01-11 06:00:55 +01:00
Rui Abreu Ferreira
1e079fa987 system([...]): Set v:shell_error=-1 if not executable.
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.
2017-01-11 01:05:55 +01:00
Rui Abreu Ferreira
a05ebf4a2d Windows: libuv_process_spawn(): Allow libuv argument quoting/escaping.
Closes #5360
References #3305
Reverts commit dc9652e68d.

Disabling the quoting was does not solve the problem in general, and
we would end up having to handle the quoting ourselves.

See: https://github.com/JuliaLang/julia/issues/13776
2017-01-10 23:34:04 +01:00
James McCoy
fc47bd92df lint 2017-01-10 13:05:41 -05:00
James McCoy
4c3204097c vim-patch:7.4.2100
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)

6835dc61ae

Closes #5796
2017-01-10 13:05:41 -05:00
James McCoy
f3c93fbefe lint 2017-01-10 07:14:24 -05:00
James McCoy
9b47115d53 vim-patch:7.4.2009
Problem:    Messages test fails.
Solution:   Don't set redir_execute before returning.

ed59aa60d3
2017-01-10 07:14:24 -05:00
James McCoy
6520517e22 vim-patch:7.4.2008
Problem:    evalcmd() has a confusing name.
Solution:   Rename to execute().  Make silent optional.  Support a list of
            commands.

79815f1ec7
2017-01-10 07:14:12 -05:00
James McCoy
492f2cfeff vim-patch:7.4.1925
Problem:    Viminfo does not merge file marks properly.
Solution:   Use a timestamp.  Add the :clearjumps command.

2d35899721
2017-01-09 20:23:41 -05:00
James McCoy
b260004d65 Merge pull request #5860 from jamessan/vim-7.4.1889
vim-patch:7.4.1889
2017-01-09 20:20:03 -05:00
Justin M. Keyes
94101987a5 process_wait(): Avoid dereference after LOOP_PROCESS_EVENTS. (#5917) 2017-01-09 01:42:58 +01:00
Rui Abreu Ferreira
32156f06f7 XDG: Windows: resolve $LOCALAPPDATA, $TEMP (#5278)
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
2017-01-08 03:18:00 +01:00
Justin M. Keyes
d2f16d534f Merge #5079 from ZyX-I/shada-save-current-pos
shada: Save current cursor position before saving jumps
2017-01-07 23:15:50 +01:00
ZyX
dea4bb33dc unittest,memory: Fix tests 2017-01-07 19:07:32 +03:00
ZyX
6f267b3968 memory: Document new additions to memory.h 2017-01-07 17:58:29 +03:00
ZyX
35416e89bc memory: Restore entered_free_all_mem functionality 2017-01-07 17:52:53 +03:00
ZyX
9a09ffa883 eval: Fix failing test 2017-01-07 15:54:55 +03:00
ZyX
728367a196 unittest: Add dict_items function 2017-01-07 15:54:55 +03:00
ZyX
a970c1a957 eval: Make sure that copyID is reset when needed
Works by making value pushed on stack represent the exhausted list.

Fixes #5901, except for dictionaries which need similar adjustment.
2017-01-07 15:15:14 +03:00
ZyX
7d0a892b37 eval/typval_encode.h: Use only a single macros with _INNER[_2] hack 2017-01-07 14:59:42 +03:00
ZyX
8fd3d31329 unittest: Allow mocking allocator calls 2017-01-07 14:48:21 +03:00
James McCoy
b4c0c61f5c Merge pull request #5826 from ZyX-I/fix-typval_encode
Refactor eval/typval_encode.h
2017-01-06 21:11:33 -05:00
ZyX
dd48d7b94b eval: Fix typo 2017-01-07 00:17:31 +03:00
ZyX
1052009b37 eval/typval_encode: Dump empty dictionary before checking for refcycle
Otherwise copyID will stay forever on empty dictionaries.
2017-01-06 23:32:04 +03:00
ZyX
10c6e68db6 eval: Work with reference cycles in partials (self) properly 2017-01-06 22:57:34 +03:00
ZyX
6584fb723a eval/typval_encode: Use TYPVAL_ENCODE_CONV_EMPTY_DICT for partials 2017-01-06 22:48:50 +03:00
ZyX
7f11ec00fd eval/typval_encode.h: Remove documentation that is located in *.c.h 2017-01-06 22:38:46 +03:00
Michael Schupikov
1fee9a7151 eval.c: filter_map(): avoid maybe-uninitialized warning (#5897)
maybe-uninitialized warning observed with -Ofast.
2017-01-06 18:23:52 +01:00
James McCoy
ffdf1904d6 Merge pull request #5893 from lonerover/vim-7.4.2127
vim-patch:7.4.2127
2017-01-06 09:54:40 -05:00
James McCoy
f82f27ccec Merge pull request #5892 from lonerover/vim-7.4.2103
vim-patch: 7.4.2103
2017-01-06 09:47:30 -05:00
lonerover
6c69bc9788 fix lint error 2017-01-06 09:25:15 +08:00
Michael Schupikov
23b39ebb24 time.c: os_microdelay(): Let input cancel the delay. #5830
Closes #5397
2017-01-06 00:57:31 +01:00
ZyX
10d9c6d813 shada: Mark ALWAYS_INLINE function as inline 2017-01-06 01:47:07 +03:00
nfnty
7a344c795f path.c: vim_FullName(): Fix heap overflow #5737
- Clarify documentation.
- Return `FAIL` and truncate if `fname` is too long.
- Add tests.
2017-01-05 15:17:34 +01:00
rover
9da9e1c417 vim-patch:7.4.2127
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
2017-01-05 21:12:02 +08:00
lonerover
12b50b116f vim-patch:7.4.2110 (#5880)
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
2017-01-05 13:55:32 +01:00
lonerover
bef645e5e4 vim-patch:7.4.2103
Problem:    Can't have "augroup END" right after ":au!".
Solution:   Check for the bar character before the command argument.

e99e84497b
2017-01-05 13:33:56 +08:00
ZyX
c93ce07628 *: Remove // fname() comments near typval_encode includes 2017-01-04 19:04:15 +03:00
ZyX
358097ac5f eval/encode: Always check the return value of encode_vim_to_\* 2017-01-04 19:02:39 +03:00
ZyX
ac50971f87 shada: Move setpcmark()/cleanup_jumplist() out of the cycle 2017-01-04 16:55:28 +03:00
ZyX
ec975a74ad shada: Fix offset saving 2017-01-04 16:42:43 +03:00
ZyX
40cedfd0f5 shada: Silence linter 2017-01-04 16:37:31 +03:00
ZyX
81ef9f55ae shada: Save current cursor position before saving jumps 2017-01-04 16:34:06 +03:00
Ole Reifschneider
1dc67f4dc8 version.c: update (#5876) 2017-01-04 14:31:23 +01:00
Justin M. Keyes
6f9be2464c Merge #5872 justinmk/test_autochdir 2017-01-04 08:24:36 +01:00
Justin M. Keyes
e43f7425ee refactor: Remove VimL function test()
vim-patch:7.4.1838
2017-01-04 07:23:13 +01:00
Justin M. Keyes
097c8dccca refactor: Remove VimL function test_autochdir()
- Eliminate global test_autochdir.
- Eliminate VimL function test_autochdir()
- Use a lua test instead. Fails correctly after reverting
  0c43479979 / vim-patch:7.4.2015.
2017-01-04 07:23:13 +01:00