| Commit message (Collapse) | Author | Age |
... | |
| |
|
|
|
|
|
| |
Works by making value pushed on stack represent the exhausted list.
Fixes #5901, except for dictionaries which need similar adjustment.
|
| |
|
|
|
| |
Otherwise copyID will stay forever on empty dictionaries.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
| |
Fixed local test failures somewhere in process.
|
|
|
|
|
| |
Renames `tv` function argument to `top_tv` and `cur_tv` variable to `tv`, so
`tv` will mean something more or less the same in both
_TYPVAL_ENCODE_CONVERT_ONE_VALUE and _TYPVAL_ENCODE_ENCODE functions.
|
|
|
|
|
|
|
|
|
| |
Occurs when trying to dump a partial with attached self dictionary which
references that partial. “Infinite” loop should normally result in Neovim killed
by OOM killer.
Also moved the place when partials are unreferenced by clear_tv: from
…FUNC_START to …FUNC_END.
|
| |
|
| |
|
|
|
|
|
| |
This makes gdb backtraces much more meaningful: specifically I now know at which
line it crashes in place of seeing that it crashes at
TYPVAL_ENCODE_DEFINE_CONV_FUNCTIONS macros invocation.
|
|
|
|
|
|
| |
Is known to crash in the current state.
Ref #5825.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Problem: string() doesn't handle a partial.
Solution: Make a string from a partial.
https://github.com/vim/vim/commit/5c29154b521e9948190be653cfda666ecbb63b5b
|
|
|
|
|
|
|
| |
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
|
|\
| |
| | |
doc: api_info(), typval_encode.h
|
| |
| |
| |
| | |
Annotate TYPVAL_ENCODE_DEFINE_CONV_FUNCTIONS to aid code navigation.
|
|/
|
|
|
|
|
|
|
|
| |
In order to not conflict with new error codes that Vim adds, all Neovim
error codes should be above 5000. The three existing sub-5000 error
codes (E926, E951, and E952) are now E50003, E5004, and E5005
respectively.
E953 was removed in 6167ce6df2753d5474ad49aea19f5957128ab015, so just
remove it from the help.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This ought to prevent stack overflow, but I do not see this actually working:
*lua* code crashes with stack overflow when trying to deserialize msgpack from
Neovim, Neovim is fine even if nesting level is increased 100x (though test
becomes very slow); not sure how recursive function may survive this. So it
looks like there are currently only two positive effects:
1. NULL lists are returned as empty (#4596).
2. Functional tests are slightly more fast. Very slightly. Checked for Release
build for test/functional/eval tests because benchmarking of debug mode is
not very useful.
|
|
|
|
|
|
| |
For string() it looks like no optimization, sometimes performance is even worse.
Since it was designed to avoid heap allocations in clear_tv let’s see whether it
will make any difference once clear_tv uses typval_encode to avoid stack
overflow in the disabled test.
|
| |
|
| |
|
| |
|
| |
|
|
|
| |
Patch made up by oni-link.
|
|
|
|
|
|
|
|
|
| |
Adds two undocumented v: variables: _null_list and _null_dict because I do not
know a reproducible way to get such lists (though I think I heard about this)
and dictionaries (do not remember hearing about them). NULL strings are obtained
using $XXX_UNEXISTENT_VAR_XXX.
Fixes crash in json_encode($XXX_UNEXISTENT_VAR_XXX). Other added tests worked
fine before this commit.
|
| |
|
| |
|
| |
|
| |
|
|
|
| |
Also makes if’s less nested.
|
| |
|
| |
|
|
|
|
| |
Rejects leading zeroes and numbers like 1.e+5 (decimal dot with missing number
with signed exponent).
|
| |
|
| |
|
| |
|
| |
|