Problem: Code is indented more than necessary.
Solution: Use an early return where it makes sense. (Yegappan Lakshmanan,
closesvim/vim#11887)
142ed77898
Omit function_using_block_scopes(): only affects Vim9 script.
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
test(exepath): test if exepath returns correct path with multiple
Windows shells
This test covers the changes from #21175 where exepath() is set to
prefer file extensions in powershell.exe aswell as in cmd.exe.
In both shells, the file with a valid extension should be returned
instead of the extensionless file.
Problem: :runtime completion can be further improved.
Solution: Also complete the {where} argument values and adjust the
completion for that. (closesvim/vim#11874)
5c8771bc5a
Problem: No cmdline completion for :runtime.
Solution: Add completion for :runtime. (closesvim/vim#11853, closesvim/vim#11447)
Improve the resulting matches.
a6759381a5
refactor(intro): avoid coverity warning
Problem: Coverity warns about overwriting "mesg" leaking memory.
Solution: Make it clear that "mesg" will not be overwritten.
This only changes the error messages for an unexpected Unicode char in
an option to show its first byte instead of some special keycode.
The second argument of vim_strchr() usually doesn't matter, but it may
be better to consistently cast to uint8_t.
Problem: Code is indented more than necessary.
Solution: Use an early return where it makes sense. (Yegappan Lakshmanan,
closesvim/vim#11879)
032713f829
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Problem: :setglobal cannot use script-local function for "expr" option.
Solution: Use the pointer to the option value properly. (closesvim/vim#11883)
01d4efe2e8
Problem: Cursor briefly displayed in a wrong position when pressing Esc in
Insert mode after autoindent was used.
Solution: Do not adjust the cursor position for assumed deleted white space
if text is following. (closesvim/vim#11877)
0f843ef091
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Also remove Libvterm-tbl2inc_c.cmake as it's not required. It's used to
generate files that are already provided by the Libvterm project by
default. It's also not really something we need to concern ourselves
with as it's more of an authoring tool for the Libvterm creator as
mentioned in
https://github.com/neovim/neovim/pull/21986#issuecomment-1403733054.
Use the bundled libvterm dependency as the external package is outdated,
with the hopes of being able to use the external package once its
version meets our required version.
Co-authored-by: Christian Clason <c.clason@uni-graz.at>
Problems:
- Scope of local variables in options code is too large.
- did_set_string_option() is too large (>1000LOC).
- Setting options for a particular window or buffer requires a changing context (assigning curwin/curbuf).
Solutions:
- Reduce the scope of local variables.
- Break up did_set_string_option so it doesn't contain specific logic about each individual option (1038 LOC -> 310 LOC).
- Begin work on making functions not depend on curbuf or curwin and pass window or buffer handles explicitly.
There are a number of cmake variables and cache variables that need to
be passed to all dependencies. This is not only cumbersome, but also
fragile as it's easy to miss adding or removing a flag from a dependency
by accident. Introducing a global variable that controls all builds
makes it much easier to handle our dependencies.
Also fixes the currently broken release workflow as we need to pass the
CMAKE_OSX_ARCHITECTURES variable to all dependencies built with cmake.