Mercurial > vim
diff src/eval.c @ 9:4102fb4ea781 v7.0002
updated for version 7.0002
author | vimboss |
---|---|
date | Sun, 20 Jun 2004 12:51:53 +0000 |
parents | 3fc0f57ecb91 |
children | 4e2284e71352 |
line wrap: on
line diff
--- a/src/eval.c +++ b/src/eval.c @@ -599,6 +599,20 @@ eval_to_string_skip(arg, nextcmd, skip) } /* + * Skip over an expression at "*pp". + * Return FAIL for an error, OK otherwise. + */ + int +skip_expr(pp) + char_u **pp; +{ + var retvar; + + *pp = skipwhite(*pp); + return eval1(pp, &retvar, FALSE); +} + +/* * Top level evaluation function, returning a string. * Return pointer to allocated memory, or NULL for failure. */ @@ -3375,6 +3389,20 @@ find_buffer(avar) buf = buflist_findname(name); vim_free(name); } + if (buf == NULL) + { + /* No full path name match, try a match with a URL or a "nofile" + * buffer, these don't use the full path. */ + for (buf = firstbuf; buf != NULL; buf = buf->b_next) + if (buf->b_fname != NULL + && (path_with_url(buf->b_fname) +#ifdef FEAT_QUICKFIX + || bt_nofile(buf) +#endif + ) + && STRCMP(buf->b_fname, avar->var_val.var_string) == 0) + break; + } } return buf; }