Mercurial > vim
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 */ |