Mercurial > vim
diff src/ops.c @ 168:4d9eabb1396e
updated for version 7.0051
author | vimboss |
---|---|
date | Tue, 22 Feb 2005 08:49:11 +0000 |
parents | 8b0ee9d57d7f |
children | d292c40ca788 |
line wrap: on
line diff
--- a/src/ops.c +++ b/src/ops.c @@ -1105,10 +1105,20 @@ do_execreg(regname, colon, addcr) int remap; if (regname == '@') /* repeat previous one */ + { + if (lastc == NUL) + { + EMSG(_("E748: No previously used register")); + return FAIL; + } regname = lastc; + } /* check for valid regname */ if (regname == '%' || regname == '#' || !valid_yank_reg(regname, FALSE)) + { + emsg_invreg(regname); return FAIL; + } lastc = regname; #ifdef FEAT_CLIPBOARD @@ -3597,7 +3607,13 @@ error: else curbuf->b_op_end.col = 0; - if (flags & PUT_CURSEND) + if (flags & PUT_CURSLINE) + { + /* ":put": put cursor on last inserte line */ + curwin->w_cursor.lnum = lnum; + beginline(BL_WHITE | BL_FIX); + } + else if (flags & PUT_CURSEND) { /* put cursor after inserted text */ if (y_type == MLINE) @@ -3616,7 +3632,7 @@ error: } else if (y_type == MLINE) { - /* put cursor onfirst non-blank in first inserted line */ + /* put cursor on first non-blank in first inserted line */ curwin->w_cursor.col = 0; if (dir == FORWARD) ++curwin->w_cursor.lnum; @@ -5676,7 +5692,7 @@ write_reg_contents_ex(name, str, maxlen, if (!valid_yank_reg(name, TRUE)) /* check for valid reg name */ { - EMSG2(_("E354: Invalid register name: '%s'"), transchar(name)); + emsg_invreg(name); return; }