diff --git a/doc/index.html b/doc/index.html
index 3b9fc7e..fb94a45 100644
--- a/doc/index.html
+++ b/doc/index.html
@@ -35,7 +35,7 @@ metafunctions. It provides a conceptual foundation and an extensive
set of powerful and coherent tools that make doing explict metaprogramming
in C++ as easy and enjoyable as possible within the current language.
There are several places to start when getting familiar with the library,
-depending on what your know about metaprogramming in general and
+depending on what you know about metaprogramming in general and
C++ template metaprogramming in particular. Starting with
Boost version 1.32, the MPL comes with both an in-depth tutorial on its
fundamental concepts and an annotated reference manual covering all concepts
diff --git a/doc/tutorial/incomplete-support-for.html b/doc/tutorial/incomplete-support-for.html
index 991283d..4e30f13 100644
--- a/doc/tutorial/incomplete-support-for.html
+++ b/doc/tutorial/incomplete-support-for.html
@@ -113,7 +113,7 @@ arguments), which comes down to the follwing two criteria:
placeholders do contain these).
If these two hold, you can safely put BOOST_MPL_AUX_LAMBDA_SUPPORT inside
-your metafunction and forget about the issue. If not, your are out of luck and
+your metafunction and forget about the issue. If not, you are out of luck and
probably have to write a metafunction class instead.
The good news are that most of the MPL's own metafunctions and Boost.Type Traits
templates are "placeholder-safe" and have the workaround applied to them, so
diff --git a/include/boost/mpl/aux_/preprocessor/range.hpp b/include/boost/mpl/aux_/preprocessor/range.hpp
index 54094ee..d66eeb5 100644
--- a/include/boost/mpl/aux_/preprocessor/range.hpp
+++ b/include/boost/mpl/aux_/preprocessor/range.hpp
@@ -15,9 +15,16 @@
// $Revision$
#include
+#include
+#include
+
+#define BOOST_MPL_PP_RANGE_ITEM(z,n,_) (n)
#define BOOST_MPL_PP_RANGE(first, length) \
- BOOST_PP_SEQ_SUBSEQ((0)(1)(2)(3)(4)(5)(6)(7)(8)(9), first, length) \
+ BOOST_PP_SEQ_SUBSEQ( \
+ BOOST_PP_REPEAT(BOOST_PP_ADD(first,length), BOOST_MPL_PP_RANGE_ITEM, _), \
+ first, length \
+ ) \
/**/
#endif // BOOST_MPL_AUX_PREPROCESSOR_RANGE_HPP_INCLUDED
diff --git a/meta/libraries.json b/meta/libraries.json
new file mode 100644
index 0000000..6f7bd4c
--- /dev/null
+++ b/meta/libraries.json
@@ -0,0 +1,14 @@
+{
+ "key": "mpl",
+ "name": "MPL",
+ "authors": [
+ "Aleksey Gurtovoy"
+ ],
+ "description": "The Boost.MPL library is a general-purpose, high-level C++ template metaprogramming framework of compile-time algorithms, sequences and metafunctions. It provides a conceptual foundation and an extensive set of powerful and coherent tools that make doing explict metaprogramming in C++ as easy and enjoyable as possible within the current language.",
+ "category": [
+ "Metaprogramming"
+ ],
+ "maintainers": [
+ "Aleksey Gurtovoy "
+ ]
+}
diff --git a/test/Jamfile.v2 b/test/Jamfile.v2
index 0031a52..6a88a6a 100644
--- a/test/Jamfile.v2
+++ b/test/Jamfile.v2
@@ -1,4 +1,5 @@
+compile aux_/increased_arity.cpp ;
compile aux_/largest_int.cpp ;
compile aux_/msvc_is_class.cpp ;
compile aux_/template_arity.cpp ;
diff --git a/test/aux_/increased_arity.cpp b/test/aux_/increased_arity.cpp
new file mode 100644
index 0000000..47a433d
--- /dev/null
+++ b/test/aux_/increased_arity.cpp
@@ -0,0 +1,50 @@
+
+// Copyright Bruno Dutra 2015
+//
+// Distributed under the Boost Software License, Version 1.0.
+// (See accompanying file LICENSE_1_0.txt or copy at
+// http://www.boost.org/LICENSE_1_0.txt)
+//
+// See http://www.boost.org/libs/mpl for documentation.
+
+// $Id$
+// $Date$
+// $Revision$
+
+#define BOOST_MPL_LIMIT_METAFUNCTION_ARITY 15
+#define BOOST_MPL_CFG_NO_PREPROCESSED_HEADERS
+
+#include
+#include
+#include
+
+#include
+
+#include
+#include
+#include
+#include
+
+#define TEST_N_ARY(unused1, N, unused2) \
+ static_assert_< \
+ apply< \
+ and_, \
+ BOOST_PP_ENUM_PARAMS(N, true_ BOOST_PP_INTERCEPT) \
+ > \
+ >(); \
+/**/
+
+template
+void static_assert_(){
+ MPL_ASSERT((typename assertion::type));
+}
+
+MPL_TEST_CASE()
+{
+ BOOST_PP_REPEAT_FROM_TO(
+ 2,
+ BOOST_PP_INC(BOOST_MPL_LIMIT_METAFUNCTION_ARITY),
+ TEST_N_ARY,
+ _
+ )
+}