diff -up vim72/src/eval.c.rh514717 vim72/src/eval.c
--- vim72/src/eval.c.rh514717	2009-08-03 16:15:42.882375154 +0200
+++ vim72/src/eval.c	2009-08-03 16:34:14.863381780 +0200
@@ -286,13 +286,12 @@ typedef struct
 #define VV_RO		2	/* read-only */
 #define VV_RO_SBX	4	/* read-only in the sandbox */
 
-#define VV_NAME(s, t)	s, {{t, 0, {0}}, 0, {0}}, {0}
+#define VV_NAME(s, t)	s, {{t, 0, {0}}, 0, {0}}
 
 static struct vimvar
 {
     char	*vv_name;	/* name of variable, without v: */
     dictitem_T	vv_di;		/* value and name for key */
-    char	vv_filler[16];	/* space for LONGEST name below!!! */
     char	vv_flags;	/* VV_COMPAT, VV_RO, VV_RO_SBX */
 } vimvars[VV_LEN] =
 {
diff -up vim72/src/structs.h.rh514717 vim72/src/structs.h
--- vim72/src/structs.h.rh514717	2009-08-03 16:33:35.274870950 +0200
+++ vim72/src/structs.h	2009-08-03 16:33:48.607436706 +0200
@@ -1095,7 +1095,7 @@ struct dictitem_S
 {
     typval_T	di_tv;		/* type and value of the variable */
     char_u	di_flags;	/* flags (only used for variable) */
-    char_u	di_key[10];	/* key (actually longer!) */
+    char_u	di_key[18];	/* key */
 };
 
 typedef struct dictitem_S dictitem_T;
