Issue #27993: Fix problems with the plural “objects” in docs and comments
diff --git a/Doc/library/argparse.rst b/Doc/library/argparse.rst
index bdc699f..af34895 100644
--- a/Doc/library/argparse.rst
+++ b/Doc/library/argparse.rst
@@ -181,7 +181,7 @@
 prog
 ^^^^
 
-By default, :class:`ArgumentParser` objects uses ``sys.argv[0]`` to determine
+By default, :class:`ArgumentParser` objects use ``sys.argv[0]`` to determine
 how to display the name of the program in help messages.  This default is almost
 always desirable because it will make the help messages match how the program was
 invoked on the command line.  For example, consider a file named
@@ -512,7 +512,7 @@
 ^^^^^^^^^^^^^^^^
 
 :class:`ArgumentParser` objects do not allow two actions with the same option
-string.  By default, :class:`ArgumentParser` objects raises an exception if an
+string.  By default, :class:`ArgumentParser` objects raise an exception if an
 attempt is made to create an argument with an option string that is already in
 use::
 
diff --git a/Doc/library/weakref.rst b/Doc/library/weakref.rst
index e5a99ea..afbd611 100644
--- a/Doc/library/weakref.rst
+++ b/Doc/library/weakref.rst
@@ -328,7 +328,7 @@
 Example
 -------
 
-This simple example shows how an application can use objects IDs to retrieve
+This simple example shows how an application can use object IDs to retrieve
 objects that it has seen before.  The IDs of the objects can then be used in
 other data structures without forcing the objects to remain alive, but the
 objects can still be retrieved by ID if they do.
diff --git a/Doc/library/xml.dom.rst b/Doc/library/xml.dom.rst
index 4d98015..ee1d28c 100644
--- a/Doc/library/xml.dom.rst
+++ b/Doc/library/xml.dom.rst
@@ -419,7 +419,7 @@
 ^^^^^^^^^^^^^^^^
 
 A :class:`NodeList` represents a sequence of nodes.  These objects are used in
-two ways in the DOM Core recommendation:  the :class:`Element` objects provides
+two ways in the DOM Core recommendation:  an :class:`Element` object provides
 one as its list of child nodes, and the :meth:`getElementsByTagName` and
 :meth:`getElementsByTagNameNS` methods of :class:`Node` return objects with this
 interface to represent query results.
diff --git a/Lib/inspect.py b/Lib/inspect.py
index b08e145..6d645bd 100644
--- a/Lib/inspect.py
+++ b/Lib/inspect.py
@@ -155,9 +155,8 @@
 def isgeneratorfunction(object):
     """Return true if the object is a user-defined generator function.
 
-    Generator function objects provides same attributes as functions.
-
-    See help(isfunction) for attributes listing."""
+    Generator function objects provide the same attributes as functions.
+    See help(isfunction) for a list of attributes."""
     return bool((isfunction(object) or ismethod(object)) and
                 object.func_code.co_flags & CO_GENERATOR)
 
diff --git a/Lib/json/tests/test_decode.py b/Lib/json/tests/test_decode.py
index 78d7fbb..0014546 100644
--- a/Lib/json/tests/test_decode.py
+++ b/Lib/json/tests/test_decode.py
@@ -43,7 +43,7 @@
         self.assertEqual(self.loads(s, object_pairs_hook=OrderedDict,
                                     object_hook=lambda x: None),
                          OrderedDict(p))
-        # check that empty objects literals work (see #17368)
+        # check that empty object literals work (see #17368)
         self.assertEqual(self.loads('{}', object_pairs_hook=OrderedDict),
                          OrderedDict())
         self.assertEqual(self.loads('{"empty": {}}',
diff --git a/Misc/HISTORY b/Misc/HISTORY
index fceda8a..5cb263c 100644
--- a/Misc/HISTORY
+++ b/Misc/HISTORY
@@ -15145,7 +15145,7 @@
 module implementing deepcopy and normal (shallow) copy operations.
 See the library reference manual.
 
-- Documentation strings for many objects types are accessible through
+- Documentation strings for many object types are accessible through
 the __doc__ attribute.  Modules, classes and functions support special
 syntax to initialize the __doc__ attribute: if the first statement
 consists of just a string literal, that string literal becomes the
diff --git a/Misc/NEWS b/Misc/NEWS
index 1fc6135..64200d2 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -1865,7 +1865,7 @@
 - Issue #21350: Fix file.writelines() to accept arbitrary buffer objects,
   as advertised.  Patch by Brian Kearns.
 
-- Issue #20437: Fixed 43 potential bugs when deleting objects references.
+- Issue #20437: Fixed 43 potential bugs when deleting object references.
 
 - Issue #21134: Fix segfault when str is called on an uninitialized
   UnicodeEncodeError, UnicodeDecodeError, or UnicodeTranslateError object.