Commit Graph

1823 Commits

Author SHA1 Message Date
zeertzjq
7404c6010d vim-patch:8.2.3055: strange error for assigning to "x.key" on non-dictionary
Problem:    Strange error for assigning to "x.key" on non-dictionary.
Solution:   Add a specific error message. (closes vim/vim#8451)

3a3b10e87a

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2022-11-06 15:13:45 +08:00
zeertzjq
95c862095f refactor(eval): make get_lval() explicitly check for v:lua
Needed for Vim patch 8.2.3055.
2022-11-06 15:13:42 +08:00
zeertzjq
6b3db3f929 vim-patch:8.2.2920: still a way to shadow a builtin function
Problem:    Still a way to shadow a builtin function. (Yasuhiro Matsumoto)
Solution:   Check the key when using extend(). (issue vim/vim#8302)

6f1d2aa437

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2022-11-06 10:01:50 +08:00
zeertzjq
7683199a9b vim-patch:8.2.2918: builtin function can be shadowed by global variable
Problem:    Builtin function can be shadowed by global variable.
Solution:   Check for builtin function before variable. (Yasuhiro Matsumoto,
            closes vim/vim#8302)

3d9c4eefe6

Cherry-pick Test_gettext() from patch 8.2.2886.
2022-11-06 10:01:50 +08:00
zeertzjq
7d7208a88b vim-patch:8.2.3016: confusing error when expression is followed by comma
Problem:    Confusing error when expression is followed by comma.
Solution:   Give a different error for trailing text. (closes vim/vim#8395)

fae55a9cb0

Omit test_eval_stuff.vim and test_viminfo.vim: changes tests are N/A.

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2022-11-06 08:21:17 +08:00
zeertzjq
a208a8b10e vim-patch:8.2.2722: Vim9: crash when using LHS with double index
Problem:    Vim9: crash when using LHS with double index.
Solution:   Handle lhs_dest which is "dest_expr". (closes vim/vim#8068)
            Fix confusing error message for missing dict item.

b9c0cd897a

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2022-11-06 08:21:17 +08:00
zeertzjq
1f0bf65ad6 vim-patch:8.2.1306: checking for first character of dict key is inconsistent
Problem:    Checking for first character of dict key is inconsistent.
Solution:   Add eval_isdictc(). (closes vim/vim#6546)

b13ab99908

Omit handle_subscript() change: only affects Vim9 script.

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2022-11-06 08:21:17 +08:00
zeertzjq
e03f23189d vim-patch:8.2.1274: Vim9: no error for missing white space at script level
Problem:    Vim9: no error for missing white space in assignment at script
            level.
Solution:   Check for white space. (closes vim/vim#6495)

63be3d4ba0

Cherry-pick Test_let_errors() change from patch 8.2.0633.

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2022-11-06 08:21:08 +08:00
zeertzjq
48405df046 vim-patch:8.2.3919: Vim9: wrong argument for append() results in two errors
Problem:    Vim9: wrong argument for append() results in two errors.
Solution:   Check did_emsg.  Also for setline().  Adjust the help for
            appendbufline().

8b6256f6ec

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2022-11-05 14:44:26 +08:00
zeertzjq
8b0c5de4e0 vim-patch:partial:8.2.1183: assert_fails() checks the last error message
Problem:    assert_fails() checks the last error message.
Solution:   Check the first error, it is more relevant.  Fix all the tests
            that rely on the old behavior.

9b7bf9e98f

Skip test_listener.vim, test_textprop.vim, test_viminfo.vim.
Skip test_python2.vim: affected line fails and hasn't been ported.
Skip test_python3.vim: affected lines fail and haven't been ported.
Skip CHECK_LIST_MATERIALIZE.

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2022-11-05 12:27:45 +08:00
zeertzjq
a86295cd5c vim-patch:8.2.0615: regexp benchmark stest is old style (#20940)
Problem:    Regexp benchmark stest is old style.
Solution:   Make it a new style test.  Fix using a NULL list.  Add more tests.
            (Yegappan Lakshmanan, closes vim/vim#5963)

ad48e6c159

N/A patches:
vim-patch:9.0.0829: wrong counts in macro comment
2022-11-05 12:26:17 +08:00
dundargoc
4716a578ae docs: fix typos 2022-11-02 21:45:26 +08:00
dundargoc
b05d1943f0 build(lint): remove clint.py rules for braces #20880
Uncrustify is the source of truth where possible.
Remove any redundant checks from clint.py.
See also https://github.com/neovim/neovim/pull/18563
2022-11-01 07:39:49 -07:00
zeertzjq
bfdf10d870 vim-patch:8.2.1395: Vim9: no error if declaring a funcref with lower case letter
Problem:    Vim9: no error if declaring a funcref with a lower case letter.
Solution:   Check the name after the type is inferred. Fix confusing name.

98b4f145eb

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2022-10-28 11:44:30 +08:00
zeertzjq
e3acf913db vim-patch:8.2.4207: recursion test fails with MSVC
Problem:    Recursion test fails with MSVC.
Solution:   Use a smaller limit for MSVC.

50e0525445

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2022-10-27 12:47:44 +08:00
zeertzjq
807c6bb909 vim-patch:8.2.4206: condition with many "(" causes a crash
Problem:    Condition with many "(" causes a crash.
Solution:   Limit recursion to 1000.

fe6fb267e6

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2022-10-27 12:47:44 +08:00
zeertzjq
46a54dd6a0 vim-patch:8.2.1852: map() returing zero for NULL list is unexpected
Problem:    map() returing zero for NULL list is unexpected.
Solution:   Return the empty list. (closes vim/vim#7133)

ffdf8adfa8

Co-authored-by: Bram Moolenaar <Bram@vim.org>
2022-10-26 20:53:39 +08:00
zeertzjq
ef363ed37c vim-patch:8.2.0619: null dict is not handled like an empty dict
Problem:    Null dict is not handled like an empty dict.
Solution:   Fix the code and add tests. (Yegappan Lakshmanan, closes vim/vim#5968)

ea04a6e8ba

Nvim doesn't support modifying NULL list, so comment out a line.
2022-10-26 20:53:39 +08:00
dundargoc
784e498c4a refactor: clang-tidy fixes to silence clangd warning (#20683)
* refactor: readability-uppercase-literal-suffix

* refactor: readability-named-parameter

* refactor: bugprone-suspicious-string-compare

* refactor: google-readability-casting

* refactor: readability-redundant-control-flow

* refactor: bugprone-too-small-loop-variable

* refactor: readability-non-const-parameter

* refactor: readability-avoid-const-params-in-decls

* refactor: google-readability-todo

* refactor: readability-inconsistent-declaration-parameter-name

* refactor: bugprone-suspicious-missing-comma

* refactor: remove noisy or slow warnings
2022-10-21 20:47:44 +08:00
zeertzjq
d1484b58ae vim-patch:9.0.0804: crash when trying to divide a number by -1
Problem:    Crash when trying to divice the largest negative number by -1.
Solution:   Handle this case specifically.
cdef1cefa2
2022-10-20 22:21:01 +08:00
Dundar Göc
04cdea5f4a refactor: replace char_u with char
Work on https://github.com/neovim/neovim/issues/459
2022-10-15 13:18:46 +02:00
zeertzjq
249cb8345d vim-patch:9.0.0712: wrong column when calling setcursorcharpos() with zero lnum
Problem:    Wrong column when calling setcursorcharpos() with zero lnum.
Solution:   Set the line number before calling buf_charidx_to_byteidx().
            (closes vim/vim#11329)
79f234499b
2022-10-10 23:54:51 +08:00
Famiu Haque
4b7904d16b refactor: replace unnecessary helper functions in optionstr.c
Replaces unnecessary helper functions in `optionstr.c` such as
`get_option_flags()`, `get_option_fullname()`, `set_option_flag()`,
`is_global_option()`, etc. with a single `get_option()` helper function
that allows direct access to the `options` array.

Also refactors `f_exists()` to use `get_varp_scope` instead of using
`get_option_tv`. This opens up the path for removing `getoptions_T`
altogether later down the line since the hidden option logic is no
longer needed.
2022-09-28 09:29:43 +06:00
zeertzjq
3dda52d860 vim-patch:8.2.3796: the funcexe_T struct members are not named consistently (#20214)
Problem:    The funcexe_T struct members are not named consistently.
Solution:   Prefix "fe_" to all the members.
851f86b951

Omit fe_check_type: always NULL in legacy Vim script.
2022-09-16 17:31:42 +08:00
Dundar Göc
3ff46544c9 refactor: replace char_u with char
Work on https://github.com/neovim/neovim/issues/459
2022-09-11 13:28:59 +02:00
Dundar Göc
684bc749ef refactor: replace char_u with char
Work on https://github.com/neovim/neovim/issues/459
2022-09-10 11:17:40 +02:00
Dundar Göc
c5322e752e refactor: replace char_u with char
Work on https://github.com/neovim/neovim/issues/459
2022-09-09 21:02:42 +02:00
ii14
4a67f9d386 vim-patch:9.0.0409: #{g:x} was seen as a curly-braces expression
Problem:    #{g:x} was seen as a curly-braces expression.
Solution:   Do never see #{} as a curly-braces expression. (closes vim/vim#11075)
7c7e1e9b98
2022-09-08 08:17:30 +08:00
zeertzjq
93a0c2dd63 vim-patch:8.2.3702: first key in dict is seen as curly expression and fails
Problem:    First key in dict is seen as curly expression and fails.
Solution:   Ignore failure of curly expression. (closes vim/vim#9247)
98cb90ef86
2022-09-08 08:15:55 +08:00
Dundar Göc
73207cae61 refactor: replace char_u with char
Work on https://github.com/neovim/neovim/issues/459
2022-09-06 16:44:37 +02:00
Dundar Göc
49e893f296 refactor: replace char_u with char
Work on https://github.com/neovim/neovim/issues/459
2022-09-01 10:47:42 +02:00
bfredl
48ca1d4ce8 Merge pull request #20022 from dundargoc/refactor/char_u/6
refactor: replace char_u with char 6
2022-09-01 10:25:27 +02:00
bfredl
c0050b71e5 Merge pull request #16396 from bfredl/luaevent
feat(lua): vim.ui_attach to get ui events from lua
2022-08-31 22:03:56 +02:00
Dundar Göc
bd51ac2a34 refactor: replace char_u with char
Work on https://github.com/neovim/neovim/issues/459
2022-08-31 21:17:10 +02:00
bfredl
f31db30975 feat(lua): vim.ui_attach to get ui events from lua
Co-authored-by: Famiu Haque <famiuhaque@protonmail.com>
2022-08-31 20:40:17 +02:00
Dundar Göc
fb1edb2f57 refactor: replace char_u with char
Work on https://github.com/neovim/neovim/issues/459
2022-08-31 13:47:18 +02:00
Sean Dewar
813476bf72 fix(exceptions): restore did_throw (#20000)
`!did_throw` doesn't exactly imply `!current_exception`, as `did_throw = false`
is sometimes used to defer exception handling for later (without forgetting the
exception). E.g: uncaught exception handling in `do_cmdline()` may be deferred
to a different call (e.g: when `try_level > 0`).

In #7881, `current_exception = NULL` in `do_cmdline()` is used as an analogue of
`did_throw = false`, but also causes the pending exception to be lost, which
also leaks as `discard_exception()` wasn't used.

It may be possible to fix this by saving/restoring `current_exception`, but
handling all of `did_throw`'s edge cases seems messier. Maybe not worth
diverging over.

This fix also uncovers a `man_spec.lua` bug on Windows: exceptions are thrown
due to Windows missing `man`, but they're lost; skip these tests if `man` isn't
executable.
2022-08-30 23:13:52 +01:00
dundargoc
2828aae7b4 refactor: replace char_u with char 4 (#19987)
* refactor: replace char_u with char

Work on https://github.com/neovim/neovim/issues/459
2022-08-30 14:52:09 +02:00
Dundar Göc
58f30a326f refactor: replace char_u with char
Work on https://github.com/neovim/neovim/issues/459
2022-08-29 15:48:56 +02:00
zeertzjq
523600ea6c vim-patch:8.2.1269: language and locale code spread out (#19964)
Problem:    Language and locale code spread out.
Solution:   Move relevant code to src/locale.c. (Yegappan Lakshmanan,
            closes vim/vim#6509)
054f14bbe5

Also remove redundant <locale.h> includes.
2022-08-27 11:26:47 +08:00
Dundar Göc
3952770360 refactor: replace char_u with char
Work on https://github.com/neovim/neovim/issues/459
2022-08-26 22:24:28 +02:00
Lewis Russell
2498e9feb0 refactor: change FALSE/TRUE to false/true
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2022-08-26 09:36:55 +01:00
Dundar Goc
40855b0143 refactor: replace char_u with char
Work on https://github.com/neovim/neovim/issues/459
2022-08-25 18:59:12 +02:00
zeertzjq
f0658fd552 refactor: suppress clang and PVS warnings (#19940) 2022-08-25 15:20:54 +08:00
bfredl
f1ea126a6e Merge pull request #19906 from bfredl/bigstage
perf(api): allow to use an arena for return values
2022-08-24 15:22:30 +02:00
zeertzjq
f91b1885dd feat(eval)!: make Vim functions return inner window width and height (#19743)
In non-multigrid UI the only change is that the returned height now
excludes winbar, and this is compatible with Vim.

In multigrid UI this means the return value of these functions now
reflect the space available for buffer lines in a window.

No change in nvim_win_get_height() and nvim_win_get_width().
2022-08-24 21:02:45 +08:00
bfredl
c0d6052654 perf(api): allow to use an arena for return values 2022-08-23 18:34:24 +02:00
zeertzjq
2bed0d1d97 vim-patch:8.2.4753: error from setting an option is silently ignored (#19888)
Problem:    Error from setting an option is silently ignored.
Solution:   Handle option value errors better.  Fix uses of N_().
31e5c60a68
2022-08-22 13:56:50 +08:00
zeertzjq
4f6d0d6da9 vim-patch:8.2.2289: Vim9: 'cpo' can become empty (#19887)
Problem:    Vim9: 'cpo' can become empty.
Solution:   Use empty_option instead of an empty string.  Update quickfix
            buffer after restoring 'cpo'.  (closes vim/vim#7608)
e5a2dc87fd

Omit test as it is Vim9 script.
2022-08-22 12:02:45 +08:00
zeertzjq
0d0a336c53 vim-patch:8.1.1886: command line expansion code is spread out (#19861)
Problem:    Command line expansion code is spread out.
Solution:   Move the code to cmdexpand.c. (Yegappan Lakshmanan, closes vim/vim#4831)
66b51420e0
2022-08-21 06:33:24 +08:00