From: Bram Moolenaar Date: Tue, 23 Mar 2010 17:06:52 +0000 (+0100) Subject: updated for version 7.2.410 X-Git-Tag: v7.2.410 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=63fa526b50fffe510c26b336ee09e9ee5cf2ed5f;p=thirdparty%2Fvim.git updated for version 7.2.410 Problem: Highlighting directories for completion doesn't work properly. Solution: Don't halve backslashes when not needed, expaned "~/". (Dominique Pelle) --- diff --git a/src/ex_getln.c b/src/ex_getln.c index dea4b13423..6e74a23f1a 100644 --- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -3948,12 +3948,26 @@ showmatches(xp, wildmenu) || xp->xp_context == EXPAND_SHELLCMD || xp->xp_context == EXPAND_BUFFERS) { - char_u *halved_slash; - /* highlight directories */ - halved_slash = backslash_halve_save(files_found[k]); - j = mch_isdir(halved_slash); - vim_free(halved_slash); + if (xp->xp_numfiles != -1) + { + char_u *halved_slash; + char_u *exp_path; + + /* Expansion was done before and special characters + * were escaped, need to halve backslashes. Also + * $HOME has been replaced with ~/. */ + exp_path = expand_env_save_opt(files_found[k], TRUE); + halved_slash = backslash_halve_save( + exp_path != NULL ? exp_path : files_found[k]); + j = mch_isdir(halved_slash != NULL ? halved_slash + : files_found[k]); + vim_free(exp_path); + vim_free(halved_slash); + } + else + /* Expansion was done here, file names are literal. */ + j = mch_isdir(files_found[k]); if (showtail) p = L_SHOWFILE(k); else diff --git a/src/version.c b/src/version.c index 5d34061489..9cff4cea0c 100644 --- a/src/version.c +++ b/src/version.c @@ -681,6 +681,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ +/**/ + 410, /**/ 409, /**/