mirror of
https://github.com/vim/vim.git
synced 2025-09-27 04:14:06 -04:00
updated for version 7.0-077
This commit is contained in:
22
src/eval.c
22
src/eval.c
@@ -701,6 +701,7 @@ static void list_one_var __ARGS((dictitem_T *v, char_u *prefix));
|
|||||||
static void list_one_var_a __ARGS((char_u *prefix, char_u *name, int type, char_u *string));
|
static void list_one_var_a __ARGS((char_u *prefix, char_u *name, int type, char_u *string));
|
||||||
static void set_var __ARGS((char_u *name, typval_T *varp, int copy));
|
static void set_var __ARGS((char_u *name, typval_T *varp, int copy));
|
||||||
static int var_check_ro __ARGS((int flags, char_u *name));
|
static int var_check_ro __ARGS((int flags, char_u *name));
|
||||||
|
static int var_check_fixed __ARGS((int flags, char_u *name));
|
||||||
static int tv_check_lock __ARGS((int lock, char_u *name));
|
static int tv_check_lock __ARGS((int lock, char_u *name));
|
||||||
static void copy_tv __ARGS((typval_T *from, typval_T *to));
|
static void copy_tv __ARGS((typval_T *from, typval_T *to));
|
||||||
static int item_copy __ARGS((typval_T *from, typval_T *to, int deep, int copyID));
|
static int item_copy __ARGS((typval_T *from, typval_T *to, int deep, int copyID));
|
||||||
@@ -3364,6 +3365,8 @@ do_unlet(name, forceit)
|
|||||||
hi = hash_find(ht, varname);
|
hi = hash_find(ht, varname);
|
||||||
if (!HASHITEM_EMPTY(hi))
|
if (!HASHITEM_EMPTY(hi))
|
||||||
{
|
{
|
||||||
|
if (var_check_fixed(HI2DI(hi)->di_flags, name))
|
||||||
|
return FAIL;
|
||||||
if (var_check_ro(HI2DI(hi)->di_flags, name))
|
if (var_check_ro(HI2DI(hi)->di_flags, name))
|
||||||
return FAIL;
|
return FAIL;
|
||||||
delete_var(ht, hi);
|
delete_var(ht, hi);
|
||||||
@@ -17818,7 +17821,7 @@ set_var(name, tv, copy)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Return TRUE if di_flags "flags" indicate read-only variable "name".
|
* Return TRUE if di_flags "flags" indicates variable "name" is read-only.
|
||||||
* Also give an error message.
|
* Also give an error message.
|
||||||
*/
|
*/
|
||||||
static int
|
static int
|
||||||
@@ -17839,6 +17842,23 @@ var_check_ro(flags, name)
|
|||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Return TRUE if di_flags "flags" indicates variable "name" is fixed.
|
||||||
|
* Also give an error message.
|
||||||
|
*/
|
||||||
|
static int
|
||||||
|
var_check_fixed(flags, name)
|
||||||
|
int flags;
|
||||||
|
char_u *name;
|
||||||
|
{
|
||||||
|
if (flags & DI_FLAGS_FIX)
|
||||||
|
{
|
||||||
|
EMSG2(_("E795: Cannot delete variable %s"), name);
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
return FALSE;
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Return TRUE if typeval "tv" is set to be locked (immutable).
|
* Return TRUE if typeval "tv" is set to be locked (immutable).
|
||||||
* Also give an error message, using "name".
|
* Also give an error message, using "name".
|
||||||
|
@@ -666,6 +666,8 @@ static char *(features[]) =
|
|||||||
|
|
||||||
static int included_patches[] =
|
static int included_patches[] =
|
||||||
{ /* Add new patch number below this line */
|
{ /* Add new patch number below this line */
|
||||||
|
/**/
|
||||||
|
77,
|
||||||
/**/
|
/**/
|
||||||
76,
|
76,
|
||||||
/**/
|
/**/
|
||||||
|
Reference in New Issue
Block a user