Mercurial > vim
comparison src/eval.c @ 28775:7fd3a9f05037 v8.2.4912
patch 8.2.4912: using execute() to define a lambda doesn't work
Commit: https://github.com/vim/vim/commit/a7583c42cd6b64fd276a5d7bb0db5ce7bfafa730
Author: Bram Moolenaar <Bram@vim.org>
Date: Sat May 7 21:14:05 2022 +0100
patch 8.2.4912: using execute() to define a lambda doesn't work
Problem: Using execute() to define a lambda doesn't work. (Ernie Rael)
Solution: Put the getline function in evalarg. (closes https://github.com/vim/vim/issues/10375)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Sat, 07 May 2022 22:15:03 +0200 |
parents | 67f005ab37d7 |
children | 3626ca6a20ea |
comparison
equal
deleted
inserted
replaced
28774:238e79812a48 | 28775:7fd3a9f05037 |
---|---|
138 init_evalarg(evalarg); | 138 init_evalarg(evalarg); |
139 evalarg->eval_flags = skip ? 0 : EVAL_EVALUATE; | 139 evalarg->eval_flags = skip ? 0 : EVAL_EVALUATE; |
140 if (eap != NULL) | 140 if (eap != NULL) |
141 { | 141 { |
142 evalarg->eval_cstack = eap->cstack; | 142 evalarg->eval_cstack = eap->cstack; |
143 if (sourcing_a_script(eap)) | 143 if (sourcing_a_script(eap) || eap->getline == get_list_line) |
144 { | 144 { |
145 evalarg->eval_getline = eap->getline; | 145 evalarg->eval_getline = eap->getline; |
146 evalarg->eval_cookie = eap->cookie; | 146 evalarg->eval_cookie = eap->cookie; |
147 } | 147 } |
148 } | 148 } |