aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval/typval_encode.h
Commit message (Collapse)AuthorAge
* eval/typval_encode.h: Use only a single macros with _INNER[_2] hackZyX2017-01-07
|
* eval/typval_encode.h: Remove documentation that is located in *.c.hZyX2017-01-06
|
* eval/typval_encode: Provide proper values as dict argumentZyX2017-01-03
|
* eval/typval_encode: Refactor arguments to argument macrosesZyX2017-01-03
| | | Fixed local test failures somewhere in process.
* eval/typval_encode: Fix infinite loopZyX2017-01-03
| | | | | | | | | 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.
* eval/typval_encode: Refactor big-big macros into .c.h fileZyX2017-01-03
| | | | | 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.
* eval/typval_encode: Make partial conversions not recursiveZyX2017-01-03
| | | | | | Is known to crash in the current state. Ref #5825.
* Fixes.Michael Ennen2016-12-12
|
* vim-patch:7.4.1559Michael Ennen2016-12-12
| | | | | | | 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: eval/typval_encode.hJustin M. Keyes2016-10-31
| | | | Annotate TYPVAL_ENCODE_DEFINE_CONV_FUNCTIONS to aid code navigation.
* eval: Also make clear_tv non-recursiveZyX2016-06-24
|
* kvec,typval_encode: Add new vector: the one with preallocated arrayZyX2016-06-24
|
* api/helpers: Use typval_encode.h for vim_to_objectZyX2016-06-24
| | | | | | | | | | | | | 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.
* typval_encode: Do not use new vector typeZyX2016-05-30
| | | | | | 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.
* kvec,typval_encode: Add new vector: the one with preallocated arrayZyX2016-05-30
|
* eval/encode: Move main macros from encode.c to typval_encode.hZyX2016-05-30