| Commit message (Collapse) | Author | Age |
... | |
| |\ \ |
|
| | | | |
|
| | | |
| | | |
| | | | |
This can avoid divergences from Vim in some small places.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Arabic support excludes Farsi.
Solution: Add Farsi support to the Arabic support. (Ali Gholami Rudi,
Ameretat Reith)
https://github.com/vim/vim/commit/dc4fa190e7b9d6ba49416ce875d2192c4444d3eb
Omit Test_shape_final_to_medial(): removed in later patches.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Spellfile functionality not fully tested.
Solution: Add tests for SFX with removal of characters, spelling
suggestions with NOBREAK and others. (Dominique Pellé,
closes vim/vim#8293)
https://github.com/vim/vim/commit/bb162367ac77db877586086d7456685f2aeb8754
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Spellfile functionality not fully tested.
Solution: Add tests for CIRCUMFIX, NOBREAK and others. (Dominique Pellé,
closes vim/vim#8283)
https://github.com/vim/vim/commit/5a6cfb3ff2f2f422a3732f3855616c89dd19c19d
Reorder test_spellfile.vim to match upstream.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Cmdexpand.c insufficiently tested.
Solution: Add more tests. (Yegappan Lakshmanan, closes vim/vim#5789)
https://github.com/vim/vim/commit/24ebd83e030e1c6f9a6be1f06232756ba4d00a8c
Map Q to gQ before every test since a test uses :mapclear.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Some code in ex_getln.c not covered by tests.
Solution: Add a few more tests. (Yegappan Lakshmanan, closes vim/vim#5710)
https://github.com/vim/vim/commit/d30ae2fc4acb3861fc7dc9618c1f90eee997d412
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Ex_getln.c code not covered by tests.
Solution: Add a few more tests. (Yegappan Lakshmanan, closes vim/vim#5702)
https://github.com/vim/vim/commit/578fe947e3ad0cc7313c798cf76cc43dbf9b4ea6
Cherry-pick Test_Ex_global() from patch 8.2.0293.
Test_rightleftcmd() fails if incsearch is enabled, so disable it.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Hang with combination of feedkeys(), Ex mode and :global.
(Yegappan Lakshmanan)
Solution: Add the pending_exmode_active flag.
https://github.com/vim/vim/commit/9e2bcb5d23138d45a0b6f9c1542b5facc807efe7
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem
-------
In #19040, I reported two things that started happening somewhen in the
last three months when using neovim in hterm (the Chrome Secure Shell
terminal):
1. Under certain circumstances, the window title (set by nvim
[i0]) would appear over the line I was typing, corrupting the screen.
2. If I changed my $TERM from xterm-256color to the new hterm-256color
(available since ncurses >=20210320), the window title corruption
was gone, but pane scrolling was broken.
Both problems are due to changes in the termcap files, their source of
truth being the ncurses project. See "Timeline of ncurses changes" below
for details.
Cause: title corruption
-----------------------
The title corruption when using hterm + TERM=xterm-256color can be
explained by event #4 (ncurses 2022-03-12) in the ncurses timeline:
The xterm-256color termcap file gained status line termcodes in ncurses
2022-03-12. These termcodes are used by Neovim to set the title when.
hterm does not have a status line. Due to ncurses versions earlier than
2022-03-12 missing the xterm status line capability, Neovim manually
fixed up [t0] the terminfo file if $TERM was xterm-256color. So if
before Neovim manually added fsl/tsl capabilties, and after they were
in the termcap file, why did hterm suddenly start getting corruption?
The answer is that the termcodes for these capabilties are different
when Neovim fixes them up, versus the one in the new termcap database:
fsl=\E[0$} // from xterm-256color
tsl=\E[2$~\E[1$}\E[%i%p1%d` // from xterm-256color
fsl=\x07 // patched by Neovim
tsl=\x1b]0; // patched by Neovim
hterm ignores the latter, but corrupts the screen with the former.
Solution: Make hterm users set hterm-256color, which lacks the new
fsl/tsl codes. Also, to reduce superfluous work, stop patching in this
capability when hterm is detected (even if hterm would ignore the
patched version).
Cause: pane corruption
----------------------
The pane corruption when using hterm + TERM=hterm-256color, but NOT when
using hterm + TERM=xterm-256color can be explained by:
- Neovim uses DECSLRM when available [p1] for performant scrolling.
- Both the hterm-256color and xterm-256color termcap databases
advertise support for DECSLRM (ncurses timeline #1, #2 and #3).
- hterm does not support DESCLRM [p2] (note: it does support DESCTBM for
top/bottom scrolling, but it's broken [p3] and not used by Neovim)
- xterm-alikes that are not real xterm generally don't support DECSLRM
either, so Neovim patches it out [p4].
When using hterm-256color, hterm is no longer considered an xterm-alike
by Neovim. As a result, DECSLRM is not cleared. hterm does not support
it, so corruption ensues.
This is a problem with the hterm-256color termcap file, but we're stuck
with it so the best we can do is patch over it.
Timeline of ncurses changes
---------------------------
1. 2019-05-19: Part of the DECSLRM capability (smglr AKA set_lr_margin)
added to vt420+lrmm, which xterm-256color inherits [n1]
2. 2021-03-20: hterm-256color added, inheriting xterm-256colors. [n2]
3. 2021-09-25: The *parm versions of smglr (AKA set_lr_margin) were
added to vt420+lrmm [n3]. Namely:
1. smglp AKA set_left_margin_parm, and
2. smgrp AKA set_right_margin_parm
4. 2022-03-12: (new) codes for fsl, bsl and tsl added to xterm (add
dec+sl to xterm-new, per patch #371 -TD) [n4]
Fixes #19040.
[i0]: https://github.com/neovim/neovim/blob/3a4fa22badc5595afc0a994ead965ff32ccf6c76/src/nvim/tui/tui.c#L1377
[t0]: https://github.com/neovim/neovim/blob/3a4fa22badc5595afc0a994ead965ff32ccf6c76/src/nvim/tui/tui.c#L1728,L1729
[p1]: https://github.com/neovim/neovim/blob/3a4fa22badc5595afc0a994ead965ff32ccf6c76/src/nvim/tui/tui.c#L1196
[p2]: https://bugs.chromium.org/p/chromium/issues/detail?id=1175065&q=component%3APlatform%3EApps%3EDefault%3EHterm
[p3]: https://bugs.chromium.org/p/chromium/issues/detail?id=1298796&q=component%3APlatform%3EApps%3EDefault%3EHterm
[p4]: https://github.com/neovim/neovim/blob/3a4fa22badc5595afc0a994ead965ff32ccf6c76/src/nvim/tui/tui.c#L1740-L1752
[n1]: https://github.com/mirror/ncurses/commit/8f6d94b8d6211a2323caef53fa4c96c475ec9a6#diff-01544c577762d3308a1d232aa7afc79acf64b9a5057f88a004df82fda89549b7R2742
[n2]: https://github.com/mirror/ncurses/commit/c2650100f80134924eda8f22cd7cc1d1d919ee3d#diff-01544c577762d3308a1d232aa7afc79acf64b9a5057f88a004df82fda89549b7R5907
[n3]: https://github.com/mirror/ncurses/commit/f6b436c4fb50275df43ea10ba9c744fe195a327d#diff-01544c577762d3308a1d232aa7afc79acf64b9a5057f88a004df82fda89549b7R2842
[n4]: https://github.com/mirror/ncurses/commit/8bf8c836fe2c28238adbd62e71f03272efe155ad#diff-01544c577762d3308a1d232aa7afc79acf64b9a5057f88a004df82fda89549b7R4828
Signed-off-by: Nicolas Hillegeer <nicolas@hillegeer.com>
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Detecting a script was already sourced is unreliable.
Solution: Do not use the inode number.
https://github.com/vim/vim/commit/978d170bdce9c0a47e6683cd7c288bc2706f3fff
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Stray ch_logfile() call.
Solution: Remove it. (closes vim/vim#5503)
https://github.com/vim/vim/commit/ed5adff1e6da412732514d82363005f85fe22e04
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Script may be re-used when deleting and creating a new one.
Solution: When the inode matches, also check the file name.
https://github.com/vim/vim/commit/ca33eb256eb910af05e8c9852bc9f716cece1f5c
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This is a port of these two patches combined:
vim-patch:8.1.1524: tests are silently skipped
Problem: Tests are silently skipped.
Solution: Throw an exception for skipped tests in more places.
https://github.com/vim/vim/commit/b0f94c1ff34d27d33aa9f96204985ea29c2eb0a1
vim-patch:8.1.1544: some balloon tests don't run when they can
Problem: Some balloon tests don't run when they can.
Solution: Split GUI balloon tests off into a separate file. (Ozaki Kiichi,
closes vim/vim#4538) Change the feature check into a command for
consistency.
https://github.com/vim/vim/commit/b46fecd3454399f8ebdc5055302e4bfc5a10f98b
Omit test_lua.vim: previous patches are N/A
Omit test_memory_usage.vim: previous patches are N/A
Omit test_textprop.vim: previous patches are N/A
Omit test_winbar.vim: previous patches are N/A
Omit test_termcodes.vim: mostly N/A
Skip Test_mouse_positon() because it uses test_setmouse().
Cannot throw error in a Test_nocatch_ test.
Use latest `CheckFeature clipboard_working` for test_quotestar.vim
|
| |/ /
| | |
| | |
| | |
| | |
| | | |
* revert to filetype.vim by setting `g:do_legacy_filetype`
* skip either filetype.lua or filetype.vim via `g:did_load_filetypes`
(Running both is no longer required and therefore no longer supported.)
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Crash after ml_get error.
Solution: When returning "???" flush the line and set ml_line_lnum.
https://github.com/vim/vim/commit/f9435e49ef8032e80d38e31e950e4a9b75387533
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: When ml_get_buf() fails it messes up IObuff.
Solution: Return a local pointer. (closes vim/vim#9214)
https://github.com/vim/vim/commit/96e7a5928e1e7a350cd6c6d0b9376305190046e7
|
| |\ \
| | | |
| | | | |
feat(tui): recognize keypad keys when using kitty keyboard protocol
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Command line test fails.
Solution: Also beep when cmdline win can't be opened because of locks.
Make the test not beep. Make the test pass on MS-Windows.
https://github.com/vim/vim/commit/be99042b03edf7b8156c9adbc23516bfcf2cec0f
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Substitute overwrites allocated buffer.
Solution: Disallow undo when in a substitute command.
https://github.com/vim/vim/commit/338f1fc0ee3ca929387448fe464579d6113fa76a
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Error for a command may go over the end of IObuff.
Solution: Truncate the message.
https://github.com/vim/vim/commit/44a3f3353e0407e9fffee138125a6927d1c9e7e5
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
(#19244)
Problem: Get ml_get error when deleting a line in 'completefunc'. (Yegappan
Lakshmanan)
Solution: Lock the text while evaluating 'completefunc'.
https://github.com/vim/vim/commit/ff06f283e3e4b3ec43012dd3b83f8454c98f6639
Fix a mistake in the porting of patch 8.1.0098.
Cherry-pick Test_run_excmd_with_text_locked() from patch 8.2.0270.
Cherry-pick test_gf.vim changes from patch 8.2.0369.
Cherry-pick message change from later patches.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
vim-patch:9.0.0043: insufficient testing for bracket commands
Problem: Insufficient testing for bracket commands.
Solution: Add a few more tests. (closes vim/vim#10668)
https://github.com/vim/vim/commit/cf34434b5e840dda4a21cd9c0bee24e3e43a674d
Cherry-pick a change from patch 8.2.0369.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Some functions in normal.c are very long.
Solution: Move code to separate functions. (Yegappan Lakshmanan,
closes vim/vim#9628)
https://github.com/vim/vim/commit/a827bf3ea8fe465aa456ef7a7a37d6afe6a47628
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: The nv_g_cmd() function is too long.
Solution: Move code to separate functions. (Yegappan Lakshmanan,
closes vim/vim#9576)
https://github.com/vim/vim/commit/05386ca1d4823e5c98c24b8cd038af49aee62577
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Problem: Now that the +visual feature is always enabled the #ifdefs for it
are not useful.
Solution: Remove the checks for FEAT_VISUAL.
https://github.com/vim/vim/commit/f7ff6e85e8a4e84cff023f5db4b66ef85986605a
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Add 'mousescroll' option to control how many lines to scroll by when a
mouse wheel keycode is received. The mousescroll option controls both
horizontal and vertical scrolling. The option is a string in the format:
set mousescroll=direction:count,direction:count
Where direction is either "ver" or "hor", and count is a non negative
integer. If a direction is omitted, a default value is used. The default
values remain unchanged, that is 3 for vertical scrolling, and 6 for
horizontal scrolling. As such, the mousescroll default is "ver:3,hor:6".
Add mousescroll documentation
- Add option documentation in options.txt
- Add brief summary in quickref.txt
Update :help scroll-mouse-wheel
- Mention mousescroll option as a means of controlling scrolling.
- Remove obsolete suggestion to map scroll wheel keys to <C-U> to
scroll by a single line -- users should prefer the mousescroll option.
- Add some information about the consequences of remapping scroll wheel
keys (they lose their magic ability to affect inactive windows).
Update :help vim-differences
- Add brief mousescroll summary under Options
Add mousescroll tests
- Test option validation
- Test default mousescroll value and behavior
- Test fallback to default values
- Test mouse vertical and horizontal scrolling in normal mode
- Test mouse vertical and horizontal scrolling in insert mode
|
| | | | |
|
| |\ \ \
| | | | |
| | | | | |
vim-patch:9.0.{0041,0042}: filetype patterns
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: A couple of filetype patterns do not have "*" before "/etc".
Solution: Add the star. (Jonas Strittmatter, closes vim/vim#10662)
https://github.com/vim/vim/commit/704988f0c3598c1b0cc47f3b46f1f1229312f2bc
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
mode (#19241)
Problem: Reading before the start of the line with BS in Replace mode.
Solution: Check the cursor column is more than zero.
https://github.com/vim/vim/commit/0971c7a4e537ea120a6bb2195960be8d0815e97b
|
| |\ \ \ \
| | | | | |
| | | | | | |
build: add github action annotations for clint
|
| | | |/ /
| | |/| | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: Testing wrong operator.
Solution: Test "g@" instead of "r_". (Naohiro Ono, closes vim/vim#9463)
https://github.com/vim/vim/commit/5c75eed758fbeb39825834d51f3ee4e08f137af3
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: If 'operatorfunc' invokes an operator the remembered Visual mode
may be changed. (Naohiro Ono)
Solution: Save and restore the information for redoing the Visual area.
(closes vim/vim#9455)
https://github.com/vim/vim/commit/b3bd1d39e68e2d697c014b9f85482c2c12a3f909
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: Count for 'operatorfunc' in Visual mode is not redone.
Solution: Add the count to the redo buffer. (closes vim/vim#9174)
https://github.com/vim/vim/commit/2228cd72cf7c6f326e4e41179e88d37595ca4abc
Cherry-pick a line from patch 8.2.0522.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: "g$" causes scroll if half a double width char is visible.
Solution: Advance to the last fully visible character. (closes vim/vim#8254)
https://github.com/vim/vim/commit/74ede80aeb272ac81d41a256057c4f250372dd00
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
- Partially fixes #10386 except for the case where the alternate buffer
is the default, empty, first buffer created on startup. #vimlife
- TODO: port patches related to `can_unload_buffer`, maybe that fully
fixes #10386?
vim-patch:8.0.1732: crash when terminal API call deletes the buffer
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: Lisp indenting my run over the end of the line.
Solution: Check for NUL earlier.
https://github.com/vim/vim/commit/0e8e938d497260dd57be67b4966cb27a5f72376f
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: Undesired changing of the indent of the first formatted line.
Solution: Do not indent the first formatted line.
https://github.com/vim/vim/commit/ecabb511074b3f56cdd5067553c947a291d04e17
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: When re-formatting with an indent expression the first line of a
paragraph may get the wrong indent. (Martin F. Krafft)
Solution: Apply the correct indenting function for the first line.
(Christian Brabandt, closes vim/vim#9150, closes vim/vim#9056)
https://github.com/vim/vim/commit/818ff25cd1aabf60b9cd239da2f1328a959954f7
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: Test leaves file behind.
Solution: Delete the file.
https://github.com/vim/vim/commit/95e59a355bea9d6234fead07d855880e822a8eaf
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: Some Normal mode commands not tested.
Solution: Add more tests. (Yegappan Lakshmanan, closes vim/vim#5746)
https://github.com/vim/vim/commit/f5f1e10d0d39890298cdf27f664d466c8872b87e
Omit Test_edit_forbidden(): change reverted in patch 8.2.0369.
Cherry-pick Test_normal_yank_with_excmd() from patch 8.2.0293.
Skip Test_normal_cursorhold_with_count().
Cherry-pick Test_star_register() from patch 8.2.0270.
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Problem: Spell dump may go beyond end of an array.
Solution: Limit the word length.
https://github.com/vim/vim/commit/54e5fed6d27b747ff152cdb6edfb72ff60e70939
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
For a local mark without a view, currently trying to restore its view
will put the cursor at topline, which is not the correct behavior.
Initialize `topline_offset` to `MAXLNUM` instead to fix this.
|