| Commit message (Collapse) | Author | Age |
... | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: A pattern that matches the cursor position is bit complicated.
Solution: Use a dot to indicate the cursor line and column. (Christian
Brabandt, closes vim/vim#8497, closes vim/vim#8179)
https://github.com/vim/vim/commit/04db26b36000a4677b95403ec94bd11f6cc73975
Also use `n = ++vcol` in regexp_bt.c as `++vcol` alone fails lint.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Recursive use of getcmdline() still not protected.
Solution: Instead of saving the command buffer when making a call which may
cause recursiveness, save the buffer when actually being called
recursively.
https://github.com/vim/vim/commit/438d176e35c16d56ff3bb7a80300197ce5a30c4f
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
Clear ccline earlier in save_cmdline() if ccline is in use so that
ccline.prev_ccline can be assigned.
|
| |
| |
| |
| |
| | |
Problem: Using buffer line after it has been freed in old regexp engine.
Solution: After getting mark get the line again.
https://github.com/vim/vim/commit/b55986c52d4cd88a22d0b0b0e8a79547ba13e1d5
|
| |
| |
| |
| |
| |
| |
| | |
(#17914)
Problem: Coverity warns for not checking return value of ftell().
Solution: Bail out if ftell() returns a negative value.
https://github.com/vim/vim/commit/416b5f4894196947ea87eea2ed4fda3504674f72
|
| | |
|
| |
| |
| |
| |
| | |
Problem: Sort fails if the sort compare function returns 999.
Solution: Adjust value to -1 / 0 / 1. (Yasuhiro Matsumoto, closes vim/vim#8884)
https://github.com/vim/vim/commit/c04f62346bfd6b92151908239a3c5ab1a7d18f2a
|
| |
| |
| |
| |
| | |
Problem: Checking first character of url twice.
Solution: Only check once. (closes vim/vim#9026)
https://github.com/vim/vim/commit/94e7d345c156a722bb161b73238c4ba1d27ec586
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Redrawing too often when 'relativenumber' is set.
Solution: Only redraw when the cursor line changed. (Lewis Russell,
closes vim/vim#10040)
https://github.com/vim/vim/commit/1624639ec8a6c3c99e417a2990f2f02f0d0b6e10
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Some boolean options use "long" instead of "int".
Solution: Adjust the type. (James McCoy, closes vim/vim#10033)
https://github.com/vim/vim/commit/8be423b7ac3b5742deb20a7eba8f5c9680c04500
N/A patches for version.c:
vim-patch:8.2.4641: may mark the wrong window for redrawing
Problem: May mark the wrong window for redrawing.
Solution: Use redraw_win_later(). (closes vim/vim#10032)
https://github.com/vim/vim/commit/471b3aed3e9c43d4dd53444ceb74f9a4f8a3874a
|
|
|
|
|
|
|
|
|
|
|
| |
"screenline"
Problem: 'cursorline' not always updated with 'cursorlineopt' is
"screenline".
Solution: Call check_redraw_cursorline() more often. (closes vim/vim#10013)
https://github.com/vim/vim/commit/bf269ed0b0bd8414eea7bea17465b2738a9a2b55
Code was reverted in patch 8.2.4638, so this just ports the test.
|
|
|
|
|
|
|
|
|
| |
Problem: Superfluous check if a redraw is needed for 'cursorline'.
Solution: Remove check_redraw_cursorline(). (closes vim/vim#10030, closes vim/vim#10029)
https://github.com/vim/vim/commit/3e559cd88486ffab6b6fb4e0921b4600d137a617
redraw_after_callback() is N/A.
Omits changes that just revert code from patch 8.2.4630.
|
|
|
|
|
|
|
|
| |
helpers.source() was a hack to work around the lack of anonymous
:source. Its "create tempfile" behavior is not a required part of most
tests that use it.
Some tests still need the old "create tempfile" behavior either because
they test SID behavior, or because of missing nvim_exec features: #16071
|
|
|
| |
Since https://github.com/neovim/neovim/pull/17790 being merged means we can assume the value of `STATUS_HEIGHT` to always be 1, this commit removes code that's unnecessary if `STATUS_HEIGHT` is 1.
|
|
|
|
| |
Avoid closing window 999 times.
|
|
|
|
|
|
|
|
|
| |
Problem: Crash when switching window in BufWipeout autocommand.
Solution: Put any buffer in the window to avoid it being NULL.
(closes vim/vim#10024)
https://github.com/vim/vim/commit/347538fad0c503249ebdedd5884c2081257c9f61
win_init_empty() cannot be made static because it is used in autocmd.c
|
|
|
| |
according to established code standards (`:h dev-api`)
|
|\
| |
| | |
vim-patch:8.2.3943: compiler warning from gcc for uninitialized variable
|
| |
| |
| |
| |
| |
| | |
Problem: Compiler warning from gcc for uninitialized variable.
Solution: Initialize variable. (closes vim/vim#9429)
https://github.com/vim/vim/commit/491669701c72578f273db53e579d8a03a9deac0c
|
|/
|
| |
also add doc changes from typofix PR
|
|\
| |
| | |
vim-patch:8.2.{4281,4327}: fix two crashes with quickfix and wiping buffer
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: May end up with no current buffer.
Solution: When deleting the current buffer to not pick a quickfix buffer as
the new current buffer.
https://github.com/vim/vim/commit/e3537aec2f8d6470010547af28dcbd83d41461b8
The test cannot be ported as-is because Nvim doesn't support "-Z"
command line argument. Just use only "--clean" instead.
|
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Using freed memory with :lopen and :bwipe.
Solution: Do not use a wiped out buffer.
https://github.com/vim/vim/commit/9b4a80a66544f2782040b641498754bcb5b8d461
Cherry-pick some indent changes from patch 8.2.1432.
|
|/ |
|
|
|
|
|
|
|
|
| |
mode (#17864)
Problem: Visual area not fully updated when removing sign in Visual mode
while scrolling.
Solution: Adjust check for topline. (closes vim/vim#10017)
https://github.com/vim/vim/commit/abb6fbd14d985b9b36a4e336d6edaf9853888ac1
|
|
|
|
|
|
| |
Problem: Autocmd not executed when editing a directory ending in a path
separator inside try block.
Solution: Return NOTDONE instead of FAIL. (closes vim/vim#8885)
https://github.com/vim/vim/commit/40fa12aea352474d229f2f750e954a4318aead4e
|
| |
|
|
|
|
| |
Co-authored-by: Jordan Haine <jhaine@securitycompass.com>
|
|
|
| |
[skip ci]
|
|
|
|
|
|
|
|
|
|
| |
Follow up to #17771. The sequence `CSI > 4 ; 1 m` does not enable
distinguishing all available keys; notably, it excludes `<Tab>`. Using
`CSI > 4 ; 2 m` tells the terminal to disambiguate *all* keys, which is
much more useful.
The meaning of the final parameter is documented [here][1].
[1]: https://invisible-island.net/xterm/manpage/xterm.html#VT100-Widget-Resources:modifyOtherKeys
|
|\
| |
| | |
fix(PVS/V1019): compound assignment expression is used inside condition
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
On TUI startup write the CSI sequence that signals to the controlling
terminal that Neovim supports the CSI u scheme for encoding modifiers
documented in [1].
This is similar to, but distinct from, Vim's usage of the `t_TI` and
`t_TE` variables to handle Xterm's `modifyOtherKeys` setting. For a
longer explanation on those differences see [2]. Since Neovim uses
libtermkey for key input handling, we use the CSI u encoding rather than
Xterm's modifyOtherKeys encoding.
[1]: http://www.leonerd.org.uk/hacks/fixterms/
[2]: https://invisible-island.net/xterm/modified-keys.html
|
|\ \
| | |
| | | |
vim-patch:8.2.{4591,4614}: cursorline redrawing
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
vim-patch:8.2.4614: redrawing too much when 'cursorline' is set
Problem: Redrawing too much when 'cursorline' is set and jumping around.
Solution: Rely on win_update() to redraw the current and previous cursor
line, do not mark lines as modified. (closes vim/vim#9996)
https://github.com/vim/vim/commit/c20e46a4e3efcd408ef132872238144ea34f7ae5
This doesn't match the patch exactly, because I missed some lines when
porting patch 8.1.2029, and these lines were removed in this patch.
This also makes win_update() always update for 'concealcursor' like how
it always updates for 'cursorline', as 'cursorline' and 'concealcursor'
redrawing logic has been unified in Nvim.
As redrawing for 'cursorline' now always only requires VALID redraw
type, it is no longer necessary to call redraw_for_cursorline() in
nvim_win_set_cursor().
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Cursor line not updated when a callback moves the cursor.
Solution: Check if the cursor moved. (closes vim/vim#9970)
https://github.com/vim/vim/commit/e7a74d53754765f22ef8ce71c915bb669d5f7f3f
redraw_after_callback() is N/A. Nvim handles timers on the main loop.
|
|\ \ \
| | | |
| | | | |
refactor(memline): convert function comments to doxygen format
|
| |/ / |
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Added:
- -Wdouble-promotion
- -Wmissing-noreturn
- -Wmissing-format-attribute
- -Wsuggest-attribute={pure,const,malloc,cold}
Resolves: #343
|
| | | |
|
|/ / |
|
| |
| |
| |
| | |
Just allow close_windows() to close the current window instead.
This fixes wrong working directory or autocommands not being triggered.
|
| | |
|
| |
| |
| |
| |
| | |
"'qi' points to the global variable 'ql_info' or the window local location list stack 'wp->w_llist'. The contents of these structures can be changed out-of-band by an autocmd."
https://github.com/vim/vim/pull/9993#issuecomment-1076544168
|
| |
| |
| |
| |
| |
| |
| | |
vim-patch:8.2.4613: return type of swapfile_unchanged() is wrong
Problem: Return type of swapfile_unchanged() is wrong.
Solution: Use "int". (closes vim/vim#10000 Yeah!)
https://github.com/vim/vim/commit/3c5999e53d9f35a30abefb7224f66a75c8ffb009
|
| | |
|
| |
| |
| |
| | |
cpo-& has been removed, but its behavior was accidentally made the
default behavior. That should be removed instead.
|