Hi, On Mon, Sep 2, 2019 at 9:43 PM itchyny <[email protected]> wrote: > > Instructions: Replace the template text and remove irrelevant text (including > this line) > > Describe the bug > There're still some crash cases with nested map/filter functions. >
I am attaching a patch that reverts the logic for setting the v:
variable type and value
back to the one before 8.1.1939. This fixes the crash reported here.
- Yegappan
> To Reproduce
> Detailed steps to reproduce the behavior:
>
> Run vim --clean (or gvim --clean, etc.)
> Execute :echo map({'x':{'y':1}}, 'map(v:val, "2")')
> Vim dies with SIGABRT
>
> Expected behavior
> No SIGABRT happens, echoes {'x': {'y': 2}}.
>
> Screenshots
> If applicable, copy/paste the text or add screenshots to help explain your
> problem.
>
> Environment (please complete the following information):
>
> Vim version v8.1.1967 (current latest HEAD)
> OS: macOS 10.14
> Terminal: iTerm2
>
> Additional context
> This resembles #4888 but different report (because this reproduces with
> v8.1.1967).
> Replacing map with filter also reproduce the crash.
> I git-bisected the repository and the bad commit was;
>
> e5cdf153bcb348c68011b308c8988cea42d6ddeb is the first bad commit
> commit e5cdf153bcb348c68011b308c8988cea42d6ddeb
> Author: Bram Moolenaar <[email protected]>
> Date: Thu Aug 29 22:09:46 2019 +0200
>
> patch 8.1.1939: code for handling v: variables in generic eval file
>
> Problem: Code for handling v: variables in generic eval file.
> Solution: Move v: variables to evalvars.c. (Yegappan Lakshmanan,
> closes #4872)
>
> src/eval.c | 1041
> +-----------------------------------------------
> src/evalvars.c | 1028
> ++++++++++++++++++++++++++++++++++++++++++++++-
> src/proto/eval.pro | 34 +-
> src/proto/evalvars.pro | 34 ++
> src/version.c | 2 +
> 5 files changed, 1077 insertions(+), 1062 deletions(-)
>
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/vim_dev/CAAW7x7nctBvWt3reNsL44gFOTjfkRrFROWAmXqfZ1dKyixbRxQ%40mail.gmail.com.
evalvars_crash.diff
Description: Binary data
