...signs is slow
Problem: Placing a larger number of signs is slow.
Solution: Add functions for dealing with a list of signs. (Yegappan
Lakshmanan, closes#4636)
Problem: When 'matchpairs' is empty every character beeps. (Marco Hinz)
Solution: Bail out when no character in 'matchpairs' was found.
(closesvim/vim#8053) Add assert_nobeep().
5b8cabfef7
Problem: shiftwidth() does not take 'vartabstop' into account.
Solution: Use the cursor position or a position explicitly passed.
Also make >> and << work better with 'vartabstop'. (Christian
Brabandt)
f951416a83
Problem: Cannot parse a date/time string.
Solution: Add strptime(). (Stephen Wall, closes #)
10455d43fe
N/A patches for version.c:
vim-patch:8.1.2344: Cygwin: warning for using strptime()
Problem: Cygwin: warning for using strptime().
Solution: Move defining _XOPEN_SOURCE and __USE_XOPEN to vim.h. (Ken Takata,
closesvim/vim#5265) Use 700 for _XOPEN_SOURCE for mkdtemp().
6a228c6463
but not related to the patch. Specifically:
- settagstack()'s e_listreq is in the wrong place
- in :ltag, vim_strncpy -> xstrlcpy length parameter is different
xstrlcpy's length includes the null terminator (so add one)
- in :ltag, STRNCAT -> xstrlcat takes dest size, not number to copy
use snprintf instead
Problem: Commands from winrestcmd() do not always work properly. (Leonid V.
Fedorenchik)
Solution: Repeat the size commands twice. (closesvim/vim#7988)
a0c8aea479
Problem: Crash when passing popup window to win_splitmove(). (john Devin)
Solution: Disallow moving a popup window. (closesvim/vim#5816)
0f1563ffee
Add translated test for 8.2.0422 (popup->floating)
Problem: Expresison command line completion shows variables but not
functions after "g:". (Gary Johnson)
Solution: Prefix "g:" when needed to a global function.
1bb4de5302
Port most of patch v8.2.0335 to complete script-local functions
if the name starts with "s:".
before, calling vim.schedule() from inside an event would execute
the scheduled callback immediately after this event without
checking for user input in between. Break event processing
whenever user input or an interrupt is available.
All calls to set_context_in_menu_cmd() cast "cmd" arg to char_u.
get_menu_cmd_nodes() doesn't require "cmd" to be unsigned char.
Use "char" type for "cmd" function param to reduce type casts.
Before #12937, the only way to specify the `$TERM` for a pty job was
through the `TERM` key in the job's opts dict. This was shuttled to the
child process throug a special field on the PtyProcess object and
injected into the environment after forking.
Now that we have a proper way to specify the environment for a job, we
can simply ensure that the env dict has a proper `TERM` set and avoid
the extra shuttling of data around.
This deprecates the use of the `TERM` option, but will still honor it if
present, although at a lower priority than a `TERM` present in the env
dict.
This also fixes#13874 because we're no longer trying to overwrite
`TERM` in the env dict with the special pty `term_name`. Doing so
raises an internal error because of the existing key which, under
certain circumstances, would cause the "hit enter" prompt. However,
since the child process had already forked, there was no way for the
user to acknowledge the prompt and we would just hang there.
assert() is compiled out for release builds, but we don't want to
continue running in these impossible situations.
This also resolves the "implicit fallthrough" warnings for the asserts
in switch cases.
It's possible for the environment variable block given to nvim to
contain multiple definitions for the same env var. In this case, nvim
should preserve the last one defined.
When starting a pty job, there are certain env vars that we need to
either add or remove. Currently, there are two relevant scenarios.
* Removing irrelevant env vars on Unix, mostly related to the terminal
hosting nvim since they do not apply to a libvterm-hosted terminal.
* Adding required env vars for Windows jobs.
Problem: Cannot easily get all the current marks.
Solution: Add getmarklist(). (Yegappan Lakshmanan, closes#6032)
cfb4b47de0
Cherry-pick the column number fix from patch v8.2.0871
because patch v8.2.0871 cannot be fully ported
without the method patches.
Co-authored-by: Peter Wolf <pwolf2310@gmail.com>
Problem: Flags for Ex commands may clash with other symbols.
Solution: Prepend with EX_.
8071cb2c64
N/A patches for version.c:
vim-patch:8.1.1672: "make cmdidxs" doesn't work
Problem: "make cmdidxs" doesn't work.
Solution: Update macro names. (Naruhiko Nishino, closesvim/vim#4660)
d94ac0caca
Error message for src/nvim/ex_cmds.lua
which omits the "EX_" prefix for the flags.
Problem: Many type casts are used for vim_strnsave().
Solution: Make the length argument size_t instead of int. (Ken Takata,
closesvim/vim#5633) Remove some type casts.
df44a27b53
N/A patches for version.c:
vim-patch:8.2.0315: build failure on HP-UX system
Problem: Build failure on HP-UX system.
Solution: Use LONG_LONG_MIN instead of LLONG_MIN. Add type casts for switch
statement. (John Marriott)
c593bec412
vim-patch:8.2.1052: build failure with older compilers
Problem: Build failure with older compilers.
Solution: Move declaration to start of block.
7acde51832
vim-patch:8.2.2229: build failure without the +eval feature
Problem: build failure without the +eval feature.
Solution: Add #ifdef.
39cb2dab18
vim-patch:8.2.2232: compiler error for falling through into next case
Problem: Compiler error for falling through into next case.
Solution: Move FALLTHROUGH below the #endif
9618a25b9c
Problem: Popup test fails if clipboard is supported but not working.
Solution: Add the "clipboard_working" feature. Also use Check commands
instead of "if" and "throw". And remove stray ch_logfile().
4999a7fb65
Treat "clipboard_working" feature as an alias to "clipboard" feature.
N/A patches for version.c:
vim-patch:8.1.1840: Testing: WorkingClipboard() is not accurate
Problem: Testing: WorkingClipboard() is not accurate.
Solution: Check feature clipboard_working instead.
52992feafe
Neovim did not port WorkingClipboard() for the legacy tests.
Problem: Vim9: Using uninitialized variable.
Solution: Initialize "len" to zero. Clean up fnamemodify().
c530852315
N/A patches for version.c:
vim-patch:8.1.0839: when using VTP wrong colors after a color scheme change
Problem: When using VTP wrong colors after a color scheme change.
Solution: When VTP is active always clear after a color scheme change.
(Nobuhiro Takasaki, closesvim/vim#3872)
f58d81a187
vim-patch:8.1.2382: MS-Windows: When using VTP bold+inverse doesn't work
Problem: MS-Windows: When using VTP bold+inverse doesn't work.
Solution: Compare with the default colors. (Nobuhiro Takasaki, closesvim/vim#5303)
a050b9471c
vim-patch:8.2.0669: MS-Windows: display in VTP is a bit slow
Problem: MS-Windows: display in VTP is a bit slow.
Solution: Optimize the code. (Nobuhiro Takasaki, closesvim/vim#6014)
4e5534fab7
vim-patch:8.2.0739: incomplete profiling when exiting because of a dealy signal
Problem: Incomplete profiling when exiting because of a dealy signal.
Solution: Call __gcov_flush() if available.
b415168a98
vim-patch:8.2.1911: tiny build fails
Problem: Tiny build fails.
Solution: Add #ifdef.
977fd0b327
vim-patch:8.2.2140: build failure with tiny features
Problem: Build failure with tiny features.
Solution: Add #ifdef.
2a3cd3af45
Problem: Cannot get window type for autocmd and preview window.
Solution: Add types to win_gettype(). (Yegappan Lakshmanan, closesvim/vim#6277)
0fe937fd86
Cherry-pick test_preview.vim,test_window_cmd.vim changes
from patch v8.2.0522.
Problem: Vim9: getchar() test fails with GUI.
Solution: Avoid that getchar(0) gets stuck on K_IGNORE.
15183b41c4
N/A patches for version.c:
vim-patch:8.1.0323: reverse order of VTP calls only needed the first time
Problem: Reverse order of VTP calls only needed the first time.
Solution: Add a flag to remember the state. (Nobuhiro Takasaki, closesvim/vim#3366)
2551c037e4
vim-patch:8.1.0777: Win32: using pipes for channel does not work well
Problem: Win32: using pipes for channel does not work well.
Solution: Use a larger buffer and handle overlaps. (Yasuhiro Matsumoto,
closesvim/vim#3782)
b091f30bf3
vim-patch:8.1.0933: When using VTP scroll region isn't used properly
Problem: When using VTP scroll region isn't used properly.
Solution: Make better use of the scroll region. (Nobuhiro Takasaki,
closesvim/vim#3974)
6982f42f33
vim-patch:8.1.0938: background color is wrong in MS-Windows console
Problem: Background color is wrong in MS-Windows console when not using VTP.
Solution: Use g_attrCurrent. (Nobuhiro Takasaki, closesvim/vim#3987)
21edde8742
vim-patch:8.2.0178: with VTP the screen may not be restored properly
Problem: With VTP the screen may not be restored properly.
Solution: Add another set of saved RGB values. (Nobuhiro Takasaki,
closesvim/vim#5548)
df54382eac
vim-patch:8.2.0248: MS-Windows: dealing with deprecation is too complicated
Problem: MS-Windows: dealing with deprecation is too complicated.
Solution: Use io.h directly. Move _CRT_SECURE_NO_DEPRECATE to the build
file. Suppress C4091 warning by setting "_WIN32_WINNT". (Ken
Takata, closesvim/vim#5626)
2f18975088
vim-patch:8.2.0547: Win32: restoring screen not always done right
Problem: Win32: restoring screen not always done right.
Solution: Use a more appropriate method. (Nobuhiro Takasaki, closesvim/vim#5909)
e7f234120f
vim-patch:8.2.0581: Win32 console: the cursor position is always top-left
Problem: Win32 console: the cursor position is always top-left.
Solution: Revert the patch for restoring screen.
81ccbf199f
vim-patch:8.2.0592: MS-Windows with VTP: cursor is not made invisible
Problem: MS-Windows with VTP: cursor is not made invisible.
Solution: Output the code to make the cursor visible or invisible. (Nobuhiro
Takasaki, closesvim/vim#5941)
2695de63e3
vim-patch:8.2.0646: t_Co uses the value of $COLORS in the GUI
Problem: t_Co uses the value of $COLORS in the GUI. (Masato Nishihata)
Solution: Ignore $COLORS for the GUI. (closesvim/vim#5992)
759d81549c
vim-patch:8.2.0658: HP-UX build fails when setenv() is not defined
Problem: HP-UX build fails when setenv() is not defined.
Solution: Change "colors" to "t_colors". (John Marriott)
affc8fd2cd
vim-patch:8.2.0793: MS-Windows: cannot build GUI with small features
Problem: MS-Windows: cannot build GUI with small features. (Michael Soyka)
Solution: Add #ifdef around use of windowsVersion. (Ken Takata)
1e1d2e89fa
vim-patch:8.2.1975: Win32: memory leak when encoding conversion fails
Problem: Win32: memory leak when encoding conversion fails.
Solution: Free the allocated memory. (Ken Takata, closesvim/vim#7277)
bbf9f344af
vim-patch:8.2.1991: Coverity warns for not using the ga_grow() return value
Problem: Coverity warns for not using the ga_grow() return value.
Solution: Bail out if ga_grow() fails. (Yegappan Lakshmanan, closesvim/vim#7303)
ca359cbedd
vim-patch:8.2.1992: build fails with small features
Problem: Build fails with small features.
Solution: Add #ifdef.
4792a679f9
vim-patch:8.2.1993: occasional failure of the netbeans test
Problem: Occasional failure of the netbeans test.
Solution: Add "silent!". (Yegappan Lakshmanan, closesvim/vim#7304)
50dc3ecc64
vim-patch:8.2.1994: MS-Windows: MinGW always does a full build
Problem: MS-Windows: MinGW always does a full build.
Solution: Only check if $OUTDIR exists. (Masamichi Abe, closesvim/vim#7311)
c4390fe6c0
vim-patch:8.2.1998: terminal Cmd test sometimes fails to close popup
Problem: Terminal Cmd test sometimes fails to close popup.
Solution: Add "term_finish" option.
27f4f6baee
vim-patch:8.2.1999: terminal popup test sometimes fails
Problem: Terminal popup test sometimes fails.
Solution: Wait for the popup to close.
e6329e4c55
vim-patch:8.2.2003: build error with +conceal but without +popupwin
Problem: Build error with +conceal but without +popupwin.
Solution: Add #ifdef. (Tom Ryder, closesvim/vim#7316)
1efefda623
vim-patch:8.2.2007: test for insert mode in popup is not reliable
Problem: Test for insert mode in popup is not reliable.
Solution: Wait for the popup to disappear. (Ozaki Kiichi, closesvim/vim#7321)
17ab28daa0
vim-patch:8.2.2008: MS-Windows GUI: handling channel messages lags
Problem: MS-Windows GUI: handling channel messages lags.
Solution: Reduce the wait time from 100 to 10 msec. (closesvim/vim#7097)
032f40afb8
vim-patch:8.2.2009: MS-Windows: setting $LANG in gvimext only causes problems
Problem: MS-Windows: setting $LANG in gvimext only causes problems.
Solution: Do not set $LANG. (Ken Takata, closesvim/vim#7325)
382319211a
Problem: 'completeslash' also applies to globpath().
Solution: Add the WILD_IGNORE_COMPLETESLASH flag. (test by Yasuhiro
Matsumoto, closesvim/vim#4760)