aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval
Commit message (Collapse)AuthorAge
...
| * vim-patch:8.0.0074Michael Schupikov2017-12-15
| | | | | | | | | | | | | | | | | | | | Problem: Cannot make Vim fail on an internal error. Solution: Add IEMSG() and IEMSG2(). (Domenique Pelle) Avoid reporting an internal error without mentioning where. https://github.com/vim/vim/commit/95f096030ed1a8afea028f2ea295d6f6a70f466f Signed-off-by: Michael Schupikov <michael@schupikov.de>
| * typval_encode.c.h: avoid -Wnonnull-compare warning (#7712)Justin M. Keyes2017-12-13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * typval_encode.c.h: avoid -Wnonnull-compare warning closes #6847 The NULL check is needed because TYPVAL_ENCODE_CONV_EMPTY_DICT may be invoked with literal `NULL`. Warning occurs even for `Debug` build-type: neovim/src/nvim/eval/typval.c: In function ‘_typval_encode_nothing_convert_one_value’: neovim/src/nvim/eval/typval.c:1802:10: warning: nonnull argument ‘tv’ compared to NULL [-Wnonnull-compare] if (tv != NULL) { \ ^ ../src/nvim/eval/typval_encode.c.h:398:9: note: in expansion of macro ‘TYPVAL_ENCODE_CONV_EMPTY_DICT’ TYPVAL_ENCODE_CONV_EMPTY_DICT(tv, tv->vval.v_dict); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gcc version: gcc (Ubuntu 6.3.0-12ubuntu2) 6.3.0 20170406 * fixup! typval_encode.c.h: avoid -Wnonnull-compare warning
* | eval/encode: Avoid unnecessary tv_list_idx_of_item() callsZyX2017-12-16
| |
* | *: Fix some problems found during reviewZyX2017-12-15
| | | | | | | | Still missing: problems in window.c, it should be possible to construct a test for them.
* | clint,eval: Make linter check for direct usage of list attributesZyX2017-12-12
| |
* | eval/typval: Fix typoZyX2017-12-11
| | | | | | [ci skip]
* | *: Fix linter errorsZyX2017-12-11
| |
* | *: Finish hiding list implementationZyX2017-12-11
| |
* | *: Fix test failuresZyX2017-12-11
| |
* | eval/encode: Fix crash in json_encode test suiteZyX2017-12-10
| |
* | *: Hide list implementation in other files as wellZyX2017-12-10
| |
* | *: Start hiding list implementationZyX2017-12-10
| | | | | | | | Most of files, except for eval.c and eval/* were only processed by perl.
* | eval/typval: Add macros useful for hiding list item implementationZyX2017-12-10
| |
* | eval/typval: Add functions useful for hiding list implementationZyX2017-12-10
|/
* channels: allow bytes sockets and stdio, and buffered bytes outputBjörn Linse2017-11-24
|
* channels: refactorBjörn Linse2017-11-24
|
* cmdline: CmdlineEnter and CmdlineLeave autocommands (#7422)Björn Linse2017-11-22
| | | | | | | | | | vim-patch:fafcf0dd59fd patch 8.0.1206: no autocmd for entering or leaving the command line Problem: No autocmd for entering or leaving the command line. Solution: Add CmdlineEnter and CmdlineLeave. https://github.com/vim/vim/commit/fafcf0dd59fd9c4ef743bb333ae40d1d322b6079
* eval/decode.c: Avoid NULL arg to memchr() #7332Adrian Neumann2017-11-06
| | | | | | | Clang complains because memchr has undefined behavior if the ptr is NULL, even if len==0. Helped-by: Nikolai Aleksandrovich Pavlov <kp-pav@yandex.ru>
* 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