os.remove() wasn't removing the temporary swap directory which leads to
problems when the test is run a second time.
That's also the reason why the CI never caught this.
os.remove() got replaced by helpers.rmdir().
- lfs.rmdir() only removes empty directories
- os.remove() supercedes lfs.rmdir(); removes files and empty directories
- helpers.rmdir() first removes all files within a directory, then the
directory itself
The main problem is that <c-c> is a default mapping but also sets got_int.
Because of the former, normal_cmd() is kicked off which eventually leads to
sourcing the clipboard provider. But due to the latter, do_source() throws an
error, because got_int is set.
This is a temporary workaround and sources the clipboard provider before
main_loop(), if &clipboard is set.
References #3023.
- CPO_ALL and CPO_VI are identical, so merge them
- No longer check for the environment variable 'VIM_POSIX'
- In vim_diff.txt, mention the removal of 'cpoptions' flags
Added: TermOpen autocmd
Added: terminal mode (un)map commands
Options and commands not available in neovim ('cp' and variants, termcap
options, :shell, :fixdel) are highlighted as errors. Previously deleted
entries were restored.
Co-authored-by: Felipe Morales <hel.sheep@gmail.com>
Remove legacy tests from the old makefile that were forgotten after the test
migration. The tests are:
- test 26 migrated in da3ade6a59 merged in #1420
- test 27 migrated in ac52d84f16 merged in #1328
- test 43 migrated in c9159586b8 merged in #1420
- test 46 migrated in 5ea94e14f0 merged in #1328
- test 63 migrated in a040aa95c1 merged in #1930
Additionally the tests 71 and 72 where removed in
85338fe1d5 together with the +cryptv feature.
This effectively reverts 585e5d32a3
The pinning was done at a time when `lua_cliargs` caused test failures,
so an older version which didn't was pinned. We're now using the latest
version (2.5-1), so the cause of those failures were presumably fixed.
In Vim, which doesn't true colors, synIDattr('Foo', 'fg') returns either
ctermfg or guifg depending on whether vim or gvim is running.
True colors naturally use GUI colors, so synIDattr() has to be adapted to
return guifg, if a TUI with enabled true colors is used.
The same error checking/recovery code was duplicated among the f_acos,
f_asin, f_atan, f_ceil, f_cos, f_cosh, f_exp, f_floor, f_log, f_log10,
f_round, f_sin, f_sinh, f_sqrt, f_tan, f_tanh and f_trunc functions.
This commit moves that code into a wrapper function.
`trunc` is not in C90, but it is in C99, which is what neovim targets,
so we use it here.
'guioptions' is mentioned in the "Option Defaults" section of vim_diff,
and while its default did indeed change, it was only because the 't'
flag was removed. To make that clear, move its reference to the
"Removed Features" section instead.
Remove stray instance of 't' flag from GO_ALL. Most if not all of the
GO_* #defines are unused, but lets keep them for now as it's not clear
whether they won't be used by Nvim GUIs.
- New libuv/pty process abstraction with simplified API and no globals.
- Remove nvim/os/job*. Jobs are now a concept that apply only to programs
spawned by vimscript job* functions.
- Refactor shell.c/channel.c to use the new module, which brings a number of
advantages:
- Simplified API, less code
- No slots in the user job table are used
- Not possible to acidentally receive data from vimscript
- Implement job table in eval.c, which is now a hash table with unilimited job
slots and unique job ids.