Commit Graph

1467 Commits

Author SHA1 Message Date
kevinhwang91
ebe1a08366 vim-patch:8.2.0869: it is not possible to customize the quickfix window contents
Problem:    It is not possible to customize the quickfix window contents.
Solution:   Add 'quickfixtextfunc'. (Yegappan Lakshmanan, closes vim/vim#5465)
858ba06d5f
2021-05-20 00:16:07 +08:00
Jan Edmund Lazo
cc798c626a vim-patch:8.0.1394: cannot intercept a yank command
Problem:    Cannot intercept a yank command.
Solution:   Add the TextYankPost autocommand event. (Philippe Vaucher et al.,
            closes vim/vim#2333)
7e1652c63c
2021-05-13 20:47:27 -04:00
Jan Edmund Lazo
dad725d5e5 vim-patch:8.1.1967: line() only works for the current window
Problem:    Line() only works for the current window.
Solution:   Add an optional argument for the window to use.
8e0a8e7eb7
2021-05-12 19:13:28 -04:00
Jan Edmund Lazo
d2be261e8d Merge pull request #14403 from seandewar/vim-8.2.1933
vim-patch:8.2.{0174,1933,1935,1946,2286,2287}
2021-05-09 17:08:21 -04:00
Jan Edmund Lazo
e612a0a76a vim-patch:d1caa941d876
Update runtime files
d1caa941d8

Cherry-pick error E452 from patch v8.2.0486.
2021-04-27 22:40:39 -04:00
Jan Edmund Lazo
95f02cb587 vim-patch:8.2.2388: no easy way to get the maximum or mininum number value
Problem:    No easy way to get the maximum or mininum number value.
Solution:   Add v:numbermax and v:numbermin.
57d5a01cb4
2021-04-27 09:21:36 -04:00
Jan Edmund Lazo
25c0675fe3 vim-patch:8.2.0296: mixing up "long long" and __int64 may cause problems
Problem:    Mixing up "long long" and __int64 may cause problems. (John
            Marriott)
Solution:   Pass varnumber_T to vim_snprintf().  Add v:numbersize.
f9706e9df0
2021-04-27 09:21:35 -04:00
Sean Dewar
1d72b6e4cd eval: port v:collate
Cherry-picked from patch v8.2.0988. Required for patch v8.2.1933.
2021-04-20 02:03:46 +01:00
Jan Edmund Lazo
b2971ebeed vim-patch:8.2.2319: "exptype_T" can be read as "expected type"
Problem:    "exptype_T" can be read as "expected type".
Solution:   Rename to "exprtype_T", expression type.
657137ca48

Vim9 changes omitted.
2021-04-11 16:35:55 -04:00
Jan Edmund Lazo
ca214311d2 vim-patch:8.2.0069: ETYPE_ is used for two different enums
Problem:    ETYPE_ is used for two different enums.
Solution:   Rename one to use EXPR_.
87396072c5
2021-04-11 16:35:47 -04:00
Jan Edmund Lazo
de16fbcc57 vim-patch:8.2.0045: script test fails
Problem:    Script test fails.
Solution:   For numbers "is" and "isnot" work like "==" and "!=".
ec57ec692e
2021-04-11 16:35:14 -04:00
Jan Edmund Lazo
53cbfd0220 vim-patch:8.2.0044: expression type is used inconsistently
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
2021-04-11 16:34:53 -04:00
Jan Edmund Lazo
0d0eeff8a3 eval: add v:_null_string
Replacement for Vim's test_null_string().
Vim uses it to verify that its codebase handles null strings.
Preparation for the Test_null_list() in patch v8.2.1822.

Use v:_null_string, not non-existent env var, for null string tests.

Mention v:_null_string in id() because id(v:_null_string) returns (nil).
2021-04-08 22:36:20 -04:00
Jan Edmund Lazo
69bab7e35d vim-patch:8.0.1511: some code for the debugger watch expression is clumsy
Problem:    Some code for the debugger watch expression is clumsy.
Solution:   Clean up the code.
3198870137
2021-04-08 07:28:46 -04:00
Jan Edmund Lazo
1a1fe58f7e vim-patch:8.0.1505: debugger can't break on a condition
Problem:    Debugger can't break on a condition. (Charles Campbell)
Solution:   Add ":breakadd expr". (Christian Brabandt, closes vim/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
2021-04-08 07:28:46 -04:00
Björn Linse
7e799502e5 luaref: simplify handling of table callables and fix leak in vim.fn.call(table)
I AM THE TABLE
2021-04-03 16:27:58 +02:00
Jan Edmund Lazo
abdda66410 vim-patch:8.2.2694: when 'matchpairs' is empty every character beeps (#14279)
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().
5b8cabfef7
2021-04-03 08:49:39 -04:00
erw7
36caafeb28 Change QUEUE_FOREACH macro to use while instead of for 2021-03-30 21:55:50 -04:00
Jan Edmund Lazo
8b60368c1b vim-patch:8.1.0958: compiling weird regexp pattern is very slow
Problem:    Compiling weird regexp pattern is very slow.
Solution:   When reallocating post list increase size by 50%. (Kuang-che Wu,
            closes vim/vim#4012)  Make assert_inrange() accept float values.
38f08e76ac

Omit changes to typval_compare()
because patch v8.0.1505 was not ported.
2021-03-29 08:23:02 -04:00
Björn Linse
243820ebd0 floats: add borders (MS-DOS MODE) 2021-03-22 23:18:40 +01:00
Jan Edmund Lazo
a4ea602788 vim-patch:8.2.2341: expresison command line completion incomplete after "g:"
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:".
2021-03-12 23:20:56 -05:00
Jan Edmund Lazo
effd234960 vim-patch:8.2.1507: using malloc() directly
Problem:    Using malloc() directly.
Solution:   Use ALLOC_ONE().  Remove superfluous typecast.  (Hussam al-Homsi,
            closes vim/vim#6768)
51b6eb47b3
2021-03-09 18:38:04 -05:00
Jan Edmund Lazo
595f6e4d64 vim-patch:8.2.2070: can't get the exit value in VimLeave(Pre) autocommands (#13981)
Problem:    Can't get the exit value in VimLeave or VimLeavePre autocommands.
Solution:   Add v:exiting like in Neovim. (Yegappan Lakshmanan, closes vim/vim#7395)
f0068c5154

Rearrange VimVarIndex enums and vimvars[] entries to sync with  Vim.

N/A patches for version.c:

vim-patch:8.2.2535: MS-Windows: cannot run all vim9 tests

Problem:    MS-Windows: cannot run all vim9 tests.
Solution:   Make test_vim9 target work.
723ef5db98
2021-02-20 23:45:14 -05:00
Jan Edmund Lazo
d34846af74 option: use char* for get_option_value() param
'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.
2021-02-07 17:57:37 -05:00
Jan Edmund Lazo
0458b23d53 eval: use char* for set_var_lval() param
'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.
2021-02-07 17:27:59 -05:00
Jan Edmund Lazo
7484c7de9a eval: use char* for set_internal_string_var()
"name" param was cast to (const char *).
All calls to set_internal_string_var() cast from (char *) to (char_u *).
Remove these useless casts.
2021-02-07 17:27:59 -05:00
Jan Edmund Lazo
f9c0af0180 eval: ll_range,ll_empty2 members are bool 2021-02-06 17:40:40 -05:00
James McCoy
27a7a4d384 Use abort() instead of assert(false) for things that should never happen
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.
2021-01-31 11:28:52 -05:00
erw7
35dc6d6e87 vim-patch:8.1.1261: no error for quickfix commands with negative range
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
2021-01-01 04:57:50 -05:00
Jan Edmund Lazo
bc8f2fdca4 vim-patch:8.1.1727: code for viminfo support is spread out
Problem:    Code for viminfo support is spread out.
Solution:   Move to code to viminfo.c. (Yegappan Lakshmanan, closes vim/vim#4686)
defa067c54

N/A patches for version.c:

vim-patch:8.1.1230: a lot of code is shared between vim.exe and gvim.exe

Problem:    A lot of code is shared between vim.exe and gvim.exe.
Solution:   Optionally put the shared code in vim.dll. (Ken Takata,
            closes vim/vim#4287)
afde13b62b

vim-patch:8.2.2247: VMS: various smaller problems

Problem:    VMS: various smaller problems.
Solution:   Fix VMS building and other problems. (Zoltan Arpadffy)
467676d468
2020-12-30 15:55:18 -05:00
Jan Edmund Lazo
883114e882 vim-patch:8.2.0928: many type casts are used for vim_strnsave()
Problem:    Many type casts are used for vim_strnsave().
Solution:   Make the length argument size_t instead of int. (Ken Takata,
            closes vim/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
2020-12-27 14:05:41 -05:00
Jan Edmund Lazo
43834b24ac vim-patch:8.2.2206: :exe command line completion only works for first argument
Problem:    :exe command line completion only works for first argument.
Solution:   Skip over text if more is following. (closes vim/vim#7546)
4941b5effd

Port "IS_WHITE_OR_NUL" macro from patch v8.2.0562
as "ascii_iswhite_or_nul()" inline function.

N/A patches for version.c:

vim-patch:8.2.0782: cannot build with Lua on MS-Windows

Problem:    Cannot build with Lua on MS-Windows.
Solution:   Add DLL symbol for luaL_Loadstring. (Ken Takata)
df1643a6a7

vim-patch:8.2.0856: CTRL-S stops output

Problem:    CTRL-S stops output.
Solution:   Invert the IXON flag. (closes vim/vim#6166)
928eec649b

vim-patch:8.2.1212: cannot build with Lua 5.4

Problem:    Cannot build with Lua 5.4.
Solution:   Use luaL_typeerror instead defining it. (closes vim/vim#6454)
5551b131da

vim-patch:8.2.2211: MS-Windows: can't load Python dll if not in the path

Problem:    MS-Windows: can't load Python dll if not in the path.
Solution:   Use the InstallPath registry entry. (Kelvin Lee, closes vim/vim#7540)
b2f9e0e2c5
2020-12-25 10:20:29 -05:00
Matthieu Coudron
45166313cc refactor: de-curwin-ify update_topline/curs_columns 2020-12-23 16:53:35 +01:00
James McCoy
6c2eb903a9 fix: Include auto/config.h before HAVE_* preprocessor checks
Closes #13533
2020-12-15 07:43:44 -05:00
Sean Dewar
8fb786e415 vim-patch:8.2.0602: :unlet $VAR does not work properly (#13238)
Problem:    :unlet $VAR does not work properly.
Solution:   Make ":lockvar $VAR" fail.  Check the "skip" flag.
7e0868efcf

Include patch 8.2.0601 changes so that ex_unletlock() can execute a callback if there are no errors.
2020-12-02 08:44:13 -05:00
Matthieu Coudron
4f1fc0f6d5 refactor: pass window to was_set_insecurely
working on get_foldtext and wanted to get rid of the curwin backup/restore.
Turns out it's not possible else f_foldtext is run on the same window.
Kept the cleanup anyway.
2020-11-23 21:06:56 +01:00
Jan Edmund Lazo
297567780e eval: use VAR_UNLOCKED enum, not the direct value 2020-11-21 15:35:05 -05:00
Jan Edmund Lazo
5ea38abd53 vim-patch:8.2.2028: Coverity warns for using an uninitialized variable
Problem:    Coverity warns for using an uninitialized variable.
Solution:   Initialize to NULL.
896ad2c33e

N/A patches for version.c:

vim-patch:8.1.1749: Coverity warns for using negative index

Problem:    Coverity warns for using negative index.
Solution:   Move using index inside "if".
736cd2cfbe

vim-patch:8.2.0579: Coverity warns for unused value

Problem:    Coverity warns for unused value.
Solution:   Change order and use "else if".
4d5d0dfe94

vim-patch:8.2.2025: Amiga: Not all colors are used on OS4

Problem:    Amiga: Not all colors are used on OS4.
Solution:   Adjust the #ifdef to include __amigaos4__. (Ola Söder,
            closes vim/vim#7328)
2d718267f4
2020-11-21 15:34:44 -05:00
Jan Edmund Lazo
2a5307202b menu: remove winbar code
No unmerged Vim patch, applicable to Neovim, depend on WinBar feature.
It was merged only for merging Vim patches.
It is currently useless in Neovim.
Remove it to avoid rendering issues.

Close https://github.com/neovim/neovim/issues/12689
2020-11-20 20:27:12 -05:00
georg3tom
7777532ceb Removed restricted mode - Fix #11972 2020-11-11 18:07:58 +01:00
Jan Edmund Lazo
a868cd920a vim-patch:8.2.1901: variable completion does not work in command line window
Problem:    Variable completion does not work in command line window.
Solution:   Use the "prevwin". (closes vim/vim#7198)
4ff2f2fb6b

N/A patches for version.c:

vim-patch:8.2.1899: crash in out-of-memory situation

Problem:    Crash in out-of-memory situation.
Solution:   Bail out if shell_name is NULL. (Dominique Pellé, closes vim/vim#7196)
67def64a4e
2020-10-25 12:48:37 -04:00
Jan Edmund Lazo
4a6e201e37 vim-patch:8.1.1705: using ~{} for a literal dict is not nice
Problem:    Using ~{} for a literal dict is not nice.
Solution:   Use #{} instead.
4c6d90458b
2020-10-07 01:03:48 -04:00
Jan Edmund Lazo
20fc7ef161 vim-patch:8.1.1692: using *{} for literal dict is not backwards compatible
Problem:    Using *{} for literal dict is not backwards compatible. (Yasuhiro
            Matsumoto)
Solution:   Use ~{} instead.
b8be54dcc5
2020-10-07 00:56:38 -04:00
Jan Edmund Lazo
d109a33144 vim-patch:8.1.1686: "*" of "*{" is recognized as multipy operator
Problem:    "*" of "*{" is recognized as multipy operator. (Yasuhiro Matsumoto)
Solution:   Check for the "{".
2898ebb44c
2020-10-07 00:44:53 -04:00
Jan Edmund Lazo
7ca5dc2519 vim-patch:8.1.1683: dictionary with string keys is longer than needed
Problem:    Dictionary with string keys is longer than needed.
Solution:   Use *{key: val} for literaly keys.
d5abb4c877

Vim's popup,textprop features are N/A.
Neovim has not polyfilled their APIs.
Skip docs and tests for these features.
2020-10-07 00:36:48 -04:00
Jan Edmund Lazo
2a57dce9f2 vim-patch:8.1.1319: computing function length name in many places
Problem:    Computing function length name in many places.
Solution:   compute name length in call_func().
6ed8819822

In call_func(), reassign "len" param to (int)STRLEN(funcname)
instead of using vim_strsave() which runs strlen().
"len" param is checked for v:lua functions.
call_func() states that strlen() is used if "len" is set to -1.
2020-09-30 21:00:17 -04:00
Jan Edmund Lazo
d3e0d29919 vim-patch:8.2.0824: still not enough memory allocated when converting string
Problem:    Still not enough memory allocated when converting string with
            special character.
Solution:   Reserve space for expanding K_SPECIAL. (closes vim/vim#6130)
1919371b2b
2020-09-19 10:57:57 -04:00
Jan Edmund Lazo
ccfb69ab36 vim-patch:8.2.0817: not enough memory allocated when converting string
Problem:    Not enough memory allocated when converting string with special
            character.
Solution:   Reserve space for modifier code. (closes vim/vim#6130)
f7271e8316

Cherry-pick Test_eval(), Test_nr2char() from patch 8.2.0448.
2020-09-19 10:57:57 -04:00
Björn Linse
34c0f7af04 buf_attach: fix buffer updates with setline() 2020-09-16 13:50:16 +02:00
erw7
aa45579206 win/env: fix stdpath()/XDG_* initialization, parsing #12829
- Windows environment variables are semicolon-separated, but some logic
  was assuming colon (:). This broke initialization and parsing of
  XDG_CONFIG_DIRS, XDG_DATA_DIRS, 'runtimepath', stdpath(), etc.
- test/defaults_spec: enable tests on Windows

ref #12793
2020-09-07 22:40:12 -07:00