changeset 5991:a42ba1e50992 v7.4.336

updated for version 7.4.336 Problem: Setting 'history' to a big value causes out-of-memory errors. Solution: Limit the value to 10000. (Hirohito Higashi)
author Bram Moolenaar <bram@vim.org>
date Wed, 25 Jun 2014 11:48:54 +0200
parents 4aa63564dd3f
children 05eac8f76d77
files runtime/doc/options.txt src/option.c src/version.c
diffstat 3 files changed, 11 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -3920,12 +3920,13 @@ A jump table for the options with a shor
 	NOTE: This option is reset when 'compatible' is set.
 
 						*'history'* *'hi'*
-'history' 'hi'		number	(Vim default: 20, Vi default: 0)
+'history' 'hi'		number	(Vim default: 50, Vi default: 0)
 			global
 			{not in Vi}
 	A history of ":" commands, and a history of previous search patterns
-	are remembered.  This option decides how many entries may be stored in
+	is remembered.  This option decides how many entries may be stored in
 	each of these histories (see |cmdline-editing|).
+	The maximum value is 10000.
 	NOTE: This option is set to the Vi default value when 'compatible' is
 	set and to the Vim default value when 'compatible' is reset.
 
--- a/src/option.c
+++ b/src/option.c
@@ -1392,7 +1392,7 @@ static struct vimoption
 			    SCRIPTID_INIT},
     {"history",	    "hi",   P_NUM|P_VIM,
 			    (char_u *)&p_hi, PV_NONE,
-			    {(char_u *)0L, (char_u *)20L} SCRIPTID_INIT},
+			    {(char_u *)0L, (char_u *)50L} SCRIPTID_INIT},
     {"hkmap",	    "hk",   P_BOOL|P_VI_DEF|P_VIM,
 #ifdef FEAT_RIGHTLEFT
 			    (char_u *)&p_hkmap, PV_NONE,
@@ -8595,6 +8595,11 @@ set_num_option(opt_idx, varp, value, err
 	errmsg = e_positive;
 	p_hi = 0;
     }
+    else if (p_hi > 10000)
+    {
+	errmsg = e_invarg;
+	p_hi = 10000;
+    }
     if (p_re < 0 || p_re > 2)
     {
 	errmsg = e_invarg;
--- a/src/version.c
+++ b/src/version.c
@@ -735,6 +735,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    336,
+/**/
     335,
 /**/
     334,