diff options
author | Bram Moolenaar <Bram@vim.org> | 2015-12-17 14:04:24 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2015-12-17 14:04:24 +0100 |
commit | 6f62fed349bf829da2adb02619dc9acba13c8ab6 (patch) | |
tree | c2d4006200a8b4477db1f5b8a352a6ac30165627 /src | |
parent | a98849670674264de699d7ab22ae4b9b32e78f4a (diff) | |
download | vim-6f62fed349bf829da2adb02619dc9acba13c8ab6.zip |
patch 7.4.973
Problem: When pasting on the command line line breaks result in literal
<CR> characters. This makes pasting a long file name difficult.
Solution: Skip the characters.
Diffstat (limited to 'src')
-rw-r--r-- | src/ex_getln.c | 6 | ||||
-rw-r--r-- | src/ops.c | 10 | ||||
-rw-r--r-- | src/version.c | 2 |
3 files changed, 8 insertions, 10 deletions
diff --git a/src/ex_getln.c b/src/ex_getln.c index 0aeb4b8c8..b6aeacf1a 100644 --- a/src/ex_getln.c +++ b/src/ex_getln.c @@ -3068,12 +3068,12 @@ restore_cmdline_alloc(p) #endif /* - * paste a yank register into the command line. - * used by CTRL-R command in command-line mode + * Paste a yank register into the command line. + * Used by CTRL-R command in command-line mode. * insert_reg() can't be used here, because special characters from the * register contents will be interpreted as commands. * - * return FAIL for failure, OK otherwise + * Return FAIL for failure, OK otherwise. */ static int cmdline_paste(regname, literally, remcr) @@ -1577,7 +1577,7 @@ get_spec_reg(regname, argp, allocated, errmsg) cmdline_paste_reg(regname, literally, remcr) int regname; int literally; /* Insert text literally instead of "as typed" */ - int remcr; /* don't add trailing CR */ + int remcr; /* don't add CR characters */ { long i; @@ -1590,12 +1590,8 @@ cmdline_paste_reg(regname, literally, remcr) cmdline_paste_str(y_current->y_array[i], literally); /* Insert ^M between lines and after last line if type is MLINE. - * Don't do this when "remcr" is TRUE and the next line is empty. */ - if (y_current->y_type == MLINE - || (i < y_current->y_size - 1 - && !(remcr - && i == y_current->y_size - 2 - && *y_current->y_array[i + 1] == NUL))) + * Don't do this when "remcr" is TRUE. */ + if ((y_current->y_type == MLINE || i < y_current->y_size - 1) && !remcr) cmdline_paste_str((char_u *)"\r", literally); /* Check for CTRL-C, in case someone tries to paste a few thousand diff --git a/src/version.c b/src/version.c index 8a4eddaab..5c23005cc 100644 --- a/src/version.c +++ b/src/version.c @@ -742,6 +742,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 973, +/**/ 972, /**/ 971, |