Mercurial > vim
comparison src/vim9execute.c @ 24305:c88d0b5c5a42 v8.2.2693
patch 8.2.2693: Vim9: locked script variable can be changed
Commit: https://github.com/vim/vim/commit/dcf29ac87f4d7a62c503ba6de0d92c7779446bf2
Author: Bram Moolenaar <Bram@vim.org>
Date: Fri Apr 2 14:44:02 2021 +0200
patch 8.2.2693: Vim9: locked script variable can be changed
Problem: Vim9: locked script variable can be changed.
Solution: Check legacy script variable for being locked. (issue https://github.com/vim/vim/issues/8031)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Fri, 02 Apr 2021 14:45:07 +0200 |
parents | 17b49af76766 |
children | 52a0e187264b |
comparison
equal
deleted
inserted
replaced
24304:a78acfe60b4e | 24305:c88d0b5c5a42 |
---|---|
1940 --ectx.ec_stack.ga_len; | 1940 --ectx.ec_stack.ga_len; |
1941 if (di == NULL) | 1941 if (di == NULL) |
1942 store_var(name, STACK_TV_BOT(0)); | 1942 store_var(name, STACK_TV_BOT(0)); |
1943 else | 1943 else |
1944 { | 1944 { |
1945 SOURCING_LNUM = iptr->isn_lnum; | |
1946 if (var_check_permission(di, name) == FAIL) | |
1947 goto on_error; | |
1945 clear_tv(&di->di_tv); | 1948 clear_tv(&di->di_tv); |
1946 di->di_tv = *STACK_TV_BOT(0); | 1949 di->di_tv = *STACK_TV_BOT(0); |
1947 } | 1950 } |
1948 } | 1951 } |
1949 break; | 1952 break; |