Commit Graph

239 Commits

Author SHA1 Message Date
James McCoy
37fa8d3f44 Disable -Wimplicit-fallthrough for funcs.generated.h
This is code generated by gperf, so there's nothing we can do about it.
The code does have /*FALLTHROUGH*/ comments but clang doesn't recognize
them.
2020-08-23 20:59:39 -04:00
Jan Edmund Lazo
107e50b25e vim-patch:8.2.1517: cannot easily get the character under the cursor
Problem:    Cannot easily get the character under the cursor.
Solution:   Add the {chars} argument to strpart().
6c53fca023
2020-08-23 18:32:39 -04:00
Jan Edmund Lazo
091fc72a92 vim-patch:8.2.0814: clang warning for implicit conversion
Problem:    Clang warning for implicit conversion.
Solution:   Add type cast. (Dominique Pelle, closes vim/vim#6124)
3718427ba3
2020-08-21 21:39:57 -04:00
Jan Edmund Lazo
0680b5218e vim-patch:8.1.2341: not so easy to interrupt a script programatically
Problem:    Not so easy to interrupt a script programatically.
Solution:   Add the interrupt() function. (Yasuhiro Matsumoto, closes vim/vim#2834)
67a2deb9cb
2020-08-14 18:20:28 -04:00
James McCoy
840c12c107 Merge remote-tracking branch 'upstream/master' into libcallnr 2020-08-08 08:57:35 -04:00
Jan Edmund Lazo
2d34ddb3c3 vim-patch:8.2.1265: crash with EXITFREE when split() fails
Problem:    Crash with EXITFREE when split() fails.
Solution:   Restore 'cpoptions'.
7d5e744162
2020-08-02 12:00:01 -04:00
Matthieu Coudron
459800db43 Merge pull request #12575 from cbarrete/vim-8.2.0935
[RFC] vim-patch:8.2.{0935,0937}
2020-07-20 22:04:30 +02:00
Jan Edmund Lazo
93f2dc0d03 vim-patch:8.2.0893: assert_equalfile() does not take a third argument
Problem:    Assert_equalfile() does not take a third argument.
Solution:   Implement the third argument. (Gary Johnson)
fb517bac23
2020-07-19 11:40:34 -04:00
Cédric Barreteau
6420615e3f vim-patch:8.2.0935: flattening a list with existing code is slow
Problem:    Flattening a list with existing code is slow.
Solution:   Add flatten(). (Mopp, closes vim/vim#3676)
077a1e670a
2020-07-15 20:27:20 +02:00
TJ DeVries
6360cf7ce8 lua: Add ability to pass tables with __call
vim-patch:8.2.1054: not so easy to pass a lua function to Vim
vim-patch:8.2.1084: Lua: registering function has useless code

I think I have also opened up the possibility for people to use these
callbacks elsewhere, since I've added a new struct that we should be
able to use.

Also, this should allow us to determine what the state of a list is in
Lua or a dictionary in Lua, since we now can track the luaref as we go.
2020-07-10 20:23:12 -04:00
erw7
d17e38e482 Add overlapped option to jobstart
When UV_OVERLAPPED_PIPE was used for the pipe passed to the child process, a
problem occurred with the standard input of the .Net Framework application
(#11809). Therefore, add the overlapped option to jobstart() and change it so
that it is set only when necessary
2020-06-10 22:21:14 +09:00
Billy Su
1805fb469a vim-patch:8.2.0111: VAR_SPECIAL is also used for booleans
Problem:    VAR_SPECIAL is also used for booleans.
Solution:   Add VAR_BOOL for better type checking.
9b4a15d5db
2020-06-06 23:24:58 +08:00
Matthieu Coudron
8c588246a5 Merge pull request #10905 from erw7/vim-8.1.0475
vim-patch:8.1.{475,800,868,1007,1027,1031,1033,1037,1058,1435,1484,1485}
2020-05-25 14:01:36 +02:00
Shougo
090d3c2813 matchdelete: fix porting (#12328)
really use win and not curwin
2020-05-17 13:55:10 +02:00
Shougo
d7d69fed18 vim-patch:8.1.1084: cannot delete a match from another window (#12325)
Problem:    Cannot delete a match from another window. (Paul Jolly)
Solution:   Add window ID argument to matchdelete(), clearmatches(),
            getmatches() and setmatches(). (Andy Massimino, closes vim/vim#4178)
aff749145e
2020-05-16 15:25:51 +02:00
Jan Edmund Lazo
ae01a5e9f8 vim-patch:8.1.1186: readdir() allocates list twice
Problem:    readdir() allocates list twice.
Solution:   Remove second allocation.  Also check for zero length.
334ad41504
2020-05-11 22:30:23 -04:00
erw7
17f067f4b4 vim-patch:8.1.0475: memory not freed on exit when quit in autocmd
Problem:    Memory not freed on exit when quit in autocmd.
Solution:   Remember funccal stack when executing autocmd.
27e80c885b
2020-05-07 16:00:46 +09:00
Hennadii Chernyshchyk
d2766b06c8 vim-patch:8.1.1120: cannot easily get directory entry matches #12222
Problem:    Cannot easily get directory entry matches.
Solution:   Add the readdir() function. (Yasuhiro Matsumoto, closes vim/vim#2439)
543c9b1921

closes #12212
2020-05-05 08:15:45 -07:00
erw7
d46c4003cf funcs: Fix a memory leak in f_expand (#12227)
:echo expand('%', v:false, v:true)

==423== 28 bytes in 1 blocks are definitely lost in loss record 124 of 420
==423==    at 0x4C2FB0F: malloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==423==    by 0x2AD09C: try_malloc (memory.c:71)
==423==    by 0x2AD0B8: xmalloc (memory.c:105)
==423==    by 0x2AE05D: xmallocz (memory.c:182)
==423==    by 0x1F7CF4: vim_strnsave (strings.c:68)
==423==    by 0x318813: eval_vars (ex_docmd.c:8885)
==423==    by 0x34F5FC: f_expand (funcs.c:2058)
==423==    by 0x36D023: call_func (eval.c:6419)
==423==    by 0x370C28: get_func_tv.lto_priv.707 (eval.c:6150)
==423==    by 0x372748: eval7 (eval.c:4326)
==423==    by 0x37291A: eval6 (eval.c:4036)
==423==    by 0x372BF6: eval5 (eval.c:3884)
2020-05-04 10:50:54 +02:00
Hirokazu Hata
4e6531ddbd lsp: use vim.tbl_isempty to check sign (#12190)
ref: #12164
fix #12201
sign_getdefined() returns a list, {} if the sign is not defined.
2020-04-28 07:41:39 -07:00
Justin M. Keyes
6b050a145d Merge #11851 'eval.c: factor out eval/userfunc.c'
vim-patch:7.4.2058
2020-04-26 20:01:58 -07:00
Matthieu Coudron
ca02db1f9f Merge pull request #12047 from erw7/fix-resolve-on-windows
Change resolve() to resolve symbolic links on Windows
Neovim worked the same way as vim for shortcuts, but didn't handle symbolic links and junction cases. This PR implements the same behavior for symbolic links and junctions as for vim.
2020-04-19 14:11:01 +02:00
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
366e75b6be vim-patch:8.2.0473: variables declared in an outer scope
Problem:    Variables declared in an outer scope.
Solution:   Decleare variables only in the scope where they are used.
8601545338
2020-04-13 12:00:33 -04:00
Jan Edmund Lazo
22eb3c9e49 vim-patch:8.1.1745: compiler warning for unused argument
Problem:    Compiler warning for unused argument.
Solution:   Add UNUSED.  Change comments to new style.
1f164b1968
2020-04-13 12:00:32 -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
erw7
b687a6c2b2 Change to canonicalize only when reparse point in included 2020-04-02 21:13:18 +09:00
erw7
f61331e184 Change resolve() to resolve symbolic links on Windows 2020-04-02 21:13:18 +09:00
Jan Edmund Lazo
d846f47cc8 vim-patch:8.1.0881: can execute shell commands in rvim through interfaces
Problem:    Can execute shell commands in rvim through interfaces.
Solution:   Disable using interfaces in restricted mode. Allow for writing
            file with writefile(), histadd() and a few others.
8c62a08faf
2020-03-01 20:02:09 -05:00
Jan Edmund Lazo
607240a8ba pvs/v1048: variable was assigned same value 2020-03-01 03:57:58 -05:00
Jan Edmund Lazo
eba8a9ca1d vim-patch:8.1.1510: a plugin cannot easily expand a command like done internally
Problem:    A plugin cannot easily expand a command like done internally.
Solution:   Add the expandcmd() function. (Yegappan Lakshmanan, closes vim/vim#4514)
80dad48c50
2020-03-01 03:57:58 -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
7ed4837298 vim-patch:8.1.1122: char2nr() does not handle composing characters
Problem:    char2nr() does not handle composing characters.
Solution:   Add str2list() and list2str(). (Ozaki Kiichi, closes vim/vim#4190)
9d40128afd

'utf8' optional param is noop unlike Vim.
2020-02-20 23:39:17 -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
d50c1123d5 fix: includes 2020-02-13 14:11:53 +01: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