merge heads
diff --git a/Doc/library/collections.abc.rst b/Doc/library/collections.abc.rst
index dbd89ae..9873489 100644
--- a/Doc/library/collections.abc.rst
+++ b/Doc/library/collections.abc.rst
@@ -6,6 +6,9 @@
 .. moduleauthor:: Raymond Hettinger <python at rcn.com>
 .. sectionauthor:: Raymond Hettinger <python at rcn.com>
 
+.. versionadded:: 3.3
+   Formerly, this module was part of the :mod:`collections` module.
+
 .. testsetup:: *
 
    from collections import *
@@ -20,8 +23,6 @@
 can be used to test whether a class provides a particular interface; for
 example, whether it is hashable or whether it is a mapping.
 
-.. versionchanged:: 3.3
-   Formerly, this module was part of the :mod:`collections` module.
 
 .. _collections-abstract-base-classes:
 
diff --git a/Doc/library/collections.rst b/Doc/library/collections.rst
index df231f8..14ccffb 100644
--- a/Doc/library/collections.rst
+++ b/Doc/library/collections.rst
@@ -72,7 +72,7 @@
 
       A user updateable list of mappings.  The list is ordered from
       first-searched to last-searched.  It is the only stored state and can
-      modified to change which mappings are searched.  The list should
+      be modified to change which mappings are searched.  The list should
       always contain at least one mapping.
 
    .. method:: new_child()
diff --git a/Doc/license.rst b/Doc/license.rst
index d0b370f..9119f18 100644
--- a/Doc/license.rst
+++ b/Doc/license.rst
@@ -875,7 +875,7 @@
 ----
 
 The :mod:`zlib` extension is built using an included copy of the zlib
-sources unless the zlib version found on the system is too old to be
+sources if the zlib version found on the system is too old to be
 used for the build::
 
   Copyright (C) 1995-2011 Jean-loup Gailly and Mark Adler
diff --git a/Lib/shlex.py b/Lib/shlex.py
index 92c49c3..69f3b45 100644
--- a/Lib/shlex.py
+++ b/Lib/shlex.py
@@ -276,7 +276,7 @@
     return list(lex)
 
 
-_find_unsafe = re.compile(r'[^\w@%\-\+=:,\./]', re.ASCII).search
+_find_unsafe = re.compile(r'[^\w@%+=:,./-]', re.ASCII).search
 
 def quote(s):
     """Return a shell-escaped version of the string *s*."""
diff --git a/Makefile.pre.in b/Makefile.pre.in
index cc7c389..055f4a5 100644
--- a/Makefile.pre.in
+++ b/Makefile.pre.in
@@ -1359,7 +1359,7 @@
 		-o -name .hgignore \
 		-o -name .bzrignore \
 		-o -name MANIFEST \
-		-print
+		-o -print
 
 # Perform some verification checks on any modified files.
 patchcheck:
diff --git a/Tools/scripts/run_tests.py b/Tools/scripts/run_tests.py
index d8f5ac3..f750e19 100755
--- a/Tools/scripts/run_tests.py
+++ b/Tools/scripts/run_tests.py
@@ -32,6 +32,8 @@
                  '-r',            # Randomize test order
                  '-w',            # Re-run failed tests in verbose mode
                  ])
+    if sys.platform == 'win32':
+        args.append('-n')         # Silence alerts under Windows
     if not any(is_multiprocess_flag(arg) for arg in regrtest_args):
         args.extend(['-j', '0'])  # Use all CPU cores
     if not any(is_resource_use_flag(arg) for arg in regrtest_args):