| Commit message (Collapse) | Author | Age |
... | |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem:
path_to_url() returns false for single-slash URIs ("foo:/" vs "foo://").
This is not compliant with the URI spec. https://url.spec.whatwg.org/#url-representation
LSP in particular allows single-slash URIs.
Solution:
Relax path_to_url() to accept single-slash URIs. This is not fully
compliant (only ":" is required by the spec), but it is hopefully good
enough without causing false-positives in typical text files.
ref https://url.spec.whatwg.org/#windows-drive-letter
ref https://github.com/neovim/neovim/pull/19773
ref https://github.com/neovim/neovim/pull/19773#issuecomment-1214763769
|
|
|
|
|
| |
Problem: Redraw flags are not named specifically.
Solution: Prefix "UPD_" to the flags, for UPDate_screen().
https://github.com/vim/vim/commit/a4d158b3c839e96ed98ff87c7b7124ff4518c4ff
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: The option.c file is too big.
Solution: Split off the code dealing with strings. (Yegappan Lakshmanan,
closes vim/vim#4937)
https://github.com/vim/vim/commit/dac1347b4d9c1a1aef6aa73fdea08a9d1077d6ea
Cherry-pick set_string_option_direct_in_win() from patch 8.1.1405.
Cherry-pick shift_line() comment change from patch 8.1.2096.
Move 'clipboard' default parsing to didset_string_options().
Reorder option flags to put Nvim-only flags at the end.
|
|
|
|
|
|
| |
Problem: Some code in options.c fits better elsewhere.
Solution: Move functions from options.c to other files. (Yegappan
Lakshmanan, closes vim/vim#4889)
https://github.com/vim/vim/commit/e677df8d93772a705f40a94f3c871aee78fe4d99
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: The screen.c file is much too big.
Solution: Split it in three parts. (Yegappan Lakshmanan, closes vim/vim#4943)
https://github.com/vim/vim/commit/7528d1f6b5422750eb778dfb550cfd0b0e540964
This is an approximation vim-patch 8.1.2057. Applying the patch directly
isn't feasible since our version of screen.c has diverged too much,
however we still introduce drawscreen.c and drawline.c:
- screen.c is now a much smaller file used for low level screen functions
- drawline.c contains everything needed for win_line()
- drawscreen.c contains everything needed for update_screen()
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
|
|
|
|
| |
- reimplement 'winhl' in terms of highlight namespaces
- check for EOF in screen tests (to indicate a likely crash)
|
|
|
| |
Replace grid.h in screen.h and screen.h in buffer.h with grid_defs.h
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Messages test fails; window size incorrect when 'cmdheight' is
made smaller.
Solution: Properly cleanup after test with cmdheight zero. Resize windows
correctly when 'cmdheight' gets smaller.
https://github.com/vim/vim/commit/d4cf9fc53e0b1d36e84d28ecd5595a6f102f325e
N/A patches for version.c:
vim-patch:9.0.0192: possible invalid memory access when 'cmdheight' is zero
Problem: Possible invalid memory access when 'cmdheight' is zero. (Martin
Tournoij)
Solution: Avoid going over the end of w_lines[] when w_height is Rows.
(closes vim/vim#10882)
https://github.com/vim/vim/commit/fdc5d17d58cc9c9edc9fb2816e1afaabc531bf1e
|
|
|
|
|
|
|
| |
Problem: The way 'cmdheight' can be made zero is inconsistent.
Solution: Only make 'cmdheight' zero when setting it explicitly, not when
resizing windows. (closes vim/vim#10890)
https://github.com/vim/vim/commit/f797e309caff48f7a56c73b16e62ff67c4dcbdd6
|
|
|
| |
Co-authored-by: zeertzjq <zeertzjq@outlook.com>
|
|
|
|
|
|
| |
Problem: Code for the argument list is spread out.
Solution: Put argument list code in arglist.c. (Yegappan Lakshmanan,
closes vim/vim#4819)
https://github.com/vim/vim/commit/4ad62155a1015751a6645aaecd94b02c94c8934b
|
| |
|
|
|
|
| |
Work on https://github.com/neovim/neovim/issues/459
|
|
|
|
|
|
|
| |
vim-patch:8.2.0559: clearing a struct is verbose
Problem: Clearing a struct is verbose.
Solution: Define and use CLEAR_FIELD() and CLEAR_POINTER().
https://github.com/vim/vim/commit/a80faa8930ed5a554beeb2727762538873135e83
|
| |
|
|
|
|
|
|
|
|
|
| |
N/A patches for version.c:
vim-patch:9.0.0135: comment about tabpage line above the wrong code
Problem: Comment about tabpage line above the wrong code.
Solution: Move the comment. (closes vim/vim#10836)
https://github.com/vim/vim/commit/0b0ccbbfb014e1c9682b86a7a41ff2837b0b8047
|
|
|
|
|
|
| |
Problem: Code has more indent than needed.
Solution: Use continue and return statements. (closes vim/vim#10824)
https://github.com/vim/vim/commit/101d57b34b72f4fbc7df1b6edfd64c64a6be14fc
|
|\
| |
| | |
refactor: replace char_u with char
|
| |
| |
| |
| | |
Work on https://github.com/neovim/neovim/issues/459
|
| |
| |
| |
| |
| |
| | |
Problem: When 'cmdheight' is zero pressing ':' may scroll a window.
Solution: Add the made_cmdheight_nonzero flag and set 'scrolloff' to zero.
https://github.com/vim/vim/commit/6747cf1671bd41cddee77c65b3f9a70509f968db
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: The command line takes up space even when not used.
Solution: Allow for 'cmdheight' to be set to zero. (Shougo Matsushita,
closes vim/vim#10675, closes vim/vim#940)
https://github.com/vim/vim/commit/f39cfb72629f3e7fefaf578a3faa2619cd0654f8
Omit win_redr_ruler() change: winbar may still need redraw.
Omit win_update() changes: Nvim doesn't use `Rows` there.
Omit redraw_asap(): removed.
|
|/ |
|
|
|
|
|
|
|
| |
Problem: Cursor restored unexpected with nested autocommand.
Solution: Do not restore the cursor when it was moved intentionally.
(closes vim/vim#10780)
https://github.com/vim/vim/commit/3d6ee8bda0550a01346f5992bbce09c0eb6d7569
|
|
|
|
|
|
|
|
|
|
|
| |
window in autocmd
Problem: When switching window in autocmd the restored cursor position may
be wrong.
Solution: Do not restore the cursor if it was not set. (closes vim/vim#10775)
https://github.com/vim/vim/commit/b03950fafa07e8b8d975eeb345ad08b8b62e67ce
This patch cannot be fully ported because it depends on patch 8.2.3518.
|
|
|
|
|
|
| |
Problem: ml_get error with nested autocommand.
Solution: Also check line numbers for a nested autocommand. (closes vim/vim#10761)
https://github.com/vim/vim/commit/5fa9f23a63651a8abdb074b4fc2ec9b1adc6b089
|
|
|
| |
Work on https://github.com/neovim/neovim/issues/567
|
| |
|
|
|
|
|
| |
This reverts commit 6cee15da7235b6ba9c428ee43346415fe6a64e6c.
Port this again when https://github.com/vim/vim/issues/10780 is fixed.
|
|
|
|
|
|
| |
Problem: ml_get error with nested autocommand.
Solution: Also check line numbers for a nested autocommand. (closes vim/vim#10761)
https://github.com/vim/vim/commit/5fa9f23a63651a8abdb074b4fc2ec9b1adc6b089
|
|
|
|
|
|
|
|
| |
Problem: When splitting a window the changelist position moves.
Solution: Set the changelist index a bit later. (closes vim/vim#10493)
https://github.com/vim/vim/commit/e6f13b473cf2c270e4eab214e09be9825320c11b
Cherry-pick Test_nv_hat_count() change from patch 8.2.1593.
|
|
|
|
|
|
|
|
| |
Problem: The eval.c file is too big.
Solution: Move code related to variables to evalvars.c. (Yegappan
Lakshmanan, closes vim/vim#4868)
https://github.com/vim/vim/commit/0522ba0359c96a8c2a4fc8fca0d3b58e49dda759
Name the new file eval/vars.c instead.
|
|
|
|
| |
Closes #19396
|
|
|
|
|
|
|
| |
Problem: Insufficient testing for src/window.c.
Solution: Add more tests. (Yegappan Lakshmanan, closes vim/vim#6345)
https://github.com/vim/vim/commit/5d3c9f8c2a0fc29ba4ac8e0f052378b64d9e3dd3
Cherry-pick test_tagjump.vim changes from patch 8.1.2373.
|
|
|
|
|
|
|
|
|
|
| |
Problem: CTRL-W T in cmdline window causes trouble.
Solution: Disallow CTRL-W T in the cmdline window. Add more tests.
(Naruhiko Nishino, closes vim/vim#6219)
https://github.com/vim/vim/commit/4fdb8bd0546ac8d90560a4fad359a48667089d43
Test already passes in Nvim because of later patches.
Move Test_cmdwin_jump_to_win() to the right place.
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
| |
Problem: Can open a cmdline window from a substitute expression.
Solution: Disallow opening a command line window when text or buffer is
locked.
https://github.com/vim/vim/commit/71223e2db87c2bf3b09aecb46266b56cda26191d
|
|
|
|
| |
Work on https://github.com/neovim/neovim/issues/459
|
|
|
|
|
|
| |
Problem: Accessing memory beyond the end of the line.
Solution: Stop Visual mode when closing a window.
https://github.com/vim/vim/commit/3d51ce18ab1be4f9f6061568a4e7fabf00b21794
|
|
|
|
|
|
|
|
|
|
|
|
| |
Continue of #16251
Fix #18953
Fix #18960
Fix #18958
Fix #18955
Fix #18970
Fix #18983
Fix #18995
Fix #19112
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This marks the following Vim patches as ported:
vim-patch:8.1.1785: map functionality mixed with character input
Problem: Map functionality mixed with character input.
Solution: Move the map functionality to a separate file. (Yegappan
Lakshmanan, closes vim/vim#4740) Graduate the +localmap feature.
https://github.com/vim/vim/commit/b66bab381c8ba71fd6e92327d1d34c6f8a65f2a7
vim-patch:8.2.3643: header for source file is outdated
Problem: Header for source file is outdated.
Solution: Make the header more accurate. (closes vim/vim#9186)
https://github.com/vim/vim/commit/a3f83feb63eae5464a620ae793c002eb45f7a838
Also cherry-pick a change for <unique> mappings from patch 8.2.0807.
Rename map_clear_mode() to do_mapclear().
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Note for external UIs: Nvim can now emit multiple "redraw" event batches
before a final "flush" event is received. To retain existing behavior,
clients should make sure to update visible state at an explicit "flush"
event, not just the end of a "redraw" batch of event.
* Get rid of copy_object() blizzard in the auto-generated ui_event layer
* Special case "grid_line" by encoding screen state directly to
msgpack events with no intermediate API events.
* Get rid of the arcane notion of referring to the screen as the "shell"
* Array and Dictionary are kvec_t:s, so define them as such.
* Allow kvec_t:s, such as Arrays and Dictionaries, to be allocated with
a predetermined size within an arena.
* Eliminate redundant capacity checking when filling such kvec_t:s
with values.
|
| |
|
|
|
|
|
|
| |
Problem: Command modifier parsing always uses global cmdmod.
Solution: Pass in cmdmod_T to use. Rename struct fields consistently.
https://github.com/vim/vim/commit/e10044015841711b989f9a898d427bcc1fdb4c32
|
|
|
|
|
|
|
|
|
| |
Fix https://github.com/neovim/neovim/issues/1004
Limitation: All outputs need hit-enter prompt.
Related:
https://github.com/neovim/neovim/pull/6732
https://github.com/neovim/neovim/pull/4382
|
|
|
|
|
|
|
|
| |
There can be other places that access window buffer info (e.g.
`tabpagebuflist()`), so checking `w_closing` in `win_findbuf()` doesn't
solve the crash in all cases, and may also cause Nvim's behavior to
diverge from Vim.
Fix #14998
|
|
|
|
| |
https://github.com/vim/vim/commit/aca12fd89b082dd9cc12ae085a84f1805747bbdf
|
|
|
|
|
|
|
|
|
| |
clang: Result of operation is garbage or undefined
clang: Uninitialized argument value
Also check for == 's' instead of != 'n' as it is more straightforward.
Also fix another unrelated PVS warning:
PVS/V1071: Return value of win_comp_pos() is not always used
|