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)
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)
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)
Problem: ModeChanged autocmd not executed when Visual mode is ended with
CTRL-C.
Solution: Do not trigger the autocmd when got_int is set. (closesvim/vim#11394)
61c4b04799
Cherry-pick removal of cmdwin feature check from patch 9.0.0663.
(cherry picked from commit 0b3328d15a)
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)
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)
Problem: screenpos() column result in fold may be too small.
Solution: Add space of 'number', sign column, etc. (closesvim/vim#11715)
ba2d191932
(cherry picked from commit 56b77dc171)
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)
Problem: Using freed memory with the cmdline popup menu.
Solution: Clear the popup menu when clearing the matches. (closesvim/vim#11677)
038e6d20e6
Co-authored-by: Bram Moolenaar <Bram@vim.org>
(cherry picked from commit 4d22424d9e)
* 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>
Problem: ml_get error when using screenpos().
Solution: Give an error for the line number. (closesvim/vim#11661)
99d19438ca
Co-authored-by: Bram Moolenaar <Bram@vim.org>
(cherry picked from commit 0909d987fe)
Problem: screenpos() does not handle a position in a closed fold.
Solution: Check if the position is inside a closed fold. (closesvim/vim#9778)
4556a2e868
Co-authored-by: Bram Moolenaar <Bram@vim.org>
(cherry picked from commit 10af0549df)
Problem: screenpos() has non-zero row for invisible text.
Solution: Only add the window row when the text is visible. (closesvim/vim#9618)
7924a17791
Co-authored-by: Bram Moolenaar <Bram@vim.org>
(cherry picked from commit 6f9cda0f0a)
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.
(closesvim/vim#8599)
189663bdac
Co-authored-by: Bram Moolenaar <Bram@vim.org>
(cherry picked from commit 11d2704274)
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)
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)
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>
Problem: 'langmap' works differently when there are modifiers.
Solution: Only apply 'langmap' to a character where modifiers have no
effect. (closesvim/vim#11395, closesvim/vim#11404)
49660f5139
(cherry picked from commit e8877c4d7b)
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>