]>
Commit | Line | Data |
---|---|---|
6f27073b AG |
1 | To: vim-dev@vim.org |
2 | Subject: Patch 7.0.025 | |
3 | Fcc: outbox | |
4 | From: Bram Moolenaar <Bram@moolenaar.net> | |
5 | Mime-Version: 1.0 | |
6 | Content-Type: text/plain; charset=ISO-8859-1 | |
7 | Content-Transfer-Encoding: 8bit | |
8 | ------------ | |
9 | ||
10 | Patch 7.0.025 | |
11 | Problem: Crash when removing an element of a:000. (Nikolai Weibull) | |
12 | Solution: Mark the a:000 list with VAR_FIXED. | |
13 | Files: src/eval.c | |
14 | ||
15 | ||
16 | *** ../vim-7.0.024/src/eval.c Thu Jun 22 17:33:49 2006 | |
17 | --- src/eval.c Thu Jun 22 17:56:50 2006 | |
18 | *************** | |
19 | *** 13250,13256 **** | |
20 | if (argvars[2].v_type != VAR_UNKNOWN) | |
21 | EMSG2(_(e_toomanyarg), "remove()"); | |
22 | else if ((d = argvars[0].vval.v_dict) != NULL | |
23 | ! && !tv_check_lock(d->dv_lock, (char_u *)"remove()")) | |
24 | { | |
25 | key = get_tv_string_chk(&argvars[1]); | |
26 | if (key != NULL) | |
27 | --- 13254,13260 ---- | |
28 | if (argvars[2].v_type != VAR_UNKNOWN) | |
29 | EMSG2(_(e_toomanyarg), "remove()"); | |
30 | else if ((d = argvars[0].vval.v_dict) != NULL | |
31 | ! && !tv_check_lock(d->dv_lock, (char_u *)"remove() argument")) | |
32 | { | |
33 | key = get_tv_string_chk(&argvars[1]); | |
34 | if (key != NULL) | |
35 | *************** | |
36 | *** 13270,13276 **** | |
37 | else if (argvars[0].v_type != VAR_LIST) | |
38 | EMSG2(_(e_listdictarg), "remove()"); | |
39 | else if ((l = argvars[0].vval.v_list) != NULL | |
40 | ! && !tv_check_lock(l->lv_lock, (char_u *)"remove()")) | |
41 | { | |
42 | int error = FALSE; | |
43 | ||
44 | --- 13274,13280 ---- | |
45 | else if (argvars[0].v_type != VAR_LIST) | |
46 | EMSG2(_(e_listdictarg), "remove()"); | |
47 | else if ((l = argvars[0].vval.v_list) != NULL | |
48 | ! && !tv_check_lock(l->lv_lock, (char_u *)"remove() argument")) | |
49 | { | |
50 | int error = FALSE; | |
51 | ||
52 | *************** | |
53 | *** 19693,19698 **** | |
54 | --- 19697,19703 ---- | |
55 | v->di_tv.vval.v_list = &fc.l_varlist; | |
56 | vim_memset(&fc.l_varlist, 0, sizeof(list_T)); | |
57 | fc.l_varlist.lv_refcount = 99999; | |
58 | + fc.l_varlist.lv_lock = VAR_FIXED; | |
59 | ||
60 | /* | |
61 | * Set a:firstline to "firstline" and a:lastline to "lastline". | |
62 | *** ../vim-7.0.024/src/version.c Thu Jun 22 17:33:49 2006 | |
63 | --- src/version.c Thu Jun 22 17:59:17 2006 | |
64 | *************** | |
65 | *** 668,669 **** | |
66 | --- 668,671 ---- | |
67 | { /* Add new patch number below this line */ | |
68 | + /**/ | |
69 | + 25, | |
70 | /**/ | |
71 | ||
72 | -- | |
73 | BRIDGEKEEPER: What is your favorite colour? | |
74 | GAWAIN: Blue ... No yelloooooww! | |
75 | "Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD | |
76 | ||
77 | /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ | |
78 | /// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ | |
79 | \\\ download, build and distribute -- http://www.A-A-P.org /// | |
80 | \\\ help me help AIDS victims -- http://ICCF-Holland.org /// |