aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.c
Commit message (Collapse)AuthorAge
...
| | * Merge #6219 from jbradaric/vim-7.4.2170Justin M. Keyes2017-04-16
| | |\ | | | | | | | | vim-patch:7.4.{2170,2180,2240,2241,2242}
| | | * eval.c: Code style fixesJurica Bradaric2017-04-15
| | | |
| | | * Merge remote-tracking branch 'origin/master' into vim-7.4.2170James McCoy2017-04-05
| | | |\
| | | * | vim-patch:7.4.2180Jurica Bradaric2017-03-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: There is no easy way to stop all timers. There is no way to temporary pause a timer. Solution: Add timer_stopall() and timer_pause(). https://github.com/vim/vim/commit/b73598e2f022a22fec512ea681c70d2775e8fd87
| | | * | vim-patch:7.4.2170Jurica Bradaric2017-03-20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: Cannot get information about timers. Solution: Add timer_info(). https://github.com/vim/vim/commit/8e97bd74b5377753597e3d98e7123d8985c7fffd
| * | | | eval: Add comment regarding why special values are neededZyX2017-04-14
| | | | |
| * | | | eval: Change the point at which arg_errmsg and its length are changedZyX2017-04-14
| |/ / / | | | | | | | | | | | | Ref #6437
* | | | lua: Move files from src/nvim/viml/executor to src/nvim/luaZyX2017-04-11
| | | |
* | | | Merge branch 'master' into luaviml'/luaZyX2017-04-10
|\| | |
| * | | lint: fix clint errors around mb_tolower callsBjörn Linse2017-04-10
| | | |
| * | | vim-patch:8.0.0243Björn Linse2017-04-10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: When making a character lower case with tolower() changes the byte cound, it is not made lower case. Solution: Add strlow_save(). (Dominique Pelle, closes vim/vim#1406) https://github.com/vim/vim/commit/cc5b22b3bfdc0e9e835cf7871166badda31447bd Join almost identical strup_save and strlow_save functions to one Function.
| * | | mbyte: replace vim_tolower with mb_tolower handling locale correctlyBjörn Linse2017-04-10
| | | |
| * | | lintJames McCoy2017-04-07
| | | |
| * | | vim-patch:8.0.0499James McCoy2017-04-07
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem: taglist() does not prioritize tags for a buffer. Solution: Add an optional buffer argument. (Duncan McDougall, closes vim/vim#1194) https://github.com/vim/vim/commit/c6aafbaf3ea755e3ab4ee2e3045911126a08b038
* | | | Merge branch 'master' into luaviml'/luaZyX2017-04-08
|\| | |
| * | | eval: delimit string with NUL byte (#6467)Nicolas Hillegeer2017-04-07
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | A recent refactor left cpy without a NUL terminator, simplify the code instead of patching over it. Instead of plain memcpy, it'd be better to employ harder to misuse string functions made for this purpose like xstrlcpy(), but path_tail() takes char_u arguments and returns them, leading to a lot of ugly casting. Fixes #6431.
| * | eval: Add s flag, use p_fs by default, error out on unknown flagZyX2017-04-03
| | |
| * | eval: Make writefile() able to disable fsync()ZyX2017-04-02
| | |
| * | eval: Do not allocate FileDescriptorZyX2017-04-01
| | |
| * | eval,fileio: Omit additional fsync() callZyX2017-04-01
| | | | | | | | | | | | Fixes #6420
| * | Merge pull request #6397 from jamessan/coverityJames McCoy2017-03-31
| |\ \ | | | | | | | | Fix latest Coverity issues
| | * | coverity/161216: Ensure buf is valid for lifetime of defstrJames McCoy2017-03-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Depending on the type of argument for input()/inputdialog()'s {text} argument, defstr may point to buf. Therefore it needs to be in scope for the lifetime of defstr. Also, use a different buffer for the handling of the 3rd argument to input()/inputdialog(). Although the buffer defstr points to is used immediately, it avoids potential mishaps if the code changes.
| * | | vim-patch:7.4.2104 (#6332)Michael Ennen2017-03-31
| |/ / | | | | | | | | | | | | | | | Problem: Code duplication when unreferencing a function. Solution: De-duplicate. https://github.com/vim/vim/commit/97baee80f0906ee2f651ee1215ec033e84f866ad
| * | *: Use const char * in set_one_cmd_contextZyX2017-03-29
| | | | | | | | | Also renames functions added in master and renamed here.
| * | eval: Fix -Werror=unitialized from QBZyX2017-03-29
| | |
| * | eval: Do not supply S_LEN to strncmpZyX2017-03-29
| | | | | | | | | It may be a macro as well.
| * | eval: Fix extend() behaviour with NULL lists and dictionariesZyX2017-03-29
| | | | | | | | | | | | | | | Ref #4615 Ref vim/vim#768
| * | eval: Use tv_is_func in place of ==VAR_FUNC||==VAR_PARTIALZyX2017-03-29
| | | | | | | | | | | | Also fixes same error as in vim/vim#1557
| * | eval: Do not use S_LEN as snprintf argumentZyX2017-03-29
| | |
| * | eval: Fix SEGV in test49ZyX2017-03-29
| | |
| * | eval: Fix len argument to xstrlcatZyX2017-03-29
| | |
| * | eval: Fix linter errorsZyX2017-03-29
| | |
| * | *: Make some more things const and with lengthZyX2017-03-29
| | |
| * | 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
| | |
| * | 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.
| * | 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.
| * | eval: Move copy_tv to eval/typvalZyX2017-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
| | |
| * | 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.