Patch 7.1.056
Problem:    More prompt does not behave correctly after scrolling back.
            (Randall W. Morris)
Solution:   Avoid lines_left becomes negative. (Chris Lubinski)  Don't check
            mp_last when deciding to show the more prompt. (Martin Toft)
Files:      src/message.c


*** ../vim-7.1.055/src/message.c        Sun Aug  5 19:20:04 2007
--- src/message.c       Tue Aug  7 21:52:10 2007
***************
*** 1878,1884 ****
                /* output postponed text */
                t_puts(&t_col, t_s, s, attr);
  
!           /* When no more prompt an no more room, truncate here */
            if (msg_no_more && lines_left == 0)
                break;
  
--- 1878,1884 ----
                /* output postponed text */
                t_puts(&t_col, t_s, s, attr);
  
!           /* When no more prompt and no more room, truncate here */
            if (msg_no_more && lines_left == 0)
                break;
  
***************
*** 1927,1933 ****
             * If screen is completely filled and 'more' is set then wait
             * for a character.
             */
!           --lines_left;
            if (p_more && lines_left == 0 && State != HITRETURN
                                            && !msg_no_more && !exmode_active)
            {
--- 1927,1934 ----
             * If screen is completely filled and 'more' is set then wait
             * for a character.
             */
!           if (lines_left > 0)
!               --lines_left;
            if (p_more && lines_left == 0 && State != HITRETURN
                                            && !msg_no_more && !exmode_active)
            {
***************
*** 2234,2240 ****
  {
      msgchunk_T        *mp;
  
!     /* Only show somethign if there is more than one line, otherwise it looks
       * weird, typing a command without output results in one line. */
      mp = msg_sb_start(last_msgchunk);
      if (mp == NULL || mp->sb_prev == NULL)
--- 2235,2241 ----
  {
      msgchunk_T        *mp;
  
!     /* Only show something if there is more than one line, otherwise it looks
       * weird, typing a command without output results in one line. */
      mp = msg_sb_start(last_msgchunk);
      if (mp == NULL || mp->sb_prev == NULL)
***************
*** 2622,2628 ****
                }
            }
  
!           if (scroll < 0 || (scroll == 0 && mp_last != NULL))
            {
                /* displayed the requested text, more prompt again */
                screen_fill((int)Rows - 1, (int)Rows, 0,
--- 2623,2629 ----
                }
            }
  
!           if (scroll <= 0)
            {
                /* displayed the requested text, more prompt again */
                screen_fill((int)Rows - 1, (int)Rows, 0,
*** ../vim-7.1.055/src/version.c        Mon Aug  6 22:27:13 2007
--- src/version.c       Tue Aug  7 21:57:02 2007
***************
*** 668,669 ****
--- 668,671 ----
  {   /* Add new patch number below this line */
+ /**/
+     56,
  /**/

-- 
>From "know your smileys":
 :-| :-|   Deja' vu!

 /// 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