aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAge
...
| * | | | | | | | | functests: Make json_functions_spec use new NIL where appropriateZyX2016-04-18
| | | | | | | | | |
| * | | | | | | | | *: Fix preincrement lint errorsZyX2016-04-18
| | | | | | | | | |
| * | | | | | | | | eval/encode: Simplify loop in encode_list_writeZyX2016-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Patch made up by oni-link.
| * | | | | | | | | eval/encode: Make sure that encoder can encode NULL variablesZyX2016-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_snprintfZyX2016-04-18
| | | | | | | | | |
| * | | | | | | | | functests: Replace \xXX escapes with \DDD in lua codeZyX2016-04-18
| | | | | | | | | |
| * | | | | | | | | eval/encode: Dump FF character correctlyZyX2016-04-18
| | | | | | | | | |
| * | | | | | | | | *: Make set_vim_var_\* functions have proper argument typesZyX2016-04-18
| | | | | | | | | |
| * | | | | | | | | eval: Treat [] and [""] as any other empty stringZyX2016-04-18
| | | | | | | | | |
| * | | | | | | | | eval: Fix overflow in error message in f_json_decodeZyX2016-04-18
| | | | | | | | | |
| * | | | | | | | | documentation: Update assert_{false,true}() and empty() documentationZyX2016-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also removes a note regarding the performance of `empty(long_list)` vs `len(long_list) == 0` because this has nothing to do with the actual state: first checks that list is not NULL and pointer to its first element is also not NULL, second gets length by comparing list with NULL and falls back to `tv->vval.v_list->lv_len` if not. `len(long_list)` *may* still be *slightly* slower, but the slow down has nothing to do with the length of the list, is hardly noticeable and depends on how good compiler is at inlining and what exactly have author of the plugin written (I mean `len(long_list) == 0` vs `empty(long_list)` vs `!len(long_list)`).
| * | | | | | | | | api: Add warnings about the returned value to \*del_var functionsZyX2016-04-18
| | | | | | | | | |
| * | | | | | | | | documentation,functests: State that UTF-8-only support is intentionalZyX2016-04-18
| | | | | | | | | |
| * | | | | | | | | eval/decode: Accept `\r` as space characterZyX2016-04-18
| | | | | | | | | |
| * | | | | | | | | eval/decode: Do not overflow when parsing `-`ZyX2016-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also makes if’s less nested.
| * | | | | | | | | eval/decode: Clarify meaning of some pointer argumentsZyX2016-04-18
| | | | | | | | | |
| * | | | | | | | | eval/decode: Fix typo in internal error messageZyX2016-04-18
| | | | | | | | | |
| * | | | | | | | | eval/decode: Reject even more numbersZyX2016-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rejects leading zeroes and numbers like 1.e+5 (decimal dot with missing number with signed exponent).
| * | | | | | | | | *: Fix linter errorsZyX2016-04-18
| | | | | | | | | |
| * | | | | | | | | documentation: Update type() documentationZyX2016-04-18
| | | | | | | | | |
| * | | | | | | | | message: Remove useless emsg* functions, leaving only emsgfZyX2016-04-18
| | | | | | | | | |
| * | | | | | | | | eval/decode: Rewrite json_decode_string end as suggested by oni-linkZyX2016-04-18
| | | | | | | | | |
| * | | | | | | | | eval/decode: Reject more numbers, accept 1e5ZyX2016-04-18
| | | | | | | | | |
| * | | | | | | | | eval/decode: Do not loose high surrogates followed by high surrogatesZyX2016-04-18
| | | | | | | | | |
| * | | | | | | | | eval/decode: Make sure that error messages do not cause overflowZyX2016-04-18
| | | | | | | | | |
| * | | | | | | | | eval/decode: Make sure that parsing strings does not overflowZyX2016-04-18
| | | | | | | | | |
| * | | | | | | | | eval/decode: Make sure that blank input does not crash NeovimZyX2016-04-18
| | | | | | | | | |
| * | | | | | | | | eval/decode: Make sure that U+00C3 is parsed correctlyZyX2016-04-18
| | | | | | | | | |
| * | | | | | | | | functests: Make sure that json functions are tested with C messagesZyX2016-04-18
| | | | | | | | | |
| * | | | | | | | | eval/decode: Avoid overflow when parsing incomplete null/true/falseZyX2016-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note: second test does not crash or produce asan errors, even though it should.
| * | | | | | | | | eval/decode: Rename brackets in error messagesZyX2016-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | U+007D is officially RIGHT CURLY BRACKET. U+005D is officially RIGHT SQUARE BRACKET.
| * | | | | | | | | eval/decode: Record that `obj` may be freedZyX2016-04-18
| | | | | | | | | |
| * | | | | | | | | eval/decode: Also use VAR_UNLOCKED in old codeZyX2016-04-18
| | | | | | | | | |
| * | | | | | | | | eval: Remove assert expressionZyX2016-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GCC on travis thinks that 1. It is not constant. 2. Left-hand operand of comma has no effect (-Werror=unused-variable).
| * | | | | | | | | eval: Do not break when VimVarIndex and vimvars order mismatchesZyX2016-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also makes sure that compiler will error out when new name is longer then vv_filler.
| * | | | | | | | | encode: Handle incomplete surrogates like `\uSURR\uOTHR` properlyZyX2016-04-18
| | | | | | | | | |
| * | | | | | | | | encode: Fail to dump NaN and infinityZyX2016-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Thanks to vim/vim#654
| * | | | | | | | | api/documentation: Add a warning that nil may mean v:nullZyX2016-04-18
| | | | | | | | | |
| * | | | | | | | | eval: Rename json* functions to json_*ZyX2016-04-18
| | | | | | | | | |
| * | | | | | | | | api: Replace set_var(name, NIL) with del_var(name)ZyX2016-04-18
| | | | | | | | | |
| * | | | | | | | | eval/encode: Remove unneeded variable, add missing includeZyX2016-04-18
| | | | | | | | | |
| * | | | | | | | | eval/encode: Free memory just in caseZyX2016-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | After string_convert() with .vc_fail=true these blocks should never be entered because they indicate invalid unicode.
| * | | | | | | | | eval/encode: Reduce length of encode_list_writeZyX2016-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Changes suggested by oni-link.
| * | | | | | | | | eval/encode: Fix invalid UTF-8 strings handling:ZyX2016-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1. Do not allow reading past buffer end when creating error messages. 2. Fix surrogate pairs range, avoid magic constants.
| * | | | | | | | | eval/encode: Fix writing strings starting with NL to listZyX2016-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Error [found][1] by oni-link. [1]: https://github.com/neovim/neovim/pull/4131/files#r52239384
| * | | | | | | | | eval: Fix QuickBuild failuresZyX2016-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Compiler used by one VM in QuickBuild has found a number of false positives. Everything is fine on travis. List of failures: From [QuickBuild][1], build [7429][2]: 14:38:19,945 WARN - /home/quickbuild/buildagent/workspace/root/neovim/pull-requests-automated/src/nvim/eval.c: In function ‘assert_bool’: 14:38:19,945 WARN - /home/quickbuild/buildagent/workspace/root/neovim/pull-requests-automated/src/nvim/eval.c:7551:40: error: comparison between signed and unsigned integer expressions [-Werror=sign-compare] 14:38:20,058 WARN - cc1: all warnings being treated as errors . This is not making much sense (7551:40 is `!=` in `{SpecialVarValue} != ({bool}?{SpecialVarValue}:{SpecialVarValue})`), but this error is present. --- Also fail from [build][3] [4930][4]: 15:47:00,853 WARN - /home/quickbuild/buildagent/workspace/root/neovim/pull-requests-automated/src/nvim/eval/encode.c: In function ‘encode_read_from_list’: 15:47:00,853 WARN - /home/quickbuild/buildagent/workspace/root/neovim/pull-requests-automated/src/nvim/eval/encode.c:258:30: error: conversion to ‘char’ from ‘int’ may alter its value [-Werror=conversion] , pointing to `:` in `{char} = ({char} == {const} ? {const} : {char})` where `{const}` is character constant like `'\n'`. I have no idea where exactly it saw conversion, so simply casted everything to (char). --- [Build][5] error: 08:32:03,472 WARN - /home/quickbuild/buildagent/workspace/root/neovim/pull-requests-automated/src/nvim/eval.c: In function ‘tv_equal’: 08:32:03,472 WARN - /home/quickbuild/buildagent/workspace/root/neovim/pull-requests-automated/src/nvim/eval.c:5077:1: error: control reaches end of non-void function [-Werror=return-type] --- Build [4949][7]: 11:28:00,578 WARN - /home/quickbuild/buildagent/workspace/root/neovim/pull-requests-automated/src/nvim/eval.c: In function ‘f_type’: 11:28:00,578 WARN - /home/quickbuild/buildagent/workspace/root/neovim/pull-requests-automated/src/nvim/eval.c:16085:24: error: ‘n’ may be used uninitialized in this function [-Werror=uninitialized] 11:28:00,581 WARN - /home/quickbuild/buildagent/workspace/root/neovim/pull-requests-automated/src/nvim/eval.c: In function ‘f_empty’: 11:28:00,581 WARN - /home/quickbuild/buildagent/workspace/root/neovim/pull-requests-automated/src/nvim/eval.c:8505:24: error: ‘n’ may be used uninitialized in this function [-Werror=uninitialized] [1]: http://neovim-qb.szakmeister.net/wicket/page?5-1.ILinkListener-content-buildTab-panel-masterStep-body-children-0-step-body-children-2-body-children-3-step-body-children-0-step-body-children-0-step-head-logLink [2]: http://neovim-qb.szakmeister.net/build/4929 [3]: http://neovim-qb.szakmeister.net/build/4930 [4]: http://neovim-qb.szakmeister.net/wicket/page?1-1.ILinkListener-content-buildTab-panel-masterStep-body-children-0-step-body-children-1-body-children-3-step-body-children-0-step-body-children-0-step-head-logLink [5]: http://neovim-qb.szakmeister.net/build/4948/step_status [7]: http://neovim-qb.szakmeister.net/build/4949
| * | | | | | | | | version: Record that vim-7.4.1271 is kinda of thereZyX2016-04-18
| | | | | | | | | |
| * | | | | | | | | eval/encode: Fix non-utf-8 &encoding handling, add testsZyX2016-04-18
| | | | | | | | | |
| * | | | | | | | | *: Fix memory leaks found by clang sanitizerZyX2016-04-18
| | | | | | | | | |
| * | | | | | | | | shada: Make sure that NIL and EXT values can also be parsed backZyX2016-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Note: currently they are both *dumped*, but parsing them produces an error. This is inappropriate: variables should either be skipped with error message when dumping or should be read back properly. It also appears that I did not have test for “has wrong variable value type” error, so nothing got removed from errors_spec.