| Commit message (Collapse) | Author | Age |
| |
|
|
|
|
| |
Problem: Can modify a:000 when using a reference.
Solution: Make check for locked variable stricter. (Ozaki Kiichi,
closes vim/vim#3930)
https://github.com/vim/vim/commit/05c00c038bc16e862e17f9e5c8d5a72af6cf7788
|
| |
|
|
|
|
|
| |
Problem: Cannot use "z=" when 'spell' is off.
Solution: Make "z=" work even when 'spell' is off. (Christian Brabandt,
Gary Johnson, closes vim/vim#6227)
https://github.com/vim/vim/commit/152e79e94bb935e75b866bd55479648cde11066a
|
| |
|
|
|
|
| |
Resolve pvs/v560 error.
mods is nonnull in the modified inner if-condition.
because it is checked for NULL in the outer if-condition.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Windows handles environment variable names case-insensitively (i.e.,
%Path% can be accessed via %PATH%). Since nvim explicitly creates the
environment block for jobs, we need to ensure it doesn't contain
duplicate names with different cases (e.g., both %Path% and %PATH%) as
that can confuse processes using the environment.
`f_environ()` now converts all env var names to upper-case on Windows,
since it does duplicate detection and also provides the base environment
for jobs. Similarly, `create_environment()` converts any env var names
supplied in the job opts to upper-case so they can be compared against
what we get from `f_environ()`.
Closes #14541
|
| | |
|
| |
|
|
|
|
| |
Problem: Line() only works for the current window.
Solution: Add an optional argument for the window to use.
https://github.com/vim/vim/commit/8e0a8e7eb7c177807f44db6b76d8e52314248ab5
|
| |
|
|
|
|
|
|
|
| |
like a pattern (#12784)"
This reverts commit 4be0e92db01a502863ac4bb26dd0fee16d833145.
Unfortunately, that commit stalled the Windows builds on GHA and likely requires
other patches to work properly.
|
| |\
| |
| | |
vim-patch:8.2.{0174,1933,1935,1946,2286,2287}
|
| | |
| |
| |
| |
| |
| |
| | |
Problem: Cannot sort using locale ordering.
Solution: Add a flag for :sort and sort() to use the locale. (Dominique
Pellé, closes vim/vim#7237)
https://github.com/vim/vim/commit/55e29611d20bca14fa5efc61385bc8a6b7acd9e2
|
| |\ \
| | |
| | | |
vim-patch:8.1.{1418,1425,1832,2124},8.2.{0137, 2340}
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Problem: win_execute() unexpectedly returns number zero when failing.
Solution: Return an empty string. (closes vim/vim#7665)
https://github.com/vim/vim/commit/37487e16da7877129edee8d11b9b7f5c8df312c6
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Problem: Ruler is not updated if win_execute() moves cursor.
Solution: Update the status line. (closes vim/vim#5022)
https://github.com/vim/vim/commit/345f28df5482cd35f5fa74b06443376379f113b0
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Problem: Win_execute() does not work in other tab. (Rick Howe)
Solution: Take care of the tab. (closes vim/vim#4792)
https://github.com/vim/vim/commit/820680b9ff1de8699156c7b060f97e5c0b87ad15
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Win_execute() does not set window pointers properly.
Solution: Use switch_win_noblock(). Also execute autocommands in a popup
window.
https://github.com/vim/vim/commit/89adc3a1371d211f7766f3dbc0975ecb2f862327
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Problem: Win_execute() is not implemented yet.
Solution: Implement it.
https://github.com/vim/vim/commit/868b7b6712ea4f2232eeeae18c5cbbbddf2ee84d
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
pattern (#12784)
Problem: Delete() can not handle a file name that looks like a pattern.
Solution: Use readdir() instead of appending "/*" and expanding wildcards.
(Ken Takata, closes vim/vim#4424, closes vim/vim#696)
https://github.com/vim/vim/commit/701ff0a3e53d253d7300c385e582659bbff7860d
|
| |/ /
| |
| |
| |
| |
| | |
Problem: Once mouse move events are enabled getchar() returns them.
Solution: Ignore K_MOUSEMOVE in getchar(). (closes vim/vim#6424)
https://github.com/vim/vim/commit/ae97b94176062d30ea8c68bb83cde034c5150c78
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Cannot read back the prompt of a prompt buffer.
Solution: Add prompt_getprompt(). (Ben Jackson, closes vim/vim#6851)
https://github.com/vim/vim/commit/077cc7aa0e0c431e97795612374fe17fe7c88803
Updated prompt_getprompt() doc to https://github.com/vim/vim/commit/cb80aa2d53e56d3aba3b3c439fb467f29a750c5e
and removed mention of method syntax usage (not supported by Nvim).
|
| |/
|
|
|
|
|
|
| |
Cherry-picked from v8.2.1562, but uses Nvim's tv_check_str_or_nr().
Required for v8.2.1588.
It isn't used for f_bufnr() to avoid a double error message if the first
argument isn't a number or string similiar to what's seen in Vim.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Debugger can't break on a condition. (Charles Campbell)
Solution: Add ":breakadd expr". (Christian Brabandt, closes vim/vim#859)
https://github.com/vim/vim/commit/c6f9f739d32084923c3031cbf6f581f8c8bf7fd2
Do not port "has_watchexpr()" to avoid dead code.
"has_watchexpr()" always returns 0 because "debug_expr" is always 0.
Restore "eval_expr()" as a wrapper to allocate "typval_T" for "eval0()".
Remove it in later patches.
Include "typval_compare()" changes from patch v8.1.0958,
partially ported in 8b60368c1b9e23f0695557da170d416d71f7e6a3.
Close https://github.com/neovim/neovim/pull/12373
N/A patches for version.c:
vim-patch:8.2.2720: GTK menu tooltip moves the cursor
Problem: GTK menu tooltip moves the cursor.
Solution: Position the cursor after displaying the tooltip. Do not show the
tooltip when editing the command line.
https://github.com/vim/vim/commit/01ac0a1f664c5b1ffd5c9ef196d4b47edf2fd494
|
| |
|
|
|
|
|
| |
Problem: Adding a lot of completions can be a bit slow.
Solution: Use fast_breakcheck() instead of ui_breakcheck() when adding a
list of completions. (Ben Jackson, closes vim/vim#8061)
https://github.com/vim/vim/commit/440cf096fad7bf628974abc344343b823d79a006
|
| |\
| |
| | |
api: fix use-after-free in nvim_chan_send
|
| | | |
|
| |/
|
|
|
|
|
|
| |
...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)
|
| |
|
|
| |
I AM THE TABLE
|
| |
|
|
|
|
| |
Problem: When 'matchpairs' is empty every character beeps. (Marco Hinz)
Solution: Bail out when no character in 'matchpairs' was found.
(closes vim/vim#8053) Add assert_nobeep().
https://github.com/vim/vim/commit/5b8cabfef7c3707f3e53e13844d90e5a217e1e84
|
| |
|
|
|
|
|
| |
Problem: Various small code ugliness.
Solution: Remove pointless NULL checks. Fix function calls. Fix typos.
(Dominique Pelle, closes vim/vim#4060)
https://github.com/vim/vim/commit/bdace838c67c1bd94e55e34270a8325933891466
|
| |
|
|
|
|
|
|
| |
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)
https://github.com/vim/vim/commit/f951416a8396a54bbbe21de1a8b16716428549f2
|
| |
|
|
|
|
|
| |
Problem: All tab stops are the same.
Solution: Add the variable tabstop feature. (Christian Brabandt,
closes vim/vim#2711)
https://github.com/vim/vim/commit/04958cbaf25eea27eceedaa987adfb354ad5f7fd
|
| |
|
|
|
|
| |
Problem: Strptime() does not use DST.
Solution: Set the tm_isdst field to -1. (Tomáš Janoušek, closes vim/vim#6230)
https://github.com/vim/vim/commit/ea1233fccf4f52f2b4eaab3788a087878d1336fc
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Problem: Cannot parse a date/time string.
Solution: Add strptime(). (Stephen Wall, closes #)
https://github.com/vim/vim/commit/10455d43fef041309ce0613fa792c635dd71e3a8
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,
closes vim/vim#5265) Use 700 for _XOPEN_SOURCE for mkdtemp().
https://github.com/vim/vim/commit/6a228c6463935a73c8f21142cb7368545cfee317
|
| |\
| |
| | |
[RFC] vim-patch 8.2.0088: insufficient tests for tags...
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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. (closes vim/vim#7988)
https://github.com/vim/vim/commit/a0c8aea479ca055ce43ba2984a9933f6c48e6161
|
| |
|
|
|
|
|
|
| |
Problem: Crash when passing popup window to win_splitmove(). (john Devin)
Solution: Disallow moving a popup window. (closes vim/vim#5816)
https://github.com/vim/vim/commit/0f1563ffee4397f5b379517c41b7c9a977fd2e22
Add translated test for 8.2.0422 (popup->floating)
|
| |
|
|
|
|
| |
Problem: win_splitmove() can make Vim hang.
Solution: Check windows exists in the current tab page. (closes vim/vim#5444)
https://github.com/vim/vim/commit/7b94e77132eabdf0e43abca57e2ffeb961545174
|
| |
|
|
|
|
| |
Problem: It is not easy to change the window layout.
Solution: Add win_splitmove(). (Andy Massimino, closes vim/vim#4561)
https://github.com/vim/vim/commit/d20dcb3d011da6111153109f6e46fbd5c7fe9fb6
|
| |
|
|
|
|
|
|
|
|
| |
Problem: Expresison command line completion shows variables but not
functions after "g:". (Gary Johnson)
Solution: Prefix "g:" when needed to a global function.
https://github.com/vim/vim/commit/1bb4de5302ba038b9c59e845b6d735e87d5681d0
Port most of patch v8.2.0335 to complete script-local functions
if the name starts with "s:".
|
| |
|
|
| |
vim.api.nvim_chan_send(vim.api.nvim_open_term(0), io.open("/path/to/smile.cat", "r"):read("*a"))
|
| |
|
|
|
|
|
| |
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.
|
| | |
|
| |
|
|
|
| |
Problem: Cannot convert a byte index into a character index.
Solution: Add charidx(). (Yegappan Lakshmanan, closes vim/vim#7561)
https://github.com/vim/vim/commit/17793ef23aae0bc94539390ccfe5e63b0ad39ff2
|
| |
|
|
|
|
| |
Problem: Getcompletion() does not return command line arguments.
Solution: Add the "cmdline" option. (Shougo, closes vim/vim#1140)
https://github.com/vim/vim/commit/1f1fd44ef796dd909ff5f3e5288b3fd79294dc71
|
| |
|
|
|
|
|
| |
Problem: current buffer is wrong after deletebufline() fails to delete a
line in another buffer.
Solution: Restore the current buffer.
https://github.com/vim/vim/commit/963ffa0a5a6091655ed72b4590ec5d5a1653bce8
|
| |
|
|
|
|
| |
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.
|
| |
|
|
| |
Co-authored-by: erw7 <erw7.github@gmail.com>
|