comparison src/eval.c @ 10912:fd1760f8c215 v8.0.0345

patch 8.0.0345: islocked('d.changedtick') does not work commit https://github.com/vim/vim/commit/3a257737726ba42980bf38ec9a0c80944756af24 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Feb 21 20:47:13 2017 +0100 patch 8.0.0345: islocked('d.changedtick') does not work Problem: islocked('d.changedtick') does not work. Solution: Make it work.
author Christian Brabandt <cb@256bit.org>
date Tue, 21 Feb 2017 21:00:04 +0100
parents 8bff367672a4
children 7dab3a9cb933
comparison
equal deleted inserted replaced
10911:09f200404633 10912:fd1760f8c215
1809 * "unlet" is TRUE for ":unlet": slightly different behavior when something is 1809 * "unlet" is TRUE for ":unlet": slightly different behavior when something is
1810 * wrong; must end in space or cmd separator. 1810 * wrong; must end in space or cmd separator.
1811 * 1811 *
1812 * flags: 1812 * flags:
1813 * GLV_QUIET: do not give error messages 1813 * GLV_QUIET: do not give error messages
1814 * GLV_READ_ONLY: will not change the variable
1814 * GLV_NO_AUTOLOAD: do not use script autoloading 1815 * GLV_NO_AUTOLOAD: do not use script autoloading
1815 * 1816 *
1816 * Returns a pointer to just after the name, including indexes. 1817 * Returns a pointer to just after the name, including indexes.
1817 * When an evaluation error occurs "lp->ll_name" is NULL; 1818 * When an evaluation error occurs "lp->ll_name" is NULL;
1818 * Returns NULL for a parsing error. Still need to free items in "lp"! 1819 * Returns NULL for a parsing error. Still need to free items in "lp"!
2076 if (lp->ll_newkey == NULL) 2077 if (lp->ll_newkey == NULL)
2077 p = NULL; 2078 p = NULL;
2078 break; 2079 break;
2079 } 2080 }
2080 /* existing variable, need to check if it can be changed */ 2081 /* existing variable, need to check if it can be changed */
2081 else if (var_check_ro(lp->ll_di->di_flags, name, FALSE)) 2082 else if ((flags & GLV_READ_ONLY) == 0
2083 && var_check_ro(lp->ll_di->di_flags, name, FALSE))
2082 { 2084 {
2083 clear_tv(&var1); 2085 clear_tv(&var1);
2084 return NULL; 2086 return NULL;
2085 } 2087 }
2086 2088