Patch 7.3.014
Problem:    Ending a line in a backslash inside an ":append" or ":insert" 
            command in Ex mode doesn't work properly. (Ray Frush)
Solution:   Halve the number of backslashes, only insert a NUL after an odd 
            number of backslashes.
Files:      src/ex_getln.c


*** ../vim-7.3.013/src/ex_getln.c       2010-09-21 16:56:29.000000000 +0200
--- src/ex_getln.c      2010-09-29 15:47:56.000000000 +0200
***************
*** 2342,2356 ****
        windgoto(msg_row, msg_col);
        pend = (char_u *)(line_ga.ga_data) + line_ga.ga_len;
  
!       /* we are done when a NL is entered, but not when it comes after a
!        * backslash */
!       if (line_ga.ga_len > 0 && pend[-1] == '\n'
!               && (line_ga.ga_len <= 1 || pend[-2] != '\\'))
!       {
!           --line_ga.ga_len;
!           --pend;
!           *pend = NUL;
!           break;
        }
      }
  
--- 2342,2372 ----
        windgoto(msg_row, msg_col);
        pend = (char_u *)(line_ga.ga_data) + line_ga.ga_len;
  
!       /* We are done when a NL is entered, but not when it comes after an
!        * odd number of backslashes, that results in a NUL. */
!       if (line_ga.ga_len > 0 && pend[-1] == '\n')
!       {
!           int bcount = 0;
! 
!           while (line_ga.ga_len - 2 >= bcount && pend[-2 - bcount] == '\\')
!               ++bcount;
! 
!           if (bcount > 0)
!           {
!               /* Halve the number of backslashes: "\NL" -> "NUL", "\\NL" ->
!                * "\NL", etc. */
!               line_ga.ga_len -= (bcount + 1) / 2;
!               pend -= (bcount + 1) / 2;
!               pend[-1] = '\n';
!           }
! 
!           if ((bcount & 1) == 0)
!           {
!               --line_ga.ga_len;
!               --pend;
!               *pend = NUL;
!               break;
!           }
        }
      }
  
*** ../vim-7.3.013/src/version.c        2010-09-29 13:02:48.000000000 +0200
--- src/version.c       2010-09-29 15:45:57.000000000 +0200
***************
*** 716,717 ****
--- 716,719 ----
  {   /* Add new patch number below this line */
+ /**/
+     14,
  /**/

-- 
hundred-and-one symptoms of being an internet addict:
224. You set up your own Web page. You set up a Web page for each
     of your kids... and your pets.

 /// Bram Moolenaar -- [email protected] -- 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    ///

-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

Raspunde prin e-mail lui