Commit Graph

13879 Commits

Author SHA1 Message Date
Christian Clason
dd086292c7 Merge pull request #22023 from neovim/fix-syntax
* fix(treesitter): properly restore `'syntax'` (#21358)
* fix(treesitter): really restore syntax
    - also unset b:ts_highlight on stop()
    Fixes: #21836
2023-01-28 10:59:50 +01:00
zeertzjq
2ecbd7f598 Merge pull request #22026 from neovim/backport-21793-to-release-0.8
[Backport release-0.8] fix(rbuffer): handle edge case where write_ptr has wrapped around too early
2023-01-28 08:20:46 +08:00
zeertzjq
fec5b0f164 revert: "shada/context: fully remove jumplist duplicates #10898"
This reverts commit 8b8ecf44f2.
Fix #21082.

(cherry picked from commit 6fe9fbdd2f)
2023-01-27 23:24:09 +00:00
bfredl
9aacf9bf66 fix(rbuffer): handle edge case where write_ptr has wrapped around
when using the rbuffer as a linear buffer, exactly filling the buffer
will case write_ptr to wrap around too early. For now detect this
special case.

Of course, the rbuffer should refactored to a proper ring buffer where
write_pos >= read_pos always and there is no special case for full
buffers. This will be a follow up change.

(cherry picked from commit 8ebdb97ea7)
2023-01-27 23:21:32 +00:00
Lewis Russell
de66d54e05 fix(treesitter): properly restore 'syntax' (#21358) 2023-01-28 00:04:18 +01:00
Justin M. Keyes
c5d688c54e vim-patch: bump VIM_VERSION from 8.0 => 8.1 #20762
There are 6 remaining 8.0.x patches, tracked in:
https://github.com/neovim/neovim/issues/5431
2023-01-15 15:05:57 +01:00
github-actions[bot]
5d5a155685 [Backport release-0.8] fix(api): nvim_create_autocmd crash on invalid types inside pattern array (#21777)
fix(api): nvim_create_autocmd crash on invalid types inside pattern array

(cherry picked from commit 46cef24321)

Co-authored-by: ii14 <ii14@users.noreply.github.com>
2023-01-12 09:28:32 -08:00
zeertzjq
4a52467f77 fix(diff): avoid restoring invalid 'foldcolumn' value
Use "0" for 'foldcolumn' when w_p_fdc_save is empty, like how
"manual" is used for 'foldmethod' when w_p_fdm_save is empty.

(cherry picked from commit 5f04b164e6)
2023-01-05 01:50:26 +00:00
zeertzjq
384caf8c1c fix(clipboard): show provider warning when not during batch changes
It is strange that Ex commands that explicitly interact with the
clipboard show provider warning, but Normal mode commands do not.

(cherry picked from commit c98571de2a)
2023-01-05 01:32:21 +00:00
zeertzjq
3892ba2405 vim-patch:9.0.0788: ModeChanged autocmd not executed when Visual ends with CTRL-C
Problem:    ModeChanged autocmd not executed when Visual mode is ended with
            CTRL-C.
Solution:   Do not trigger the autocmd when got_int is set. (closes vim/vim#11394)
61c4b04799

Cherry-pick removal of cmdwin feature check from patch 9.0.0663.

(cherry picked from commit 0b3328d15a)
2022-12-28 05:48:18 +00:00
zeertzjq
d5bdcb2bd7 fix(win_close): remove float grid after closing buffer
It is not safe to remove the float grid when autocommands can still be
triggered, as autocommands may use the float grid.

(cherry picked from commit 9a5e80af56)
2022-12-27 09:37:08 +00:00
zeertzjq
e951181d84 refactor(win_close): suppress clang "Dereference of NULL pointer" 2022-12-27 17:36:02 +08:00
zeertzjq
172202b49a fix(mappings): use all buckets in second round of unmap
(cherry picked from commit 32b5afd768)
2022-12-26 03:21:19 +00:00
zeertzjq
799e5fb92b fix(options): restore exists() behavior for options
Duplicating get_option_value() logic for an obscure future refactor
isn't really worthwhile, and findoption() isn't used anywhere else
outside the options code.

(cherry picked from commit 09841ccbc3)
2022-12-23 06:02:07 +00:00
zeertzjq
9a6a7ad469 refactor(get_option_tv): rename opt_flags to scope 2022-12-23 14:01:02 +08:00
zeertzjq
d0f71270cc fix(decoration): do not reset must_redraw after calling providers
Resetting must_redraw caused a strange bug #21278.
Remove the goto as well, as it doesn't make much sense after #20665.
2022-12-21 23:46:28 +08:00
zeertzjq
d2582350b2 test(old): make test_signs.vim closer to upstream
(cherry picked from commit 5391e8b002)
2022-12-20 04:16:49 +00:00
Thomas Churchman
1860792ed6 fix(tui): set cursor color parameter as string when required
(cherry picked from commit d85723b268)
2022-12-18 23:11:23 +00:00
zeertzjq
23202944ec vim-patch:9.0.1072: screenpos() column result in fold may be too small
Problem:    screenpos() column result in fold may be too small.
Solution:   Add space of 'number', sign column, etc. (closes vim/vim#11715)

ba2d191932
(cherry picked from commit 56b77dc171)
2022-12-18 13:26:51 +00:00
zeertzjq
3510298930 fix(folds): use long for number of folded lines 2022-12-17 08:14:27 +08:00
zeertzjq
a9e78dd2f6 fix(api): "emsg_silent" should imply "silent" in nvim_cmd
(cherry picked from commit bad66a1e09)
2022-12-16 00:54:49 +00:00
zeertzjq
da47f6e56a fix(terminal): fix 'mousescroll' not respected in terminal mode
(cherry picked from commit 7c0e5e68a4)
2022-12-15 01:15:26 +00:00
zeertzjq
b8b2101540 fix(api): set correct curbuf when temporarily changing curwin
(cherry picked from commit 44f22adb22)
2022-12-10 12:14:23 +00:00
zeertzjq
6f386c75c4 vim-patch:9.0.1032: test fails when terminal feature is missing
Problem:    Test fails when terminal feature is missing.
Solution:   Use CheckRunVimInTerminal.

b9603f6498

Co-authored-by: Bram Moolenaar <Bram@vim.org>
(cherry picked from commit 95c655fedc)
2022-12-09 00:18:28 +00:00
zeertzjq
21ea794690 vim-patch:9.0.1030: using freed memory with the cmdline popup menu
Problem:    Using freed memory with the cmdline popup menu.
Solution:   Clear the popup menu when clearing the matches. (closes vim/vim#11677)

038e6d20e6

Co-authored-by: Bram Moolenaar <Bram@vim.org>
(cherry picked from commit 4d22424d9e)
2022-12-09 00:18:28 +00:00
zeertzjq
eacc8230ed vim-patch:9.0.1036: undo misbehaves when writing from an insert mode mapping
Problem:    Undo misbehaves when writing from an insert mode mapping.
Solution:   Sync undo when writing. (closes vim/vim#11674)

3f8f827723

Co-authored-by: Bram Moolenaar <Bram@vim.org>
(cherry picked from commit 70d6c335b1)
2022-12-08 23:24:46 +00:00
github-actions[bot]
927074c97a [Backport release-0.8] fix (#18501): chansend sending lines to terminal buffer in reverse order in Windows (#21344)
* fix(chansend): sending lines to terminal in reverse order on Windows #19315

Problem: `chansend()` on Windows sends lines in reverse order.
Cause: Using \n instead of \r\n for newlines on Windows.
Solution: on Windows, use CRLF newline characters.

Fixes #18501

(cherry picked from commit d5004aab27)

* fixup! fix(chansend): sending lines to terminal in reverse order on Windows #19315

(cherry picked from commit d313491a8b)

Co-authored-by: Enan Ajmain <3nan.ajmain@gmail.com>
Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
2022-12-08 14:00:57 -08:00
zeertzjq
a853becfea fix(options): fix local 'sidescrolloff' doesn't work for mouse
Missing part of Vim patch 8.1.0864.

(cherry picked from commit 9caa4c8236)
2022-12-07 04:56:13 +00:00
zeertzjq
8d41ffcb5b fix(float): fix crash with bufpos and non-existent window
(cherry picked from commit 759b04a2e7)
2022-12-07 03:37:13 +00:00
zeertzjq
ccb718a23d fix(events): save v:event for cmdline autocommands separately
(cherry picked from commit 4ef6efe927)
2022-12-07 00:58:05 +00:00
zeertzjq
78caeae92f vim-patch:9.0.1016: screenpos() does not count filler lines for diff mode
Problem:    screenpos() does not count filler lines for diff mode.
Solution:   Add filler lines. (closes 11658)

1cb16c3a20

Co-authored-by: Bram Moolenaar <Bram@vim.org>
(cherry picked from commit 52b3e8bdef)
2022-12-06 00:40:31 +00:00
zeertzjq
65c8851098 vim-patch:9.0.1011: ml_get error when using screenpos()
Problem:    ml_get error when using screenpos().
Solution:   Give an error for the line number. (closes vim/vim#11661)

99d19438ca

Co-authored-by: Bram Moolenaar <Bram@vim.org>
(cherry picked from commit 0909d987fe)
2022-12-06 00:40:31 +00:00
zeertzjq
e2afca9c76 vim-patch:8.2.4389: screenpos() does not handle a position in a closed fold
Problem:    screenpos() does not handle a position in a closed fold.
Solution:   Check if the position is inside a closed fold. (closes vim/vim#9778)

4556a2e868

Co-authored-by: Bram Moolenaar <Bram@vim.org>
(cherry picked from commit 10af0549df)
2022-12-06 00:40:31 +00:00
zeertzjq
ebfe54617f vim-patch:8.2.4204: screenpos() has non-zero row for invisible text
Problem:    screenpos() has non-zero row for invisible text.
Solution:   Only add the window row when the text is visible. (closes vim/vim#9618)

7924a17791

Co-authored-by: Bram Moolenaar <Bram@vim.org>
(cherry picked from commit 6f9cda0f0a)
2022-12-06 00:40:31 +00:00
zeertzjq
bc4d11cd9d fix(float): fix ml_get error with bufpos
(cherry picked from commit e120a049f0)
2022-12-06 00:40:31 +00:00
zeertzjq
9f5c5abd42 vim-patch:8.2.3193: screenpos() is wrong when 'display' is "lastline"
Problem:    screenpos() is wrong when the last line is partially visible and
            'display' is "lastline".
Solution:   Also compute the position for a partially visible line.
            (closes vim/vim#8599)

189663bdac

Co-authored-by: Bram Moolenaar <Bram@vim.org>
(cherry picked from commit 11d2704274)
2022-12-06 00:40:31 +00:00
Jan Palus
4bef100e47 build: restrict git describe to top level source directory
fix version determination when building neovim from release tarball
extracted within another git repository

(cherry picked from commit 53ba7b9a5a)
2022-12-02 12:46:15 +00:00
zeertzjq
4152151c94 vim-patch:9.0.0821: crash with win_move_statusline() in another tabpage
vim-patch:86e6717ace4f

Problem:    Crash when using win_move_statusline() in another tab page.
Solution:   Check for valid window pointer. (issue vim/vim#11427)

86e6717ace

Co-authored-by: Bram Moolenaar <Bram@vim.org>
(cherry picked from commit d2a22242fb)
2022-11-28 16:30:18 +00:00
bfredl
41192dae78 refactor(memory): simplify new alignment logic
In particular, we can assume the xmalloc-ed pointer is at least
double-aligned, otherwise nothing work work.

(cherry picked from commit 8b7247af7d)
2022-11-19 20:07:30 +00:00
Jan Palus
9c32331904 fix(memory): fix memory alignment for dynamic allocation
all pointers returned by arena_alloc residing in arena block should be
properly aligned

to meet neovim's alignment requirements but keeping it simple settle on
ARENA_ALIGN = MAX(sizeof(void *), sizeof(double)).

(cherry picked from commit 0240fd6d0f)
2022-11-19 20:07:30 +00:00
bfredl
3e0783db43 Merge pull request #21042 from neovim/backport-20178-to-release-0.8
[Backport release-0.8] feat(extmarks): allow preventing spellchecking with spell = false
2022-11-13 11:16:36 +01:00
Thomas Vigouroux
7a49cf4da9 feat(extmarks): allow preventing spellchecking with spell = false
(cherry picked from commit 7e6d785d19)
2022-11-13 10:05:50 +00:00
bfredl
1b359d4034 fix(ui): fix some cases of stale highlight definitions
fixes #20695

(cherry picked from commit d7e7578ada)
2022-11-13 09:54:34 +00:00
zeertzjq
ca9b5687f6 fix(stdpath): default to /tmp if stdpath('run') cannot be created
(cherry picked from commit 8b30d7ab4c)
2022-11-07 01:09:00 +00:00
zeertzjq
747b8dac73 fix(mouse): ensure no scrolling with "ver:0" in 'mousescroll'
(cherry picked from commit b3360f0734)
2022-10-29 23:11:13 +00:00
zeertzjq
06144afb71 fix: avoid unsigned overflow in home_replace()
(cherry picked from commit d3ac297554)
2022-10-29 22:50:14 +00:00
github-actions[bot]
5eab16fa24 [Backport release-0.8] docs(api): pattern is not expanded for autocommands (#20838)
docs(api): pattern is not expanded for autocommands

Problem: Unlike `:autocmd`, `nvim_create_autocommand()` does not expand
environment variables in the `pattern`, which is unexpected.

Solution: Add a note to the documentation explaining this and suggesting
using `expand()` explicitly.

(cherry picked from commit eeaf943ca3)

Co-authored-by: Christian Clason <c.clason@uni-graz.at>
2022-10-27 18:59:25 -07:00
zeertzjq
7aaa0f4888 fix(spell): fix wrong cast
Fix #20787

(cherry picked from commit 0b2ef98594)
2022-10-26 09:18:45 +00:00
zeertzjq
06c63f50fc vim-patch:9.0.0806: 'langmap' works differently when there are modifiers
Problem:    'langmap' works differently when there are modifiers.
Solution:   Only apply 'langmap' to a character where modifiers have no
            effect. (closes vim/vim#11395, closes vim/vim#11404)
49660f5139
(cherry picked from commit e8877c4d7b)
2022-10-20 22:32:55 +00:00
github-actions[bot]
32ccb9770b [Backport release-0.8] build: don't append git tag on release versions (#20746)
build: don't append git tag on release versions

This prevents duplicate version strings such as v0.8.0-v0.8.0.

Also change the format for git releases from v0.9.0-dev-67-g625ba79be
to v0.9.0-dev-67+g625ba79be. The neovim versions are now:

release: v0.9.0
prerelease without git info: v0.9.0-dev
prerelease with git info: v0.9.0-dev-67+g625ba79be

(cherry picked from commit 90785aafe1)

Co-authored-by: dundargoc <gocdundar@gmail.com>
2022-10-20 05:25:41 -07:00