Commit Graph

409 Commits

Author SHA1 Message Date
VVKot
6752ac4968 vim-patch:8.1.0105: all tab stops are the same
Problem:    All tab stops are the same.
Solution:   Add the variable tabstop feature. (Christian Brabandt,
            closes vim/vim#2711)
04958cbaf2
2021-03-28 08:37:01 +01:00
Jan Edmund Lazo
f135e511c0 vim-patch:8.1.1016: MS-Windows: No color in shell when using "!" in 'guioptions
Problem:    MS-Windows: No color in shell when using "!" in 'guioptions.
Solution:   Don't stop termcap when using a terminal window for the shell.
            (vim-jp, closes vim/vim#4117)
049ca59236

N/A patches for version.c:

vim-patch:8.2.0890: no color in terminal window when 'termguicolor' is set

Problem:    No color in terminal window when 'termguicolor' is set.
Solution:   Clear the underline color. (closes vim/vim#6186)
1e5f8f6d65

vim-patch:8.2.1805: Unix: terminal mode changed when using ":shell"

Problem:    Unix: terminal mode changed when using ":shell".
Solution:   Avoid calling settmode() when not needed. (issue vim/vim#7079)
80361a5f2b

vim-patch:8.2.2345: no focus events in a terminal

Problem:    No focus events in a terminal.
Solution:   Add the t_fd and t_fe termcap entries and implement detecting
            focus events. (Hayaki Saito, Magnus Groß, closes vim/vim#7673,
            closes vim/vim#609, closes vim/vim#5526)
681fc3fa78

vim-patch:8.2.2564: focus events end Insert mode if 'esckeys' is not set

Problem:    Focus events end Insert mode if 'esckeys' is not set.
Solution:   Do not enable focus events when 'esckeys' is off. (closes vim/vim#7926)
51b477f74f
2021-03-06 22:03:29 -05:00
Jan Edmund Lazo
ab5083b5fc pos: define MAXCOL to INT_MAX
Partial port of patch v8.1.0953.
Remove useless casts on MAXCOL.
2021-02-23 23:00:06 -05:00
Jan Edmund Lazo
cdace43b6c vim-patch:8.2.1904: still using default option values after using ":badd +1"
Problem:    Still using default option values after using ":badd +1".
Solution:   Find a window where options were set.  Don't set the window when
            using ":badd".
89b693e562
2021-02-13 14:27:17 -05:00
Jan Edmund Lazo
9860d14af3 vim-patch:8.2.1902: default option values changed with :badd for existing buffer
Problem:    Default option values are changed when using :badd for an existing
            buffer.
Solution:   When calling buflist_new() pass a zero line number. (closes vim/vim#7195)
e974fa7b2b
2021-02-13 13:40:09 -05:00
Sean Dewar
d9dd360d2a vim-patch:8.2.1967: the session file does not restore the alternate file
Problem:    The session file does not restore the alternate file.
Solution:   Add ":balt".  Works like ":badd" and also sets the buffer as the
            alternate file.  Use it in the session file. (closes vim/vim#7269,
            closes vim/vim#6714)
59d8e56e04

Include minimal test_buffer.vim from patch 8.2.0243 for Test_balt().
Add entry for :balt to runtime/doc/index.txt from vim/vim#7819.
2021-02-11 19:00:24 +00:00
Björn Linse
94622ca66b buffer updates: add on_reload callback and handle it in treesitter parser 2021-02-10 18:58:46 +01:00
Jan Edmund Lazo
f1fdeaf667 option: use char* for set_string_option_direct()
"name" param was cast to (const char *).
All calls to set_string_option_direct() cast 1st arg
from (char *) to (char_u *).
Remove these useless casts.
2021-02-07 17:27:59 -05:00
Björn Linse
aa50369897 inccommand: preserve extmarks when undoing preview substitution 2021-02-04 14:33:37 +01:00
Jan Edmund Lazo
da3f9778af vim-patch:8.2.2464: using freed memory if window closed in autocommand
Problem:    Using freed memory if window closed in autocommand. (houyunsong)
Solution:   Check the window still exists.
8ab375706e
2021-02-03 18:46:53 -05:00
Jan Edmund Lazo
8d3baf0791 vim-patch:8.2.2458: Coverity warns for :retab using freed memory
Problem:    Coverity warns for :retab using freed memory.
Solution:   Use the updated line pointer when moving text properties.
0dcd39bad5

N/A patches for version.c:

vim-patch:8.2.2457: Coverity warns for memory leak

Problem:    Coverity warns for memory leak.
Solution:   Free memory when out of memory.
4dba04256b
2021-02-03 18:33:52 -05:00
Jan Edmund Lazo
1376994f15 vim-patch:8.2.2425: cursor on invalid line with range and :substitute
Problem:    Cursor on invalid line with range and :substitute.
Solution:   Do not move the cursor when skipping commands. (closes vim/vim#3434)
df2c2988bb

Cherry-pick Test_for_invalid() from patch v8.1.0736.
2021-01-29 00:12:24 -05:00
Jan Edmund Lazo
402f2bda13 vim-patch:8.2.2361: Vim9: no highlight for "s///gc" when using 'opfunc'
Problem:    Vim9: no highlight for "s///gc" when using 'opfunc'.
Solution:   Reset 'lazyredraw' temporarily. (closes vim/vim#7687)
7c886db915
2021-01-17 12:42:28 -05:00
Björn Linse
a58d96a7ed buffer updates: mark sorted region as changed.
NB: currently this invalidates all extmarks inside the region.
Later on within-line extmarks could be preserved
2021-01-03 14:47:37 +01: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
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
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
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
Björn Linse
8c8cc35926 Merge pull request #13595 from teto/fix-filler
de curwinify some functions
2020-12-24 22:43:27 +01:00
Matthieu Coudron
45166313cc refactor: de-curwin-ify update_topline/curs_columns 2020-12-23 16:53:35 +01:00
Jan Edmund Lazo
7390cc8b29 vim-patch:8.1.0470: pointer ownership around fname_expand() is unclear
Problem:    Pointer ownership around fname_expand() is unclear.
Solution:   Allow b_ffname and b_sfname to point to the same allocated memory,
            only free one.  Update comments.
3d6014f033
2020-12-19 22:52:30 -05:00
Jan Edmund Lazo
5491a728fe vim-patch:8.2.0272: ":helptags ALL" gives error for some directories
Problem:    ":helptags ALL" gives error for directories without write
            permission. (Matěj Cepl)
Solution:   Ignore errors for ":helptags ALL". (Ken Takata, closes vim/vim#5026,
            closes vim/vim#5652)
414b796627

Cherry-pick Test_helptag_cmd() from patch v8.2.0203.
2020-12-19 10:39:15 -05:00
Thomas Vigouroux
d0112693a3 fix: also splice extmarks in preview windows
We indeed need to adjust extmarks in preview windows.

Fixes #12967
2020-12-15 15:34:55 +01:00
Jan Edmund Lazo
56f5e3bd6b vim-patch:8.0.1525: using :wqa exits even if a job runs in a terminal window
Problem:    Using :wqa exits even if a job runs in a terminal window. (Jason
            Felice)
Solution:   Check if a terminal has a running job. (closes vim/vim#2654)
7a76092a51
2020-12-01 08:52:33 -05:00
Jan Edmund Lazo
dd3583836b vim-patch:8.1.2361: MS-Windows: test failures related to VIMDLL
Problem:    MS-Windows: test failures related to VIMDLL.
Solution:   Adjust code and tests. (Ken Takata, closes vim/vim#5283)
310c32e892
2020-11-23 07:45:24 -05:00
Jan Edmund Lazo
5d6ecfa3c7 vim-patch:8.1.0805: too many #ifdefs
Problem:    Too many #ifdefs.
Solution:   Graduate FEAT_MBYTE, part 1.
135059724f
2020-11-12 21:22:06 -05:00
georg3tom
7777532ceb Removed restricted mode - Fix #11972 2020-11-11 18:07:58 +01:00
Jan Edmund Lazo
4e6f00dd29 gcc/analyzer: fix false positives for NULL (#13248)
Close https://github.com/neovim/neovim/issues/13158
2020-11-08 22:48:17 -05:00
Björn Linse
8497d4b3ea decoration: split out "decoration" from "extmark" module
Decorations will only grow more complex. move the to a separate
file, so that extmark.c remains about extmarks.
2020-11-07 09:55:17 +01:00
Björn Linse
c146eddc8b api: add API for themes
co-author: hlpr98 <hlpr98@gmail.com> (dict2hlattrs function)

orange is sus??

NOVEMBER DAWN

erase the lie that is redraw_later()
2020-11-01 19:14:56 +01:00
Jan Edmund Lazo
54d07b648c vim-patch:8.2.0943: displaying ^M or ^J depends on current buffer
Problem:    Displaying ^M or ^J depends on current buffer.
Solution:   Pass the displayed buffer to transchar(). (closes vim/vim#6225)
32ee627750

N/A patches for version.c:

vim-patch:8.2.0862: ":term ++curwin" makes the current buffer hidden

Problem:    ":term ++curwin" makes the current buffer hidden. (Harm te
            Hennepe)
Solution:   Do not hide the current buffer. (closes vim/vim#6170)
b10090928c
2020-10-18 01:24:02 -04:00
Jan Edmund Lazo
674844086b vim-patch:8.2.1801: undo file not found when using ":args" or ":next"
Problem:    Undo file not found when using ":args" or ":next".
Solution:   Handle like editing another file. (closes vim/vim#7072)
55b419b871
2020-10-05 18:18:14 -04:00
Björn Linse
bc86f76c0a api/buffer: add "on_bytes" callback to nvim_buf_attach
This implements byte-resolution updates of buffer changes.
Note: there is no promise that the buffer state is valid inside
the callback!
2020-09-09 21:22:21 +02:00
Jan Edmund Lazo
a45dc02a14 vim-patch:8.1.2198: crash when using :center in autocommand
Problem:    Crash when using :center in autocommand.
Solution:   Bail out early for an empty line. (Dominique pelle, closes vim/vim#5095)
396b7c78c0

Cherry-pick 'src/testdir/check.vim' changes from patch 8.1.1544.
2020-08-30 21:12:25 -04:00
Ville Hakulinen
a02a267f8a Reuse inccommand preview window (fix #11529) (#12612)
* Reuse inccommand preview window

Currently, show_sub (inside ex_substitute) creates a new split on each
run for its existing buffer, and ex_substitute calls close_windows for
it. This functionality seems to relay in delayed operations on window
structures where the close event on the newest window is "cancelled" by
win_grid_alloc. But for multigrid, there is optimization in place in
win_grid_alloc which causes any (unnecessary?) allocations to be
skipped, and thus inccommand preview window is not preserved but closed
immediately. Alternative fix would be to remove said optimization, but
the whole "lets create a new split each time and trash the earlier
window" seems too wasteful.

Fix #11529

* Update failing test

The failing test sets inccommand=split and does `:%s/.`, but isn't
expecting to get any contents for the preview window, other than the
windows status line. Update the test to include the preview window
contents too.
2020-07-15 08:46:47 -04:00
Justin M. Keyes
34ad1ea366 Merge #12155 ':ls filter by terminal, lastused' 2020-04-26 23:57:37 -04:00
Matthieu Coudron
d20142a31f folds: decrease reliance on global 'curwin'
TODO in a future commit:
- remains 2 instances of changed_lines that dont take into account
buffer
2020-04-24 20:28:44 +02:00
Rob Pilling
ec2d45a851 vim-patch:7.4.1988
Problem:    When updating viminfo with file marks there is no time order.
Solution:   Remember the time when a buffer was last used, store marks for
            the most recently used buffers.
ab9c89b68d

As this is a viminfo fix, most of this is irrelevant - the patch has
just been brought across for the creation and updating of buffer's
`b_last_used` properties.
2020-04-19 20:18:41 +01:00
Will Eccles
87d892afa0 vim-patch:8.1.0864 Make 'scrolloff' and 'sidescrolloff' options window local (#11854)
Problem: cannot have a local value for 'scrolloff' and 'sidescrolloff'

Author: Bram Moolenar

375e339007
2020-03-17 20:05:34 +01:00
Matthieu Coudron
d22fd58629 Merge pull request #11716 from teto/folds_auto_backup
[RFC] foldcolumn autowidth
2020-03-02 13:56:27 +01:00
Jan Edmund Lazo
d846f47cc8 vim-patch:8.1.0881: can execute shell commands in rvim through interfaces
Problem:    Can execute shell commands in rvim through interfaces.
Solution:   Disable using interfaces in restricted mode. Allow for writing
            file with writefile(), histadd() and a few others.
8c62a08faf
2020-03-01 20:02:09 -05:00
Matthieu Coudron
4ffae76520 addressing reviews 2020-03-01 16:45:51 +01:00
Matthieu Coudron
1a2be57da3 foldcolumn: allow auto:X
Similar to signcolumn, allow foldcolumn to adapt itself to the number of
folds.

Regression:
vim supports a maximum fdc of 12, this limits it to 9.
2020-02-29 20:27:22 +01:00
Björn Linse
48a869dc6d shed biking: it's always extmarks, never marks extended 2020-01-20 19:36:35 +01:00
Björn Linse
ca1a00edd6 extmarks/bufhl: reimplement using new marktree data structure
Add new "splice" interface for tracking buffer changes at the byte
level. This will later be reused for byte-resolution buffer updates.
(Implementation has been started, but using undocumented "_on_bytes"
option now as interface hasn't been finalized).

Use this interface to improve many edge cases of extmark adjustment.
Changed tests indicate previously incorrect behavior. Adding tests for
more edge cases will be follow-up work (overlaps on_bytes tests)

Don't consider creation/deletion of marks an undoable event by itself.
This behavior was never documented, and imposes  complexity for little gain.

Add nvim__buf_add_decoration temporary API for direct access to the new
implementation. This should be refactored into a proper API for
decorations, probably involving a huge dict.

fixes #11598
2020-01-16 12:36:10 +01:00
Jan Edmund Lazo
f6b4547598 ex_cmds: fix pvs/v781 2019-12-26 00:29:15 -05:00
Jan Edmund Lazo
35c3985da6 clang/'Dead store': remove dead code 2019-12-26 00:29:13 -05:00
Jan Edmund Lazo
8819b5c06e vim-patch:8.1.0461: quickfix: change comment style #11453
Problem:    Quickfix code uses too many /* */ comments.
Solution:   Change to // comments. (Yegappan Lakshmanan)
00bf8cd211
2019-11-24 20:10:25 -08:00
Justin M. Keyes
54473e9a67 doc [ci skip] 2019-11-11 22:12:59 -08:00