comparison src/structs.h @ 3687:085f14642fe8 v7.3.603

updated for version 7.3.603 Problem: It is possible to add replace builtin functions by calling extend() on g:. Solution: Add a flag to a dict to indicate it is a scope. Check for existing functions. (ZyX)
author Bram Moolenaar <bram@vim.org>
date Mon, 16 Jul 2012 17:31:53 +0200
parents e7ff3251dfa1
children dc3efb6d5a08
comparison
equal deleted inserted replaced
3686:612cfb8dc628 3687:085f14642fe8
1104 #define VAR_FUNC 3 /* "v_string" is function name */ 1104 #define VAR_FUNC 3 /* "v_string" is function name */
1105 #define VAR_LIST 4 /* "v_list" is used */ 1105 #define VAR_LIST 4 /* "v_list" is used */
1106 #define VAR_DICT 5 /* "v_dict" is used */ 1106 #define VAR_DICT 5 /* "v_dict" is used */
1107 #define VAR_FLOAT 6 /* "v_float" is used */ 1107 #define VAR_FLOAT 6 /* "v_float" is used */
1108 1108
1109 /* Values for "dv_scope". */
1110 #define VAR_SCOPE 1 /* a:, v:, s:, etc. scope dictionaries */
1111 #define VAR_DEF_SCOPE 2 /* l:, g: scope dictionaries: here funcrefs are not
1112 allowed to mask existing functions */
1113
1109 /* Values for "v_lock". */ 1114 /* Values for "v_lock". */
1110 #define VAR_LOCKED 1 /* locked with lock(), can use unlock() */ 1115 #define VAR_LOCKED 1 /* locked with lock(), can use unlock() */
1111 #define VAR_FIXED 2 /* locked forever */ 1116 #define VAR_FIXED 2 /* locked forever */
1112 1117
1113 /* 1118 /*
1179 int dv_refcount; /* reference count */ 1184 int dv_refcount; /* reference count */
1180 hashtab_T dv_hashtab; /* hashtab that refers to the items */ 1185 hashtab_T dv_hashtab; /* hashtab that refers to the items */
1181 int dv_copyID; /* ID used by deepcopy() */ 1186 int dv_copyID; /* ID used by deepcopy() */
1182 dict_T *dv_copydict; /* copied dict used by deepcopy() */ 1187 dict_T *dv_copydict; /* copied dict used by deepcopy() */
1183 char dv_lock; /* zero, VAR_LOCKED, VAR_FIXED */ 1188 char dv_lock; /* zero, VAR_LOCKED, VAR_FIXED */
1189 char dv_scope; /* zero, VAR_SCOPE, VAR_DEF_SCOPE */
1184 dict_T *dv_used_next; /* next dict in used dicts list */ 1190 dict_T *dv_used_next; /* next dict in used dicts list */
1185 dict_T *dv_used_prev; /* previous dict in used dicts list */ 1191 dict_T *dv_used_prev; /* previous dict in used dicts list */
1186 }; 1192 };
1187 1193
1188 /* values for b_syn_spell: what to do with toplevel text */ 1194 /* values for b_syn_spell: what to do with toplevel text */