Problem: Alloc/free of buffer for each quickfix entry is inefficient.
Solution: Use a shared grow array. (Yegappan Lakshmanan, closesvim/vim#11365)
975a665d48
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Problem: Quickfix listing does not handle very long messages.
Solution: Use a growarray instead of a fixed size buffer. (Yegappan
Lakshmanan, closesvim/vim#11357)
f8412c9d7c
Override Test_very_long_error_line() with a rewrite that doesn't use
deferred delete and string interpolation.
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Problem: Illegal memory access when using virtual editing.
Solution: Make sure "startspaces" is not negative.
c99cbf8f28
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Comparing line pointer for 'breakindent' is not reliable.
Solution: Make a copy of the line.
c2a79b87fc
Test changes have been squashed into the previous commit.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Reproducing memory access errors can be difficult.
Solution: When testing, copy each line to allocated memory, so that valgrind
can detect accessing memory before and/or after it. Fix uncovered
problems.
fa4873ccfc
Since test_override() is N/A, enable ml_get_alloc_lines when ASAN is
enabled instead, so it also applies to functional tests.
Use xstrdup() to copy the line as ml_line_len looks hard to port.
Squash the test changes from patch 9.0.0016.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Accessing invalid memory with put in Visual block mode.
Solution: Adjust the cursor column if needed.
1c73b65229
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Some complex queries may not return all matches.
Solution: Raise `ts_match_limit` from current 64 (twice the original
default) to 256 (which Helix uses, and seems to be enough for the reported
problematic cases).
If this leads performance regressions in other queries, we should add a
generic querying timeout instead of relying on a low value here.
Problem: Long sign text may overflow buffer.
Solution: Use a larger buffer. Prevent for overflow.
2b1ddf19f8
Don't change the size of extra[] as it's already large enough.
N/A patches for version.c:
vim-patch:9.0.0523: more compiler warnings for arguments in small version
Co-authored-by: Bram Moolenaar <Bram@vim.org>
These are in gcc 4.9+ which we require anyway.
-Og is safe on clang as well (reserved for a future debug-optimize mode,
and currently does the same as -O1 which is reasonable)
In addition: merge some checks for the same feature into one
test_compile. This reduces the total number of test compiles
which speeds up the cmake configure stage.
Problem: The win_line() function is much too long.
Solution: Move code to separate functions.
c20a41972c
Partial port as this depends on patch 9.0.0148.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: The win_line() function is much too long.
Solution: Move the code to draw the line number to a separate function.
d7657e95b2
N/A patches for version.c:
vim-patch:9.0.0521: compiler warns for unused argument in small version
Co-authored-by: Bram Moolenaar <Bram@vim.org>
This reduces the number of arguments to helpers functions.
N/A patches for version.c:
vim-patch:9.0.0152: warning for unused argument in small build
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Wrong text displayed when using both 'linebreak' and 'list'.
Solution: Only set "c_extra" to NUL when "p_extra" is not empty. (Hirohito
Higashi, closesvim/vim#12065)
194555c001
Cherry-pick a change from patch 9.0.0153.
Co-authored-by: h-east <h.east.727@gmail.com>
Problem: Crash when reading help index with various options set. (Marius
Gedminas)
Solution: Do not set wlv.c_extra to NUL when wlv.p_extra is NULL.
(closesvim/vim#11651)
c67c89c758
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: lalloc(0) error in listchars test.
Solution: Skip generating text for tab if tab_len is zero.
2b7b4f7670
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Buffer size for expanding tab not correctly computed.
Solution: Correctly use size of end character.
a0789478f6
Co-authored-by: Bram Moolenaar <Bram@vim.org>
- Remove unused code
- Use consistent casing. Variable names such as LibLuV_LIBRARIES is
needlessly jarring, even if the name might be technically correct.
- Use title casing for packages. find_package(unibilium) requires the
find_module to be named "Findunibilium.cmake", which makes it harder
to spot when scanning the files. Instead, use "Unibilium".
Large parts the library weren't being used, and the parts that were was overly
abstracted for our use case. Additionally, part of its use case was to abstract
pkgconfig boilerplate, which is no longer needed as pkgconfig has been removed
in favor of relying on cmake alone in 09118052ce.
vim-patch:8.2.2781: add() silently skips when adding to null list or blob
Problem: Add() silently skips when adding to null list or blob.
Solution: Give an error in Vim9 script. Allocate blob when it is NULL like
with list and dict.
b7c21afef1
Do not implicitly change a NULL blob/dict/list to an empty one.
N/A patches for version.c:
vim-patch:8.2.1949: Vim9: using extend() on null dict is silently ignored
Problem: Vim9: using extend() on null dict is silently ignored.
Solution: Give an error message. Initialize a dict variable with an empty
dictionary. (closesvim/vim#7251)
348be7ed07
N/A because Nvim's current behavior is an error message as a locked
list/dict, which is more consistent. Ref #4615.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
This feature has long been obsolete. The 'keymap' option can be used
to support language keymaps, including hebrew and hebrewp (phonetic
mapping). There is no need to keep the old c code with hardcoded
keymaps for some languages.
redraw! redraws the entire screen instead of just the windows with
the buffer which were actually changed.
I considered trying to calculating the range for the delta
but it looks tricky. Could a follow-up.
Problem: readblob() returns empty when trying to read too much.
Solution: Return what is available.
5b2a3d77d3
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: readblob() cannot read from character device.
Solution: Use S_ISCHR() to not check the size. (Ken Takata, closesvim/vim#11407)
43625762a9
S_ISCHR is always defined in Nvim.
Co-authored-by: K.Takata <kentkt@csc.jp>