211 lines
6.4 KiB
Plaintext
211 lines
6.4 KiB
Plaintext
To: vim-dev@vim.org
|
|
Subject: Patch 7.0.141
|
|
Fcc: outbox
|
|
From: Bram Moolenaar <Bram@moolenaar.net>
|
|
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 ///
|