Mercurial > vim
comparison src/vim9compile.c @ 31770:8d2bfc85e3c5 v9.0.1217
patch 9.0.1217: using an object member in a closure doesn't work
Commit: https://github.com/vim/vim/commit/486fc25a295464d107264b63997bdbe3745e3c71
Author: Bram Moolenaar <Bram@vim.org>
Date: Wed Jan 18 14:51:07 2023 +0000
patch 9.0.1217: using an object member in a closure doesn't work
Problem: Using an object member in a closure doesn't work.
Solution: Initialize lv_loop_depth. (closes https://github.com/vim/vim/issues/11840)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Wed, 18 Jan 2023 16:00:06 +0100 |
parents | 85f93e094810 |
children | 1009c33499e7 |
comparison
equal
deleted
inserted
replaced
31769:a169126bf2a3 | 31770:8d2bfc85e3c5 |
---|---|
64 } | 64 } |
65 } | 65 } |
66 if (lvar != NULL) | 66 if (lvar != NULL) |
67 { | 67 { |
68 CLEAR_POINTER(lvar); | 68 CLEAR_POINTER(lvar); |
69 lvar->lv_loop_depth = -1; | |
69 lvar->lv_name = (char_u *)(is_super ? "super" : "this"); | 70 lvar->lv_name = (char_u *)(is_super ? "super" : "this"); |
70 if (cctx->ctx_ufunc->uf_class != NULL) | 71 if (cctx->ctx_ufunc->uf_class != NULL) |
71 { | 72 { |
72 lvar->lv_type = &cctx->ctx_ufunc->uf_class->class_object_type; | 73 lvar->lv_type = &cctx->ctx_ufunc->uf_class->class_object_type; |
73 if (is_super) | 74 if (is_super) |