From: Bram Moolenaar Date: Mon, 30 Apr 2012 15:35:48 +0000 (+0200) Subject: updated for version 7.3.512 X-Git-Tag: v7.3.512 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=b41d9689f1bec8434bb400b344b249180ac47668;p=thirdparty%2Fvim.git updated for version 7.3.512 Problem: undofile() returns a useless name when passed an empty string. Solution: Return an empty string. (Christian Brabandt) --- diff --git a/src/eval.c b/src/eval.c index 4d45ae2574..fa9966e7ee 100644 --- a/src/eval.c +++ b/src/eval.c @@ -18259,11 +18259,21 @@ f_undofile(argvars, rettv) rettv->v_type = VAR_STRING; #ifdef FEAT_PERSISTENT_UNDO { - char_u *ffname = FullName_save(get_tv_string(&argvars[0]), FALSE); + char_u *fname = get_tv_string(&argvars[0]); - if (ffname != NULL) - rettv->vval.v_string = u_get_undo_file_name(ffname, FALSE); - vim_free(ffname); + if (*fname == NUL) + { + /* If there is no file name there will be no undo file. */ + rettv->vval.v_string = NULL; + } + else + { + char_u *ffname = FullName_save(fname, FALSE); + + if (ffname != NULL) + rettv->vval.v_string = u_get_undo_file_name(ffname, FALSE); + vim_free(ffname); + } } #else rettv->vval.v_string = NULL; diff --git a/src/version.c b/src/version.c index b2f9a986b2..ce22d9f99c 100644 --- a/src/version.c +++ b/src/version.c @@ -714,6 +714,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 512, /**/ 511, /**/