Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | eval: Fix failing test | ZyX | 2017-01-07 |
| | |||
* | eval: Make sure that copyID is reset when needed | ZyX | 2017-01-07 |
| | | | | | Works by making value pushed on stack represent the exhausted list. Fixes #5901, except for dictionaries which need similar adjustment. | ||
* | eval/typval_encode.h: Use only a single macros with _INNER[_2] hack | ZyX | 2017-01-07 |
| | |||
* | eval/typval_encode: Dump empty dictionary before checking for refcycle | ZyX | 2017-01-06 |
| | | | Otherwise copyID will stay forever on empty dictionaries. | ||
* | eval/typval_encode: Use TYPVAL_ENCODE_CONV_EMPTY_DICT for partials | ZyX | 2017-01-06 |
| | |||
* | eval/typval_encode.h: Remove documentation that is located in *.c.h | ZyX | 2017-01-06 |
| | |||
* | *: Remove `// fname()` comments near typval_encode includes | ZyX | 2017-01-04 |
| | |||
* | eval/encode: Always check the return value of encode_vim_to_\* | ZyX | 2017-01-04 |
| | |||
* | eval: Fix errorneous early exit when converting lists and dictionaries | ZyX | 2017-01-03 |
| | |||
* | eval/encode: Fail when stringifying NULL functions | ZyX | 2017-01-03 |
| | |||
* | eval/typval_encode: Handle NULL partials properly | ZyX | 2017-01-03 |
| | |||
* | eval/typval_encode: Provide proper values as dict argument | ZyX | 2017-01-03 |
| | |||
* | eval/encode: Fix 4 new linter failures | ZyX | 2017-01-03 |
| | |||
* | eval/typval_encode: Refactor arguments to argument macroses | ZyX | 2017-01-03 |
| | | | Fixed local test failures somewhere in process. | ||
* | eval/typval_encode: Rename some \*tv variables | ZyX | 2017-01-03 |
| | | | | | 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. | ||
* | eval/typval_encode: Fix infinite loop | ZyX | 2017-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: Fix linter errors | ZyX | 2017-01-03 |
| | |||
* | eval/typval_encode: Fix crashes | ZyX | 2017-01-03 |
| | |||
* | eval/typval_encode: Refactor big-big macros into .c.h file | ZyX | 2017-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 recursive | ZyX | 2017-01-03 |
| | | | | | | Is known to crash in the current state. Ref #5825. | ||
* | eval: encode: Fix NULL check for partial's name | James McCoy | 2016-12-23 |
| | |||
* | Add some tests and cleanup. | Michael Ennen | 2016-12-12 |
| | |||
* | Fixes. | Michael Ennen | 2016-12-12 |
| | |||
* | vim-patch:7.4.1608 | Michael Ennen | 2016-12-12 |
| | | | | | | | Problem: string() doesn't handle a partial. Solution: Make a string from a partial. https://github.com/vim/vim/commit/5c29154b521e9948190be653cfda666ecbb63b5b | ||
* | vim-patch:7.4.1559 | Michael Ennen | 2016-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 | ||
* | Merge #5752 from justinmk/doc | Justin M. Keyes | 2016-12-11 |
|\ | | | | | doc: api_info(), typval_encode.h | ||
| * | doc: eval/typval_encode.h | Justin M. Keyes | 2016-10-31 |
| | | | | | | | | Annotate TYPVAL_ENCODE_DEFINE_CONV_FUNCTIONS to aid code navigation. | ||
* | | Bump all nvim-specific error codes above E5000 | James McCoy | 2016-11-15 |
|/ | | | | | | | | | | 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. | ||
* | eval: Also make clear_tv non-recursive | ZyX | 2016-06-24 |
| | |||
* | kvec,typval_encode: Add new vector: the one with preallocated array | ZyX | 2016-06-24 |
| | |||
* | api/helpers: Use typval_encode.h for vim_to_object | ZyX | 2016-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 type | ZyX | 2016-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 array | ZyX | 2016-05-30 |
| | |||
* | eval/encode: Move main macros from encode.c to typval_encode.h | ZyX | 2016-05-30 |
| | |||
* | lib/kvec: Do not use kv_init unless needed | ZyX | 2016-05-30 |
| | |||
* | lib/kvec: Remove useless type argument from kv_push macros | ZyX | 2016-05-30 |
| | |||
* | eval/encode: Simplify loop in encode_list_write | ZyX | 2016-04-18 |
| | | | Patch made up by oni-link. | ||
* | eval/encode: Make sure that encoder can encode NULL variables | ZyX | 2016-04-18 |
| | | | | | | | | | 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. | ||
* | eval/encode: Adjust buffer sizes passed to vim_snprintf | ZyX | 2016-04-18 |
| | |||
* | eval/encode: Dump FF character correctly | ZyX | 2016-04-18 |
| | |||
* | *: Make set_vim_var_\* functions have proper argument types | ZyX | 2016-04-18 |
| | |||
* | eval/decode: Accept `\r` as space character | ZyX | 2016-04-18 |
| | |||
* | eval/decode: Do not overflow when parsing `-` | ZyX | 2016-04-18 |
| | | | Also makes if’s less nested. | ||
* | eval/decode: Clarify meaning of some pointer arguments | ZyX | 2016-04-18 |
| | |||
* | eval/decode: Fix typo in internal error message | ZyX | 2016-04-18 |
| | |||
* | eval/decode: Reject even more numbers | ZyX | 2016-04-18 |
| | | | | Rejects leading zeroes and numbers like 1.e+5 (decimal dot with missing number with signed exponent). | ||
* | *: Fix linter errors | ZyX | 2016-04-18 |
| | |||
* | eval/decode: Rewrite json_decode_string end as suggested by oni-link | ZyX | 2016-04-18 |
| | |||
* | eval/decode: Reject more numbers, accept 1e5 | ZyX | 2016-04-18 |
| | |||
* | eval/decode: Do not loose high surrogates followed by high surrogates | ZyX | 2016-04-18 |
| |