Various minor typos in documentation and comments
diff --git a/Doc/library/collections.rst b/Doc/library/collections.rst
index 347cf1f..0971825 100644
--- a/Doc/library/collections.rst
+++ b/Doc/library/collections.rst
@@ -980,7 +980,7 @@
 
 The :class:`OrderedDict` constructor and :meth:`update` method both accept
 keyword arguments, but their order is lost because Python's function call
-semantics pass-in keyword arguments using a regular unordered dictionary.
+semantics pass in keyword arguments using a regular unordered dictionary.
 
 
 :class:`OrderedDict` Examples and Recipes
diff --git a/Doc/library/test.rst b/Doc/library/test.rst
index 974909e..2fdaf8c 100644
--- a/Doc/library/test.rst
+++ b/Doc/library/test.rst
@@ -160,7 +160,7 @@
 The :mod:`test` package can be run as a script to drive Python's regression
 test suite, thanks to the :option:`-m` option: :program:`python -m test`. Under
 the hood, it uses :mod:`test.regrtest`; the call :program:`python -m
-test.regrtest` used in previous Python versions still works).  Running the
+test.regrtest` used in previous Python versions still works.  Running the
 script by itself automatically starts running all regression tests in the
 :mod:`test` package. It does this by finding all modules in the package whose
 name starts with ``test_``, importing them, and executing the function
diff --git a/Lib/http/server.py b/Lib/http/server.py
index a97aa31..4688096 100644
--- a/Lib/http/server.py
+++ b/Lib/http/server.py
@@ -881,7 +881,7 @@
 def _url_collapse_path(path):
     """
     Given a URL path, remove extra '/'s and '.' path elements and collapse
-    any '..' references and returns a colllapsed path.
+    any '..' references and returns a collapsed path.
 
     Implements something akin to RFC-2396 5.2 step 6 to parse relative paths.
     The utility of this function is limited to is_cgi method and helps
diff --git a/Misc/HISTORY b/Misc/HISTORY
index f483759..5957956 100644
--- a/Misc/HISTORY
+++ b/Misc/HISTORY
@@ -6718,7 +6718,7 @@
 
 - Issue #7895: platform.mac_ver() no longer crashes after calling os.fork().
 
-- Issue #9323: Fixed a bug in trace.py that resulted in loosing the name of the
+- Issue #9323: Fixed a bug in trace.py that resulted in losing the name of the
   script being traced.  Patch by Eli Bendersky.
 
 - Issue #9282: Fixed --listfuncs option of trace.py.  Thanks Eli Bendersky for
diff --git a/Misc/NEWS b/Misc/NEWS
index f393d68..ba7e54d 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -1131,7 +1131,7 @@
   engine friendly) error messages when "exec" and "print" are used as
   statements.
 
-- Issue #21642: If the conditional if-else expression, allow an integer written
+- Issue #21642: In the conditional if-else expression, allow an integer written
   with no space between itself and the ``else`` keyword (e.g. ``True if 42else
   False``) to be valid syntax.
 
diff --git a/Modules/_io/stringio.c b/Modules/_io/stringio.c
index 9d73884..95fb703 100644
--- a/Modules/_io/stringio.c
+++ b/Modules/_io/stringio.c
@@ -711,7 +711,7 @@
     /* If newline == "", we don't translate anything.
        If newline == "\n" or newline == None, we translate to "\n", which is
        a no-op.
-       (for newline == None, TextIOWrapper translates to os.sepline, but it
+       (for newline == None, TextIOWrapper translates to os.linesep, but it
        is pointless for StringIO)
     */
     if (newline != NULL && newline[0] == '\r') {
diff --git a/Objects/object.c b/Objects/object.c
index a1a69fa..307e3ac 100644
--- a/Objects/object.c
+++ b/Objects/object.c
@@ -459,7 +459,7 @@
 #ifdef Py_DEBUG
     /* PyObject_Repr() must not be called with an exception set,
        because it may clear it (directly or indirectly) and so the
-       caller looses its exception */
+       caller loses its exception */
     assert(!PyErr_Occurred());
 #endif
 
diff --git a/Objects/typeobject.c b/Objects/typeobject.c
index cf4e4e5..09c895c 100644
--- a/Objects/typeobject.c
+++ b/Objects/typeobject.c
@@ -876,7 +876,7 @@
 #ifdef Py_DEBUG
     /* type_call() must not be called with an exception set,
        because it may clear it (directly or indirectly) and so the
-       caller looses its exception */
+       caller loses its exception */
     assert(!PyErr_Occurred());
 #endif
 
diff --git a/PC/VS9.0/kill_python.c b/PC/VS9.0/kill_python.c
index 604731f..666e1b0 100644
--- a/PC/VS9.0/kill_python.c
+++ b/PC/VS9.0/kill_python.c
@@ -108,7 +108,7 @@
          * modules for all processes (not just the python[_d].exe ones)
          * and see if any of our DLLs are loaded (i.e. python34[_d].dll),
          * as that would also inhibit our ability to rebuild the solution.
-         * Not worth loosing sleep over though; for now, a simple check 
+         * Not worth losing sleep over though; for now, a simple check
          * for just the python executable should be sufficient.
          */
 
diff --git a/PCbuild/kill_python.c b/PCbuild/kill_python.c
index 604731f..666e1b0 100644
--- a/PCbuild/kill_python.c
+++ b/PCbuild/kill_python.c
@@ -108,7 +108,7 @@
          * modules for all processes (not just the python[_d].exe ones)
          * and see if any of our DLLs are loaded (i.e. python34[_d].dll),
          * as that would also inhibit our ability to rebuild the solution.
-         * Not worth loosing sleep over though; for now, a simple check 
+         * Not worth losing sleep over though; for now, a simple check
          * for just the python executable should be sufficient.
          */
 
diff --git a/Python/ceval.c b/Python/ceval.c
index 2752298..7a0cb7f 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -1212,7 +1212,7 @@
 #ifdef Py_DEBUG
     /* PyEval_EvalFrameEx() must not be called with an exception set,
        because it may clear it (directly or indirectly) and so the
-       caller looses its exception */
+       caller loses its exception */
     assert(!PyErr_Occurred());
 #endif
 
@@ -4087,7 +4087,7 @@
 #ifdef Py_DEBUG
     /* PyEval_CallObjectWithKeywords() must not be called with an exception
        set, because it may clear it (directly or indirectly)
-       and so the caller looses its exception */
+       and so the caller loses its exception */
     assert(!PyErr_Occurred());
 #endif