updated for version 7.0d05
diff --git a/src/ex_getln.c b/src/ex_getln.c
index 11069f2..044429e 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -3997,13 +3997,15 @@
 	    vim_strncpy(retval, fname, len);
 
 	    /*
-	     * Don't add a star to ~, ~user, $var or `cmd`.
+	     * Don't add a star to *, ~, ~user, $var or `cmd`.
+	     * * would become **, which walks the whole tree.
 	     * ~ would be at the start of the file name, but not the tail.
 	     * $ could be anywhere in the tail.
 	     * ` could be anywhere in the file name.
 	     */
 	    tail = gettail(retval);
 	    if ((*retval != '~' || tail != retval)
+		    && (len == 0 || retval[len - 1] != '*')
 		    && vim_strchr(tail, '$') == NULL
 		    && vim_strchr(retval, '`') == NULL)
 		retval[len++] = '*';