# HG changeset patch # User vimboss # Date 1199388133 0 # Node ID 801d5544828215bf644cbc6ababfc66beec6cb2d # Parent ae7e29b64923da886325215a1a5b20bd60e4cbc0 updated for version 7.1-195 diff --git a/src/mark.c b/src/mark.c --- a/src/mark.c +++ b/src/mark.c @@ -505,9 +505,24 @@ fname2fnum(fm) { /* * First expand "~/" in the file name to the home directory. - * Try to shorten the file name. + * Don't expand the whole name, it may contain other '~' chars. */ - expand_env(fm->fname, NameBuff, MAXPATHL); + if (fm->fname[0] == '~' && (fm->fname[1] == '/' +#ifdef BACKSLASH_IN_FILENAME + || fm->fname[1] == '\\' +#endif + )) + { + int len; + + expand_env((char_u *)"~/", NameBuff, MAXPATHL); + len = STRLEN(NameBuff); + vim_strncpy(NameBuff + len, fm->fname + 2, MAXPATHL - len - 1); + } + else + vim_strncpy(NameBuff, fm->fname, MAXPATHL - 1); + + /* Try to shorten the file name. */ mch_dirname(IObuff, IOSIZE); p = shorten_fname(NameBuff, IObuff); diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -667,6 +667,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 195, +/**/ 194, /**/ 193,