summaryrefslogtreecommitdiffstats
path: root/source/ap/vim/patches/7.3.603
diff options
context:
space:
mode:
author Patrick J Volkerding <volkerdi@slackware.com>2013-11-04 17:08:47 +0000
committer Eric Hameleers <alien@slackware.com>2018-05-31 22:57:36 +0200
commit76fc4757ac91ac7947a01fb7b53dddf9a78a01d1 (patch)
tree9b98e6e193c7870cb27ac861394c1c4592850922 /source/ap/vim/patches/7.3.603
parent9664bee729d487bcc0a0bc35859f8e13d5421c75 (diff)
downloadcurrent-76fc4757ac91ac7947a01fb7b53dddf9a78a01d1.tar.gz
current-76fc4757ac91ac7947a01fb7b53dddf9a78a01d1.tar.xz
Slackware 14.1slackware-14.1
Mon Nov 4 17:08:47 UTC 2013 Slackware 14.1 x86_64 stable is released! It's been another interesting release cycle here at Slackware bringing new features like support for UEFI machines, updated compilers and development tools, the switch from MySQL to MariaDB, and many more improvements throughout the system. Thanks to the team, the upstream developers, the dedicated Slackware community, and everyone else who pitched in to help make this release a reality. The ISOs are off to be replicated, a 6 CD-ROM 32-bit set and a dual-sided 32-bit/64-bit x86/x86_64 DVD. Please consider supporting the Slackware project by picking up a copy from store.slackware.com. We're taking pre-orders now, and offer a discount if you sign up for a subscription. Have fun! :-)
Diffstat (limited to 'source/ap/vim/patches/7.3.603')
-rw-r--r--source/ap/vim/patches/7.3.603370
1 files changed, 0 insertions, 370 deletions
diff --git a/source/ap/vim/patches/7.3.603 b/source/ap/vim/patches/7.3.603
deleted file mode 100644
index 00a024b0a..000000000
--- a/source/ap/vim/patches/7.3.603
+++ /dev/null
@@ -1,370 +0,0 @@
-To: vim_dev@googlegroups.com
-Subject: Patch 7.3.603
-Fcc: outbox
-From: Bram Moolenaar <Bram@moolenaar.net>
-Mime-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-------------
-
-Patch 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)
-Files: src/buffer.c, src/eval.c, src/proto/eval.pro, src/structs.h,
- src/testdir/test34.in, src/testdir/test34.ok, src/window.c
-
-
-*** ../vim-7.3.602/src/buffer.c 2012-07-10 15:18:18.000000000 +0200
---- src/buffer.c 2012-07-16 16:52:58.000000000 +0200
-***************
-*** 1747,1753 ****
- buf->b_wininfo->wi_win = curwin;
-
- #ifdef FEAT_EVAL
-! init_var_dict(&buf->b_vars, &buf->b_bufvar); /* init b: variables */
- #endif
- #ifdef FEAT_SYN_HL
- hash_init(&buf->b_s.b_keywtab);
---- 1747,1754 ----
- buf->b_wininfo->wi_win = curwin;
-
- #ifdef FEAT_EVAL
-! /* init b: variables */
-! init_var_dict(&buf->b_vars, &buf->b_bufvar, VAR_SCOPE);
- #endif
- #ifdef FEAT_SYN_HL
- hash_init(&buf->b_s.b_keywtab);
-*** ../vim-7.3.602/src/eval.c 2012-07-10 13:41:09.000000000 +0200
---- src/eval.c 2012-07-16 17:18:11.000000000 +0200
-***************
-*** 850,857 ****
- int i;
- struct vimvar *p;
-
-! init_var_dict(&globvardict, &globvars_var);
-! init_var_dict(&vimvardict, &vimvars_var);
- vimvardict.dv_lock = VAR_FIXED;
- hash_init(&compat_hashtab);
- hash_init(&func_hashtab);
---- 850,857 ----
- int i;
- struct vimvar *p;
-
-! init_var_dict(&globvardict, &globvars_var, VAR_DEF_SCOPE);
-! init_var_dict(&vimvardict, &vimvars_var, VAR_SCOPE);
- vimvardict.dv_lock = VAR_FIXED;
- hash_init(&compat_hashtab);
- hash_init(&func_hashtab);
-***************
-*** 2725,2738 ****
- lp->ll_dict = lp->ll_tv->vval.v_dict;
- lp->ll_di = dict_find(lp->ll_dict, key, len);
-
-! /* When assigning to g: check that a function and variable name is
-! * valid. */
-! if (rettv != NULL && lp->ll_dict == &globvardict)
- {
-! if (rettv->v_type == VAR_FUNC
- && var_check_func_name(key, lp->ll_di == NULL))
-! return NULL;
-! if (!valid_varname(key))
- return NULL;
- }
-
---- 2725,2750 ----
- lp->ll_dict = lp->ll_tv->vval.v_dict;
- lp->ll_di = dict_find(lp->ll_dict, key, len);
-
-! /* When assigning to a scope dictionary check that a function and
-! * variable name is valid (only variable name unless it is l: or
-! * g: dictionary). Disallow overwriting a builtin function. */
-! if (rettv != NULL && lp->ll_dict->dv_scope != 0)
- {
-! int prevval;
-! int wrong;
-!
-! if (len != -1)
-! {
-! prevval = key[len];
-! key[len] = NUL;
-! }
-! wrong = (lp->ll_dict->dv_scope == VAR_DEF_SCOPE
-! && rettv->v_type == VAR_FUNC
- && var_check_func_name(key, lp->ll_di == NULL))
-! || !valid_varname(key);
-! if (len != -1)
-! key[len] = prevval;
-! if (wrong)
- return NULL;
- }
-
-***************
-*** 6951,6957 ****
- d = (dict_T *)alloc(sizeof(dict_T));
- if (d != NULL)
- {
-! /* Add the list to the list of dicts for garbage collection. */
- if (first_dict != NULL)
- first_dict->dv_used_prev = d;
- d->dv_used_next = first_dict;
---- 6963,6969 ----
- d = (dict_T *)alloc(sizeof(dict_T));
- if (d != NULL)
- {
-! /* Add the dict to the list of dicts for garbage collection. */
- if (first_dict != NULL)
- first_dict->dv_used_prev = d;
- d->dv_used_next = first_dict;
-***************
-*** 6960,6965 ****
---- 6972,6978 ----
-
- hash_init(&d->dv_hashtab);
- d->dv_lock = 0;
-+ d->dv_scope = 0;
- d->dv_refcount = 0;
- d->dv_copyID = 0;
- }
-***************
-*** 10203,10208 ****
---- 10216,10234 ----
- {
- --todo;
- di1 = dict_find(d1, hi2->hi_key, -1);
-+ if (d1->dv_scope != 0)
-+ {
-+ /* Disallow replacing a builtin function in l: and g:.
-+ * Check the key to be valid when adding to any
-+ * scope. */
-+ if (d1->dv_scope == VAR_DEF_SCOPE
-+ && HI2DI(hi2)->di_tv.v_type == VAR_FUNC
-+ && var_check_func_name(hi2->hi_key,
-+ di1 == NULL))
-+ break;
-+ if (!valid_varname(hi2->hi_key))
-+ break;
-+ }
- if (di1 == NULL)
- {
- di1 = dictitem_copy(HI2DI(hi2));
-***************
-*** 20027,20033 ****
- {
- sv = SCRIPT_SV(ga_scripts.ga_len + 1) =
- (scriptvar_T *)alloc_clear(sizeof(scriptvar_T));
-! init_var_dict(&sv->sv_dict, &sv->sv_var);
- ++ga_scripts.ga_len;
- }
- }
---- 20053,20059 ----
- {
- sv = SCRIPT_SV(ga_scripts.ga_len + 1) =
- (scriptvar_T *)alloc_clear(sizeof(scriptvar_T));
-! init_var_dict(&sv->sv_dict, &sv->sv_var, VAR_SCOPE);
- ++ga_scripts.ga_len;
- }
- }
-***************
-*** 20038,20049 ****
- * point to it.
- */
- void
-! init_var_dict(dict, dict_var)
- dict_T *dict;
- dictitem_T *dict_var;
- {
- hash_init(&dict->dv_hashtab);
- dict->dv_lock = 0;
- dict->dv_refcount = DO_NOT_FREE_CNT;
- dict->dv_copyID = 0;
- dict_var->di_tv.vval.v_dict = dict;
---- 20064,20077 ----
- * point to it.
- */
- void
-! init_var_dict(dict, dict_var, scope)
- dict_T *dict;
- dictitem_T *dict_var;
-+ int scope;
- {
- hash_init(&dict->dv_hashtab);
- dict->dv_lock = 0;
-+ dict->dv_scope = scope;
- dict->dv_refcount = DO_NOT_FREE_CNT;
- dict->dv_copyID = 0;
- dict_var->di_tv.vval.v_dict = dict;
-***************
-*** 22304,22310 ****
- /*
- * Init l: variables.
- */
-! init_var_dict(&fc->l_vars, &fc->l_vars_var);
- if (selfdict != NULL)
- {
- /* Set l:self to "selfdict". Use "name" to avoid a warning from
---- 22332,22338 ----
- /*
- * Init l: variables.
- */
-! init_var_dict(&fc->l_vars, &fc->l_vars_var, VAR_DEF_SCOPE);
- if (selfdict != NULL)
- {
- /* Set l:self to "selfdict". Use "name" to avoid a warning from
-***************
-*** 22325,22331 ****
- * Set a:0 to "argcount".
- * Set a:000 to a list with room for the "..." arguments.
- */
-! init_var_dict(&fc->l_avars, &fc->l_avars_var);
- add_nr_var(&fc->l_avars, &fc->fixvar[fixvar_idx++].var, "0",
- (varnumber_T)(argcount - fp->uf_args.ga_len));
- /* Use "name" to avoid a warning from some compiler that checks the
---- 22353,22359 ----
- * Set a:0 to "argcount".
- * Set a:000 to a list with room for the "..." arguments.
- */
-! init_var_dict(&fc->l_avars, &fc->l_avars_var, VAR_SCOPE);
- add_nr_var(&fc->l_avars, &fc->fixvar[fixvar_idx++].var, "0",
- (varnumber_T)(argcount - fp->uf_args.ga_len));
- /* Use "name" to avoid a warning from some compiler that checks the
-*** ../vim-7.3.602/src/proto/eval.pro 2012-06-29 12:54:32.000000000 +0200
---- src/proto/eval.pro 2012-07-16 16:55:16.000000000 +0200
-***************
-*** 93,99 ****
- char_u *get_tv_string_chk __ARGS((typval_T *varp));
- char_u *get_var_value __ARGS((char_u *name));
- void new_script_vars __ARGS((scid_T id));
-! void init_var_dict __ARGS((dict_T *dict, dictitem_T *dict_var));
- void vars_clear __ARGS((hashtab_T *ht));
- void copy_tv __ARGS((typval_T *from, typval_T *to));
- void ex_echo __ARGS((exarg_T *eap));
---- 93,99 ----
- char_u *get_tv_string_chk __ARGS((typval_T *varp));
- char_u *get_var_value __ARGS((char_u *name));
- void new_script_vars __ARGS((scid_T id));
-! void init_var_dict __ARGS((dict_T *dict, dictitem_T *dict_var, int scope));
- void vars_clear __ARGS((hashtab_T *ht));
- void copy_tv __ARGS((typval_T *from, typval_T *to));
- void ex_echo __ARGS((exarg_T *eap));
-*** ../vim-7.3.602/src/structs.h 2012-06-06 19:02:40.000000000 +0200
---- src/structs.h 2012-07-16 16:56:43.000000000 +0200
-***************
-*** 1106,1111 ****
---- 1106,1116 ----
- #define VAR_DICT 5 /* "v_dict" is used */
- #define VAR_FLOAT 6 /* "v_float" is used */
-
-+ /* Values for "dv_scope". */
-+ #define VAR_SCOPE 1 /* a:, v:, s:, etc. scope dictionaries */
-+ #define VAR_DEF_SCOPE 2 /* l:, g: scope dictionaries: here funcrefs are not
-+ allowed to mask existing functions */
-+
- /* Values for "v_lock". */
- #define VAR_LOCKED 1 /* locked with lock(), can use unlock() */
- #define VAR_FIXED 2 /* locked forever */
-***************
-*** 1181,1186 ****
---- 1186,1192 ----
- int dv_copyID; /* ID used by deepcopy() */
- dict_T *dv_copydict; /* copied dict used by deepcopy() */
- char dv_lock; /* zero, VAR_LOCKED, VAR_FIXED */
-+ char dv_scope; /* zero, VAR_SCOPE, VAR_DEF_SCOPE */
- dict_T *dv_used_next; /* next dict in used dicts list */
- dict_T *dv_used_prev; /* previous dict in used dicts list */
- };
-*** ../vim-7.3.602/src/testdir/test34.in 2010-08-15 21:57:29.000000000 +0200
---- src/testdir/test34.in 2012-07-16 16:51:29.000000000 +0200
-***************
-*** 1,5 ****
---- 1,6 ----
- Test for user functions.
- Also test an <expr> mapping calling a function.
-+ Also test that a builtin function cannot be replaced.
-
- STARTTEST
- :so small.vim
-***************
-*** 58,64 ****
- ---*---
- (one
- (two
-! [(one again:$-5,$w! test.out
- :delfunc Table
- :delfunc Compute
- :delfunc Expr1
---- 59,68 ----
- ---*---
- (one
- (two
-! [(one again:call append(line('$'), max([1, 2, 3]))
-! :call extend(g:, {'max': function('min')})
-! :call append(line('$'), max([1, 2, 3]))
-! :$-7,$w! test.out
- :delfunc Table
- :delfunc Compute
- :delfunc Expr1
-*** ../vim-7.3.602/src/testdir/test34.ok 2011-10-12 22:02:07.000000000 +0200
---- src/testdir/test34.ok 2012-07-16 16:43:15.000000000 +0200
-***************
-*** 4,6 ****
---- 4,8 ----
- 1. one
- 2. two
- 1. one again
-+ 3
-+ 3
-*** ../vim-7.3.602/src/window.c 2012-07-06 18:27:34.000000000 +0200
---- src/window.c 2012-07-16 16:53:45.000000000 +0200
-***************
-*** 3468,3474 ****
- # endif
- #ifdef FEAT_EVAL
- /* init t: variables */
-! init_var_dict(&tp->tp_vars, &tp->tp_winvar);
- #endif
- tp->tp_ch_used = p_ch;
- }
---- 3468,3474 ----
- # endif
- #ifdef FEAT_EVAL
- /* init t: variables */
-! init_var_dict(&tp->tp_vars, &tp->tp_winvar, VAR_SCOPE);
- #endif
- tp->tp_ch_used = p_ch;
- }
-***************
-*** 4410,4416 ****
- #endif
- #ifdef FEAT_EVAL
- /* init w: variables */
-! init_var_dict(&new_wp->w_vars, &new_wp->w_winvar);
- #endif
- #ifdef FEAT_FOLDING
- foldInitWin(new_wp);
---- 4410,4416 ----
- #endif
- #ifdef FEAT_EVAL
- /* init w: variables */
-! init_var_dict(&new_wp->w_vars, &new_wp->w_winvar, VAR_SCOPE);
- #endif
- #ifdef FEAT_FOLDING
- foldInitWin(new_wp);
-*** ../vim-7.3.602/src/version.c 2012-07-16 17:27:57.000000000 +0200
---- src/version.c 2012-07-16 17:29:06.000000000 +0200
-***************
-*** 716,717 ****
---- 716,719 ----
- { /* Add new patch number below this line */
-+ /**/
-+ 603,
- /**/
-
---
-Birthdays are healthy. The more you have them, the longer you live.
-
- /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
-/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
-\\\ an exciting new programming language -- http://www.Zimbu.org ///
- \\\ help me help AIDS victims -- http://ICCF-Holland.org ///