diff src/eval.c @ 1493:3c17132458a1 v7.1.208

updated for version 7.1-208
author vimboss
date Sat, 05 Jan 2008 21:16:31 +0000
parents 0f3f3090491f
children 29c09fa57168
line wrap: on
line diff
--- a/src/eval.c
+++ b/src/eval.c
@@ -3407,6 +3407,7 @@ do_unlet(name, forceit)
     hashtab_T	*ht;
     hashitem_T	*hi;
     char_u	*varname;
+    dictitem_T	*di;
 
     ht = find_var_ht(name, &varname);
     if (ht != NULL && *varname != NUL)
@@ -3414,9 +3415,9 @@ do_unlet(name, forceit)
 	hi = hash_find(ht, varname);
 	if (!HASHITEM_EMPTY(hi))
 	{
-	    if (var_check_fixed(HI2DI(hi)->di_flags, name))
-		return FAIL;
-	    if (var_check_ro(HI2DI(hi)->di_flags, name))
+	    di = HI2DI(hi);
+	    if (var_check_fixed(di->di_flags, name)
+		    || var_check_ro(di->di_flags, name))
 		return FAIL;
 	    delete_var(ht, hi);
 	    return OK;