Commit Graph

17990 Commits

Author SHA1 Message Date
zeertzjq
d1464d16d6 fix(source): fix expand('<sfile>') no longer works for Lua 2022-08-16 05:39:44 +08:00
zeertzjq
1d28bbf1e5 vim-patch:9.0.0217: 'shellslash' works differently when sourcing a script again
Problem:    'shellslash' works differently when sourcing a script again.
Solution:   Use the name from the script item. (closes vim/vim#10920)
5a4fff4d94
2022-08-16 05:39:12 +08:00
Christian Clason
e954d62527 Merge pull request #19635 from dundargoc/build/windows
build: windows-specific cmake fixes
2022-08-15 17:49:33 +02:00
zeertzjq
747dec7925 vim-patch:8.2.3392: augroup completion escapes regexp pattern characters
Problem:    augroup completion escapes regexp pattern characters.
Solution:   Do not escape the augroup name. (closes vim/vim#8826)
b4d82e2a8d
2022-08-15 21:19:50 +08:00
zeertzjq
e73517e34e vim-patch:8.2.3345: some code not covered by tests
Problem:    Some code not covered by tests.
Solution:   Add a few more tests. (Dominique Pellé, closes vim/vim#8757)
bfb2bb16bc
2022-08-15 21:19:50 +08:00
zeertzjq
535e423a6a vim-patch:8.2.1803: a few failures are not tested
Problem:    A few failures are not tested.
Solution:   Test a few failures. (Dominique Pellé, closes vim/vim#7075)
afe8cf6170

Cherry-pick a line in Test_argdelete() from patch 8.2.1736.
2022-08-15 21:19:35 +08:00
zeertzjq
18b457ebbb fix(redraw): make sure :redraw! redraws command line
In Vim :redraw! uses CLEAR, which calls screenclear(), which sets
redraw_cmdline. In Nvim :redraw! uses NOT_VALID, which does not set
redraw_cmdline automatically, so set it explicitly.
2022-08-15 20:24:43 +08:00
zeertzjq
76b4b1977b vim-patch:8.2.1799: some Normal mode commands not fully tested
Problem:    Some Normal mode commands not fully tested.
Solution:   Add a few more tests. (Yegappan Lakshmanan, closes vim/vim#7073)
d1ad99b654

Cherry-pick test_registers.vim change from patch 8.2.0644.
2022-08-15 20:24:43 +08:00
zeertzjq
37586eac42 vim-patch:8.2.1786: various Normal mode commands not fully tested
Problem:    Various Normal mode commands not fully tested.
Solution:   Add more tests. (Yegappan Lakshmanan, closes vim/vim#7059)
8a9bc95eae

Cherry-pick Test_normal_gdollar_cmd() change from patch 8.2.0540.
2022-08-15 20:24:42 +08:00
zeertzjq
55da52963b vim-patch:8.2.5109: mode not updated after CTRL-O CTRL-C in Insert mode
Problem:    Mode not updated after CTRL-O CTRL-C in Insert mode.
Solution:   Set redraw_mode and use it. (closes vim/vim#10581)
7a1d32809b
2022-08-15 17:58:35 +08:00
zeertzjq
93ba821831 vim-patch:8.1.1192: mode is not cleared when leaving Insert mode with mapped Esc
Problem:    Mode is not cleared when leaving Insert mode with mapped Esc.
Solution:   Clear the mode when redraw_cmdline is set. (closes vim/vim#4269)
4c25bd785a
2022-08-15 17:58:35 +08:00
zeertzjq
53b0688ac0 vim-patch:8.1.1189: mode is not cleared when leaving Insert mode
Problem:    Mode is not cleared when leaving Insert mode.
Solution:   Clear the mode when got_int is set. (Ozaki Kiichi, closes vim/vim#4270)
abc7c7fc5a
2022-08-15 17:58:35 +08:00
zeertzjq
b47f313151 fix(getchar): flush screen before doing a blocking wait 2022-08-15 17:58:35 +08:00
zeertzjq
95b8e2c55f vim-patch:partial:8.1.0822: peeking and flushing output slows down execution
Problem:    Peeking and flushing output slows down execution.
Solution:   Do not update the mode message when global_busy is set.  Do not
            flush when only peeking for a character. (Ken Takata)
cb574f4154

Omit inchar() change: it breaks too many tests.

N/A patches for version.c:

vim-patch:8.2.5170: tiny issues

Problem:    Tiny issues.
Solution:   Tiny improvements.
944cc9ceba
2022-08-15 17:58:35 +08:00
Lewis Russell
9a3877ff9d refactor(ex_docmd.c): resolve most clint errors (#19775)
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2022-08-15 08:54:40 +01:00
zeertzjq
9ab9eb1220 fix(source): make changing 'shellslash' change expand() result 2022-08-15 10:14:53 +08:00
zeertzjq
d6a6adf708 vim-patch:8.2.1658: expand('<stack>') has trailing ".."
Problem:    Expand('<stack>') has trailing "..".
Solution:   Remove the "..". (closes vim/vim#6927)
a810db3f17
2022-08-15 10:14:53 +08:00
zeertzjq
ed65724e57 vim-patch:8.2.1653: expand('<stack>') does not include the final line number
Problem:    Expand('<stack>') does not include the final line number.
Solution:   Add the line nuber. (closes vim/vim#6927)
4f25b1aba0
2022-08-15 10:14:53 +08:00
zeertzjq
98ab0bb5f7 vim-patch:8.2.1297: when a test fails it's often not easy to see where
Problem:    When a test fails it's often not easy to see what the call stack
            is.
Solution:   Add more entries from the call stack in the exception message.
a5d0423fa1

Use docs from latest Vim.
2022-08-15 10:14:52 +08:00
zeertzjq
1c164689a4 refactor: move menu non-symbols to menu_defs.h (#19778) 2022-08-15 10:04:05 +08:00
zeertzjq
d3569e8337 vim-patch:8.1.1960: fold code is spread out (#19777)
Problem:    Fold code is spread out.
Solution:   Move fold functions to fold.c.
db022f3ffb
2022-08-15 06:33:30 +08:00
zeertzjq
41d6b8a6d0 vim-patch:9.0.0207: stacktrace not shown when debugging (#19776)
Problem:    Stacktrace not shown when debugging.
Solution:   Set msg_scroll in msg_source(). (closes vim/vim#10917)
28c162f6f1
2022-08-15 06:01:38 +08:00
Lewis Russell
47aba12593 refactor(eval/funcs.c): resolve all clint errors
... and tidy up local variable declarations

Co-authored-by: zeertzjq <zeertzjq@outlook.com>
2022-08-14 15:51:03 +01:00
zeertzjq
b1faf5f0b9 vim-patch:8.2.4249: the timeout limit for spell suggestions is always 5000 (#19769)
Problem:    The timeout limit for spell suggestions is always 5000 milli
            seconds.
Solution:   Add the "timeout" entry to 'spellsuggest'.
585ee07cfe
2022-08-14 19:11:36 +08:00
zeertzjq
c77cce615b vim-patch:8.1.2081: the spell.c file is too big (#19767)
Problem:    The spell.c file is too big.
Solution:   Move the code for spell suggestions to a separate file. (Yegappan
            Lakshmanan, closes vim/vim#4988)
46a426c9ac
2022-08-14 18:30:37 +08:00
zeertzjq
c96020b2bf vim-patch:8.2.3675 (#19766)
vim-patch:8.2.3675: using freed memory when vim_strsave() fails

Problem:    Using freed memory when vim_strsave() fails.
Solution:   Clear "last_sourcing_name".  Check for msg_source() called
            recursively. (closes vim/vim#8217)
ba8c92687d

Although xstrdup() cannot fail in Nvim, it may still be possible that an
error appears (e.g. in regexp engine) when printing the message.
2022-08-14 15:15:43 +08:00
zeertzjq
fa8fde99e6 vim-patch:9.0.0203: confusing variable name (#19762)
Problem:    Confusing variable name.
Solution:   Use "prim_aep" instead of "spell_aep".
c9b6570fab
2022-08-14 06:19:12 +08:00
zeertzjq
1ca2247639 vim-patch:8.2.0823: Vim9: script reload test is disabled
Problem:    Vim9: script reload test is disabled.
Solution:   Compile a function in the context of the script where it was
            defined.  Set execution stack for compiled function.  Add a test
            that an error is reported for the right file/function.
25e0f5863e

Omit stack_top_is_ufunc(): only used by Vim9 script.
2022-08-14 04:29:44 +08:00
zeertzjq
a10a23aae9 vim-patch:8.2.0097: crash with autocommand and spellfile
Problem:    Crash with autocommand and spellfile. (Tim Pope)
Solution:   Do not pop exestack when not pushed. (closes vim/vim#5450)
ce6db0273f
2022-08-14 04:29:44 +08:00
zeertzjq
3a8b859147 vim-patch:8.2.0078: expanding <sfile> works differently the second time
Problem:    Expanding <sfile> works differently the second time.
Solution:   Keep the expanded name when redefining a function. (closes vim/vim#5425)
b9adef79ec
2022-08-14 04:29:44 +08:00
zeertzjq
de72f9098a vim-patch:8.2.0061: the execute stack can grow big and never shrinks
Problem:    The execute stack can grow big and never shrinks.
Solution:   Reduce the size in gargage collect.
3fbcc128cb
2022-08-14 04:29:44 +08:00
zeertzjq
ded2925b40 refactor: change remaining sourcing_name/sourcing_lnum to exestack
Co-Authored-By: VVKot <volodymyr.kot.ua@gmail.com>
2022-08-14 04:29:44 +08:00
zeertzjq
f52c236c5b vim-patch:8.2.0056: execution stack is incomplete and inefficient
Problem:    Execution stack is incomplete and inefficient.
Solution:   Introduce a proper execution stack and use it instead of
            sourcing_name/sourcing_lnum.  Create a string only when used.
1a47ae32cd

Omit test_debugger.vim: superseded by later patches.
Omit check_map_keycodes(): N/A.
Omit kword_test.c: N/A (converted to a unit test).
2022-08-14 04:29:44 +08:00
dundargoc
d56ddf9583 build(windows): fix target check-single-includes
Add missing includes and exclude os-specific files depending on platform
when using the target.
2022-08-13 21:22:07 +02:00
Lewis Russell
c1cbe3fb3d refactor(screen.c): resolve all clint errors (#19754)
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Co-authored-by: Christian Clason <c.clason@uni-graz.at>
2022-08-13 16:59:15 +02:00
zeertzjq
3cf629022b vim-patch:9.0.0198: ml_get error when switching buffer in Visual mode (#19756)
Problem:    ml_get error when switching buffer in Visual mode.
Solution:   End Visual mode when switching buffer. (closes vim/vim#10902)
cfeb8a584b
2022-08-13 21:47:52 +08:00
zeertzjq
02a4974418 vim-patch:7.4.1168 (#19645)
Problem:    This doesn't give the right result: eval(string(v:true)). (Nikolay
            Pavlov)
Solution:   Make the string "v:true" instead of "true".
f48aa160fd
2022-08-13 21:31:00 +08:00
Christian Clason
33b49d5f55 vim-patch:9.0.0197: astro files are not detected (#19755)
Problem:    Astro files are not detected.
Solution:   Add a pattern to match Astro files. (Emilia Zapata, closes vim/vim#10904)
6a76e84f55
2022-08-13 15:11:03 +02:00
bfredl
33f4ba7379 fix(winbar): do not always assume cursor is valid. fixes #19458 2022-08-13 10:45:21 +02:00
Christian Clason
a850b15e19 vim-patch:9.0.0195: metafun files are not recogized (#19746)
Problem:    Metafun files are not recogized.
Solution:   Add filetype detection patterns.
9032b9ceb6
2022-08-13 10:26:12 +02:00
zeertzjq
1de62b9ea1 fix(charclass): make behavior with empty str match latest Vim (#19749)
Later Vim patches changed to return 0 for empty string and null string.
Also update setcellwidth() docs to match latest Vim.
2022-08-13 12:25:01 +08:00
zeertzjq
754892e59d vim-patch:8.2.{1536,1540}: charclass() (#19748)
vim-patch:8.2.1536: cannot get the class of a character; emoji widths are wrong

Problem:    Cannot get the class of a character; emoji widths are wrong in
            some environments.
Solution:   Add charclass(). Update some emoji widths.  Add script to check
            emoji widths.
4e4473c927

Use latest charclass() docs from Vim.
Rewrite DoIt() in emoji_list.vim in Lua.
Omit emoji table updates:
- emoji_width update looks wrong as these added ranges are only double-width when followed by 0xFE0F.
- Other updates are too old.

vim-patch:8.2.1540: the user cannot try out emoji character widths

Problem:    The user cannot try out emoji character widths.
Solution:   Move the emoji script to the runtime/tools directory.
98945560c1
2022-08-13 11:29:38 +08:00
zeertzjq
6f14c5d2dd refactor: remove some unused includes (#19747)
- Remove autocmd.h from fileio.h
- Remove normal.h from main.h
- Move bufinfo_T from undo_defs.h to undo.c
2022-08-13 08:59:11 +08:00
zeertzjq
342d18b91e refactor: remove some unused includes (#19740)
Mostly avoids including eval.h, ex_cmds2.h and ex_docmd.h in other
headers.
2022-08-12 21:16:28 +08:00
Dundar Goc
094cdf2d69 refactor: replace char_u with char
Work on https://github.com/neovim/neovim/issues/459
2022-08-12 14:22:02 +02:00
zeertzjq
f79773a3b4 refactor: move non-symbols in ex_eval.h to ex_eval_defs.h (#19739)
This avoids including ex_eval.h in any other header, thus preventing
future circular includes.
2022-08-12 19:16:24 +08:00
zeertzjq
103f10d901 refactor: move code dealing with script files to runtime.c (#19734)
vim-patch:8.1.1927: code for dealing with script files is spread out

Problem:    Code for dealing with script files is spread out.
Solution:   Move the code to scriptfile.c. (Yegappan Lakshmanan, closes vim/vim#4861)
307c5a5bb7
2022-08-12 15:41:43 +08:00
zeertzjq
a93d29589a vim-patch:8.1.1689: profiling code is spread out
Problem:    Profiling code is spread out.
Solution:   Move more profiling code to profiler.c. (Yegappan Lakshmanan,
            closes vim/vim#4668)
660a10ad41
2022-08-12 14:15:03 +08:00
zeertzjq
c7ca94ba7f vim-patch:8.1.1684: profiling functionality is spread out
Problem:    Profiling functionality is spread out.
Solution:   Put profiling functionality in profiling.c. (Yegappan Lakshmanan,
            closes vim/vim#4666)
fa55cfc69d

Move proftime_T to types.h for now to avoid recursive #include.
2022-08-12 13:44:37 +08:00
Lewis Russell
a27756cc24 fix(signs): priority of extmark signs (#19718) 2022-08-11 17:26:17 +01:00