Problem: Some newly introduced files used includes relative to the
current file, both of the form `include "../XXX.h"` and
`include "XXX.h"`.
Preferred form is relative to include root (src/ in our case).
Solution: Change includes to preferred form.
Note: This is also done to ease next commit (prepend 'nvim/ to all
project-local includes).
- Leave src as include dir (for includes to recognize 'nvim/' prefix).
- Change subdirectory from src to src/nvim.
- Fix msgpack generation.
- Fix some other paths to new locations.
Move files from src/ to src/nvim/.
- src/nvim/ becomes the new root dir for nvim executable sources.
- src/libnvim/ is planned to become root dir of the neovim library.
This adds the `SYSTEM` parameter to `include_directories`, which will tell cmake
to use `-isystem` instead of `-I` for specifying include directories. One
advantage is that compilers won't emit warnings for included files that belong
to dependencies.
- Change in dict_set_value: Passing 'nil' as value will delete the
variable.
- Change in dict_get_value: Removed 'pop' parameter, now values can be popped
by passing 'nil' to dict_set_value
- Update {buffer,window,tabpage}_get_var to reflect the changes
Some functions from upstream VIM were reintegrated for this:
- get_option_value_strict
- set_option_value_err
- set_option_value_for
- unset_global_local_option
The vimscript object conversion function was adapted from the version found in
'if_py_both.h' in the upstream source. It was also required to re-add the
`dict_lookup` function that was lost during the initial import.
The `NEOVIM_LISTEN_ADDRESS` environment variable can be set to customize the
address where Neovim will listen for connections. If it's not set, a random
socket/pipe will be created, and the `NEOVIM_LISTEN_ADDRESS` will be updated
accordingly.