Patch 7.1.325
Problem:    When editing a command line that's longer than available space in
            the window, the characters at the end are in reverse order.
Solution:   Increment the insert position even when the command line doesn't
            fit.  (Ingo Karkat)
Files:      src/ex_getln.c


*** ../vim-7.1.324/src/ex_getln.c       Fri Jun 20 12:55:28 2008
--- src/ex_getln.c      Fri Jun 20 16:45:55 2008
***************
*** 2053,2062 ****
        if (has_mbyte)
            correct_cmdspos(i, c);
  #endif
!       /* If the cmdline doesn't fit, put cursor on last visible char. */
        if ((ccline.cmdspos += c) >= m)
        {
-           ccline.cmdpos = i - 1;
            ccline.cmdspos -= c;
            break;
        }
--- 2053,2062 ----
        if (has_mbyte)
            correct_cmdspos(i, c);
  #endif
!       /* If the cmdline doesn't fit, show cursor on last visible char.
!        * Don't move the cursor itself, so we can still append. */
        if ((ccline.cmdspos += c) >= m)
        {
            ccline.cmdspos -= c;
            break;
        }
***************
*** 2829,2838 ****
                if (has_mbyte)
                    correct_cmdspos(ccline.cmdpos, c);
  #endif
!               /* Stop cursor at the end of the screen */
!               if (ccline.cmdspos + c >= m)
!                   break;
!               ccline.cmdspos += c;
  #ifdef FEAT_MBYTE
                if (has_mbyte)
                {
--- 2829,2839 ----
                if (has_mbyte)
                    correct_cmdspos(ccline.cmdpos, c);
  #endif
!               /* Stop cursor at the end of the screen, but do increment the
!                * insert position, so that entering a very long command
!                * works, even though you can't see it. */
!               if (ccline.cmdspos + c < m)
!                   ccline.cmdspos += c;
  #ifdef FEAT_MBYTE
                if (has_mbyte)
                {
***************
*** 3332,3338 ****
  /*
   * Do wildcard expansion on the string 'str'.
   * Chars that should not be expanded must be preceded with a backslash.
!  * Return a pointer to alloced memory containing the new string.
   * Return NULL for failure.
   *
   * "orig" is the originally expanded string, copied to allocated memory.  It
--- 3333,3339 ----
  /*
   * Do wildcard expansion on the string 'str'.
   * Chars that should not be expanded must be preceded with a backslash.
!  * Return a pointer to allocated memory containing the new string.
   * Return NULL for failure.
   *
   * "orig" is the originally expanded string, copied to allocated memory.  It
***************
*** 6111,6117 ****
  
      exmode_active = save_exmode;
  
!     /* Safety check: The old window or buffer was deleted: It's a a bug when
       * this happens! */
      if (!win_valid(old_curwin) || !buf_valid(old_curbuf))
      {
--- 6112,6118 ----
  
      exmode_active = save_exmode;
  
!     /* Safety check: The old window or buffer was deleted: It's a bug when
       * this happens! */
      if (!win_valid(old_curwin) || !buf_valid(old_curbuf))
      {
*** ../vim-7.1.324/src/version.c        Fri Jun 20 18:06:15 2008
--- src/version.c       Fri Jun 20 18:27:54 2008
***************
*** 668,669 ****
--- 673,676 ----
  {   /* Add new patch number below this line */
+ /**/
+     325,
  /**/

-- 
"I can't complain, but sometimes I still do."   (Joe Walsh)

 /// 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.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---

Raspunde prin e-mail lui