Commit Graph

12301 Commits

Author SHA1 Message Date
Björn Linse
39d098f9f9 api: set_text: fix some byte count issues
add byte count tests

update documentation
2021-01-01 19:51:58 +01:00
chentau
f7d01a65d5 api: set_text: more tests, and fixing lint
removing pending virtcol tests

Allow passing in empty array as a shorthand for array with empty string; add more documentation

add check for start_row as well
2021-01-01 19:51:58 +01:00
Tony Chen
45b14f88db api: set_text: rebase, update to new api, and add more tests 2021-01-01 19:51:45 +01:00
Blaž Hrastnik
29ad2ebc16 api: set_text: fix validation and some issues
fix double free because intermediary lines weren't xmemdup'd.

NL-for-NUL dance.

Normalize row indices and perform more validation.

Adjust the cursor position if it's on the right side of the replacement.

Tests and documentation.
2021-01-01 19:51:37 +01:00
Björn Linse
9be19b770d api: set_text: first stab at nvim_buf_set_text 2021-01-01 19:51:24 +01:00
Jan Edmund Lazo
86ae394aeb vim-patch:8.2.0934: lhelpgrep twice in help window doesn't jump to the help topic
Problem:    Running lhelpgrep twice in a help window doesn't jump to the help
            topic.
Solution:   Check whether any window with the location list is present.
            (Yegappan Lakshmanan, closes vim/vim#6215)
ec98e93a82
2021-01-01 13:28:35 -05:00
Jan Edmund Lazo
134ea0c935 vim-patch:8.1.2360: quickfix test coverage can still be improved
Problem:    Quickfix test coverage can still be improved.
Solution:   Add more test cases. (Yegappan Lakshmanan, closes vim/vim#5276)
15a7bdcb77
2021-01-01 13:20:27 -05:00
Björn Linse
6db86cb2d3 ui: make 'mouse' handling in external UI more consistent
before the behaviour of 'mouse' was inconsistent in external UI,
as some remapping logic would check has_mouse() and others don't
(no difference in TUI or vim classic). With this change, the behaviour
is consistently up to the UI decide (see ui.txt edit)

Behaviour of tui.c is unaffected by this change.
2021-01-01 15:47:44 +01:00
Jan Edmund Lazo
3847b58a13 vim-patch:8.1.2411: function argument copied unnecessarily
Problem:    Function argument copied unnecessarily.
Solution:   Use the argument directly.
1b03a193b3
2021-01-01 04:58:05 -05:00
Jan Edmund Lazo
d7b577d6ab vim-patch:8.1.1281: cannot specify a count with :chistory
Problem:    Cannot specify a count with :chistory.
Solution:   Add a count to :chistory and :lhistory. (Yegappan Lakshmanan,
            closes vim/vim#4344)
8ffc7c8b5f
2021-01-01 04:58:05 -05:00
Jan Edmund Lazo
d1608f7503 vim-patch:8.1.1275: cannot navigate to errors before/after the cursor
Problem:    Cannot navigate to errors before/after the cursor.
Solution:   Add the :cbefore and :cafter commands. (Yegappan Lakshmanan,
            closes vim/vim#4340)
cf6a55c4b0
2021-01-01 04:58:05 -05:00
erw7
35dc6d6e87 vim-patch:8.1.1261: no error for quickfix commands with negative range
Problem:    No error for quickfix commands with negative range.
Solution:   Add ADDR_UNSIGNED and use it for quickfix commands.  Make
            assert_fails() show the command if the error doesn't match.
25190db225

N/A patches for version.c:

vim-patch:8.2.0113: "make cmdidxs" fails

Problem:    "make cmdidxs" fails.
Solution:   Allow address for ":cquit".  Add --not-a-term to avoid a delay.
9b24dfcb9f
2021-01-01 04:57:50 -05:00
Jan Edmund Lazo
f3c242c13c vim-patch:8.1.1241: Ex command info contains confusing information
Problem:    Ex command info contains confusing information.
Solution:   When using the NOTADR flag use ADDR_OTHER for the address type.
            Cleanup code using NOTADR.  Check for errors in
            create_cmdidxs.vim.  Adjust Makefile to see the errors.
b731689e85

Use Lua's "assert()" to make an invalid command definition
a compilation error.

Misc changes:

Remove 'RESTRICT' flag.
Neovim does not support "restricted" mode
since commit 7777532ceb.

TODO:
Do not generate files before Lua assertions
so that CMake always runs the generator script
if the previous build has an invalid command definition.
2021-01-01 04:30:55 -05:00
Jan Edmund Lazo
cf3a861017 vim-patch:8.1.1549: quickfix test fails
Problem:    Quickfix test fails.
Solution:   Negate result of bt_quickfix().
61eeeea8e6

Patch v8.1.1547 introduces the bug that is fixed by this patch.

N/A patches for version.c:

vim-patch:8.1.1590: popup window test fails

Problem:    Popup window test fails.
Solution:   Add "scrollbar" to expected result.
6c6a603cd2

vim-patch:8.1.1881: popup window test fails in some configurations

Problem:    Popup window test fails in some configurations.
Solution:   Check that screendumps can be made.
f4665e78f2

vim-patch:8.1.2079: popup window test fails without +terminal

Problem:    Popup window test fails without +terminal.
Solution:   Check for the +terminal feature.
d2c1fb476d

vim-patch:8.1.2322: quickfix test fails in very big terminal

Problem:    Quickfix test fails in very big terminal.
Solution:   Adjust the expected result for the width. (Masato Nishihata,
            closes vim/vim#5244)
ffc4fb8fee

Patch v8.1.2339 reverts the change but patch v8.1.2340 restores it.
Port of patch v8.1.2340 was merged and includes changes from patches
v8.1.2320, v8.1.2322, v8.1.2339.

vim-patch:8.2.2255: Tcl test fails

Problem:    Tcl test fails.
Solution:   Change option handling.
1779ff4842
2020-12-31 19:16:30 -05:00
Jan Edmund Lazo
b01a60b1aa Revert "vim-patch:8.1.0822: peeking and flushing output slows down execution"
This reverts commit 0519a75f6e.
2020-12-31 16:44:53 -05:00
Jan Edmund Lazo
27548e3cd0 Revert "vim-patch:8.1.1189: mode is not cleared when leaving Insert mode"
This reverts commit 4afddb8f57.
2020-12-31 16:44:53 -05:00
Jan Edmund Lazo
723e009214 Revert "vim-patch:8.1.1192: mode is not cleared when leaving Insert mode with mapped Esc"
This reverts commit 44bb7147e4.

Avoid regression mentioned in c64cce906e (commitcomment-45554271)
2020-12-31 16:44:53 -05:00
Jan Edmund Lazo
bc8f2fdca4 vim-patch:8.1.1727: code for viminfo support is spread out
Problem:    Code for viminfo support is spread out.
Solution:   Move to code to viminfo.c. (Yegappan Lakshmanan, closes vim/vim#4686)
defa067c54

N/A patches for version.c:

vim-patch:8.1.1230: a lot of code is shared between vim.exe and gvim.exe

Problem:    A lot of code is shared between vim.exe and gvim.exe.
Solution:   Optionally put the shared code in vim.dll. (Ken Takata,
            closes vim/vim#4287)
afde13b62b

vim-patch:8.2.2247: VMS: various smaller problems

Problem:    VMS: various smaller problems.
Solution:   Fix VMS building and other problems. (Zoltan Arpadffy)
467676d468
2020-12-30 15:55:18 -05:00
Jan Edmund Lazo
3ea77f50cb vim-patch:8.1.0172: 'viminfofile' option does not behave like a file name
Problem:    'viminfofile' option does not behave like a file name.
Solution:   Add the P_EXPAND flag. (closes vim/vim#3178)
c229e54a69
2020-12-30 15:55:18 -05:00
Matthieu Coudron
52163c66b9 fix(fold): highlight even in folds (#13643) 2020-12-30 15:17:41 +01:00
Jan Edmund Lazo
d2837d5efc vim-patch:8.1.2100: :mksession is not sufficiently tested
Problem:    :mksession is not sufficiently tested.
Solution:   Add more test cases. (Yegappan Lakshmanan, closes vim/vim#4993)
ee1a2b5a2a
2020-12-29 22:35:25 -05:00
Jan Edmund Lazo
f0a8ccff8f vim-patch:8.1.0790: code for creating tabpages in session is too complex
Problem:    Code for creating tabpages in session is too complex.
Solution:   Simplify the code. (Jason Franklin)
57a6bf0567
2020-12-29 22:31:21 -05:00
Jan Edmund Lazo
c60f7c2064 vim-patch:8.1.0151: mksession test fails on MS-Windows
Problem:    Mksession test fails on MS-Windows.
Solution:   Always use an argument for :lcd.
81e2ac7bb6
2020-12-29 22:31:21 -05:00
Jan Edmund Lazo
ca2551bc9b vim-patch:8.1.0149: session is wrong with multiple tabs when :lcd was used
Problem:    The generated sessions file does not restore tabs properly if :lcd
            was used in one of them.
Solution:   Create the tab pages before setting the directory. (Yee Cheng
            Chin, closes vim/vim#3152)
26d4b896a7
2020-12-29 22:31:20 -05:00
Jan Edmund Lazo
c762f5220b vim-patch:8.2.2244: crash when making the window width negative (#13633)
Problem:    Crash when making the window width of the not-current window
            negative.
Solution:   Make sure the window width is not negative. (closes vim/vim#7568)
89015a6759

N/A patches for version.c:

vim-patch:8.0.1617: Win32: :shell command in the GUI crashes

Problem:    Win32: :shell command in the GUI crashes.
Solution:   Handle the situation that "cmd" is NULL. (Yasuhiro Matsumoto,
            closes vim/vim#2721)
42f652f733

vim-patch:8.1.0244: no redraw when using a STOP signal on Vim and then CONT

Problem:    No redraw when using a STOP signal on Vim and then a CONT signal.
Solution:   Catch the CONT signal and force a redraw. (closes vim/vim#3285)
917e32bda5

vim-patch:8.1.0302: crash when using :suspend and "fg"

Problem:    Crash when using :suspend and "fg".
Solution:   Undo patch 8.1.244.
f1883479be

vim-patch:8.1.0548: crash when job callback unloads a buffer

Problem:    Crash when job callback unloads a buffer. (James McCoy)
Solution:   Don't round up the wait time to 10 msec in ui_inchar().
1341024e08

vim-patch:8.1.1652: GUI: popup window doesn't close on mouse movement

Problem:    GUI: popup window doesn't close on mouse movement. (Paul Jolly)
Solution:   Generate mouse-move events when a popup window is visible.
49fe95f225

vim-patch:8.1.1695: Windows 10: crash when cursor is at bottom of terminal

Problem:    Windows 10: crash when cursor is at bottom of terminal.
Solution:   Position the cursor before resizing. (Yasuhiro Matsumoto,
            closes vim/vim#4679)
f49a692259

vim-patch:8.2.2246: cursor keys not recognized at the hit-Enter prompt

Problem:    Cursor keys not recognized at the hit-Enter prompt after executing
            an external command.
Solution:   Change the codes for the extra cursor keys. (closes vim/vim#7562)
            Tune the delays to avoid test flakyness.
4d8c96d466
2020-12-29 21:15:36 -05:00
Jan Edmund Lazo
f5383705d1 Merge pull request #13624 from janlazo/vim-8.2.2234
vim-patch:8.1.1032,8.2.{429,1785,2234,2235,2237,2241}
2020-12-28 20:14:48 -05:00
Matthieu Coudron
b0215afc84 fix(fold): dont highlight search results on folded lines (#13616)
Behavior may change in future but for now stick to legacy behavior.
2020-12-29 01:19:24 +01:00
Jan Edmund Lazo
d712c30fff vim-patch:8.2.0429: no warning when test checks for option that never exists
Problem:    No warning when test checks for option that never exists.
Solution:   In tests check that the option can exist.
c5a8fdc42d
2020-12-28 18:34:01 -05:00
Jan Edmund Lazo
26dfeb42dd vim-patch:8.1.1032: warnings from clang static analyzer
Problem:    Warnings from clang static analyzer. (Yegappan Lakshmanan)
Solution:   Fix relevant warnings.
2c519cf3bf
2020-12-28 18:34:01 -05:00
Jan Edmund Lazo
0e913a0812 vim-patch:8.2.2234: command line wildmenu test often fails with Unix GUI
Problem:    Command line wildmenu test often fails with Unix GUI.
Solution:   Skip the test where it is expected to fail.
3e112acc22

Include modeline fix for ASAN build.

N/A patches for version.c:

vim-patch:8.2.1785: compiler warning for strcp() out of bounds

Problem:    Compiler warning for strcp() out of bounds. (Christian Brabandt)
Solution:   use memmove() instead.
3f974ff45e

vim-patch:8.2.2235: build failure with some Ruby versions

Problem:    Build failure with some Ruby versions.
Solution:   Adjust the code for Ruby 3.0. (Ozaki Kiichi, closes vim/vim#7564)
dace9f785f

vim-patch:8.2.2237: CI on Mac fails in sed command

Problem:    CI on Mac fails in sed command.
Solution:   Set LC_ALL to "C". (Ozaki Kiichi, closes vim/vim#7565)
ed1e4c9a70

vim-patch:8.2.2241: Build with Ruby and clang may fail

Problem:    Build with Ruby and clang may fail.
Solution:   Adjust congigure and sed script. (Ozaki Kiichi, closes vim/vim#7566)
864a28b6a6
2020-12-28 18:33:50 -05:00
Jan Edmund Lazo
cff4cad25a vim-patch:8.2.2231: when "--remote file" is used "file" is not reloaded
Problem:    When "--remote file" is used "file" is not reloaded.
Solution:   When a :drop command is used for a file that is already displayed
            in a window and it has not been changed, check if it needs to be
            reloaded. (closes vim/vim#7560)
e4862a0fe6

Remove unused "focus" parameter from "buf_check_timestamp()".
It was meant for removed GUI code.
2020-12-27 14:37:19 -05:00
Jan Edmund Lazo
883114e882 vim-patch:8.2.0928: many type casts are used for vim_strnsave()
Problem:    Many type casts are used for vim_strnsave().
Solution:   Make the length argument size_t instead of int. (Ken Takata,
            closes vim/vim#5633)  Remove some type casts.
df44a27b53

N/A patches for version.c:

vim-patch:8.2.0315: build failure on HP-UX system

Problem:    Build failure on HP-UX system.
Solution:   Use LONG_LONG_MIN instead of LLONG_MIN.  Add type casts for switch
            statement. (John Marriott)
c593bec412

vim-patch:8.2.1052: build failure with older compilers

Problem:    Build failure with older compilers.
Solution:   Move declaration to start of block.
7acde51832

vim-patch:8.2.2229: build failure without the +eval feature

Problem:    build failure without the +eval feature.
Solution:   Add #ifdef.
39cb2dab18

vim-patch:8.2.2232: compiler error for falling through into next case

Problem:    Compiler error for falling through into next case.
Solution:   Move FALLTHROUGH below the #endif
9618a25b9c
2020-12-27 14:05:41 -05:00
Jan Edmund Lazo
ed0131e3d9 vim-patch:8.2.1580: wildmenu does not work properly
Problem:    Wildmenu does not work properly.
Solution:   Do not call may_do_incsearch_highlighting() if completion is in
            progress.
a60053b8f4
2020-12-26 21:27:18 -05:00
Jan Edmund Lazo
b90ae75668 vim-patch:8.2.1121: command completion not working after ++arg
Problem:    Command completion not working after ++arg.
Solution:   Move skipping up. (Christian Brabandt, closes vim/vim#6382)
743d062020
2020-12-26 21:10:13 -05:00
Jan Edmund Lazo
684172ae82 vim-patch:8.2.1007: completion doesn't work after ":r ++arg !"
Problem:    Completion doesn't work after ":r ++arg !".
Solution:   Skip over "++arg". (Christian Brabandt, closes vim/vim#6275,
            closes vim/vim#6258)
c8cb883015
2020-12-26 21:04:40 -05:00
Jan Edmund Lazo
0aa2c7e2ec vim-patch:8.1.2227: layout wrong if 'lines' changes while cmdline window is open
Problem:    Layout wrong if 'lines' changes while cmdline window is open.
Solution:   Do not restore the window layout if 'lines' changed.
            (closes vim/vim#5130)
1c329c04be
2020-12-26 18:22:04 -05:00
Jan Edmund Lazo
a51248ea17 vim-patch:8.2.2221: if <Down> is mapped on the command line 'wildchar' is inserted
Problem:    If <Down> is mapped on the command line 'wildchar' is inserted.
Solution:   Set KeyTyped when using 'wildchar'. (closes vim/vim#7552)
b0ac4ea5e1
2020-12-26 13:28:28 -05:00
Jan Edmund Lazo
44bb7147e4 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
2020-12-26 02:34:13 -05:00
Jan Edmund Lazo
4afddb8f57 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
2020-12-25 19:25:30 -05:00
Jan Edmund Lazo
0519a75f6e vim-patch: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
2020-12-25 19:25:30 -05:00
Jan Edmund Lazo
43834b24ac vim-patch:8.2.2206: :exe command line completion only works for first argument
Problem:    :exe command line completion only works for first argument.
Solution:   Skip over text if more is following. (closes vim/vim#7546)
4941b5effd

Port "IS_WHITE_OR_NUL" macro from patch v8.2.0562
as "ascii_iswhite_or_nul()" inline function.

N/A patches for version.c:

vim-patch:8.2.0782: cannot build with Lua on MS-Windows

Problem:    Cannot build with Lua on MS-Windows.
Solution:   Add DLL symbol for luaL_Loadstring. (Ken Takata)
df1643a6a7

vim-patch:8.2.0856: CTRL-S stops output

Problem:    CTRL-S stops output.
Solution:   Invert the IXON flag. (closes vim/vim#6166)
928eec649b

vim-patch:8.2.1212: cannot build with Lua 5.4

Problem:    Cannot build with Lua 5.4.
Solution:   Use luaL_typeerror instead defining it. (closes vim/vim#6454)
5551b131da

vim-patch:8.2.2211: MS-Windows: can't load Python dll if not in the path

Problem:    MS-Windows: can't load Python dll if not in the path.
Solution:   Use the InstallPath registry entry. (Kelvin Lee, closes vim/vim#7540)
b2f9e0e2c5
2020-12-25 10:20:29 -05:00
Jan Edmund Lazo
1e823986e9 vim-patch:8.2.1174: no test for the "recording @x" message
Problem:    No test for the "recording @x" message.
Solution:   Add a test. (Dominique Pellé, closes vim/vim#6427)
11a5b19a8c
2020-12-25 10:17:01 -05:00
Jan Edmund Lazo
8cf4a02bf2 vim-patch:8.1.2212: cannot see the selection type in :reg output
Problem:    Cannot see the selection type in :reg output. (Ayberk Aydın)
Solution:   Add c/l/b. (Christian Brabandt, closes vim/vim#5110, closes vim/vim#4546)
3691f1ee72

Patch v8.1.0999 is not ported so ":registers" does not omit register 1.
2020-12-25 10:17:00 -05:00
Jan Edmund Lazo
0813bb021a vim-patch:8.2.0051: command line completion test skipped
Problem:    Command line completion test skipped. (Christian Brabandt)
Solution:   Invert condition.
731a799bb9

Cherry-pick Test_cmdline_complete_bang() from patch v8.2.0049.
2020-12-25 10:17:00 -05:00
Björn Linse
8c8cc35926 Merge pull request #13595 from teto/fix-filler
de curwinify some functions
2020-12-24 22:43:27 +01:00
Lukas Reineke
88ae03bcdb feat(sign):Allow signs to be 0 width (#13290)
Adds support for signs to be 0 cells wide. If all signs of the same
group have no width, the signcolumn will not be rendered for that group.
2020-12-24 17:33:52 +01:00
Jan Edmund Lazo
c56377bac6 vim-patch:8.2.2203: Moodle gift files are not recognized
Problem:    Moodle gift files are not recognized.
Solution:   Add a filetype pattern. (Delim Temizer)
b34f337472
2020-12-24 09:23:35 -05:00
Jan Edmund Lazo
f35118ade4 vim-patch:8.2.0907: when using :global clipboard isn't set correctly
Problem:    When using :global clipboard isn't set correctly.
Solution:   Set "clip_unnamed_saved" instead of "clip_unnamed". (Christian
            Brabandt, closes vim/vim#6203, closes vim/vim#6198)
07188fc5ef
2020-12-24 09:18:33 -05:00
Jan Edmund Lazo
172f619b9a vim-patch:8.1.1837: popup test fails if clipboard is supported but not working
Problem:    Popup test fails if clipboard is supported but not working.
Solution:   Add the "clipboard_working" feature. Also use Check commands
            instead of "if" and "throw".  And remove stray ch_logfile().
4999a7fb65

Treat "clipboard_working" feature as an alias to "clipboard" feature.

N/A patches for version.c:

vim-patch:8.1.1840: Testing: WorkingClipboard() is not accurate

Problem:    Testing: WorkingClipboard() is not accurate.
Solution:   Check feature clipboard_working instead.
52992feafe

Neovim did not port WorkingClipboard() for the legacy tests.
2020-12-24 09:18:33 -05:00
Jan Edmund Lazo
6897ce4417 vim-patch:8.2.2197: assert arguments order reversed
Problem:    Assert arguments order reversed.
Solution:   Swap the arguments. (Christian Brabandt, closes vim/vim#7531)
9f63a65f22
2020-12-24 09:18:33 -05:00