Problem: Cannot cancel "gr" with Esc.
Solution: Make "gr<Esc>" do nothing. (closesvim/vim#12064)
4f026ea9f1
N/A patches for version.c:
vim-patch:9.0.1347: "gr CTRL-O" stays in Insert mode
Problem: "gr CTRL-O" stays in Insert mode. (Pierre Ganty)
Solution: Do not set restart_edit when "cmdchar" is 'v'. (closesvim/vim#12045)
2824d1ee32
vim-patch:9.0.1349: "gr" with a count fails
Problem: "gr" with a count fails.
Solution: Break out of the loop only after using the count.
3ddb1182b7
Neovim expects character encoding to be UTF-8, and deviation from this
causes bugs such as lua files not being recognized for non-ascii paths.
This changes the behavior of fopen, which defaults to using the
currently active codepage.
Closes: https://github.com/neovim/neovim/issues/18122
Problem: flattennew() makes a deep copy unnecessarily.
Solution: Use a shallow copy. (issue vim/vim#10012)
c6c1ec4da5
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: flatten() does not use maxdepth correctly.
Solution: Use a recursive implementation. (closesvim/vim#10020)
acf7d73a7f
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Vim9: flatten() always changes the list type.
Solution: Disallow using flatten() and add flattennew().
3b69006973
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Various comment and indent mistakes, returning wrong zero.
Solution: Fix the mistakes. Return NULL instead of FAIL.
54969f4ef5
N/A patches for version.c:
vim-patch:8.2.3781: the option window script is outdated
Problem: The option window script is outdated.
Solution: Add several changes.
a416861c64
Co-authored-by: Bram Moolenaar <Bram@vim.org>
When combining attributes use the one that takes priority.
For :highlight command use the last one specified.
For API use a hard-coded order same as the order in docs.
Problem: Crash when using buffer-local user command in cmdline window.
(Karl Yngve Lervåg)
Solution: Use the right buffer to find the user command. (closesvim/vim#12030,
closesvim/vim#12029)
b444ee761a
Problem: Illegal memory access when using :ball in Visual mode.
Solution: Stop Visual mode when using :ball. (Pavel Mayorov, closesvim/vim#11923)
e1121b1394
Co-authored-by: Pavel Mayorov <pmayorov@cloudlinux.com>
Problem: "gj" and "gk" do not move correctly over a closed fold.
Solution: Use the same code as used for "j"/"k" to go to the next/previous
line. (Luuk van Baal, closesvim/vim#12007)
441a7a9448
Having to specify CI_BUILD for every CI job requires boilerplate. More
importantly, it's easy to forget to enable CI_BUILD, as seen by
8a20f9f98a. It's simpler to remember to
turn CI_BUILD off when a job errors instead of remembering that every
new job should have CI_BUILD on.
Problem: Mapping related function in wrong source file.
Solution: Move the function. Add a few more test cases. (Yegappan
Lakshmanan, closesvim/vim#5528)
7f51bbe0d1
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: :messages behavior depends on 'fileformat' of current buffer.
Solution: Pass the buffer pointer to where it is used. (Mirko Ceroni,
closesvim/vim#11995)
1d87e11a1e
Co-authored-by: cero1988 <mirkoceroni@mirkoceroni.it>
Libuv's recent changes in their pc file breaks cmake; they are using
-l:libuv.a for the linker, and it seems cmake can't resolve that.
Prefer using their cmake config file instead instead, and use the find
module as a fall-back in case it fails.
Closes https://github.com/neovim/neovim/issues/22271.
When using a multi config generator, CMake generates an output file for
each configuration when using file(GENERATE). When the contents of the
file for each configuration are different, CMake fails. Instead, create
separate files for each configuration and add a build time step to copy
the configuration specific file to the generic path "auto/versiondef.h"
which is included at build time.
Problem:
The Lua-API bridge allows Dict params to be empty Lua (list) tables at
the function-signature level. But not for _nested_ Dicts, because they
are not modeled:
fae7540732/src/nvim/api/keysets.lua (L184)
Some API functions like nvim_cmd check for kObjectTypeDictionary and
don't handle the case of empty Lua tables (treated as "Array").
Solution:
Introduce VALIDATE_T_DICT and use it in places where
kObjectTypeDictionary was being checked directly.
fixes#21005
This commit implements the ability to control all of the XDG paths
Neovim should use. This is done by setting an environment variable named
NVIM_APPNAME. For example, setting $NVIM_APPNAME makes Neovim look for
its configuration directory in $XDG_CONFIG_HOME/$NVIM_APPNAME instead of
$XDG_CONFIG_HOME/nvim.
If NVIM_APPNAME is not set or is an empty string, "nvim" will be used as
default.
The usecase for this feature is to enable an easy way to switch from
configuration to configuration. One might argue that the various $XDG
environment variables can already be used for this usecase. However,
setting $XDG environment variables also affects tools spawned by Neovim.
For example, while setting $XDG_CONFIG_HOME will enable Neovim to use a
different configuration directory, it will also prevent Git from finding
its "default" configuration.
Closes https://github.com/neovim/neovim/issues/21691