aboutsummaryrefslogtreecommitdiff
path: root/src/nvim/eval.c
Commit message (Collapse)AuthorAge
...
| * 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
|
* vim-patch:7.4.1875Michael Ennen2016-12-12
| | | | | | | | Problem: Comparing functions and partials doesn't work well. Solution: Add tests. (Nikolai Pavlov) Compare the dict and arguments in the partial. https://github.com/vim/vim/commit/8e759ba8651428995b338b66c615367259f79766
* vim-patch:7.4.1842Michael Ennen2016-12-12
| | | | | | | Problem: get() works for Partial but not for Funcref. Solution: Accept Funcref. Also return the function itself. (Nikolai Pavlov) https://github.com/vim/vim/commit/03e19a04ac2ca55643663b97b6ab94043233dcbd
* vim-patch:7.4.1839Michael Ennen2016-12-12
| | | | | | | Problem: Cannot get the items stored in a partial. Solution: Support using get() on a partial. https://github.com/vim/vim/commit/2bbf8eff6fab16d86e7bcfc0da1962d31bec7891
* vim-patch:7.4.1836Michael Ennen2016-12-12
| | | | | | | | | Problem: When using a partial on a dictionary it always gets bound to that dictionary. Solution: Make a difference between binding a function to a dictionary explicitly or automatically. https://github.com/vim/vim/commit/1d429610bf9e99a6252be8abbc910d6667e4d1da
* vim-patch:7.4.1719Michael Ennen2016-12-12
| | | | | | | | | | Problem: Leaking memory when there is a cycle involving a job and a partial. Solution: Add a copyID to job and channel. Set references in items referred by them. Go through all jobs and channels to find unreferenced items. Also, decrement reference counts when garbage collecting. https://github.com/vim/vim/commit/107e1eef1df3b786ad3ad49fbdb9e058649303b5
* vim-patch:7.4.1718Michael Ennen2016-12-12
| | | | | | | Problem: Coverity: not using return value of set_ref_in_item(). Solution: Use the return value. https://github.com/vim/vim/commit/d56374e25df0b317b01423a01f158157faa647fa
* vim-patch:7.4.1715Michael Ennen2016-12-12
| | | | | | | | Problem: Double free when a partial is in a cycle with a list or dict. (Nikolai Pavlov) Solution: Do not free a nested list or dict used by the partial. https://github.com/vim/vim/commit/ddecc25947dbdd689d5bcaed32f298a08abdd497
* vim-patch:7.4.1645Michael Ennen2016-12-12
| | | | | | | | Problem: When a dict contains a partial it can't be redefined as a function. (Nikolai Pavlov) Solution: Remove the partial when overwriting with a function. https://github.com/vim/vim/commit/c5fbe8af4cd80789f831b78aa44ff0b238138769
* vim-patch:7.4.1639Michael Ennen2016-12-12
| | | | | | | Problem: Invoking garbage collection may cause a double free. Solution: Don't free the dict in a partial when recursive is FALSE. https://github.com/vim/vim/commit/5f436fcf9960c95702820d5ac1b8b612995f6c04
* vim-patch:7.4.1638Michael Ennen2016-12-12
| | | | | | | | Problem: When binding a function to a dict the reference count is wrong. Solution: Decrement dict reference count, only reference the function when actually making a copy. (Ken Takata) https://github.com/vim/vim/commit/e4eb6ff089e79e659acf33c17dd0fda7177de526
* vim-patch:7.4.1607Michael Ennen2016-12-12
| | | | | | | | Problem: Comparing a function that exists on two dicts is not backwards compatible. (Thinca) Solution: Only compare the function, not what the partial adds. https://github.com/vim/vim/commit/f0e86a0dbddc18568910e9e4aaae0cd88ca8087a
* vim-patch:7.4.1606Michael Ennen2016-12-12
| | | | | | | | Problem: Having type() handle a Funcref that is or isn't a partial differently causes problems for existing scripts. Solution: Make type() return the same value. (Thinca) https://github.com/vim/vim/commit/953cc7fb139dc2ba8590f8b03a095b63f4e1208f
* vim-patch:7.4.1590Michael Ennen2016-12-12
| | | | | | | Problem: Warning for shadowed variable. (Christian Brabandt) Solution: Move the variable into a local block. https://github.com/vim/vim/commit/3f242a844e83a5a04943869f6e3bcbf8650dc465