]> git.pld-linux.org Git - packages/vim.git/blame - 7.2.126
- new
[packages/vim.git] / 7.2.126
CommitLineData
78f27e33
AG
1To: vim-dev@vim.org
2Subject: Patch 7.2.126
3Fcc: outbox
4From: Bram Moolenaar <Bram@moolenaar.net>
5Mime-Version: 1.0
6Content-Type: text/plain; charset=ISO-8859-1
7Content-Transfer-Encoding: 8bit
8------------
9
10Patch 7.2.126
11Problem: When EXITFREE is defined signs are not freed.
12Solution: Free all signs on exit. Also free keymaps. (Dominique Pelle)
13Files: src/misc2.c, src/ex_cmds.c, src/proto/ex_cmds.pro
14
15
16*** ../vim-7.2.125/src/misc2.c Thu Jan 22 21:31:24 2009
17--- src/misc2.c Sun Feb 22 22:04:53 2009
18***************
19*** 1010,1015 ****
20--- 1010,1018 ----
21 # if defined(FEAT_PROFILE)
22 do_cmdline_cmd((char_u *)"profdel *");
23 # endif
24+ # if defined(FEAT_KEYMAP)
25+ do_cmdline_cmd((char_u *)"set keymap=");
26+ #endif
27
28 # ifdef FEAT_TITLE
29 free_titles();
30***************
31*** 1034,1039 ****
32--- 1037,1045 ----
33 free_regexp_stuff();
34 free_tag_stuff();
35 free_cd_dir();
36+ # ifdef FEAT_SIGNS
37+ free_signs();
38+ # endif
39 # ifdef FEAT_EVAL
40 set_expr_line(NULL);
41 # endif
42*** ../vim-7.2.125/src/ex_cmds.c Wed Feb 11 16:02:29 2009
43--- src/ex_cmds.c Sun Feb 22 22:07:08 2009
44***************
45*** 6541,6546 ****
46--- 6541,6547 ----
47 static int last_sign_typenr = MAX_TYPENR; /* is decremented */
48
49 static void sign_list_defined __ARGS((sign_T *sp));
50+ static void sign_undefine __ARGS((sign_T *sp, sign_T *sp_prev));
51
52 /*
53 * ":sign" command
54***************
55*** 6749,6772 ****
56 /* ":sign list {name}" */
57 sign_list_defined(sp);
58 else
59- {
60 /* ":sign undefine {name}" */
61! vim_free(sp->sn_name);
62! vim_free(sp->sn_icon);
63! #ifdef FEAT_SIGN_ICONS
64! if (sp->sn_image != NULL)
65! {
66! out_flush();
67! gui_mch_destroy_sign(sp->sn_image);
68! }
69! #endif
70! vim_free(sp->sn_text);
71! if (sp_prev == NULL)
72! first_sign = sp->sn_next;
73! else
74! sp_prev->sn_next = sp->sn_next;
75! vim_free(sp);
76! }
77 }
78 }
79 else
80--- 6750,6757 ----
81 /* ":sign list {name}" */
82 sign_list_defined(sp);
83 else
84 /* ":sign undefine {name}" */
85! sign_undefine(sp, sp_prev);
86 }
87 }
88 else
89***************
90*** 7015,7020 ****
91--- 7000,7030 ----
92 }
93
94 /*
95+ * Undefine a sign and free its memory.
96+ */
97+ static void
98+ sign_undefine(sp, sp_prev)
99+ sign_T *sp;
100+ sign_T *sp_prev;
101+ {
102+ vim_free(sp->sn_name);
103+ vim_free(sp->sn_icon);
104+ #ifdef FEAT_SIGN_ICONS
105+ if (sp->sn_image != NULL)
106+ {
107+ out_flush();
108+ gui_mch_destroy_sign(sp->sn_image);
109+ }
110+ #endif
111+ vim_free(sp->sn_text);
112+ if (sp_prev == NULL)
113+ first_sign = sp->sn_next;
114+ else
115+ sp_prev->sn_next = sp->sn_next;
116+ vim_free(sp);
117+ }
118+
119+ /*
120 * Get highlighting attribute for sign "typenr".
121 * If "line" is TRUE: line highl, if FALSE: text highl.
122 */
123***************
124*** 7088,7093 ****
125--- 7098,7115 ----
126 return (char_u *)_("[Deleted]");
127 }
128
129+ #if defined(EXITFREE) || defined(PROTO)
130+ /*
131+ * Undefine/free all signs.
132+ */
133+ void
134+ free_signs()
135+ {
136+ while (first_sign != NULL)
137+ sign_undefine(first_sign, NULL);
138+ }
139+ #endif
140+
141 #endif
142
143 #if defined(FEAT_GUI) || defined(FEAT_CLIENTSERVER) || defined(PROTO)
144*** ../vim-7.2.125/src/proto/ex_cmds.pro Sat Nov 15 14:10:23 2008
145--- src/proto/ex_cmds.pro Sun Feb 22 22:04:53 2009
146***************
147*** 40,45 ****
148--- 40,46 ----
149 int read_viminfo_sub_string __ARGS((vir_T *virp, int force));
150 void write_viminfo_sub_string __ARGS((FILE *fp));
151 void free_old_sub __ARGS((void));
152+ void free_signs __ARGS((void));
153 int prepare_tagpreview __ARGS((int undo_sync));
154 void ex_help __ARGS((exarg_T *eap));
155 char_u *check_help_lang __ARGS((char_u *arg));
156*** ../vim-7.2.125/src/version.c Tue Feb 24 04:11:07 2009
157--- src/version.c Tue Feb 24 04:24:46 2009
158***************
159*** 678,679 ****
160--- 678,681 ----
161 { /* Add new patch number below this line */
162+ /**/
163+ 126,
164 /**/
165
166--
167hundred-and-one symptoms of being an internet addict:
168125. You begin to wonder how often it REALLY is necessary to get up
169 and shower or bathe.
170
171 /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\
172/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
173\\\ download, build and distribute -- http://www.A-A-P.org ///
174 \\\ help me help AIDS victims -- http://ICCF-Holland.org ///
This page took 0.038179 seconds and 4 git commands to generate.