Distinguish between C++11 language and library support for <initializer_list>.
Fix spelling: repositary -> repository.
Pull in gtest 671.
diff --git a/README b/README
index ed2e69b..0cb9123 100644
--- a/README
+++ b/README
@@ -42,7 +42,7 @@
 
 Google Mock is implemented on top of the Google Test C++ testing
 framework (http://code.google.com/p/googletest/), and includes the
-latter as part of the SVN repositary and distribution package.  You
+latter as part of the SVN repository and distribution package.  You
 must use the bundled version of Google Test when using Google Mock, or
 you may get compiler/linker errors.
 
@@ -92,7 +92,7 @@
 
 There are two primary ways of getting Google Mock's source code: you
 can download a stable source release in your preferred archive format,
-or directly check out the source from our Subversion (SVN) repositary.
+or directly check out the source from our Subversion (SVN) repository.
 The SVN checkout requires a few extra steps and some extra software
 packages on your system, but lets you track development and make
 patches much more easily, so we highly encourage it.
diff --git a/include/gmock/gmock-matchers.h b/include/gmock/gmock-matchers.h
index 979b0e8..5e2a8d5 100644
--- a/include/gmock/gmock-matchers.h
+++ b/include/gmock/gmock-matchers.h
@@ -52,8 +52,8 @@
 #include "gmock/internal/gmock-port.h"
 #include "gtest/gtest.h"
 
-#if GTEST_LANG_CXX11
-#include <initializer_list>  // NOLINT -- must be after gtest.h
+#if GTEST_HAS_STD_INITIALIZER_LIST_
+# include <initializer_list>  // NOLINT -- must be after gtest.h
 #endif
 
 namespace testing {
@@ -3350,7 +3350,7 @@
   return ElementsAreArray(vec.begin(), vec.end());
 }
 
-#if GTEST_LANG_CXX11
+#if GTEST_HAS_STD_INITIALIZER_LIST_
 template <typename T>
 inline internal::ElementsAreArrayMatcher<T>
 ElementsAreArray(::std::initializer_list<T> xs) {
@@ -3392,7 +3392,7 @@
   return UnorderedElementsAreArray(vec.begin(), vec.end());
 }
 
-#if GTEST_LANG_CXX11
+#if GTEST_HAS_STD_INITIALIZER_LIST_
 template <typename T>
 inline internal::UnorderedElementsAreArrayMatcher<T>
 UnorderedElementsAreArray(::std::initializer_list<T> xs) {
diff --git a/test/gmock-generated-matchers_test.cc b/test/gmock-generated-matchers_test.cc
index c59b7de..ff23500 100644
--- a/test/gmock-generated-matchers_test.cc
+++ b/test/gmock-generated-matchers_test.cc
@@ -630,7 +630,7 @@
   EXPECT_THAT(test_vector, Not(ElementsAreArray(expected)));
 }
 
-#if GTEST_LANG_CXX11
+#if GTEST_HAS_STD_INITIALIZER_LIST_
 
 TEST(ElementsAreArrayTest, TakesInitializerList) {
   const int a[5] = { 1, 2, 3, 4, 5 };
@@ -666,7 +666,7 @@
       { Eq(1), Ne(-2), Ge(3), Le(4), Eq(6) })));
 }
 
-#endif  // GTEST_LANG_CXX11
+#endif  // GTEST_HAS_STD_INITIALIZER_LIST_
 
 TEST(ElementsAreArrayTest, CanBeCreatedWithMatcherVector) {
   const int a[] = { 1, 2, 3 };
diff --git a/test/gmock-matchers_test.cc b/test/gmock-matchers_test.cc
index bd7a38a..2a5cf90 100644
--- a/test/gmock-matchers_test.cc
+++ b/test/gmock-matchers_test.cc
@@ -4503,7 +4503,7 @@
   EXPECT_THAT(s, Not(UnorderedElementsAreArray(expected)));
 }
 
-#if GTEST_LANG_CXX11
+#if GTEST_HAS_STD_INITIALIZER_LIST_
 
 TEST(UnorderedElementsAreArrayTest, TakesInitializerList) {
   const int a[5] = { 2, 1, 4, 5, 3 };
@@ -4537,7 +4537,7 @@
       { Eq(1), Ne(-2), Ge(3), Le(4), Eq(6) })));
 }
 
-#endif  // GTEST_LANG_CXX11
+#endif  // GTEST_HAS_STD_INITIALIZER_LIST_
 
 class UnorderedElementsAreTest : public testing::Test {
  protected: