aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.c
Commit message (Collapse)AuthorAge
...
* vim-patch:7.4.2160 (#5952)Shougo2017-01-15
| | | | | | Problem: setmatches() mixes up values. (Nikolai Pavlov) Solution: Save the string instead of reusing a shared buffer. https://github.com/vim/vim/commit/7dc5e2e486fe0287601968e535902a41a39f65bb
* job: Consume content from rbuffer before invoking the callback againJames McCoy2017-01-14
| | | | | | | | | | 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
* eval: Remove dictwatcher from watchers queue before freeing itJames McCoy2017-01-12
| | | | | | | | | | | | | | 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
* system([...]): Set v:shell_error=-1 if not executable.Rui Abreu Ferreira2017-01-11
| | | | | | | | 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.
* vim-patch:7.4.2009James McCoy2017-01-10
| | | | | | | Problem: Messages test fails. Solution: Don't set redir_execute before returning. https://github.com/vim/vim/commit/ed59aa60d3905f935283727f4a7b33c81a00174b
* vim-patch:7.4.2008James McCoy2017-01-10
| | | | | | | | 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
* memory: Restore entered_free_all_mem functionalityZyX2017-01-07
|
* eval: Fix failing testZyX2017-01-07
|
* unittest: Add dict_items functionZyX2017-01-07
|
* eval: Make sure that copyID is reset when neededZyX2017-01-07
| | | | | Works by making value pushed on stack represent the exhausted list. Fixes #5901, except for dictionaries which need similar adjustment.
* Merge pull request #5826 from ZyX-I/fix-typval_encodeJames McCoy2017-01-06
|\ | | | | Refactor eval/typval_encode.h
| * eval: Fix typoZyX2017-01-07
| |
| * eval: Work with reference cycles in partials (self) properlyZyX2017-01-06
| |
| * eval/typval_encode: Use TYPVAL_ENCODE_CONV_EMPTY_DICT for partialsZyX2017-01-06
| |
| * *: Remove `// fname()` comments near typval_encode includesZyX2017-01-04
| |
| * eval: Fix errorneous early exit when converting lists and dictionariesZyX2017-01-03
| |
| * eval: Fix unused variable error in release buildsZyX2017-01-03
| |
| * eval/typval_encode: Refactor arguments to argument macrosesZyX2017-01-03
| | | | | | Fixed local test failures somewhere in process.
| * eval: Do not free partial contents if partial is still referencedZyX2017-01-03
| | | | | | Should fix some tests, including core/job_partial tests.
| * eval: Do not free partial lists as listsZyX2017-01-03
| |
| * eval: Fix case when cur_mpsv is NULLZyX2017-01-03
| | | | | | | | Should only happen when clearing VAR_FUNC typval which is not placed inside a container.
| * eval/typval_encode: Fix infinite loopZyX2017-01-03
| | | | | | | | | | | | | | | | | | 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.
| * eval/typval_encode: Refactor big-big macros into .c.h fileZyX2017-01-03
| | | | | | | | | | 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.
| * eval/typval_encode: Make partial conversions not recursiveZyX2017-01-03
| | | | | | | | | | | | Is known to crash in the current state. Ref #5825.
* | eval.c: filter_map(): avoid maybe-uninitialized warning (#5897)Michael Schupikov2017-01-06
| | | | | | maybe-uninitialized warning observed with -Ofast.
* | Merge #5872 justinmk/test_autochdirJustin M. Keyes2017-01-04
|\ \
| * | refactor: Remove VimL function `test()`Justin M. Keyes2017-01-04
| | | | | | | | | | | | vim-patch:7.4.1838
| * | refactor: Remove VimL function `test_autochdir()`Justin M. Keyes2017-01-04
| | | | | | | | | | | | | | | | | | | | | - Eliminate global test_autochdir. - Eliminate VimL function test_autochdir() - Use a lua test instead. Fails correctly after reverting 0c4347997954 / vim-patch:7.4.2015.
| * | vim-patch:6f1d9aShougo Matsushita2017-01-02
| | | | | | | | | | | | | | | | | | Updated runtime files. https://github.com/vim/vim/commit/6f1d9a096bf22d50c727dca73abbfb8e3ff55176
| * | vim-patch:7.4.2015Shougo Matsushita2017-01-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | vim-patch:7.4.2043 (#5871)lonerover2017-01-04
| | | | | | | | | | | | | | | | | | Problem: setbuvfar() causes a screen redraw. Solution: Only use aucmd_prepbuf() for options. https://github.com/vim/vim/commit/93431df9eb02f7cf3d7f2142bb1bef24c5f325b2
* | | fix lint errorlonerover2017-01-03
| | |
* | | vim-patch:7.4.1847lonerover2017-01-03
| |/ |/| | | | | | | | | | | | | | | 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
* | lintJames McCoy2017-01-02
| |
* | vim-patch:7.4.1868James McCoy2017-01-01
| | | | | | | | | | | | | | 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
* | vim-patch:7.4.1866James McCoy2017-01-01
|/ | | | | | | | | | | | 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.
* lintJames McCoy2016-12-28
|
* vim-patch:7.4.2277James McCoy2016-12-28
| | | | | | | | Problem: Memory leak in getbufinfo() when there is a sign. (Dominique Pelle) Solution: Remove extra vim_strsave(). https://github.com/vim/vim/commit/6a402edbeb693113f05d9319cd20ec382a0a1a20
* vim-patch:7.4.2273James McCoy2016-12-28
| | | | | | | | 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
* vim-patch:7.4.2272James McCoy2016-12-28
| | | | | | | | 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
* vim-patch:7.4.2226James McCoy2016-12-28
| | | | | | | | 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
* vim-patch:7.4.2215James McCoy2016-12-28
| | | | | | | | | 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
* vim-patch:7.4.2204James McCoy2016-12-28
| | | | | | | | | 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
* lintJames McCoy2016-12-27
|
* vim-patch:7.4.1768James McCoy2016-12-27
| | | | | | | | 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
* vim-patch:7.4.1816 (#5833)lonerover2016-12-26
| | | | | | Problem: Looping over a null list throws an error. Solution: Skip over the for loop. https://github.com/vim/vim/commit/d8585eded6359f1d7e1981e96ae775efd077c638
* eval.c: set_selfdict(): Fix invalid memory access.Justin M. Keyes2016-12-14
|
* Add some tests and cleanup.Michael Ennen2016-12-12
|
* Make partials work with jobs, timers, and dictwatchers.Björn Linse2016-12-12
|
* Fixes.Michael Ennen2016-12-12
|