components/vim/vim72-patches/7.2.099
author Danek Duvall <danek.duvall@oracle.com>
Thu, 07 Apr 2011 16:25:07 -0700
changeset 198 172fc01ce997
permissions -rw-r--r--
7016732 move vim from sfw to userland 7036367 vim is too big
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
198
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     1
To: [email protected]
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     2
Subject: Patch 7.2.099
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     3
Fcc: outbox
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     4
From: Bram Moolenaar <[email protected]>
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     5
Mime-Version: 1.0
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     6
Content-Type: text/plain; charset=ISO-8859-1
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     7
Content-Transfer-Encoding: 8bit
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     8
------------
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
     9
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    10
Patch 7.2.099
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    11
Problem:    Changing GUI options causes an unnecessary redraw when the GUI
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    12
	    isn't active.
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    13
Solution:   Avoid the redraw. (Lech Lorens)
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    14
Files:	    src/option.c
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    15
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    16
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    17
*** ../vim-7.2.098/src/option.c	Wed Dec 24 12:53:33 2008
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    18
--- src/option.c	Wed Feb  4 16:59:56 2009
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    19
***************
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    20
*** 5407,5412 ****
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    21
--- 5407,5416 ----
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    22
      int		did_chartab = FALSE;
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    23
      char_u	**gvarp;
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    24
      long_u	free_oldval = (options[opt_idx].flags & P_ALLOCED);
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    25
+ #ifdef FEAT_GUI
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    26
+     /* set when changing an option that only requires a redraw in the GUI */
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    27
+     int		redraw_gui_only = FALSE;
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    28
+ #endif
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    29
  
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    30
      /* Get the global option to compare with, otherwise we would have to check
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    31
       * two values for all local options. */
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    32
***************
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    33
*** 6055,6060 ****
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    34
--- 6059,6065 ----
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    35
  		    errmsg = (char_u *)N_("E596: Invalid font(s)");
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    36
  	    }
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    37
  	}
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    38
+ 	redraw_gui_only = TRUE;
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    39
      }
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    40
  # ifdef FEAT_XFONTSET
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    41
      else if (varp == &p_guifontset)
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    42
***************
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    43
*** 6063,6068 ****
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    44
--- 6068,6074 ----
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    45
  	    errmsg = (char_u *)N_("E597: can't select fontset");
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    46
  	else if (gui.in_use && gui_init_font(p_guifontset, TRUE) != OK)
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    47
  	    errmsg = (char_u *)N_("E598: Invalid fontset");
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    48
+ 	redraw_gui_only = TRUE;
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    49
      }
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    50
  # endif
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    51
  # ifdef FEAT_MBYTE
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    52
***************
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    53
*** 6072,6077 ****
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    54
--- 6078,6084 ----
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    55
  	    errmsg = (char_u *)N_("E533: can't select wide font");
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    56
  	else if (gui_get_wide_font() == FAIL)
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    57
  	    errmsg = (char_u *)N_("E534: Invalid wide font");
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    58
+ 	redraw_gui_only = TRUE;
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    59
      }
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    60
  # endif
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    61
  #endif
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    62
***************
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    63
*** 6133,6145 ****
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    64
--- 6140,6163 ----
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    65
  #ifdef FEAT_GUI
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    66
      /* 'guioptions' */
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    67
      else if (varp == &p_go)
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    68
+     {
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    69
  	gui_init_which_components(oldval);
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    70
+ 	redraw_gui_only = TRUE;
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    71
+     }
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    72
  #endif
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    73
  
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    74
  #if defined(FEAT_GUI_TABLINE)
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    75
      /* 'guitablabel' */
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    76
      else if (varp == &p_gtl)
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    77
+     {
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    78
  	redraw_tabline = TRUE;
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    79
+ 	redraw_gui_only = TRUE;
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    80
+     }
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    81
+     /* 'guitabtooltip' */
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    82
+     else if (varp == &p_gtt)
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    83
+     {
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    84
+ 	redraw_gui_only = TRUE;
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    85
+     }
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    86
  #endif
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    87
  
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    88
  #if defined(FEAT_MOUSE_TTY) && (defined(UNIX) || defined(VMS))
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    89
***************
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    90
*** 6717,6723 ****
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    91
  
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    92
      if (curwin->w_curswant != MAXCOL)
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    93
  	curwin->w_set_curswant = TRUE;  /* in case 'showbreak' changed */
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    94
!     check_redraw(options[opt_idx].flags);
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    95
  
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    96
      return errmsg;
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    97
  }
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    98
--- 6735,6745 ----
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
    99
  
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   100
      if (curwin->w_curswant != MAXCOL)
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   101
  	curwin->w_set_curswant = TRUE;  /* in case 'showbreak' changed */
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   102
! #ifdef FEAT_GUI
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   103
!     /* check redraw when it's not a GUI option or the GUI is active. */
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   104
!     if (!redraw_gui_only || gui.in_use)
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   105
! #endif
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   106
! 	check_redraw(options[opt_idx].flags);
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   107
  
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   108
      return errmsg;
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   109
  }
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   110
*** ../vim-7.2.098/src/version.c	Wed Feb  4 16:25:53 2009
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   111
--- src/version.c	Wed Feb  4 17:24:11 2009
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   112
***************
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   113
*** 678,679 ****
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   114
--- 678,681 ----
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   115
  {   /* Add new patch number below this line */
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   116
+ /**/
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   117
+     99,
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   118
  /**/
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   119
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   120
-- 
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   121
I started out with nothing, and I still have most of it.
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   122
                                -- Michael Davis -- "Tonight Show"
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   123
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   124
 /// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net   \\\
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   125
///        sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   126
\\\        download, build and distribute -- http://www.A-A-P.org        ///
172fc01ce997 7016732 move vim from sfw to userland
Danek Duvall <danek.duvall@oracle.com>
parents:
diff changeset
   127
 \\\            help me help AIDS victims -- http://ICCF-Holland.org    ///