Problem: "gk" may reset skipcol when not needed.
Solution: Only reset skipcol if the cursor column is less.
1b73edd9ee
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: With 'smoothscroll' set mouse click position may be wrong.
Solution: Adjust computations for w_skipcol. (Yee Cheng Chin, closesvim/vim#11514)
e6392b1021
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
Problem: With 'smoothscroll' cursor may end up in wrong position.
Solution: Correct the computation of screen lines. (Yee Cheng Chin,
closesvim/vim#11502)
361895d2a1
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
Problem: Cursor moves too far with 'smoothscroll'.
Solution: Only move as far as really needed. (Yee Cheng Chin, closesvim/vim#11504)
81ba26e9de
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
Problem: With 'smoothscroll' cursor is one screen line too far down. (Ernie
Rael)
Solution: Add a test that currently has the wrong result so that a fix can
be made. (issue vim/vim#11436)
75ac25b496
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: 'smoothscroll' cursor calculations wrong when 'number' is set.
Solution: Correct the code that computes the width. (closesvim/vim#11492)
01ee52bab6
Co-authored-by: Yee Cheng Chin <ychin.git@gmail.com>
Problem: May redraw when not needed, causing slow scrolling.
Solution: Do not redraw when w_skipcol doesn't change. When w_skipcol
changes only redraw from the top. (issue vim/vim#11559)
f32fb93e43
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: "precedes" from 'listchars' overwritten by <<< for 'smoothscroll'.
Solution: Keep the "precedes" character.
13cdde3952
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Line number not visisble with 'smoothscroll', 'nu' and 'rnu'.
Solution: Put the ">>>" after the line number instead of on top.
eb4de62931
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Breakindent test cases are commented out.
Solution: Adjust expected result to slightly different behavior. Correct
computations for cursor position.
856c5d2bc7
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Wrong cursor position when using "gj" and "gk" in a long line.
Solution: Adjust computations for the cursor position and skipcol. Re-enable
tests that pass now, disable failing breakindent test.
4b6172e108
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Cursor position invalid when scrolling with 'smoothscroll' set.
(Ernie Rael)
Solution: Add w_valid_skipcol and clear flags when it changes. Adjust
w_skipcol after moving the cursor.
2fbabd238a
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: With 'smoothscroll' and 'scrolloff' non-zero the cursor position
is not properly adjusted in a long line.
Solution: Move the cursor further up or down in the line.
118c235112
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: With 'smoothscroll' the cursor position s not adjusted in a long
line.
Solution: Move the cursor further up or down in the line.
8cf3459878
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: "<<<" shows for 'smoothscroll' even when 'showbreak is set.
Solution: When 'showbreak' is set do not display "<<<".
0937b9fb24
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Breakindent test accepts wrong result.
Solution: Fix the number column and adjust the expected text.
06618f94f1
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: First line not scrolled properly with 'smoothscroll' and
'scrolloff' zero and using "k".
Solution: Make sure the cursor position is visible.
46b54747c5
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Cursor line only partly shows with 'smoothscroll' and 'scrolloff'
zero.
Solution: Do not use 'smoothscroll' when adjusting the bottom of the window.
(closesvim/vim#11269)
9bab7a0243
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Negative topline using CTRL-Y with 'smoothscroll' and 'diff'.
(Ernie Rael)
Solution: Only use 'smoothscroll' when 'wrap' is set.
1a58e1d97c
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: 'smoothscroll' not tested with 'number' and "n" in 'cpo'.
Solution: Add tests, fix uncovered problem.
b6aab8f44b
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: with 'smoothscroll' set CTRL-E does not work properly when
'foldmethod' is set to "indent". (Yee Cheng Chin)
Solution: Merge the code for scroling with folds and 'smoothscroll'.
(closesvim/vim#11262)
6b2d4ff714
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: CTRL-Y does not stop at line 1. (John Marriott)
Solution: Stop at line 1 when 'smoothscroll' is not set. (closesvim/vim#11261)
8df9748edb
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: 'smoothscroll' is not copied to a new window on :split.
Solution: Copy the option value. Add a test.
b1fd26d208
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Cannot scroll by screen line if a line wraps.
Solution: Add the 'smoothscroll' option. Only works for CTRL-E and CTRL-Y
so far.
f6196f4244
vim-patch:9.0.0641: missing part of the new option code
Problem: Missing part of the new option code.
Solution: Add missing WV_SMS.
bbbda8fd81
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Using uninitialized memory with fuzzy matching.
Solution: Initialize the arrays used to store match positions.
caf642c25d
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Heredoc in scripts does not accept lower case marker.
Solution: Allow lower case only in non-Vim scripts. (Ken Takata,
closesvim/vim#6019)
6ab0953fef
Problem: Heredoc for interfaces does not support "trim".
Solution: Update the script heredoc support to be same as the :let command.
(Yegappan Lakshmanan, closesvim/vim#5916)
6c2b7b8055
Problem: Test for 'toolbariconsize' may fail.
Solution: Only test 'toolbariconsize' when it is supported. (James McCoy,
closesvim/vim#12095)
db1887ce40
Co-authored-by: James McCoy <jamessan@jamessan.com>
Problem: Still some "else if" constructs for setting options.
Solution: Add a few more functions for handling options. (Yegappan
Lakshmanan, closesvim/vim#12090)
c6ff21e876
Problem: Too many "else if" statements in handling options.
Solution: Add more functions for handling option changes. (Yegappan
Lakshmanan, closesvim/vim#12060)
5da901bb68
Problem: Too many "else if" statements for handling options.
Solution: Add more functions to handle options. (Yegappan Lakshmanan,
closesvim/vim#12051)
8ad862a1f9
Problem: Not all mouse codes covered by tests.
Solution: Add more tests for the mouse. (Yegappan Lakshmanan, closesvim/vim#6472)
2764d06ab7
Cherry-pick typo fixes from patch 8.2.0020.
Problem: Double and triple clicks are not tested.
Solution: Test mouse clicks to select text. (closesvim/vim#5226)
f36a2c7e60
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: No test for right click extending Visual area.
Solution: Add a test. (Dominique Pelle, closesvim/vim#5018)
6aa7523b96
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: No tests for dragging the mouse beyond the window.
Solution: Add a test. (Dominique Pelle, closesvim/vim#5004)
b4367b7fb6
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Urxvt mouse codes are not tested.
Solution: Also set 'ttymouse' to "urxvt" in the termcodes test.
d0621d85a6
Use code from latest tests instead.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: No tests for CTRL-mouse-click.
Solution: Add a few tests. (Dominique Pelle, closesvim/vim#4323)
1ee36d6ff5
Use usr_toc.txt instead of help.txt.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Middle mouse click test fails without a clipboard.
Solution: Check if the clipboard can be used. (Dominique Pelle, Christian
Brabandt) Also use WorkingClipboard() instead of checking for the
"clipboard" feature.
564344ace9
Use CheckFeature clipboard_working from latest test instead.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Tests for mouse clicks are a bit flaky when run in an interactive
terminal.
Solution: Use "xterm2" instead of "xterm" for 'ttymouse' to avoid spurious
drag events.
2b00b9b0f3
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: No test for mouse clicks in the fold column.
Solution: Add a test. (Dominique Pelle, closesvim/vim#4261)
696d637728
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: When mouse click tests fails value of 'ttytype' is unknown.
Solution: Add a message to the assert.
4945219b99
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: No test for dragging a tab with the mouse and for creating a new
tab by double clicking in the tabline.
Solution: Add two tests. (Dominique Pelle, closesvim/vim#4258)
e3e3828f93
Set 'mousetime' to 0 instead.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: No test for closing tab by click in tabline.
Solution: Add a test. Also fix that dragging window separator could fail in
a large terminal. (Dominique Pelle, closesvim/vim#4253)
39f76c6ac0
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: No test for mouse clicks in the terminal tabpage line.
Solution: Add a test. (Dominique Pelle, closesvim/vim#4247). Also init
TabPageIdxs[], in case it's used before a redraw.
ca57ab54d7
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Termcodes test would fail in a very big terminal.
Solution: Bail out when the row is larger than what will work. (Dominique
Pelle, closesvim/vim#4246)
c8b3ddab51
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Code for modeless selection not sufficiently tested.
Solution: Add tests. Move mouse code functionality to a common script file.
(Yegappan Lakshmanan, closesvim/vim#5821)
Add some mouse.vim functions that can be made to work in Nvim.
515545e11f
Problem: Crash when recovering from corrupted swap file.
Solution: Bail out when the line index looks wrong. (closesvim/vim#12276)
bf1b713202
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Popup menu position wrong in window with toolbar.
Solution: Take the window toolbar into account when positioning the popup
menu. (closesvim/vim#12308)
4e1ca0d9a6
Fixed in the previous commit. Test only.
Problem: Using uninitialized memory when argument is missing.
Solution: Check there are sufficient arguments before the base.
(closesvim/vim#12302)
b7f2270bab
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: The ModeChanged event may be triggered too often.
Solution: Only trigger ModeChanged when no operator is pending.
(closesvim/vim#12298)
73916bac5a
Problem: no functions for converting from/to UTF-16 index.
Solution: Add UTF-16 flag to existing funtions and add strutf16len() and
utf16idx(). (Yegappan Lakshmanan, closesvim/vim#12216)
67672ef097
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Problem: Error message for wrong argument type is not specific.
Solution: Include more information in the error. (Yegappan Lakshmanan,
closesvim/vim#11037)
8deb2b30c7
Skip reduce() and deepcopy() changes because of missing patches.
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Problem: Using freed memory when executing delfunc at the more prompt.
Solution: Check function list not changed in another place. (closesvim/vim#11437)
398a26f7fc
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: timer_info() has the wrong repeat value in a timer callback.
Solution: Do not add one to the repeat value when in the callback.
(closesvim/vim#9294)
95b2dd0c00
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Cannot get the first screen column of a character.
Solution: Let virtcol() optionally return a list. (closesvim/vim#10482,
closesvim/vim#7964)
0f7a3e1de6
Co-authored-by: LemonBoy <thatlemon@gmail.com>
Problem: Checks for Dictionary argument often give a vague error message.
Solution: Give a useful error message. (Yegappan Lakshmanan, closesvim/vim#11009)
04c4c5746e
Cherry-pick removal of E922 from docs from patch 9.0.1403.
Co-authored-by: Yegappan Lakshmanan <yegappan@yahoo.com>
* vim-patch:9.0.1478: filetypes for *.v files not detected properly
Problem: Filetypes for *.v files not detected properly.
Solution: Use the file contents to detect the filetype. (Turiiya,
closesvim/vim#12281)
80406c2618
Co-authored-by: Turiiya <34311583+tobealive@users.noreply.github.com>
Co-authored-by: Jonas Strittmatter <40792180+smjonas@users.noreply.github.com>
Problem: Lines put in non-current window are not displayed. (Marius
Gedminas)
Solution: Don't increment the topline when inserting just above it.
(closesvim/vim#12212)
e7f05a8780
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: ":drop fname" may change the last used tab page.
Solution: Restore the last used tab page when :drop has changed it.
(closesvim/vim#12087)
8281a16efc
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Profile completion test sometimes fails.
Solution: Delete the .res file before running tests.
7e0be3ea21
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Deferred functions invoked in unexpected order when using :qa and
autocommands.
Solution: Call deferred functions for the current funccal before using the
stack. (closesvim/vim#12278)
1be4b81bfb
Problem: Jenkinsfiles are not recognized as groovy.
Solution: Add a pattern for Jenkinsfiles. (closesvim/vim#12236)
142ffb024d
Co-authored-by: dundargoc <gocdundar@gmail.com>
Problem: Reporting swap file when windows are split.
Solution: Close extra windows after running a test.
e5eae82bb7
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Tests call GetSwapFileList() before it is defined.
Solution: Move the call to after defining the function. (Christopher
Plewright)
6572a90287
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Tests may get stuck in buffer with swap file.
Solution: Bail out when bwipe! doesn't get another buffer.
fa2533c8bb
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Stray warnings for existing swap files.
Solution: Wipe out the buffer until it has no name and no swap file.
23526d2539
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Test for catch after interrupt is flaky on MS-Windows.
Solution: Mark the test as flaky.
72b5b0d51a
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Test for swapfilelist() fails on MS-Windows.
Solution: Only check the tail of the path. Mark a test as flaky.
6cf3151f0e
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: There is no way to get a list of swap file names.
Solution: Add the swapfilelist() function. Use it in the test script to
clean up. Remove deleting individual swap files.
c216a7a21a
vim-patch:9.0.1005: a failed test may leave a swap file behind
Problem: A failed test may leave a swap file behind.
Solution: Delete the swap file to avoid another test to fail. Use another
file name.
d0f8d39d20
Cherry-pick test_window_cmd.vim changes from patch 8.2.1593.
Remove FUNC_ATTR_UNUSED from eval functions as fptr is always unused.
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: When a test gets stuck it just hangs forever.
Solution: Set a timeout of 30 seconds.
3bcd0ddc2d
Note: This doesn't cause test_timers.vim failures in Nvim because there
is a SetUp() function that calls timer_stopall().
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Elapsed time since testing started is not visible.
Solution: Show the elapsed time while running tests.
b9093d5009
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: When a test is slow and CI times out there is no time info.
Solution: Add the elapsed time to the "Executing" message.
daaa3d9965
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Terminal test sometimes hangs.
Solution: Add a bit more information to the test output. (issue vim/vim#11179)
a22c56a59a
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: MS-Windows: "%T" time format does not appear to work.
Solution: Use "%H:%M:%S" instead.
5fbbec180b
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: A failing flaky test doesn't mention the time.
Solution: Add the time for debugging. Improve error message.
06d32a0c17
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Problem: Recursively calling :defer function if it does :qa in a compiled
function.
Solution: Clear the defer entry before calling the function. (closesvim/vim#12271)
a1f2b5ddc6
Problem: Recursively calling :defer function if it does :qa.
Solution: Clear the defer entry before calling the function. (closesvim/vim#12266)
42994bf678
Co-authored-by: Bram Moolenaar <Bram@vim.org>