aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
...
| * | | | unittests: Add tests for dictionary indexingZyX2017-03-29
| | | | |
| * | | | eval/typval: Refactor errors a bit: use emsgf alwaysZyX2017-03-29
| | | | |
| * | | | mbyte: Include os_defs.h in mbyte.hZyX2017-03-29
| | | | |
| * | | | eval: Do not use S_LEN as snprintf argumentZyX2017-03-29
| | | | |
| * | | | eval/typval: Fix SEGV in test_alot.vim testZyX2017-03-29
| | | | |
| * | | | eval: Fix SEGV in test49ZyX2017-03-29
| | | | |
| * | | | eval: Fix len argument to xstrlcatZyX2017-03-29
| | | | |
| * | | | ascii: Readd DEL_STR defineZyX2017-03-29
| | | | |
| * | | | syntax: Fix linter errorZyX2017-03-29
| | | | |
| * | | | eval/typval: Fix -Werror=return-typeZyX2017-03-29
| | | | |
| * | | | eval: Fix linter errorsZyX2017-03-29
| | | | |
| * | | | *: Make some more things const and with lengthZyX2017-03-29
| | | | |
| * | | | eval: Make sure that v:_null_dict does not crash dictwatcher*()ZyX2017-03-29
| | | | | | | | | | | | | | | Ref #4615
| * | | | eval: Make dictionary watchers work with empty keysZyX2017-03-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Looks like dict_notifications_spec test used to depend on some state which should not be preserved. Changed all `setup()` calls to `before_each()` and added necessary state in addition to changes required to test empty keys. Note: unit tests for tv_dict_watcher* are still needed.
| * | | | eval: Move part of dictwatcher* functions to eval/typvalZyX2017-03-29
| | | | |
| * | | | *: Fix some Windows-specific warningsZyX2017-03-29
| | | | | | | | | | | | | | | | | | | | Also fixed an error in path_fnamecmp().
| * | | | eval/typval: More `const` qualifiers in `tv_dict*` function signaturesZyX2017-03-29
| | | | |
| * | | | unittests: Add tests for tv_list_idx_of_itemZyX2017-03-29
| | | | |
| * | | | unittests: Add tests for tv_list_find*() functionsZyX2017-03-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Additional modifications: - More `const` qualifiers in tested functions. - `tv_list_find_str()` second argument is more in-line with other `tv_list_find*()` functions.
| * | | | eval/typval: Add tv_list_equal() tests, compare NULL lists equalZyX2017-03-29
| | | | |
| * | | | eval/typval,tests: Fix extending list with itself, add testsZyX2017-03-29
| | | | | | | | | | | | | | | | | | | | | | | | | Adds unit test for tv_list_extend and regression test for extend() VimL function.
| * | | | unittests: Test tv_list_concat()ZyX2017-03-29
| | | | |
| * | | | eval/typval: Make tv_list_concat handle NULL lists correctlyZyX2017-03-29
| | | | | | | | | | | | | | | | | | | | Fixes some FIXMEs in eval/null_spec.lua.
| * | | | unittests: Test tv_list_copyZyX2017-03-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also found some bugs: 1. var_item_copy() always fails to copy v:_null_list and v:_null_dict. Fixing this should mean fixing `deepcopy(v:_null_list)` which should’ve been, but was not listed in #4615. This also fixes `deepcopy(v:_null_dict)`. 2. var_item_copy() crashes when trying to copy NULL string with `conv != NULL`. 3. `conv` argument is ignored when copying list unless `deep` is true, but it was not reflected in documentation. 4. `tv_dict_item_alloc_len()` allocated more memory then needed. 5. typvalt2lua was not able to handle self-referencing containers.
| * | | | unittests: Test tv_list_item_\* functionsZyX2017-03-29
| | | | | | | | | | | | | | | | | | | | To check that memory is free()d correctly.
| * | | | eval/typval: Add missing includes, also add a script to find themZyX2017-03-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Contains unfinished attempt to integrate IWYU (ref #549). To finish it different job should be done, specifically: - Instead of feeding IWYU with modified file a mirror source tree should be created with the help of CMake which will contain modified sources. This solves the problem with IWYU thinking that `*.generated.h` headers should be included in place of `*` headers. - Build IWYU as all other third-party utilities. - Make modified sources avoid problems with `nvim/func_attr.h` includes and various related tricks. Current script may only be used for manual checks like this: ./scripts/check-includes.py \ --generated-includes-dir build/include \ --generated-includes-dir build/src/nvim/auto \ --file src/nvim/eval/typval.c \ -- -Isrc -Ibuild/include -Ibuild/src/nvim/auto \ -DINCLUDE_GENERATED_DECLARATIONS (it is also somewhat fine with `--file src/nvim/eval/typval.h`). I have no idea why (I mean, why developer think that these lines are needed, why they are suggested is pretty obvious: because there is typedef which mentions them before structs are defined), but for typval.h it reports, among other things, that it should add lines struct dictvar_S; struct listitem_S; struct listvar_S; struct listwatch_S;
| * | | | eval: Move copy_tv to eval/typvalZyX2017-03-29
| | | | |
| * | | | message: Remove incorrect assertionZyX2017-03-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It was there only to prove that *now* `len` argument is not used to forbid putting message into history (i.e. that Neovim behaviour did not change). After this commit it should be possible to use msg_puts_attr_len with len>=0 to put message into history should new code need this.
| * | | | message: Revise maxlen argument in msg_puts_attr_lenZyX2017-03-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `attr` argument is enough to forbid putting message in history. Also forbid strings with NUL before `len` just in case (it appears that this does not ever happen).
| * | | | cmake: Use CMAKE_CURRENT_LIST_DIR and remove vars used only onceZyX2017-03-29
| | | | |
| * | | | eval: Fix max_min functionsZyX2017-03-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Found two bugs: 1. Multiple unneeded error messages, vim/vim#1039. 2. Unformatted error string, vim/vim#1040.
| * | | | typval.h: Allow non-var expressions in TV_DICT_ITER first argumentZyX2017-03-29
| | | | |
| * | | | misc1: Refactor ask_yesno()ZyX2017-03-29
| | | | |
| * | | | eval: Make sort always stableZyX2017-03-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Should fix test failures on QB: 20:00:51,837 INFO - not ok 420 - sort() sorts “wrong” values between -0.0001 and 0.0001, preserving order 20:00:51,837 INFO - # test/functional/eval/sort_spec.lua @ 21 20:00:51,837 INFO - # Failure message: test/functional/eval/sort_spec.lua:39: Expected objects to be the same. 20:00:51,837 INFO - # Passed in: 20:00:51,837 INFO - # (string) '[-1.0e-4, v:true, v:false, v:null, function('tr'), {'a': 42}, 'check', [], 1.0e-4]' 20:00:51,837 INFO - # Expected: 20:00:51,837 INFO - # (string) '[-1.0e-4, function('tr'), v:true, v:false, v:null, [], {'a': 42}, 'check', 1.0e-4]' 20:00:51,837 INFO - # stack traceback: 20:00:51,837 INFO - # test/functional/eval/sort_spec.lua:39: in function <test/functional/eval/sort_spec.lua:22> 20:00:51,837 INFO - #
| * | | | eval: Remove eval_expr() completelyZyX2017-03-29
| | | | |
| * | | | eval: Move remaining get_tv_string* functions to eval/typval.cZyX2017-03-29
| | | | |
| * | | | eval: Move free_tv to eval/typval.h, remove most of its usagesZyX2017-03-29
| | | | |
| * | | | eval: Move get_tv_number[_chk] to eval/typval.cZyX2017-03-29
| | | | |
| * | | | eval: Refactor get_tv_lnum_bufZyX2017-03-29
| | | | |
| * | | | eval: Move get_tv_lnum and get_tv_float to eval/typval.hZyX2017-03-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Additionally - Rename former tv_get_float to tv_get_float_chk due to name conflict (former get_tv_float is better suited for being tv_get_float). - Add E907 error to get_tv_float() and test that it is being raised when appropriate.
| * | | | eval: Move get_tv_string_buf() to eval/typval.cZyX2017-03-29
| | | | |
| * | | | eval,*: Move get_tv_string to typval.cZyX2017-03-29
| | | | | | | | | | | | | | | | | | | | Function was renamed and changed to return `const char *`.
| * | | | eval: Move get_float_arg to typval.hZyX2017-03-29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Assuming `inline` is there for a reason, so it is kept and function was moved to typval.h and not to typval.c which does not have problems with #including message.h.
| * | | | eval: Split and move dict_add_nr_str to typval.cZyX2017-03-29
| | | | | | | | | | | | | | | | | | | | Function was split into tv_dict_add_nr() and tv_dict_add_str().
| * | | | eval: Move dict_add_list and dict_add_dict to typval.cZyX2017-03-29
| | | | |
| * | | | eval: Move dict_set_keys_readonly to typval.cZyX2017-03-29
| | | | |
| * | | | eval: Move get_dict_callback to typval.cZyX2017-03-29
| | | | |
| * | | | eval: Make setmatches() return -1 in case of some failuresZyX2017-03-29
| | | | |
| * | | | *: Move some dictionary functions to typval.h and use char*ZyX2017-03-29
| | | | | | | | | | | | | | | | | | | | Also fixes buffer reusage in setmatches() and complete().
| * | | | eval: Split eval.c into smaller filesZyX2017-03-29
| | | | |