summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2014-06-25 11:48:54 +0200
committerBram Moolenaar <Bram@vim.org>2014-06-25 11:48:54 +0200
commit78159bbf9e241f162b1243853f45d08a3d81f1be (patch)
tree9e2d9def09f36f4c3c3a9842b2a8bb9b388825a6
parente8d1f20cbd425e33e4fcc09d46f98e5c9e6a833e (diff)
downloadvim-git-78159bbf9e241f162b1243853f45d08a3d81f1be.tar.gz
updated for version 7.4.336v7.4.336
Problem: Setting 'history' to a big value causes out-of-memory errors. Solution: Limit the value to 10000. (Hirohito Higashi)
-rw-r--r--runtime/doc/options.txt5
-rw-r--r--src/option.c7
-rw-r--r--src/version.c2
3 files changed, 11 insertions, 3 deletions
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 71280f204..6a2ad89a3 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -3920,12 +3920,13 @@ A jump table for the options with a short description can be found at |Q_op|.
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.
diff --git a/src/option.c b/src/option.c
index a36f8c0a0..f2f232e35 100644
--- 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, errbuf, errbuflen, opt_flags)
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;
diff --git a/src/version.c b/src/version.c
index 1fc748c40..bb63095f1 100644
--- 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,