summaryrefslogtreecommitdiff
path: root/src/eval.c
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2017-02-21 20:47:13 +0100
committerBram Moolenaar <Bram@vim.org>2017-02-21 20:47:13 +0100
commit3a257737726ba42980bf38ec9a0c80944756af24 (patch)
tree50b92f3fe26f48d34d7c5f49b305337c499c347d /src/eval.c
parent49439c4cdf7d2822255f292adda4226656fe144d (diff)
downloadvim-3a257737726ba42980bf38ec9a0c80944756af24.zip
patch 8.0.0345: islocked('d.changedtick') does not work
Problem: islocked('d.changedtick') does not work. Solution: Make it work.
Diffstat (limited to 'src/eval.c')
-rw-r--r--src/eval.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/eval.c b/src/eval.c
index b835af8e3..c4154d01d 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1811,6 +1811,7 @@ ex_let_one(
*
* flags:
* GLV_QUIET: do not give error messages
+ * GLV_READ_ONLY: will not change the variable
* GLV_NO_AUTOLOAD: do not use script autoloading
*
* Returns a pointer to just after the name, including indexes.
@@ -2078,7 +2079,8 @@ get_lval(
break;
}
/* existing variable, need to check if it can be changed */
- else if (var_check_ro(lp->ll_di->di_flags, name, FALSE))
+ else if ((flags & GLV_READ_ONLY) == 0
+ && var_check_ro(lp->ll_di->di_flags, name, FALSE))
{
clear_tv(&var1);
return NULL;