| Commit message (Collapse) | Author | Age |
... | |
|
|
|
|
|
| |
Problem: setmatches() mixes up values. (Nikolai Pavlov)
Solution: Save the string instead of reusing a shared buffer.
https://github.com/vim/vim/commit/7dc5e2e486fe0287601968e535902a41a39f65bb
|
|
|
|
|
|
|
|
|
|
| |
While a job callback is active, it may be invoked again. Since the
data handled by the first invocation of the callback hasn't been marked
as consumed, the subsequent invocation will see the same data.
Reported-by: Daniel Hahler
Patch-by: oni-link
Closes #5889
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes a use-after-free noticed by ASAN which would occur when a
dictwatcher was still active on a dictionary when the dictionary was
freed.
fun! MakeWatch()
let d = {'foo': 'bar'}
call dictwatcheradd(d, 'foo', function('...'))
endfun
Patch-by: oni-link
Closes #5930
|
|
|
|
|
|
|
|
| |
Do _not_ set v:shell_error on parameter validation error.
system([...]) does not invoke a shell, so this change is somewhat
questionable. But `:help v:shell_error` is sufficiently vague to allow
-1 in this case.
|
|
|
|
|
|
|
| |
Problem: Messages test fails.
Solution: Don't set redir_execute before returning.
https://github.com/vim/vim/commit/ed59aa60d3905f935283727f4a7b33c81a00174b
|
|
|
|
|
|
|
|
| |
Problem: evalcmd() has a confusing name.
Solution: Rename to execute(). Make silent optional. Support a list of
commands.
https://github.com/vim/vim/commit/79815f1ec77406f2f21a618c053e5793b597db7a
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Works by making value pushed on stack represent the exhausted list.
Fixes #5901, except for dictionaries which need similar adjustment.
|
|\
| |
| | |
Refactor eval/typval_encode.h
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| | |
Fixed local test failures somewhere in process.
|
| |
| |
| | |
Should fix some tests, including core/job_partial tests.
|
| | |
|
| |
| |
| |
| | |
Should only happen when clearing VAR_FUNC typval which is not placed inside
a container.
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Occurs when trying to dump a partial with attached self dictionary which
references that partial. “Infinite” loop should normally result in Neovim killed
by OOM killer.
Also moved the place when partials are unreferenced by clear_tv: from
…FUNC_START to …FUNC_END.
|
| |
| |
| |
| |
| | |
This makes gdb backtraces much more meaningful: specifically I now know at which
line it crashes in place of seeing that it crashes at
TYPVAL_ENCODE_DEFINE_CONV_FUNCTIONS macros invocation.
|
| |
| |
| |
| |
| |
| | |
Is known to crash in the current state.
Ref #5825.
|
| |
| |
| | |
maybe-uninitialized warning observed with -Ofast.
|
|\ \ |
|
| | |
| | |
| | |
| | | |
vim-patch:7.4.1838
|
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
- Eliminate global test_autochdir.
- Eliminate VimL function test_autochdir()
- Use a lua test instead. Fails correctly after reverting
0c4347997954 / vim-patch:7.4.2015.
|
| | |
| | |
| | |
| | |
| | |
| | | |
Updated runtime files.
https://github.com/vim/vim/commit/6f1d9a096bf22d50c727dca73abbfb8e3ff55176
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: When a file gets a name when writing it 'acd' is not effective.
(Dan Church)
Solution: Invoke DO_AUTOCHDIR after writing the file. (Allen Haim, closes
vim/vim#777, closes vim/vim#803) Add test_autochdir() to enable 'acd' before
"starting" is reset.
https://github.com/vim/vim/commit/5c71994f4ee5f87d4cce990dbc9684c70b1e108b
|
| | |
| | |
| | |
| | |
| | |
| | | |
Problem: setbuvfar() causes a screen redraw.
Solution: Only use aucmd_prepbuf() for options.
https://github.com/vim/vim/commit/93431df9eb02f7cf3d7f2142bb1bef24c5f325b2
|
| | | |
|
| |/
|/|
| |
| |
| |
| |
| |
| |
| | |
Problem: Getting an item from a NULL dict crashes. Setting a register to a
NULL list crashes. (Nikolai Pavlov, issue vim/vim#768) Comparing a NULL
dict with a NULL dict fails.
Solution: Properly check for NULL.
https://github.com/vim/vim/commit/13ddc5c35921efa69e980284117b6db6465e019c
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
Problem: Setting really_exiting causes memory leaks to be reported.
Solution: Add the in_free_all_mem flag.
https://github.com/vim/vim/commit/b89a25f17e274dc308c584ea69a129ffbb26bc3d
|
|/
|
|
|
|
|
|
|
|
|
|
| |
Problem: Invalid memory access when exiting with EXITFREE defined.
(Dominique Pelle)
Solution: Set "really_exiting" and skip error messages.
https://github.com/vim/vim/commit/a96732150cda2f242133228579b05437a39b8daa
This fails to build, due to a00c2e0ecbaec366364cecb5efbdb456c8c543ef
removing really_exiting from globals.h, but the next commit fixes the
build failure.
|
| |
|
|
|
|
|
|
|
|
| |
Problem: Memory leak in getbufinfo() when there is a sign. (Dominique
Pelle)
Solution: Remove extra vim_strsave().
https://github.com/vim/vim/commit/6a402edbeb693113f05d9319cd20ec382a0a1a20
|
|
|
|
|
|
|
|
| |
Problem: getwininfo() and getbufinfo() are inefficient.
Solution: Do not make a copy of all window/buffer-local options. Make it
possible to get them with gettabwinvar() or getbufvar().
https://github.com/vim/vim/commit/3056735ae8a366aa7fcb51872520895251858637
|
|
|
|
|
|
|
|
| |
Problem: getbufinfo(), getwininfo() and gettabinfo() are inefficient.
Solution: Instead of making a copy of the variables dictionary, use a
reference.
https://github.com/vim/vim/commit/9f8187c335b4fb07be9095dfdd0fc52670ba3c3f
|
|
|
|
|
|
|
|
| |
Problem: The field names used by getbufinfo(), gettabinfo() and
getwininfo() are not consistent.
Solution: Use bufnr, winnr and tabnr. (Yegappan Lakshmanan)
https://github.com/vim/vim/commit/339288377072f66ec88e21903e75a82d23ffbf4f
|
|
|
|
|
|
|
|
|
| |
Problem: It's not easy to find out if a window is a quickfix or location
list window.
Solution: Add "loclist" and "quickfix" entries to the dict returnec by
getwininfo(). (Yegappan Lakshmanan)
https://github.com/vim/vim/commit/386600f0cbcb8add099c723cf84634f46df2f788
|
|
|
|
|
|
|
|
|
| |
Problem: It is not easy to get information about buffers, windows and
tabpages.
Solution: Add getbufinfo(), getwininfo() and gettabinfo(). (Yegappan
Lakshmanan)
https://github.com/vim/vim/commit/b5ae48e9ffd3b8eb6ca4057de11f1bddcde8ce6f
|
| |
|
|
|
|
|
|
|
|
| |
Problem: Arguments of setqflist() are not checked properly.
Solution: Add better checks, add a test. (Nikolai Pavlov, Hirohito Higashi,
closes vim/vim#661)
https://github.com/vim/vim/commit/d106e5ba7f10f0d2a14eaefe5d78405044416cb9
|
|
|
|
|
|
| |
Problem: Looping over a null list throws an error.
Solution: Skip over the for loop.
https://github.com/vim/vim/commit/d8585eded6359f1d7e1981e96ae775efd077c638
|
| |
|
| |
|
| |
|
| |
|