aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval
Commit message (Collapse)AuthorAge
* ex_getln: Replace global with entry in save_cclineZyX2017-07-17
|
* eval/typval: Add tv_dict_add_allocated_str() functionZyX2017-07-02
|
* *: Fix conversion warnings for tv_get_number*()James McCoy2017-06-06
|
* eval/typval: Convert string to varnumber_T instead of intermediate longJames McCoy2017-06-06
|
* eexe_mod_op: Explicitly cast varnumber_T to float_T for -WconversionJames McCoy2017-06-04
|
* *: Disable UBSAN for VimL arithmetic implementationJames McCoy2017-06-04
| | | | | | | | | | | | After merging +num64, the 64-bit sanitizer builds show that Vim doesn't buffer the user from C's UB in signed arithmetic. Upstream doesn't appear to be [interested] in fixing the issue, so suppress UBSAN until someone decides to fix the problem. N.B., the problem existed before but went unnoticed since the sanitizer builds weren't being run in 32-bit mode. [interested]: https://groups.google.com/d/topic/vim_dev/_tqf8eQy5eA/discussion
* lintJames McCoy2017-06-04
|
* vim-patch:7.4.1976James McCoy2017-06-04
| | | | | | | Problem: Number variables are not 64 bits while they could be. Solution: Add the num64 feature. (Ken Takata) https://github.com/vim/vim/commit/22fcfad29276bd5f317faf516637dcd491b96a12
* eval/encode: Silence V595 errorZyX2017-05-20
|
* Merge #6480 from ZyX-I/colored-cmdline'/input-dictJustin M. Keyes2017-05-13
|\
| * eval/typval: Fix numbuf parameter documentationZyX2017-05-13
| |
| * eval: Refactor get_user_input to support dictionaryZyX2017-05-10
| |
* | *: Use __attribute__((fallthrough)) where comments aren't supportedJames McCoy2017-05-12
|/ | | | | | | | | Although GCC now detects possibly unintentional fall through, there rules around which the comments are detected are rather strict. In cases where a comment isn't detected, upstream [recommends] using their fallthrough attribute. [recommends]: https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77817#c11
* Merge branch 'master' into luaviml'/luaZyX2017-05-08
|\
| * Merge branch 'master' into lazier-arg_errmsg-gettextZyX2017-04-21
| |\
| | * *: Add comment to all C filesZyX2017-04-19
| | |
| | * eval/typval_encode: Silence then/else equivalence warningZyX2017-04-16
| | |
| | * *: Silence some false positivesZyX2017-04-16
| | |
| | * eval/typval: Remove FUNC_ATTR_MALLOC from tv_list_alloc_retZyX2017-04-15
| | | | | | | | | | | | Same as tv_list_alloc, but additionally ret_tv receives pointer to the newly allocated list.
| | * eval/typval: Remove FUNC_ATTR_MALLOC from tv_dict_allocZyX2017-04-15
| | | | | | | | | | | | | | | | | | Allocated dict points to previously allocated dict. Queue in allocated dict points to itself. Hashtab in allocated dict points to inside itself. Allocated dict is saved to gc_first_dict.
| | * eval/typval: Remove FUNC_ATTR_MALLOC from tv_dict_item_copyZyX2017-04-15
| | | | | | | | | Allocated storage may receive pointer to the list after tv_copy().
| | * eval/typval: Remove FUNC_ATTR_MALLOC from tv_list_allocZyX2017-04-15
| | | | | | | | | | | | Allocated list points to previously allocated list. Allocated list is saved to gc_first_list.
| * | eval/encode: Do translate “… argument” strings, but only in conv_errorZyX2017-04-15
| | |
| * | eval/typval: Do not translate tv_clear argument, this is uselessZyX2017-04-15
| | |
| * | unittests: Add a test for TV_CSTRINGZyX2017-04-14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Not using enum{} because SIZE_MAX exceeds integer and I do not really like how enum definition is described in C99: 1. Even though all values must fit into the chosen type (6.7.2.2, p 4) the type to choose is still implementation-defined. 2. 6.4.4.3 explicitly states that “an identifier declared as an enumeration constant has type `int`”. So it looks like “no matter what type was chosen for enumeration, constants will be integers”. Yet the following simple program: #include <stdint.h> #include <stdio.h> #include <stddef.h> enum { X=SIZE_MAX }; int main(int argc, char **argv) { printf("x:%zu m:%zu t:%zu v:%zu", sizeof(X), sizeof(SIZE_MAX), sizeof(size_t), (size_t)X); } yields one of the following using different compilers: - clang/gcc/pathcc: `x:8 m:8 t:8 v:18446744073709551615` - pcc/tcc: `x:4 m:8 t:8 v:1844674407370955161` If I remove the cast of X to size_t then pcc/tcc both yield `x:4 m:8 t:8 v:4294967295`, other compilers’ output does not change. All compilers were called with `$compiler -std=c99 -xc -` (feeding program from echo), except for `tcc` which has missing `-std=c99`. `pcc` seems to ignore the argument though: it is perfectly fine with `-std=c1000`.
| * | 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
| * perf: tv_clear(): Cache gettext() result. (#6519)Justin M. Keyes2017-04-14
| | | | | | Closes #6437
* | eval/decode: Include header needed for TriStateZyX2017-04-10
| |
* | Merge branch 'master' into luaviml'/luaZyX2017-04-10
|\|
| * *: Remove useless assertsZyX2017-04-08
| |
| * *: Fix linter errorsZyX2017-04-08
| | | | | | | | | | | | Drops comments `// for …` that do not pass linter for them being unmaintainable and fast to becoming incomplete or even incorrect. Mention @dedmass
| * eval/*code,shada: Drop support for converting UTF-8 from/to p_encZyX2017-04-08
| | | | | | | | Not needed any longer since p_enc is always utf-8.
| * eval/decode: Omit calling convert_setup for each stringZyX2017-04-08
| | | | | | Uses the same trick eval/encode does.
| * eval/decode,shada: Do not forget to clean up convertersZyX2017-04-08
| |
* | Merge branch 'master' into luaviml'/luaZyX2017-04-08
|\|
| * Add handling for MSGPACK_OBJECT_FLOAT{32,64}James McCoy2017-03-30
| | | | | | | | | | | | msgpack-c previously only had MSGPACK_OBJECT_FLOAT, which was a 64-bit value. Now, 32-bit and 64-bit floats are supported as distinct types, but we'll simply continue to treat everything as 64-bit types.
| * eval/executor: Fix check-single-includesZyX2017-03-29
| |
| * eval/typval,api/buffer: Fix review commentsZyX2017-03-29
| |
| * eval/typval: Allow NULL dict as tv_dict_get_callback() argumentZyX2017-03-29
| | | | | | Also removes NULL key input: tv_dict_find() does not allow this.
| * unittests: Add tv_get number testsZyX2017-03-29
| |
| * unittests: Test locks sectionZyX2017-03-29
| |
| * unittests: Add tests for tv_clear()ZyX2017-03-29
| |
| * eval: Use tv_is_func in place of ==VAR_FUNC||==VAR_PARTIALZyX2017-03-29
| | | | | | | | Also fixes same error as in vim/vim#1557
| * unittests: Add tv_dict_add* unit testsZyX2017-03-29
| | | | | | | | | | | | | | | | Also fixes incorrect location of `tv_dict_add` function and three bugs in other functions: 1. `tv_dict_add_list` may free list it does not own (vim/vim#1555). 2. `tv_dict_add_dict` may free dictionary it does not own (vim/vim#1555). 3. `tv_dict_add_dict` ignores `key_len` argument.
| * eval/typval: Refactor errors a bit: use emsgf alwaysZyX2017-03-29
| |
| * eval/typval: Fix SEGV in test_alot.vim testZyX2017-03-29
| |
| * eval/typval: Fix -Werror=return-typeZyX2017-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