| Commit message (Collapse) | Author | Age |
... | |
| | |
|
| | |
|
| |
| |
| |
| |
| | |
Based on the flow it looks like ptr could not be NULL here: if ptr_arg is NULL
ptr is compl_leader, if compl_leader is NULL function exits. This also applies
to Vim as far as I see.
|
| | |
|
| |
| |
| |
| | |
Reversed order is intentional, digraphs allow swapping characters.
|
| |
| |
| |
| | |
Not exactly a false positive, but previous assignment is a part of the pattern
“change global, run code which uses it, change global back”.
|
| | |
|
|\ \
| | |
| | | |
Cursor highlight after `:highlight clear|syntax reset`
|
| | |
| | |
| | |
| | | |
Also enable tests on Windows.
|
|/ /
| |
| |
| | |
Closes #6508
|
|/
|
|
|
|
|
|
|
|
|
|
| |
Closes #6540
In #6221 there was a mistake in calculating which folds need to be
re-ordered. When there are no folds after those that have been adjusted,
then `move_end` remains 0. This results in reverse_fold_order()
swapping folds that have been adjusted with uninitialised folds in the
remainder of the grow array.
Add a check in foldMoveRange() to account for this case.
|
|\
| |
| | |
vim-patch:7.4.{2170,2180,2240,2241,2242}
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Memory leak in timer_start().
Solution: Check the right field to be NULL.
https://github.com/vim/vim/commit/26fe0d56912e42c2b16a61b2480e19ba569aee98
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: Crash when stop_timer() is called in a callback of a callback.
Vim hangs when the timer callback uses too much time.
Solution: Set tr_id to -1 when a timer is to be deleted. Don't keep calling
callbacks forever. (Ozaki Kiichi)
https://github.com/vim/vim/commit/75537a93e985ef32e6c267b06ce93629855dd983
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Problem: In a timer callback the timer itself can't be found or stopped.
(Thinca)
Solution: Do not remove the timer from the list, remember whether it was
freed.
https://github.com/vim/vim/commit/417ccd7138d4d230d328de8b0d3892dd82ff1bee
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Timer test fails sometimes.
Solution: Reduce minimum time by 1 msec.
https://github.com/vim/vim/commit/0426bae2abede764d0dd366a28663d1c6e6ab0fe
|
| |\ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Timer test sometimes fails.
Solution: Increase the maximum time for callback timer test.
https://github.com/vim/vim/commit/17f1347b867cbcc0ce380bf9a2466b4c31896f04
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Timer test sometimes fails.
Solution: Increase the maximum time for repeating timer.
https://github.com/vim/vim/commit/973365dcc40a41e6b72ece56f15cebfee69b1329
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Tests using the sleep time can be flaky.
Solution: Use reltime() if available. (Partly by Shane Harper)
https://github.com/vim/vim/commit/f267f8bdf777073e392ada5b31d837c7b6090eb4
|
| | | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: There is no easy way to stop all timers. There is no way to
temporary pause a timer.
Solution: Add timer_stopall() and timer_pause().
https://github.com/vim/vim/commit/b73598e2f022a22fec512ea681c70d2775e8fd87
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: Cannot get information about timers.
Solution: Add timer_info().
https://github.com/vim/vim/commit/8e97bd74b5377753597e3d98e7123d8985c7fffd
|
|\ \ \
| | | |
| | | | |
[RFC] scripts: Create script which checks Neovim with PVS-studio
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
| | | | |
|
|\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
Revise places where FUNC_ATTR_MALLOC is present
Closes #6521
|
| | | | |
| | | | |
| | | | | |
Returns an array of allocated strings.
|
| | | | |
| | | | |
| | | | | |
Returned storage has a pointer to a newly allocated array.
|
| | | | |
| | | | |
| | | | |
| | | | | |
Same as tv_dict_alloc() and additionally it saves some strings inside
a dictionary.
|
| | | | |
| | | | |
| | | | |
| | | | | |
Same as tv_list_alloc, but additionally ret_tv receives pointer to the newly
allocated list.
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Allocated dict points to previously allocated dict.
Queue in allocated dict points to itself.
Hashtab in allocated dict points to inside itself.
Allocated dict is saved to gc_first_dict.
|
| | | | |
| | | | |
| | | | | |
Allocated storage may receive pointer to the list after tv_copy().
|
| | | | |
| | | | |
| | | | |
| | | | | |
Allocated list points to previously allocated list.
Allocated list is saved to gc_first_list.
|
|/ / / /
| | | |
| | | | |
fp contains pointer to rbuffer
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Lua string:match() considers hyphen to be a special char, we want the
path to be a literal match. Also remove "./", etc.
References #6483
|
| | | |
| | | |
| | | | |
Closes #6437
|
|\ \ \ \
| | | | |
| | | | | |
win: system('...'): special-case cmd.exe
|
| | | | | |
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Calling cmd.exe in Windows follows a very different pattern from Vim.
The primary difference is that Vim does a nested call to cmd.exe, e.g.
the following call in Vim
system('echo a 2>&1')
spawns the following processes
"C:\Program Files (x86)\Vim\vim80\vimrun" -s C:\Windows\system32\cmd.exe /c (echo a 2^>^&1
^>C:\Users\dummy\AppData\Local\Temp\VIoC169.tmp 2^>^&1)
C:\Windows\system32\cmd.exe /c C:\Windows\system32\cmd.exe /c (echo a 2^>^&1
^>C:\Users\dummy\AppData\Local\Temp\VIo3C6C.tmp 2^>^&1)
C:\Windows\system32\cmd.exe /c (echo a 2>&1
>C:\Users\dummy\AppData\Local\Temp\VIo3C6C.tmp 2>&1)
The escaping with ^ is needed because cmd.exe calls itself and needs to
preserve the special metacharacters for the last call. However in nvim
no nested call is made, system('') spawns a single cmd.exe process.
Setting shellxescape to "" disables escaping with ^.
The previous default for shellxquote=( wrapped any command in
parenthesis, in Vim this is more meaningful due to the use of tempfiles
to store the output and redirection (also see &shellquote). There is
a slight benefit in having the default be empty because some expressions
that run in console will not run within parens e.g. due to unbalanced
double quotes
system('echo "a b')
|
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Disable CommandLineToArgvW-standard quoting for cmd.exe.
libuv assumes spawned processes follow the convention expected by
CommandLineToArgvW(). But cmd.exe is non-conformant, so for cmd.exe:
- With system([]), the caller has full control (and responsibility) to
quote arguments correctly.
- With system(''), shell* options are used.
libuv quoting is disabled if argv[0] is:
- cmd.exe
- cmd
- $COMSPEC resolving to a path with filename cmd.exe
Closes #6329
References #6387
|
| | | | | |
|