Ticket #2898: fix broken path completion on paths starting with ~/.

Signed-off-by: Andrew Borodin <aborodin@vmail.ru>
This commit is contained in:
Andrew Borodin 2012-09-23 10:24:52 +04:00
parent 3190504ed6
commit f3cc7de694

View File

@ -120,7 +120,7 @@ show_c_flags (input_complete_t flags)
static char * static char *
filename_completion_function (const char *text, int state, input_complete_t flags) filename_completion_function (const char *text, int state, input_complete_t flags)
{ {
static DIR *directory; static DIR *directory = NULL;
static char *filename = NULL; static char *filename = NULL;
static char *dirname = NULL; static char *dirname = NULL;
static char *users_dirname = NULL; static char *users_dirname = NULL;
@ -169,7 +169,6 @@ filename_completion_function (const char *text, int state, input_complete_t flag
dirname = g_strdup ("."); dirname = g_strdup (".");
filename = g_strdup (text); filename = g_strdup (text);
} }
dirname_vpath = vfs_path_from_str (dirname);
/* We aren't done yet. We also support the "~user" syntax. */ /* We aren't done yet. We also support the "~user" syntax. */
@ -177,6 +176,7 @@ filename_completion_function (const char *text, int state, input_complete_t flag
users_dirname = dirname; users_dirname = dirname;
dirname = tilde_expand (dirname); dirname = tilde_expand (dirname);
canonicalize_pathname (dirname); canonicalize_pathname (dirname);
dirname_vpath = vfs_path_from_str (dirname);
/* Here we should do something with variable expansion /* Here we should do something with variable expansion
and `command`. and `command`.