Problem: The session file does not restore the alternate file.
Solution: Add ":balt". Works like ":badd" and also sets the buffer as the
alternate file. Use it in the session file. (closesvim/vim#7269,
closesvim/vim#6714)
59d8e56e04
Include minimal test_buffer.vim from patch 8.2.0243 for Test_balt().
Add entry for :balt to runtime/doc/index.txt from vim/vim#7819.
Problem: Text jumps up and down when moving the cursor in a small window
with wrapping text and 'scrolloff' set.
Solution: Adjust the computation of w_skipcol. (partly by Ghjuvan Lacambre,
closesvim/vim#7813)
8f33ebfade
Problem: :argadd in empty buffer changes the buffer name. (Pavol Juhas)
Solution: Don't re-use the current buffer when not going to edit the file.
(closesvim/vim#3397) Do re-use the current buffer for :next.
32bbd00949
Problem: Test_Executable() fails when using chroot.
Solution: Ignore the difference between "sbin" and "bin".
a387083b2f
Cherry-pick Test_Executable() changes from patches v8.1.1921, v8.2.1432
to be in sync with Vim.
N/A patches for version.c:
vim-patch:8.1.0509: checking cwd not accessible fails for root
Problem: Checking cwd not accessible fails for root. (James McCoy)
Solution: Skip this part of the test for root. (closesvim/vim#3595)
0b38f54730
vim-patch:8.2.2487: terminal shows garbage after double-wide character
Problem: Terminal shows garbage after double-wide character with a
combining character. (Kyoichiro Yamada)
Solution: Libvterm: do not add the width of the combining character to the
glyph width. (closesvim/vim#7801)
4549dad874
vim-patch:8.2.2488: json_encode() gives generic argument error
Problem: json_encode() gives generic argument error.
Solution: Mention the type that can't be encoded. (issue vim/vim#7802)
a853089479
'name' param is casted to char_u* within get_option_value().
Most calls to get_option_value() cast arg to 'name' from char to char_u.
Remove these pointless type casts.
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.
'op' param is casted to char_u* within set_val_lval().
Most calls to set_val_lval() cast arg to 'op' from char to char_u.
Remove these pointless type casts.
Problem: Padding in structures wastes memory.
Solution: Move fields to avoid padding. (Dominique Pelle, closesvim/vim#5202)
d6beab0248
Skip "ml_line_len" member of "struct memline".
Patch v8.1.0579 was not ported.
Problem: Confusing error if :winsize has a wrong argument.
Solution: Quote the argument in the error. (closesvim/vim#2523)
f5a5116a96
Cherry-pick Test_winsize_cmd() from patch v8.2.0243.
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.
Problem: Coverity warns for :retab using freed memory.
Solution: Use the updated line pointer when moving text properties.
0dcd39bad5
N/A patches for version.c:
vim-patch:8.2.2457: Coverity warns for memory leak
Problem: Coverity warns for memory leak.
Solution: Free memory when out of memory.
4dba04256b
Problem: Setting 'term' empty has different error if compiled with GUI.
Solution: Insert "else". (closesvim/vim#7766)
5daa911626
N/A patches for version.c:
vim-patch:8.2.2437: deprecation warnings with default configuration
Problem: Deprecation warnings with default configuration.
Solution: Add -Wno-deprecated-declarations.
4d8479b335
vim-patch:8.2.2439: not easy to figure out what packages to get
Problem: Not easy to figure out what packages to get when installing Vim on
a new Ubuntu system.
Solution: Mention explicit commands that are easy to follow.
3d2bb8b6f1
vim-patch:8.2.2442: automatic GUI selection does not check for GTK 3
Problem: Automatic GUI selection does not check for GTK 3.
Solution: Make SKIP_GTK3 empty for automatic GUI support. Set SKIP_GTK3 to
YES when checking for GTK2.
f272ae12ac
vim-patch:8.2.2448: compilation error with Ruby 3.0
Problem: Compilation error with Ruby 3.0.
Solution: Adjust #ifdefs and declaration. (Ken Takata, closesvim/vim#7761)
9d20daffc2
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.
Binding _NSGetEnviron()'s return value to a local variable and then
re-binding that is incorrect. We need to directly update what
_NSGetEnviron() refers to.
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.
vim-patch:8.2.2307: a shell command in the vimrc causes terminal output
vim-patch:8.2.2312: build failure with Ruby 3.0 and 32 bits
vim-patch:8.2.2326: build error with +eval feature but without +spell
vim-patch:8.2.2337: configure test for GTK only says "no"
vim-patch:8.2.2346: Codecov reports every little coverage drop
vim-patch:8.2.2347: build failure without GUI
vim-patch:8.2.2348: no check for modified files after focus gained
vim-patch:8.2.2352: if focus lost/gained is received twice code is not ignored
vim-patch:8.2.2358: wrong #ifdef for use_xterm_like_mouse()
vim-patch:8.2.2383: focus escape sequences are not named
vim-patch:8.2.2407: old jumplist code is never used
vim-patch:8.2.2408: MinGW: "--preprocessor" flag no longer supported
vim-patch:8.2.2431: warning for -fno-strength-reduce with Clang 11
vim-patch:8.2.2432: libvterm tests are executed even when libtool doesn't work
Adds function to notify the user like this:
`:lua vim.notify("hello user")`
embeds log levels vim.log.levels.
you can then reassign vim.notify to for instance
```
function notify_external(msg, log_level, opts)
vim.fn.jobstart({"notify-send", msg })
end
```