Patch 7.2.103
Problem:    When 'bomb' is changed the window title is updated to show/hide a
            "+", but the tab page label isn't. (Patrick Texier)
Solution:   Set "redraw_tabline" in most places where "need_maketitle" is set.
            (partly by Lech Lorens)
Files:      src/option.c


*** ../vim-7.2.102/src/option.c Wed Feb  4 17:27:50 2009
--- src/option.c        Wed Feb  4 17:40:02 2009
***************
*** 5268,5273 ****
--- 5268,5288 ----
  }
  #endif
  
+ #ifdef FEAT_TITLE
+ static void redraw_titles __ARGS((void));
+ 
+ /*
+  * Redraw the window title and/or tab page text later.
+  */
+ static void redraw_titles()
+ {
+     need_maketitle = TRUE;
+ # ifdef FEAT_WINDOWS
+     redraw_tabline = TRUE;
+ # endif
+ }
+ #endif
+ 
  /*
   * Set a string option to a new value (without checking the effect).
   * The string is copied into allocated memory.
***************
*** 5672,5678 ****
            {
  # ifdef FEAT_TITLE
                /* May show a "+" in the title now. */
!               need_maketitle = TRUE;
  # endif
                /* Add 'fileencoding' to the swap file. */
                ml_setflags(curbuf);
--- 5687,5693 ----
            {
  # ifdef FEAT_TITLE
                /* May show a "+" in the title now. */
!               redraw_titles();
  # endif
                /* Add 'fileencoding' to the swap file. */
                ml_setflags(curbuf);
***************
*** 5691,5697 ****
            {
                errmsg = mb_init();
  # ifdef FEAT_TITLE
!               need_maketitle = TRUE;
  # endif
            }
        }
--- 5706,5712 ----
            {
                errmsg = mb_init();
  # ifdef FEAT_TITLE
!               redraw_titles();
  # endif
            }
        }
***************
*** 5800,5806 ****
            else
                curbuf->b_p_tx = FALSE;
  #ifdef FEAT_TITLE
!           need_maketitle = TRUE;
  #endif
            /* update flag in swap file */
            ml_setflags(curbuf);
--- 5815,5821 ----
            else
                curbuf->b_p_tx = FALSE;
  #ifdef FEAT_TITLE
!           redraw_titles();
  #endif
            /* update flag in swap file */
            ml_setflags(curbuf);
***************
*** 7127,7148 ****
            curbuf->b_did_warn = FALSE;
  
  #ifdef FEAT_TITLE
!       need_maketitle = TRUE;
  #endif
      }
  
  #ifdef FEAT_TITLE
      /* when 'modifiable' is changed, redraw the window title */
      else if ((int *)varp == &curbuf->b_p_ma)
!       need_maketitle = TRUE;
      /* when 'endofline' is changed, redraw the window title */
      else if ((int *)varp == &curbuf->b_p_eol)
!       need_maketitle = TRUE;
! #ifdef FEAT_MBYTE
!     /* when 'bomb' is changed, redraw the window title */
      else if ((int *)varp == &curbuf->b_p_bomb)
!       need_maketitle = TRUE;
! #endif
  #endif
  
      /* when 'bin' is set also set some other options */
--- 7142,7169 ----
            curbuf->b_did_warn = FALSE;
  
  #ifdef FEAT_TITLE
!       redraw_titles();
  #endif
      }
  
  #ifdef FEAT_TITLE
      /* when 'modifiable' is changed, redraw the window title */
      else if ((int *)varp == &curbuf->b_p_ma)
!     {
!       redraw_titles();
!     }
      /* when 'endofline' is changed, redraw the window title */
      else if ((int *)varp == &curbuf->b_p_eol)
!     {
!       redraw_titles();
!     }
! # ifdef FEAT_MBYTE
!     /* when 'bomb' is changed, redraw the window title and tab page text */
      else if ((int *)varp == &curbuf->b_p_bomb)
!     {
!       redraw_titles();
!     }
! # endif
  #endif
  
      /* when 'bin' is set also set some other options */
***************
*** 7150,7156 ****
      {
        set_options_bin(old_value, curbuf->b_p_bin, opt_flags);
  #ifdef FEAT_TITLE
!       need_maketitle = TRUE;
  #endif
      }
  
--- 7171,7177 ----
      {
        set_options_bin(old_value, curbuf->b_p_bin, opt_flags);
  #ifdef FEAT_TITLE
!       redraw_titles();
  #endif
      }
  
***************
*** 7301,7307 ****
        if (!value)
            save_file_ff(curbuf);       /* Buffer is unchanged */
  #ifdef FEAT_TITLE
!       need_maketitle = TRUE;
  #endif
  #ifdef FEAT_AUTOCMD
        modified_was_set = value;
--- 7322,7328 ----
        if (!value)
            save_file_ff(curbuf);       /* Buffer is unchanged */
  #ifdef FEAT_TITLE
!       redraw_titles();
  #endif
  #ifdef FEAT_AUTOCMD
        modified_was_set = value;
***************
*** 7736,7742 ****
        newFoldLevel();
      }
  
!     /* 'foldminlevel' */
      else if (pp == &curwin->w_p_fml)
      {
        foldUpdateAll(curwin);
--- 7757,7763 ----
        newFoldLevel();
      }
  
!     /* 'foldminlines' */
      else if (pp == &curwin->w_p_fml)
      {
        foldUpdateAll(curwin);
*** ../vim-7.2.102/src/version.c        Thu Feb  5 20:47:14 2009
--- src/version.c       Wed Feb 11 11:32:20 2009
***************
*** 678,679 ****
--- 678,681 ----
  {   /* Add new patch number below this line */
+ /**/
+     103,
  /**/

-- 
hundred-and-one symptoms of being an internet addict:
73. You give your dog used motherboards instead of bones

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