changeset 7336:4c5f53a60543 v7.4.973

commit https://github.com/vim/vim/commit/6f62fed349bf829da2adb02619dc9acba13c8ab6 Author: Bram Moolenaar <Bram@vim.org> Date: Thu Dec 17 14:04:24 2015 +0100 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.
author Christian Brabandt <cb@256bit.org>
date Thu, 17 Dec 2015 14:15:04 +0100
parents 51ac3ac08833
children 18f4dcee47cb
files src/ex_getln.c src/ops.c src/version.c
diffstat 3 files changed, 8 insertions(+), 10 deletions(-) [+]
line wrap: on
line diff
--- 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)
--- a/src/ops.c
+++ b/src/ops.c
@@ -1577,7 +1577,7 @@ get_spec_reg(regname, argp, allocated, e
 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, re
 	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
--- 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,