| Commit message (Collapse) | Author | Age |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a breaking change which will make refactor of typval and shada
code a lot easier. In particular, code that would use or check for
v:msgpack_types.binary in the wild would be broken. This appears to be
rarely used in existing plugins.
Also some cases where v:msgpack_type.string would be used to represent a
binary string of "string" type, we use a BLOB instead, which is
vimscripts native type for binary blobs, and already was used for BIN
formats when necessary.
msgpackdump(msgpackparse(data)) no longer preserves the distinction
of BIN and STR strings. This is very common behavior for
language-specific msgpack bindings. Nvim uses msgpack as a tool to
serialize its data. Nvim is not a tool to bit-perfectly manipulate
arbitrary msgpack data out in the wild.
The changed tests should indicate how behavior changes in various edge
cases.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Lesser form of include-what-you-use: at least guarantees that header
file did not forget to include something through some other included
file.
Activate run_single_includes_tests on CI.
Fix some IWYU violations.
References #5321
|
|
|
|
|
|
|
|
|
|
| |
Problem: Man test fails when run with the GUI.
Solution: Adjust for different behavior of GUI. Add assert_inrange().
https://github.com/vim/vim/commit/61c04493b00f85d0b97436260a9ef9ab82143b78
Only changes related to assert_inrange() were included, since we have a
distinct man plugin.
|
|
|
| |
If I am not mistaking, this commit should not change any functionality.
|
|
|
|
|
|
|
| |
Problem: Double free on exit when using a closure. (James McCoy)
Solution: Split free_al_functions in two parts. (closes #1428)
https://github.com/vim/vim/commit/03ff9bcbc968f7d306e4a4e334e226fdde62ca82
|
| |
|
|
|
|
|
|
|
|
|
| |
Problem: Leaking memory when redefining a function.
Solution: Don't increment the function reference count when it's found by
name. Don't remove the wrong function from the hashtab. More
reference counting fixes.
https://github.com/vim/vim/commit/8dd3a43d75550e9b5736066124c97697564f769e
|
|
|
|
|
|
|
|
|
| |
Problem: Using function() with a name will find another function when it is
redefined.
Solution: Add funcref(). Refer to lambda using a partial. Fix several
reference counting issues.
https://github.com/vim/vim/commit/437bafe4c8a83ed71ee006eda7f54b65a90f0d4c
|
|
|
|
|
|
|
|
| |
Problem: Using submatch() in a lambda passed to substitute() is verbose.
Solution: Use a static list and pass it as an optional argument to the
function. Fix memory leak.
https://github.com/vim/vim/commit/df48fb456fb6bf63d94cad9b302ff01d8ee8d311
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Problem: When using a partial on a dictionary it always gets bound to that
dictionary.
Solution: Make a difference between binding a function to a dictionary
explicitly or automatically.
https://github.com/vim/vim/commit/1d429610bf9e99a6252be8abbc910d6667e4d1da
|
|
|
|
|
|
|
| |
Problem: Passing cookie to a callback is clumsy.
Solution: Change function() to take arguments and return a partial.
https://github.com/vim/vim/commit/1735bc988c546cc962c5f94792815b4d7cb79710
|
|
|
|
|
|
|
|
| |
Problem: Compiler has a problem copying a string into di_key[]. (Yegappan
Lakshmanan)
Solution: Add dictitem16_T.
https://github.com/vim/vim/commit/bee6c0cf86a75faa2aa893f2c9db82fd944a89a5
|
|
|
|
|
|
|
| |
Problem: Can't assert for not equal and not matching.
Solution: Add assert_notmatch() and assert_notequal().
https://github.com/vim/vim/commit/b50e5f56861deb867478997397f7c784a7043233
|
|
|
|
|
|
|
|
|
| |
Also adds one exception to linter rules:
typedef struct {
kvec_t(Object) stack;
} EncodedData;
is completely valid (from the style guide point of view) code.
|
| |
|
| |
|
|
|
|
|
| |
To get v:none back just rever this commit. This will not make json*() functions
compatible with Vim though.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
Problem: Various problems with locked and fixed lists and dictionaries.
Solution: Disallow changing locked items, fix a crash, add tests. (Olaf
Dabrunz)
https://github.com/vim/vim/commit/9bc174b69d2775b0f27ed74bf372608d18c9f3d4
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
Problem: For complicated list and dict use the garbage collector can run
out of stack space.
Solution: Use a stack of dicts and lists to be marked, thus making it
iterative instead of recursive. (Ben Fritz)
https://github.com/vim/vim/commit/2459a5ecaa43c8549ea53e9364253ff891676da5
|
| |
|
|
|
|
|
|
|
|
| |
Due to the way vimscript garbage collection handles cyclic references, its not
possible to rely on incrementing `dv_refcount` to prevent dicts still used
internally from being collected: If a object with dv_refcount > 0 isn't
reachable by vimscript code, it will be freed when `garbage_collect()` is
called. Add the `internal_refcount` field to prevent this.
|
|
|
|
|
|
| |
Change define guards from NEOVIM_XXX_H to NVIM_XXX_H:
- Change header files.
- Change clint correct guard name calculation.
|
|
|
|
| |
Prepend 'nvim/' in all project-local (non-system) includes.
|
|
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.
|