diff --git a/7.0.141 b/7.0.141 new file mode 100644 index 0000000..a8b4f0b --- /dev/null +++ b/7.0.141 @@ -0,0 +1,210 @@ +To: vim-dev@vim.org +Subject: Patch 7.0.141 +Fcc: outbox +From: Bram Moolenaar +Mime-Version: 1.0 +Content-Type: text/plain; charset=ISO-8859-1 +Content-Transfer-Encoding: 8bit +------------ + +Patch 7.0.141 +Problem: When pasting a while line on the command line an extra CR is added + literally. +Solution: Don't add the trailing CR when pasting with the mouse. +Files: src/ex_getln.c, src/proto/ops.pro, src/ops.c + + +*** ../vim-7.0.140/src/ex_getln.c Thu Sep 14 11:27:12 2006 +--- src/ex_getln.c Sun Oct 15 16:17:20 2006 +*************** +*** 86,92 **** + static void draw_cmdline __ARGS((int start, int len)); + static void save_cmdline __ARGS((struct cmdline_info *ccp)); + static void restore_cmdline __ARGS((struct cmdline_info *ccp)); +! static int cmdline_paste __ARGS((int regname, int literally)); + #if defined(FEAT_XIM) && defined(FEAT_GUI_GTK) + static void redrawcmd_preedit __ARGS((void)); + #endif +--- 86,92 ---- + static void draw_cmdline __ARGS((int start, int len)); + static void save_cmdline __ARGS((struct cmdline_info *ccp)); + static void restore_cmdline __ARGS((struct cmdline_info *ccp)); +! static int cmdline_paste __ARGS((int regname, int literally, int remcr)); + #if defined(FEAT_XIM) && defined(FEAT_GUI_GTK) + static void redrawcmd_preedit __ARGS((void)); + #endif +*************** +*** 1116,1122 **** + #endif + if (c != ESC) /* use ESC to cancel inserting register */ + { +! cmdline_paste(c, i == Ctrl_R); + + #ifdef FEAT_EVAL + /* When there was a serious error abort getting the +--- 1116,1122 ---- + #endif + if (c != ESC) /* use ESC to cancel inserting register */ + { +! cmdline_paste(c, i == Ctrl_R, FALSE); + + #ifdef FEAT_EVAL + /* When there was a serious error abort getting the +*************** +*** 1231,1246 **** + goto cmdline_not_changed; /* Ignore mouse */ + # ifdef FEAT_CLIPBOARD + if (clip_star.available) +! cmdline_paste('*', TRUE); + else + # endif +! cmdline_paste(0, TRUE); + redrawcmd(); + goto cmdline_changed; + + # ifdef FEAT_DND + case K_DROP: +! cmdline_paste('~', TRUE); + redrawcmd(); + goto cmdline_changed; + # endif +--- 1231,1246 ---- + goto cmdline_not_changed; /* Ignore mouse */ + # ifdef FEAT_CLIPBOARD + if (clip_star.available) +! cmdline_paste('*', TRUE, TRUE); + else + # endif +! cmdline_paste(0, TRUE, TRUE); + redrawcmd(); + goto cmdline_changed; + + # ifdef FEAT_DND + case K_DROP: +! cmdline_paste('~', TRUE, FALSE); + redrawcmd(); + goto cmdline_changed; + # endif +*************** +*** 2890,2898 **** + * return FAIL for failure, OK otherwise + */ + static int +! cmdline_paste(regname, literally) + int regname; + int literally; /* Insert text literally instead of "as typed" */ + { + long i; + char_u *arg; +--- 2890,2899 ---- + * return FAIL for failure, OK otherwise + */ + static int +! cmdline_paste(regname, literally, remcr) + int regname; + int literally; /* Insert text literally instead of "as typed" */ ++ int remcr; /* remove trailing CR */ + { + long i; + char_u *arg; +*************** +*** 2968,2974 **** + return OK; + } + +! return cmdline_paste_reg(regname, literally); + } + + /* +--- 2969,2975 ---- + return OK; + } + +! return cmdline_paste_reg(regname, literally, remcr); + } + + /* +*** ../vim-7.0.140/src/proto/ops.pro Sun Apr 30 20:25:07 2006 +--- src/proto/ops.pro Tue Oct 17 16:24:08 2006 +*************** +*** 20,26 **** + extern int do_execreg __ARGS((int regname, int colon, int addcr)); + extern int insert_reg __ARGS((int regname, int literally)); + extern int get_spec_reg __ARGS((int regname, char_u **argp, int *allocated, int errmsg)); +! extern int cmdline_paste_reg __ARGS((int regname, int literally)); + extern void adjust_clip_reg __ARGS((int *rp)); + extern int op_delete __ARGS((oparg_T *oap)); + extern int op_replace __ARGS((oparg_T *oap, int c)); +--- 20,26 ---- + extern int do_execreg __ARGS((int regname, int colon, int addcr)); + extern int insert_reg __ARGS((int regname, int literally)); + extern int get_spec_reg __ARGS((int regname, char_u **argp, int *allocated, int errmsg)); +! extern int cmdline_paste_reg __ARGS((int regname, int literally, int remcr)); + extern void adjust_clip_reg __ARGS((int *rp)); + extern int op_delete __ARGS((oparg_T *oap)); + extern int op_replace __ARGS((oparg_T *oap, int c)); +*** ../vim-7.0.140/src/ops.c Fri Oct 6 23:33:22 2006 +--- src/ops.c Sun Oct 15 16:43:54 2006 +*************** +*** 1480,1488 **** + * return FAIL for failure, OK otherwise + */ + int +! cmdline_paste_reg(regname, literally) + int regname; + int literally; /* Insert text literally instead of "as typed" */ + { + long i; + +--- 1481,1490 ---- + * return FAIL for failure, OK otherwise + */ + int +! cmdline_paste_reg(regname, literally, remcr) + int regname; + int literally; /* Insert text literally instead of "as typed" */ ++ int remcr; /* don't add trailing CR */ + { + long i; + +*************** +*** 1494,1501 **** + { + cmdline_paste_str(y_current->y_array[i], literally); + +! /* insert ^M between lines and after last line if type is MLINE */ +! if (y_current->y_type == MLINE || i < y_current->y_size - 1) + cmdline_paste_str((char_u *)"\r", literally); + + /* Check for CTRL-C, in case someone tries to paste a few thousand +--- 1496,1508 ---- + { + 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))) + cmdline_paste_str((char_u *)"\r", literally); + + /* Check for CTRL-C, in case someone tries to paste a few thousand +*** ../vim-7.0.140/src/version.c Tue Oct 17 15:17:41 2006 +--- src/version.c Tue Oct 17 16:22:55 2006 +*************** +*** 668,669 **** +--- 668,671 ---- + { /* Add new patch number below this line */ ++ /**/ ++ 141, + /**/ + +-- +ERROR 047: Keyboard not found. Press RETURN to continue. + + /// Bram Moolenaar -- Bram@Moolenaar.net -- http://www.Moolenaar.net \\\ +/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\ +\\\ download, build and distribute -- http://www.A-A-P.org /// + \\\ help me help AIDS victims -- http://ICCF-Holland.org ///