Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Merged from the latest developing branch.

git-svn-id: https://vim.svn.sourceforge.net/svnroot/vim/trunk@1509 2a77ed30-b011-0410-a7ad-c7884a0aa172
  • Loading branch information...
commit f419c2c790829be4856acfc1e479f8e0cb0cc30b 1 parent 7718798
edyfox authored
1  Filelist
View
@@ -139,7 +139,6 @@ SRC_UNIX = \
src/INSTALL \
src/INSTALLx.txt \
src/Makefile \
- src/cleanlint.vim \
src/auto/configure \
src/config.aap.in \
src/config.h.in \
23 src/eval.c
View
@@ -286,7 +286,7 @@ typedef struct
#define VV_RO 2 /* read-only */
#define VV_RO_SBX 4 /* read-only in the sandbox */
-#define VV_NAME(s, t) s, {{t}}, {0}
+#define VV_NAME(s, t) s, {{t, 0, {0}}, 0, {0}}, {0}
static struct vimvar
{
@@ -6526,7 +6526,7 @@ garbage_collect()
/* Don't free variables in the previous_funccal list unless they are only
* referenced through previous_funccal. This must be first, because if
- * the item is referenced elsewhere it must not be freed. */
+ * the item is referenced elsewhere the funccal must not be freed. */
for (fc = previous_funccal; fc != NULL; fc = fc->caller)
{
set_ref_in_ht(&fc->l_vars.dv_hashtab, copyID + 1);
@@ -6564,10 +6564,14 @@ garbage_collect()
/* v: vars */
set_ref_in_ht(&vimvarht, copyID);
- /* Free lists and dictionaries that are not referenced. */
+ /*
+ * 2. Free lists and dictionaries that are not referenced.
+ */
did_free = free_unref_items(copyID);
- /* check if any funccal can be freed now */
+ /*
+ * 3. Check if any funccal can be freed now.
+ */
for (pfc = &previous_funccal; *pfc != NULL; )
{
if (can_free_funccal(*pfc, copyID))
@@ -9286,7 +9290,10 @@ f_deepcopy(argvars, rettv)
if (noref < 0 || noref > 1)
EMSG(_(e_invarg));
else
- item_copy(&argvars[0], rettv, TRUE, noref == 0 ? ++current_copyID : 0);
+ {
+ current_copyID += COPYID_INC;
+ item_copy(&argvars[0], rettv, TRUE, noref == 0 ? current_copyID : 0);
+ }
}
/*
@@ -18966,7 +18973,8 @@ list_one_var(v, prefix, first)
char_u *s;
char_u numbuf[NUMBUFLEN];
- s = echo_string(&v->di_tv, &tofree, numbuf, ++current_copyID);
+ current_copyID += COPYID_INC;
+ s = echo_string(&v->di_tv, &tofree, numbuf, current_copyID);
list_one_var_a(prefix, v->di_key, v->di_tv.v_type,
s == NULL ? (char_u *)"" : s, first);
vim_free(tofree);
@@ -19401,7 +19409,8 @@ ex_echo(eap)
}
else if (eap->cmdidx == CMD_echo)
msg_puts_attr((char_u *)" ", echo_attr);
- p = echo_string(&rettv, &tofree, numbuf, ++current_copyID);
+ current_copyID += COPYID_INC;
+ p = echo_string(&rettv, &tofree, numbuf, current_copyID);
if (p != NULL)
for ( ; *p != NUL && !got_int; ++p)
{
10 src/gui_gtk_x11.c
View
@@ -412,6 +412,7 @@ static const char *role_argument = NULL;
#endif
#if defined(FEAT_GUI_GNOME) && defined(FEAT_SESSION)
static const char *restart_command = NULL;
+static char *abs_restart_command = NULL;
#endif
static int found_iconic_arg = FALSE;
@@ -449,8 +450,10 @@ gui_mch_prepare(int *argc, char **argv)
char_u buf[MAXPATHL];
if (mch_FullName((char_u *)argv[0], buf, (int)sizeof(buf), TRUE) == OK)
- /* Tiny leak; doesn't matter, and usually we don't even get here */
- restart_command = (char *)vim_strsave(buf);
+ {
+ abs_restart_command = (char *)vim_strsave(buf);
+ restart_command = abs_restart_command;
+ }
}
#endif
@@ -611,6 +614,9 @@ gui_mch_prepare(int *argc, char **argv)
gui_mch_free_all()
{
vim_free(gui_argv);
+#if defined(FEAT_GUI_GNOME) && defined(FEAT_SESSION)
+ vim_free(abs_restart_command);
+#endif
}
#endif
2  src/msvc2008.bat
View
@@ -1,5 +1,7 @@
+@echo off
rem To be used on MS-Windows for Visual C++ 2008 Express Edition
rem aka Microsoft Visual Studio 9.0.
rem See INSTALLpc.txt for information.
+@echo on
call "%VS90COMNTOOLS%%vsvars32.bat"
10 src/version.c
View
@@ -677,6 +677,16 @@ static char *(features[]) =
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 196,
+/**/
+ 195,
+/**/
+ 194,
+/**/
+ 193,
+/**/
+ 192,
+/**/
191,
/**/
190,
Please sign in to comment.
Something went wrong with that request. Please try again.