| 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”.
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
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
|
| | | | | | | | |
| | | | | | | | |
| | | | | | | | | |
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
|
| | | | | | | | | |
|
| |_|/ / / / / /
|/| | | | | | | |
|
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Closes #6437
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
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
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
From Vim, misc2.c:vim_strsave_shellescape
|
| | | | | | | | |
|
| | | | | | | | |
|
| |_|_|/ / / /
|/| | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | |
| | | | | | | |
On Windows, `mch_open_rw` is not actually doing what it claims. This
manifests as "E301: Oops, lost the swap file !!!" when filename is
changed with :file {name}.
Steps to reproduce (covered by test/functional/ex_cmds/file_spec.lua):
nvim -u NONE
:edit test
:file test2
E301 Oops, lost the swap file!!!
From libuv/src/win/fs.c:
void fs__open(uv_fs_t* req) {
...
attributes |= FILE_ATTRIBUTE_NORMAL;
if (flags & _O_CREAT) {
if (!((req->fs.info.mode & ~current_umask) & _S_IWRITE)) {
attributes |= FILE_ATTRIBUTE_READONLY;
}
}
|
|\ \ \ \ \ \ \
| | | | | | | |
| | | | | | | | |
remove vim_tolower/etc functions with broken locale-dependent behavior
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Problem: Toupper and tolower don't work properly for Turkish when 'casemap'
is empty. (Bjorn Linse)
Solution: Check the 'casemap' options when deciding how to upper/lower case.
https://github.com/vim/vim/commit/3317d5ebbe8304da82b8088446060afcae0012af
vim-patch:8.0.0553
Problem: Toupper/tolower test with Turkish locale fails on Mac.
Solution: Skip the test on Mac.
https://github.com/vim/vim/commit/9f4de1f5435b900e43e19766da1a5bed4686cf44
vim-patch:8.0.0554
Problem: Toupper and tolower don't work properly for Turkish when 'casemap'
contains "keepascii". (Bjorn Linse)
Solution: When 'casemap' contains "keepascii" use ASCII toupper/tolower.
https://github.com/vim/vim/commit/1cc482069a3407132aeb43a55d6dc284153e79c7
vim-patch:8.0.0555
Problem: Toupper/tolower test fails on OSX without Darwin.
Solution: Skip that part of the test also for OSX. (Kazunobu Kuriyama)
https://github.com/vim/vim/commit/d2381a2cadb9ef359ad5efb916734c635b29bd13
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Problem: When making a character lower case with tolower() changes the byte
cound, it is not made lower case.
Solution: Add strlow_save(). (Dominique Pelle, closes vim/vim#1406)
https://github.com/vim/vim/commit/cc5b22b3bfdc0e9e835cf7871166badda31447bd
Join almost identical strup_save and strlow_save functions to one
Function.
|
| | | | | | | | |
|
|\ \ \ \ \ \ \ \
| |/ / / / / / /
|/| | | | | | | |
|
| | | | | | | | |
|
| | | | | | | |
| | | | | | | |
| | | | | | | |
| | | | | | | | |
Bug was introduced 3 years earlier, in 13848aa: NULL keyword_copy was
incorrectly treated as an indicator of OOM.
|
| | | | | | | | |
|