| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
|
|
| |
Problem: Checking for empty quickfix stack is not consistent.
Solution: Use qf_stack_empty(). (Yegappan Lakshmanan)
https://github.com/vim/vim/commit/019dfe6855e011c02427bb922aafeae0245372c9
|
|
|
|
|
|
| |
Problem: The ex_make() function is too long.
Solution: Split it into several functions. (Yegappan Lakshmanan)
https://github.com/vim/vim/commit/b434ae2a1fcbbd43244c6130451de7f14346e224
|
|
|
|
|
|
| |
Problem: copy_loclist() is too long.
Solution: Split in multiple functions. (Yegappan Lakshmanan)
https://github.com/vim/vim/commit/09037503ea5f957ad23121bc61e15e4bb1765edf
|
|
|
|
|
|
| |
Problem: The ex_copen() function is too long.
Solution: Refactor to split off two functions. (Yegappan Lakshmanan)
https://github.com/vim/vim/commit/476c0db00205590974395df717519407a7717270
|
|
|
|
|
|
|
| |
Problem: Cannot get the window id associated with the location list.
Solution: Add the "filewinid" argument to getloclist(). (Yegappan
Lakshmanan, closes vim/vim#3202)
https://github.com/vim/vim/commit/c9cc9c78f21caba7ecb5c90403df5e19a57aa96a
|
|
|
|
|
|
| |
Problem: Quickfix code uses cmdidx too often.
Solution: Add is_loclist_cmd(). (Yegappan Lakshmanan)
https://github.com/vim/vim/commit/396659592fe039decc8c088694912067fe32a681
|
|
|
|
|
|
|
| |
Problem: qf_init_ext() is too long.
Solution: Split it into multiple functions. (Yegappan Lakshmanan,
closes vim/vim#2939)
https://github.com/vim/vim/commit/6053f2d29a979ffed1fe01b0a2f28e23750530e9
|
|\
| |
| | |
vim-patch:8.1.{2185,2188,2190,2197}
|
| |
| |
| |
| |
| |
| | |
Problem: ExitPre autocommand may cause accessing freed memory.
Solution: Check the window pointer is still valid. (closes vim/vim#5093)
https://github.com/vim/vim/commit/34ba06b6e6f94bb46062e6c85dbfdcbb0d255ada
|
| |
| |
| |
| |
| |
| | |
Problem: Syntax test fails on Mac.
Solution: Limit the window size to 20 rows.
https://github.com/vim/vim/commit/83e9a1ce75818a78c5ddf8dcfb820634ca6fabff
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Build error for missing define.
Solution: Add missing change.
https://github.com/vim/vim/commit/2b78ab5d0c91c229715ae140a34978506343bde3
These "WILD_" macros are used in earlier vim patches.
|
| |
| |
| |
| |
| |
| | |
Problem: Syntax test fails.
Solution: Add missing file patch.
https://github.com/vim/vim/commit/bbfd1562aeaa5b40b6451effc399846b692d6992
|
|\ \
| |/
|/| |
vim-patch:8.1.{1099,1228,1962} add 'tagfunc'
|
| |
| |
| |
| |
| |
| | |
Problem: Leaking memory when using tagfunc().
Solution: Free the user_data. (Dominique Pelle, closes vim/vim#4886)
https://github.com/vim/vim/commit/55008aad50601cae079037fda8fb434cde70c0f4
|
| |
| |
| |
| |
| |
| | |
Problem: Not possible to process tags with a function.
Solution: Add tagfunc() (Christian Brabandt, Andy Massimino, closes vim/vim#4010)
https://github.com/vim/vim/commit/45e18cbdc40afd8144d20dcc07ad2d981636f4c9
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The `HASHTAB_ITER` logic keeps track of how many entries in the hash
table are left to visit, decrementing this on each iteration of the
loop. This was previously decremented at the end of the loop body:
```c
size_t hi##todo_ = hi##ht_->ht_used;
for (hashitem_T *hi = hi##ht_->ht_array; hi##todo_; hi++) {
if (!HASHITEM_EMPTY(hi)) {
{
<user code, macro-inserted>
}
hi##todo_--; // <--- important decrement here
}
}
```
This meant that if the body of the loop (substituted in via macro
expansion) contained a `continue` statement, we'd skip decrementing our
counter, meaning we'd iterate too many times over the hash table,
usually leading to an out of bounds read beyond the hash table's
memory, or uninitialised/null pointers from unused hash table slots.
Decrementing `hi##todo` before the arbitrary loop body protects us from
this, and has no adverse side-effects since only the macro code can (or
should) use this variable.
Before this commit, no code within `HASHTAB_ITER()` contained a
`continue`, meaning this bug was left dormant and the fix has a very
minimal chance of introducing any bugs.
|
| |
| |
| |
| |
| |
| |
| | |
Problem: The do_tag() function is too long.
Solution: Factor parts out to separate functions. Move simplify_filename()
to a file where it fits better. (Andy Massimino, closes vim/vim#4195)
https://github.com/vim/vim/commit/b4a6020ac6a0638167013f1e45ff440ddc8a1671
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Heredoc assignment not skipped in if block.
Solution: Check if "skip" is set.
https://github.com/vim/vim/commit/b1ba9abcb385b0a5355788a7eefef78ec68d2f65
Fixes https://github.com/neovim/neovim/issues/11264
|
| |
| |
| | |
unibi_from_term calls getenv internally, so exclusive control is required.
|
|\ \
| | |
| | | |
vim-patch:8.1.{1585,1625,1723,1729}
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Heredoc with trim not properly handled in function.
Solution: Allow for missing indent. (FUJIWARA Takuya, closes vim/vim#4713)
https://github.com/vim/vim/commit/ecaa75b4cea329a3902b8565e028b32279b8322b
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Heredoc assignment has no room for new features. (FUJIWARA Takuya)
Solution: Require the marker does not start with a lower case character.
(closes vim/vim#4705)
https://github.com/vim/vim/commit/24582007294b0db3be9669d3b583ea45fc4f19b8
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Script line numbers are not exactly right.
Solution: Handle heredoc and continuation lines better. (Ozaki Kiichi,
closes vim/vim#4611, closes vim/vim#4511)
https://github.com/vim/vim/commit/bc2cfe4672d370330b8698d4d025697a9a6ec569
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: :let-heredoc does not trim enough.
Solution: Trim indent from the contents based on the indent of the first
line. Use let-heredoc in more tests.
https://github.com/vim/vim/commit/e7eb92708ec2092a2fc11e78703b5dcf83844412
|
| | |
| | |
| | |
| | |
| | |
| | | |
It needs to return to not output any remaining parts.
Followup to https://github.com/neovim/neovim/pull/10926
Ref: https://github.com/neovim/neovim/issues/10923
|
|\ \ \
| | | |
| | | | |
vim-patch:8.1.{2151,2152,2161,2162,2175,2177,2178}
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Accessing uninitialized memory in test.
Solution: Check if there was a match before using the match position.
(Dominique Pelle, closes vim/vim#5088)
https://github.com/vim/vim/commit/15ee567809a9808693163dd7c357ef0c172ecc9e
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Dart files are not recognized.
Solution: Add a filetype rule. (Eugene Ciurana, closes vim/vim#5087)
https://github.com/vim/vim/commit/afbdb905c37675851e79d21239f502cd8e4ced9e
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Meson files are not recognized.
Solution: Add the meson filetype. (Liam Beguin , Nirbheek Chauhan,
closes vim/vim#5056) Also recognize hollywood.
https://github.com/vim/vim/commit/c3bf7b56f2703e2d6f36dfb05fd32b5b43ce3c3f
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: State test is a bit flaky.
Solution: Add to the list of flaky tests.
https://github.com/vim/vim/commit/3c8cd4a1dcbc34d8818a2a38b1d1e4755da9edc2
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Popup resize test is flaky. (Christian Brabandt)
Solution: Add the function to the list of flaky tests.
https://github.com/vim/vim/commit/4e03933726e3698d962bf7dacdd27f306a4c5086
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Mapping test fails.
Solution: Run the test separately.
https://github.com/vim/vim/commit/4bd88d568a81d37df69dc3cf8cdd8d9dbb4011b7
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Problems navigating tags file on MacOS Catalina.
Solution: Use fseek instead of lseek. (John Lamb, fixes vim/vim#5061)
https://github.com/vim/vim/commit/27fc8cab227e30f649f52e74efd58ad56d21e9bb
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Error E303 is not useful when 'directory' is empty.
Solution: Skip the error message. (Daniel Hahler, vim/vim#5067)
https://github.com/vim/vim/commit/00e192becd50a38cb21a1bc3f86fcc7a21f8ee88
|
|/ / /
| | |
| | |
| | |
| | |
| | | |
Problem: Test42 seen as binary by git diff.
Solution: Add .gitattributes file. Make explicit that 'cpo' does not
contain 'S'. (Daniel Hahler, closes vim/vim#5072)
https://github.com/vim/vim/commit/5b39d7adb0b9f02afe242f607d4c96250f06965d
|
| | |
| | |
| | |
| | |
| | | |
Problem: "gk" and "gj" do not work correctly in number column.
Solution: Allow for a negative "curswant". (Zach Wegner, closes vim/vim#4969)
https://github.com/vim/vim/commit/ceba3dd5187788e09f65bd41b07b40f6f9aab953
|
|\ \ \
| | | |
| | | | |
vim-patch:8.1.{84,85,361}
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Remote user not used for completion. (Stucki)
Solution: Use $USER too. (Dominique Pelle, closes #3407)
https://github.com/vim/vim/commit/6b0b83f768cf536b34ce4d3f2de6bf62324229aa
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: No test for completing user name and language.
Solution: Add tests. (Dominique Pelle, closes #2978)
https://github.com/vim/vim/commit/5f8f2d378a4f6d7db12806f3e35ec6f7fc6bd1f3
|
| |/ /
| | |
| | |
| | |
| | |
| | | |
Problem: User name completion does not work on MS-Windows.
Solution: Use NetUserEnum() to get user names. (Yasuhiro Matsumoto)
https://github.com/vim/vim/commit/828c3d70833a0689cc07581f2a67d06430675da5
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Too many #ifdefs.
Solution: Graduate FEAT_COMMENTS.
https://github.com/vim/vim/commit/8c96af9c05bfcac2d5ae081e098d4863db561511
Fixes https://github.com/vim/vim/issues/4972.
|
|/ /
| |
| |
| |
| | |
I/O in Catalina is currently known to be broken. This commit works around a pesky bug and also makes the code more consistent by removing the mix of C file and standard I/O.
Fixes https://github.com/neovim/neovim/issues/11196
|
| |
| |
| | |
Fixes https://github.com/neovim/neovim/issues/11181.
|
| |
| |
| |
| |
| |
| | |
Problem: Fnamemodify() fails when repeating :e.
Solution: Do not go before the tail. (Rob Pilling, closes vim/vim#5024)
https://github.com/vim/vim/commit/b189295b72030f00c45c30d3daecf85d457221f8
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Test fnamemodify()
- Test handling of `expand("%:e:e:r")`.
- Fix :e:e:r on filenames with insufficiently many extensions
During `fnamemodify()`, ensuring that we don't go before the filename's
tail is insufficient in cases where we've already handled a ":e"
modifier, for example:
```
"path/to/this.file.ext" :e:e:r:r
^ ^-------- *fnamep
+------------- tail
```
This means for a ":r", we'll go before `*fnamep`, and outside the bounds
of the filename. This is both incorrect and causes neovim to exit with
an allocation error.
We exit because we attempt to calculate `s - *fnamep` (line 23948).
Since `s` is before `*fnamep`, we caluclate a negative length, which
ends up being interpreted as an amount to allocate, causing neovim to
exit with ENOMEM (`memory.c:xmalloc`).
We must instead ensure we don't go before `*fnamep` nor `tail`.
The check for `tail` is still relevant, for example:
```
"path/to/this.file.ext" :r:r:r
^ ^------------- tail
+--------------------- *fnamep
```
Here we don't want to go before `tail`.
close #11165
|
|/
|
|
|
|
| |
When using TUI host terminal should take care of this (regardless
if 'termguicolors' is active or not). For GUI the behavior doesn't make
sense (GUI should display bold attr as bold always).
|
|\ |
|
| |
| |
| |
| |
| |
| | |
Problem: In :let-heredoc line continuation is recognized.
Solution: Do not consume line continuation. (Ozaki Kiichi, closes vim/vim#4580)
https://github.com/vim/vim/commit/e96a2498f9a2d3e93ac07431f6d4afd77f30afdf
|
| |
| |
| |
| |
| |
| | |
Problem: Code and data in tests can be hard to read.
Solution: Use the new heredoc style. (Yegappan Lakshmanan, closes vim/vim#4400)
https://github.com/vim/vim/commit/c79745a82faeb5a6058e915ca49a4c69fa60ea01
|