The stack allocated buffer does introduce an arbitrary limit,
to the length of the line.
Previously, if the line was too long, it might be catched by a
stack smash canary or resulted into a crash.
This is not guaranteed though, and thus could result into undefined
behavior.
To mitigate this, an dynamic allocated buffer is replacing the stack
allocated buffer, with the initial capacity of the copied line.
Problem: Expression type is used inconsistently.
Solution: Add "ETYPE_IS" and "ETYPE_ISNOT" as separate enum values. Rename
"TYPE_" to "ETYPE_" to avoid confusion.
07a3db89b8
Problem: Debugger can't break on a condition. (Charles Campbell)
Solution: Add ":breakadd expr". (Christian Brabandt, closesvim/vim#859)
c6f9f739d3
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 8b60368c1b.
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.
01ac0a1f66
Problem: 'scroll' option can change when setting the statusline or tabline
but the option context is not updated.
Solution: Update the script context when the scroll option is changed as a
side effect. (Christian Brabandt, closesvim/vim#7533)
746670604a
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: No error for quickfix commands with negative range.
Solution: Add ADDR_UNSIGNED and use it for quickfix commands. Make
assert_fails() show the command if the error doesn't match.
25190db225
N/A patches for version.c:
vim-patch:8.2.0113: "make cmdidxs" fails
Problem: "make cmdidxs" fails.
Solution: Allow address for ":cquit". Add --not-a-term to avoid a delay.
9b24dfcb9f
Problem: When "--remote file" is used "file" is not reloaded.
Solution: When a :drop command is used for a file that is already displayed
in a window and it has not been changed, check if it needs to be
reloaded. (closesvim/vim#7560)
e4862a0fe6
Remove unused "focus" parameter from "buf_check_timestamp()".
It was meant for removed GUI code.
Problem: Using :wqa exits even if a job runs in a terminal window. (Jason
Felice)
Solution: Check if a terminal has a running job. (closesvim/vim#2654)
7a76092a51
As a safety measure, return immediately from these functions if
eap->skip is set. This is set when VimL is being parsed, to skip past
dead code, and should not be executed.
Quoting the existing docs:
Packages are loaded. These are plugins, as above [&runtimepath], but
found in the "start" directory of each entry in 'packpath'. Every
plugin directory found is added in 'runtimepath' and then the plugins
are sourced.
Also tj didn't think I could do it.
Problem: No syntax HL after splitting windows with :bufdo. (Yasuhiro
Matsumoto)
Solution: Trigger Syntax autocommands in buffers that are active.
(closesvim/vim#4761)
c7f1e40021
* support for :perl, :perlfile, :perldo and perleval()
* document that the perl provider doesn't currently work on Windows
* document that the perl legacy interface is now also supported
* added perleval() documentation
* import legacy perl interface tests
* only perl 5.22+ is supported
* healtcheck: use g:perl_host_prog if its set instead
using just 'perl' isn't correct as it may not be the version requested.
ditto for 'cpanm', rather go through 'App::cpanminus' to find the latest
perl version
Problem: ":argdel" does not work like ":.argdel" as documented. (Alexey
Demin)
Solution: Make ":argdel" work like ":.argdel". (closesvim/vim#6727)
Also fix giving the error "0 more files to edit".
7b22117c4e
Problem: Script line numbers are not exactly right.
Solution: Handle heredoc and continuation lines better. (Ozaki Kiichi,
closesvim/vim#4611, closesvim/vim#4511)
bc2cfe4672
Problem: Cannot recover from a swap file.
Solution: Do not expand environment variables in the swap file name.
Do not check the extension when we already know a file is a swap
file. (Ken Takata, closes 4415, closesvim/vim#4369)
99499b1c05
Problem:
During a refactor long ago, we changed the `getdigits_*` familiy of
functions to abort on overflow. But this is often wrong, because many
of these codepaths are handling user input.
Solution:
Decide at each call-site whether to use "strict" mode.
fix#5555
Problem: ":write" increments b:changedtick even though nothing changed.
(Daniel Hahler)
Solution: Only increment b:changedtick if the modified flag is reset.
c024b46678
Problem: Cannot get the script line number when executing a function.
Solution: Store the line number besides the script ID. (Ozaki Kiichi,
closesvim/vim#3362) Also display the line number with ":verbose set".
f29c1c6aa3
Problem: Can't use remote eval to inspect vars in debug mode.
Solution: Don't discard the call stack in debug mode. (closesvim/vim#2237, vim/vim#2247)
d99388ba85