Mercurial > vim
changeset 1609:1324b7b755f3 v7.1.322
updated for version 7.1-322
author | vimboss |
---|---|
date | Fri, 20 Jun 2008 15:31:51 +0000 |
parents | 152883db0edf |
children | 4541e06d4fb9 |
files | runtime/doc/eval.txt src/eval.c src/version.c |
diffstat | 3 files changed, 16 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -3515,6 +3515,10 @@ line({expr}) The result is a Number, whi returned) w0 first line visible in current window w$ last line visible in current window + v In Visual mode: the start of the Visual area (the + cursor is the end). When not in Visual mode + returns the cursor position. Differs from |'<| in + that it's updated right away. Note that a mark in another file can be used. The line number then applies to another buffer. To get the column number use |col()|. To get both use
--- a/src/eval.c +++ b/src/eval.c @@ -16907,9 +16907,17 @@ var2fpos(varp, dollar_lnum, fnum) name = get_tv_string_chk(varp); if (name == NULL) return NULL; - if (name[0] == '.') /* cursor */ + if (name[0] == '.') /* cursor */ return &curwin->w_cursor; - if (name[0] == '\'') /* mark */ +#ifdef FEAT_VISUAL + if (name[0] == 'v' && name[1] == NUL) /* Visual start */ + { + if (VIsual_active) + return &VIsual; + return &curwin->w_cursor; + } +#endif + if (name[0] == '\'') /* mark */ { pp = getmark_fnum(name[1], FALSE, fnum); if (pp == NULL || pp == (pos_T *)-1 || pp->lnum <= 0)