| Commit message (Collapse) | Author | Age |
| ... | |
| |
|
|
|
|
|
|
|
|
| |
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
|
| |\
| |
| | |
vim-patch:8.2.{4591,4614}: cursorline redrawing
|
| | |
| |
| |
| |
| |
| |
| |
| | |
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.
|
| | | |
|
| |/ |
|
| |
|
|
|
|
|
|
|
| |
Problem: The equivalent class regexp is missing some characters.
Solution: Update the list of equivalent characters. (Dominique Pellé,
closes vim/vim#8029)
https://github.com/vim/vim/commit/0b94e297afd072c51bf2eed12c7ffe3978d93399
Match upstream's indent in s:equivalence_class().
|
| |\
| |
| | |
feat(statusline): add global statusline
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Ref: #9342
Adds the option to have a single global statusline for the current window at the bottom of the screen instead of a statusline at the bottom of every window. Enabled by setting `laststatus = 3`.
Due to the fact that statuslines at the bottom of windows are removed when global statusline is enabled, horizontal separators are used instead to separate horizontal splits. The horizontal separator character is configurable through the`horiz` item in `'fillchars'`. Separator connector characters are also used to connect the horizontal and vertical separators together, which are also configurable through the `horizup`, `horizdown`, `vertleft`, `vertright` and `verthoriz` items in `fillchars`.
The window separators are highlighted using the `WinSeparator` highlight group, which supersedes `VertSplit` and is linked to `VertSplit` by default in order to maintain backwards compatibility.
|
| | |
| |
| |
| |
| |
| | |
Problem: Not all gdb files are recognized.
Solution: Add a few more patterns for gdb.
(closes https://github.com/vim/vim/pull/9956)
https://github.com/vim/vim/commit/8d5e514d77bd4b1956656ad2be2ce7094bd43a72
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
line
Problem: getmousepos() does not compute the column below the last line.
Solution: Also compute the column when the mouse is below the last line.
(Sean Dewar, closes vim/vim#9946)
https://github.com/vim/vim/commit/10792feebd237aee89270669e509e85cafdfac60
test_setmouse is N/A.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: getmousepos() returns the screen column. (Ernie Rael)
Solution: Return the text column, as documented.
https://github.com/vim/vim/commit/533870a98501fac2b51ef4bc489fac3a055a41a9
Re-introduce vcol2col, which was removed in 71b1f4e for being unused.
Move it to mouse.c (like in v8.1.2062, which hasn't been ported yet).
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: getmousepos() returns the wrong column. (Ernie Rael)
Solution: Limit to the text size, not the number of bytes.
https://github.com/vim/vim/commit/986b0fd0c550d9834a3cc45dd87555c13152c391
test_setmouse is N/A; adjust test for Nvim.
N/A patches for version.c:
vim-patch:8.2.4569: Coverity warning for not using a return value
Problem: Coverity warning for not using a return value.
Solution: Add "(void)".
https://github.com/vim/vim/commit/977525fea662b7f37ad0e052894c1f62b5b03269
|
| | |
| |
| |
| |
| |
| |
| | |
Problem: Check for existing buffer in session file does not work for files
in the home directory.
Solution: Use fnamemodify(). (James Cherti, closes vim/vim#9945) Add a test.
https://github.com/vim/vim/commit/7d42840033aedf36389208b62e28b4e0b251c199
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Previous tab page not usable from an Ex command.
Solution: Add the "#" argument for :tabnext et al. (Yegappan Lakshmanan,
closes vim/vim#6677)
https://github.com/vim/vim/commit/94f4ffa7704921a3634e56b878e6dc362bc3d508
Do not rename old_curtab to prev_tp in win_new_tabpage, this can be confused
with the previous tabpage (`:tabprevious`).
Cherry-pick ex_errmsg from v8.2.1280.
https://github.com/vim/vim/commit/8930caaa1a283092aca81fdbc3fcf15c7eadb197
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Cannot jump to the last used tabpage.
Solution: Add g<Tab> and tabpagnr('#'). (Yegappan Lakshmanan, closes vim/vim#6661,
neovim #11626)
https://github.com/vim/vim/commit/62a232506d06f6d1b3b7271801c907d6294dfe84
Nvim implemented this feature before Vim, but Vim made some useful changes (e.g:
beeping on failure). Port the changes to closer match Vim (also makes porting
future patches easier).
Also note that because CHECK_CMDWIN was added to goto_tabpage_tp, there is no
need to do the extra work with tabpage_index and goto_tabpage inside
goto_tabpage_lastused to fix cmdwin issues any more (#11692).
Note that while goto_tabpage_tp doesn't check for textlock like goto_tabpage
does, it shouldn't matter as it is already checked for earlier.
Add tags for <C-Tab> to tabpage.txt, and refer to <C-Tab> over CTRL-Tab to be
consistent with other docs like the patch.
Remove mention of "previous tabpage" (it can be confused with the tabpage to the
left, e.g: `:tabprevious`).
Similarly, don't rename old_curtab to last_tab in enter_tabpage (it might be
confused with the right-most tabpage, e.g: `:tablast`).
Cherry-pick Test_tabpage change from v8.2.0634.
https://github.com/vim/vim/commit/92b83ccfda7a1d654ccaaf161a9c8a8e01fbcf76
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Problem: Resetting cmdwin_type only for one situation.
Solution: Reset cmdwin_type before closing windows. (closes vim/vim#9822)
https://github.com/vim/vim/commit/6a8b13614e5bcb233d20403ae9f008ccba152be3
Move the check to win_free_all to match Vim.
|
| | |
| |
| |
| |
| |
| | |
Problem: Exit test fails on MS-Windows anyway.
Solution: Skip the test on MS-Windows.
https://github.com/vim/vim/commit/29a9e6971849b4a9eabf14fee1130d51cecfbaa7
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Beep caused by test. ASAN reports leaks.
Solution: Do not put a NL at the end of the script. Make the text work on
MS-Windows. Do not run the test with ASAN.
https://github.com/vim/vim/commit/68eab67119734ea1efc7cef1287276d969f2713a
The test is skipped, but cherry-pick CheckNotAsan from v8.2.2424 anyway.
https://github.com/vim/vim/commit/97202d951685fc4d90085da676a90644cbf72571
|
| | |
| |
| |
| |
| |
| | |
Problem: Test for error reading input fails on MS-Windows.
Solution: Don't run the test on MS-Windows.
https://github.com/vim/vim/commit/70b9e4f4c3a62e325fd16ac108bd12feb026ede5
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Crash on exit when using cmdline window.
Solution: Reset "cmdwin_type" before exiting. (closes vim/vim#9817)
https://github.com/vim/vim/commit/ca0c1caa36823ea8e61184268d7337e79995352f
Bram also went with the cmdwin_type = 0 solution, but putting it in
read_error_exit isn't ideal and only fixes one specific variant of the bug, so
don't port that change.
Port the test only, but skip it as Nvim does not exit after stdin is exhausted.
Using -es instead does exit, but read_error_exit does not run preserve_exit in
that case, and does not have issues exiting even without resetting cmdwin_type.
Note that the test has problems and is fixed in later patches.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Crash when switching tabpage while in the cmdline window.
Solution: Disallow switching tabpage when in the cmdline window.
https://github.com/vim/vim/commit/0f6e28f686dbb59ab3b562408ab9b2234797b9b1
Ensure cmdline window doesn't stop us from closing tabs with EXITFREE.
mem_free_all -> win_free_all -> tabpage_close -> ... -> goto_tabpage_tp
-> CHECK_CMDWIN can cause an infinite loop if Nvim is exited without using
standard methods such as :qa! and friends (e.g: killed via a signal).
This issue had caused the ASAN CI's functionaltests to timeout.
Cherry-pick Test_cmdwin_tabpage from v8.2.4463.
https://github.com/vim/vim/commit/38b85cb4d7216705058708bacbc25ab90cd61595
This bug was already fixed in Nvim. Note that g<Tab> inside cmdwin is already
tested for in tabnewentered_spec.lua anyway.
E492 is thrown after E11 when using ":norm" in assert_fails for some reason
(except after v8.2.1919, which isn't ported yet).
As v8.2.1183 isn't ported yet, so we cannot assert E11 directly.
Modify the test to check for E11 and E492 seperately; when v8.2.1183 is ported,
the assertion for E492 will fail and the changes can be reverted to match
upstream.
Remove redundant CHECK_CMDWIN from goto_tabpage; it's handled with text_locked()
and text_locked_msg() above:
vim-patch:8.2.4434: duplicate check for cmdline window
Problem: Duplicate check for cmdline window.
Solution: Remove the second check. (Sean Dewar, closes vim/vim#9816)
https://github.com/vim/vim/commit/16b51d26fe2cc3afb09afd439069220dea74581d
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Problem: If the quickfix buffer is wiped out getqflist() still returns its
number.
Solution: Use zero if the buffer is no longer present. (Yegappan Lakshmanan,
closes vim/vim#9306)
https://github.com/vim/vim/commit/56150da6879a96db1c84c7ec4ceedeb84969f606
|
| | |
| |
| |
| |
| |
| |
| | |
Problem: Quickfix buffer becomes hidden while still in a window.
Solution: Check if the closed window is the last window showing the quickfix
buffer. (Yegappan Lakshmanan, closes vim/vim#9303, closes vim/vim#9300)
https://github.com/vim/vim/commit/78a61068cf2c83e611d954a0fb413a09ad59dc07
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Problem: Quickfix buffer shows up in list, can't get buffer number.
Solution: Make the quickfix buffer unlisted when the quickfix window is
closed. get the quickfix buffer number with getqflist().
(Yegappan Lakshmanan, closes vim/vim#4113)
https://github.com/vim/vim/commit/647e24ba3dbf7ff448aa471b1a659a18267ae056
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Problem: Failure when closing a window when location list is in use.
Solution: Handle the situation gracefully. Make sure memory for 'switchbuf'
is not freed at the wrong time. (Yegappan Lakshmanan,
closes vim/vim#3928)
https://github.com/vim/vim/commit/eeb1b9c7ed33c152e041a286d79bf3ed00d80e40
|
| | |
| |
| |
| |
| |
| | |
Problem: New buffer used every time the quickfix window is opened.
Solution: Reuse the buffer. (Yegappan Lakshmanan, closes vim/vim#3902)
https://github.com/vim/vim/commit/ee8188fc74a7cf9ee7acb634b2bb7a032d0cb24c
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
recursively (#17688)
Problem: Using freed memory when defining a user command from a user
command.
Solution: Do not use the command pointer after executing the command.
(closes vim/vim#9318)
https://github.com/vim/vim/commit/205f29c3e9b895dbaa4f738046da455a93c3812a
|
| | |
| |
| |
| |
| |
| | |
Problem: Regexp pattern test fails on Mac.
Solution: Do not use a swapfile for the buffer.
https://github.com/vim/vim/commit/2457b2bbc28cce6e8c1106d427b8e867d4f58cfa
|
| | |
| |
| |
| |
| |
| | |
Problem: Crash with specific regexp pattern and string.
Solution: Stop at the start of the string.
https://github.com/vim/vim/commit/6456fae9ba8e72c74b2c0c499eaf09974604ff30
|
| | |
| |
| |
| |
| |
| | |
Problem: Going beyond the end of the line with /\%V.
Solution: Check for valid column in getvcol().
https://github.com/vim/vim/commit/94f3192b03ed27474db80b4d3a409e107140738b
|
| | |
| |
| |
| |
| |
| | |
Problem: Using freed memory with /\%V.
Solution: Get the line again after getvvcol().
https://github.com/vim/vim/commit/4c13e5e6763c6eb36a343a2b8235ea227202e952
|
| | |
| |
| |
| |
| |
| |
| | |
Problem: Use register one too often and not properly tested.
Solution: Do not always use register one when specifying a register.
(closes vim/vim#4085) Add more tests.
https://github.com/vim/vim/commit/9d7fdd403a3a9ee0d008b6dcbcd2ecc9ec0f57b7
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Cannot execute a register containing line continuation.
Solution: Concatenate lines where needed. (Yegappan Lakshmanan,
closes vim/vim#6272)
https://github.com/vim/vim/commit/856c1110c1cf0d6e44e387b70732ca4b4c8ef0f2
According to #2542 the "Future:" part was removed intentionally.
Use size_t in more places to reduce type casts.
|
| | |
| |
| |
| |
| |
| |
| | |
Problem: Using wrong highlight for cursor line number.
Solution: Take filler lines into account when using CursorLineNr.
(closes vim/vim#9897)
https://github.com/vim/vim/commit/127969cf98000a760826ca3a0f3781a8b79522f1
|
| | |
| |
| |
| |
| |
| | |
Problem: Window-local directory is not applied if 'acd' fails.
Solution: Don't call do_autochdir(). (closes vim/vim#9891)
https://github.com/vim/vim/commit/b29ae159777028bb3266835b55716749ab0515be
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
inefficient
Problem: Restoring directory after using another window is inefficient.
Solution: Only restore the directory for win_execute(). Apply 'autochdir'
only when needed.
https://github.com/vim/vim/commit/90c317f2246a7fb4bd4e3feb0778b53627bc9fad
|
| | |
| |
| |
| |
| |
| | |
Problem: Autochdir test fails without the +channel feature.
Solution: Remove the ch_logfile() call. (Dominique Pellé, closes vim/vim#9281)
https://github.com/vim/vim/commit/f661cee847d2c17652b0ad0d703d2e3ac8610265
|
| | |
| |
| |
| |
| |
| | |
Problem: In wrong directory when using win_execute() with 'acd' set.
Solution: Restore the directory when returning to the window. (closes vim/vim#9276)
https://github.com/vim/vim/commit/dea4a616376c6500894c16e26057ce16d7ef9f0e
|
| | |
| |
| |
| |
| |
| | |
Problem: Using <Plug> with "noremap" does not work.
Solution: Always remap <Plug>. (closes vim/vim#9879, closes vim/vim#9789)
https://github.com/vim/vim/commit/1fc34225acbee5ddca2b9ec3f82b3014d385b7f8
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Copy four files from Vim v8.2.1432.
Try to match Vim's test_alot.vim.
This marks Vim patch 8.2.0164 as ported:
vim-patch:8.2.0164: test_alot takes too long
Problem: Test_alot takes too long.
Solution: Run several tests individually.
https://github.com/vim/vim/commit/842931cd7af37ea95e826b7a93a5d5587d18c9bb
|
| |\ \
| | |
| | | |
vim-patch:8.1.2336,8.2.{4338,4401}: mapping cursor and redrawing patches
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Problem: Map listing does not clear the rest of the command line.
Solution: Call msg_clear_eos(). (closes vim/vim#5623, closes vim/vim#5962)
https://github.com/vim/vim/commit/d288eaad846f0e07e0141226f97d858dcf96cb78
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: An error from an expression mapping messes up the display.
Solution: When the expression results in an empty string return K_IGNORE.
In cmdline mode redraw the command line. (closes vim/vim#9726)
https://github.com/vim/vim/commit/74a0a5b26d0180f3ea89e9495dff6a26f0df23cb
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Problem: When an expr mapping moves the cursor it is not restored.
Solution: Position the cursor after an expr mapping. (closes vim/vim#5256)
https://github.com/vim/vim/commit/4ebe0e62d097d68c5312f9c32714fb41a4c947a3
|
| | | | |
|