Commit Graph

1486 Commits

Author SHA1 Message Date
Jan Edmund Lazo
5726272559 vim-patch:8.2.0507: getbufvar() may get the wrong dictionary
Problem:    Getbufvar() may get the wrong dictionary. (David le Blanc)
Solution:   Check for empty name. (closes vim/vim#5878)
5259275347
2020-04-13 12:00:34 -04:00
Jan Edmund Lazo
16a4581349 vim-patch:8.1.2282: crash when passing many arguments through a partial
Problem:    Crash when passing many arguments through a partial. (Andy
            Massimino)
Solution:   Check the number of arguments. (closes vim/vim#5186)
4c054e9fb2
2020-04-13 12:00:32 -04:00
Jan Edmund Lazo
dbb386e1b2 vim-patch:8.1.2280: crash when passing partial to substitute()
Problem:    Crash when passing partial to substitute().
Solution:   Take extra arguments into account. (closes vim/vim#5186)
b0745b221d
2020-04-13 12:00:31 -04:00
Jan Edmund Lazo
73dc9e943c vim-patch:8.1.2378: using old C style comments
Problem:    Using old C style comments.
Solution:   Use // comments where appropriate.
5d18efecfd
2020-04-12 15:56:40 -04:00
Jan Edmund Lazo
b00650cfe9 vim-patch:8.2.0361: internal error when using "0" for a callback
Problem:    Internal error when using "0" for a callback.
Solution:   Give a normal error. (closes vim/vim#5743)
14e57909e6
2020-03-07 23:37:27 -05:00
Jan Edmund Lazo
3c12ee333a vim-patch:8.1.0619: :echomsg and :echoerr do not handle List and Dict
Problem:    :echomsg and :echoerr do not handle List and Dict like :echo does.
            (Daniel Hahler)
Solution:   Be more tolerant about the expression result type.
461a7fcfce

Add lua functional tests for :echo,:echon,:echomsg,:echoerr
because nvim did not port "test_" functions from Vim
that modify internal state.

Testing :echoerr via try/catch is sufficient.
2020-02-29 17:40:00 -05:00
Jan Edmund Lazo
1ce4b3c9a7 vim-patch:8.2.0267: no check for a following cmd when calling a function fails
Problem:    No check for a following command when calling a function fails.
Solution:   Also check for a following command when inside a try block.
            (closes vim/vim#5642)
e51bb17dd0
2020-02-16 18:04:44 -05:00
Jan Edmund Lazo
18d86283b0 vim-patch:8.0.1660: the terminal API "drop" command doesn't support options
Problem:    The terminal API "drop" command doesn't support options.
Solution:   Implement the options.
333b80acf3
2020-02-16 09:38:14 -05:00
Jakub Łuczyński
5e815edece rename: user_funcs -> userfunc
Lets stick with vim for now
2020-02-13 14:11:55 +01:00
Jakub Łuczyński
c7ef0e8d2d fix: moved some static inline function 2020-02-13 14:11:50 +01:00
Jakub Łuczyński
3c413f1523 fix: vvlua_partial 2020-02-13 14:11:48 +01:00
Jakub Łuczyński
1e0a9b2690 fix: made eval_lavars_used global 2020-02-13 14:11:47 +01:00
Jakub Łuczyński
937da5dd7e Removed redundant define 2020-02-13 14:11:42 +01:00
Jakub Łuczyński
423fcbee4a fix: factor out make_partial 2020-02-13 14:11:40 +01:00
Jakub Łuczyński
b683957763 fix: prof functions 2020-02-13 14:11:39 +01:00
Jakub Łuczyński
04f7e1f56d fix: var_set_global 2020-02-13 14:11:37 +01:00
Jakub Łuczyński
bae1738bce fix: find_var_ht_dict 2020-02-13 14:11:35 +01:00
Jakub Łuczyński
e50b545676 fix: factor out new functions
free_unref_funccal
get_funccal_local_var
get_funccal_args_var
get_current_funccal_dict
set_ref_in_previous_funccal
set_ref_in_call_stack
set_ref_in_func_args

note:
In vim semantic for garbage_collect was changed
(the result of free_unref_funccal is ignored, bug or intentional?)

For nvim I did leave previous behavior thus

did_free = did_free || free_unref_funccal(copyID, testing);
instead of just
free_unref_funccal(copyID, testing);
2020-02-13 14:11:34 +01:00
Jakub Łuczyński
c769b15fe4 fix: func_init 2020-02-13 14:11:32 +01:00
Jakub Łuczyński
700d7a037c unstatic some functions 2020-02-13 14:11:29 +01:00
Jakub Łuczyński
3b0475927c moved more stuff 2020-02-13 14:11:27 +01:00
Jakub Łuczyński
9b140fafe3 moved functions to user_funcs.c (no code changes) 2020-02-13 14:11:21 +01:00
erw7
d54b5997b7 Fix issue where callbacks are garbage collected
Import necessary part of vim-patch:8.1.1575.
75a1a9415b
2020-02-12 16:03:54 +09:00
erw7
aec3d7915c vim-patch:8.1.0091: MS-Windows: Cannot interrupt gdb when program is running
Problem:    MS-Windows: Cannot interrupt gdb when program is running.
Solution:   Add debugbreak() and use it in the terminal debugger.
            Respect 'modified' in a prompt buffer.
4551c0a9fc
2020-02-12 16:03:45 +09:00
erw7
fe395ae210 vim-patch:8.1.0069: cannot handle pressing CTRL-C in a prompt buffer
Problem:    Cannot handle pressing CTRL-C in a prompt buffer.
Solution:   Add prompt_setinterrupt().
0e5979a6d4
2020-02-12 15:30:06 +09:00
erw7
4813ad48cd vim-patch:8.1.0027: difficult to make a plugin that feeds a line to a job
Problem:    Difficult to make a plugin that feeds a line to a job.
Solution:   Add the nitial code for the "prompt" buftype.
f273245f64
2020-02-12 15:16:32 +09:00
Jakub Łuczyński
6c5bbf07d9 eval.c: factor out eval/funcs.c #11828
close #11828
ref #5081
cf. vim patch 7.4.2063
2020-02-10 00:36:26 -08:00
Jan Edmund Lazo
31f31b40a8 vim-patch:8.2.0077: settagstack() cannot truncate at current index
Problem:    settagstack() cannot truncate at current index.
Solution:   Add the "t" action. (Yegappan Lakshmanan, closes vim/vim#5417)
271fa08a35
2020-01-29 21:00:11 -05:00
Jan Edmund Lazo
0b49cb67f2 vim-patch:8.2.0171: fix use of uninitialized buffer #11786
Problem:    Coverity warning for using uninitialized buffer.
Solution:   Check the skip flag.
9a5e5a3e33
2020-01-28 23:02:11 -08:00
Justin M. Keyes
75e8562249 refactor: move session functions to ex_session.c 2020-01-28 00:22:14 -08:00
Justin M. Keyes
07a105f0cb terminal: trim CWD slash #11762
Trailing CWD slash in term:// buffer name breaks the BufReadCmd
handler.

Before:
    term://~///25232:/bin/bash
After:
    term://~//25232:/bin/bash

ref c6ff23d7a0
ref #11289
2020-01-26 02:13:37 -08:00
Chris LaRose
c6ff23d7a0 terminal: absolute CWD in term:// URI #11289
This makes it possible to restore the working directory of :terminal
buffers when reading those buffers from a session file.

Fixes #11288

Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
2020-01-26 00:24:42 -08:00
Björn Linse
91bd1ddf3b Merge pull request #11740 from Billy4195/fix_jobstop
make jobstop() return 0 instead of throw error for already stopped job
2020-01-22 19:23:29 +01:00
Billy Su
041ec8997a Fix f_jobstop() failed loudly
The return value of jobstop()
@return 1 for valid job id
        0 for invalid id, including jobs have exited or stopped
2020-01-22 17:30:43 +08:00
Jan Edmund Lazo
da0cd5436b doc: provider-perl
Enable 'has("perl")' as an alias for 'g:loaded_perl_provider'.

TODO:
- +perl interface
2020-01-20 19:43:59 -05:00
Jan Edmund Lazo
d811fab0ad vim-patch:8.2.0120: virtcol() does not check arguments to be valid
Problem:    virtcol() does not check arguments to be valid, which may lead to
            a crash.
Solution:   Check the column to be valid.  Do not decrement MAXCOL.
            (closes vim/vim#5480)
b3d33d8570
2020-01-17 19:06:50 -05:00
Björn Linse
b4a92aadd2 messages: echo "line1\r\nline2" should not clear line1 2020-01-16 19:35:45 +01:00
Jan Edmund Lazo
1aacab49ea vim-patch:8.1.1579: dict and list could be GC'ed while displaying error
Problem:    Dict and list could be GC'ed while displaying error in a timer.
            (Yasuhiro Matsumoto)
Solution:   Block garbage collection when executing a timer.  Add
            test_garbagecollect_soon(). Add "no_wait_return" to
            test_override(). (closes vim/vim#4571)
adc6714aac
2020-01-05 10:40:53 -05:00
butwerenotthereyet
cbc8d72fde tabpage: track last-used tabpage #11626
In a multi-window scenario, it is possible to return focus to the last
accessed window via n_CTRL-W_p.  However, in the case of a multi-tab
scenario, there was previously no way to return focus to the last
accessed *tab*.  Here, that ability is added via n_g<tab>.

Additionally, the index of the previous tab is exposed via
tabpagenr('#'), mirroring the existing functionality of winnr('#').
2020-01-02 06:06:11 -08:00
Daniel Hahler
b3686b1597 system(), jobstart(): raise error on non-executable #11234
* tv_to_argv: error when cmd is not executable
  Callers always assume that emsg was emitted:
  - https://github.com/neovim/neovim/blob/57fbf288/src/nvim/eval.c#L12509
  - https://github.com/neovim/neovim/blob/57fbf288/src/nvim/eval.c#L17923
  - https://github.com/neovim/neovim/blob/57fbf288/src/nvim/eval.c#L18202
* test/functional/provider: display reason from missing_provider
* provider#node#Detect: skip / handle non-existing node executable
2019-12-24 07:53:56 +01:00
Jan Edmund Lazo
33f6c25af8 eval: fix pvs/V1048 2019-12-22 21:02:49 -05:00
Jan Edmund Lazo
80ebfc304e vim-patch:8.2.0030: "gF" does not work on output of "verbose command"
Problem:    "gF" does not work on output of "verbose command".
Solution:   Recognize " line " and translations. (closes vim/vim#5391)
64e74c9cc7
2019-12-22 19:43:18 -05:00
Jan Edmund Lazo
c147806e23 vim-patch:8.2.0019: cannot number of lines of another buffer
Problem:    Cannot number of lines of another buffer.
Solution:   Add "linecount" to getbufinfo(). (Yasuhiro Matsumoto,
            closes vim/vim#5370)
a9e9679de3
2019-12-20 08:14:54 -05:00
Jan Edmund Lazo
9e6ebed6f4 vim-patch:8.2.0013: not using a typedef for condstack
Problem:    Not using a typedef for condstack.
Solution:   Add a typedef.
ddef129160
2019-12-16 20:36:11 -05:00
Seth Fowler
251b20e533 Add support for the pum_getpos() API (#11562)
Add support for the pum_getpos() API
2019-12-16 20:08:55 +01:00
James McCoy
6566251d14 Merge remote-tracking branch 'upstream/master' into libcall 2019-12-15 21:17:16 -05:00
James McCoy
9c4223215f libcallnr: Use int, not int64_t, as the return type for Vim compat
Vim's documentation simply states that libcallnr() should be used "for a
function that returns an int".  Based on the tests, code, and common
syscall interfaces, this should likely be taken literally instead of
trying to apply some well-defined type lipstick.

Notably, this change fixes Test_libcall_libcallnr on hppa (a 32-bit
big-endian system).
2019-12-15 21:17:00 -05:00
James McCoy
91b313a904 Add negative test for type of job's env option 2019-12-12 07:57:27 -05:00
James McCoy
6dc1005787 Add os_getfullenv_size/os_copyfullenv 2019-12-11 22:04:29 -05:00
Matthieu Coudron
19b6237087 jobstart now supports env/clear_env
to modify the environment of the launched job.
2019-12-11 21:07:13 -05:00