Fix all wrong instances of "it's".
diff --git a/Doc/Makefile b/Doc/Makefile
index f68e3f2..0d391af 100644
--- a/Doc/Makefile
+++ b/Doc/Makefile
@@ -87,7 +87,7 @@
 # (e.g. OpenBSD needs package gmake installed; use gmake instead of make)
 PWD=$(shell pwd)
 
-# (The trailing colon in the value is needed; TeX places it's default
+# (The trailing colon in the value is needed; TeX places its default
 # set of paths at the location of the empty string in the path list.)
 TEXINPUTS=$(PWD)/commontex:
 
diff --git a/Doc/dist/dist.tex b/Doc/dist/dist.tex
index 5db240f..c0a29be 100644
--- a/Doc/dist/dist.tex
+++ b/Doc/dist/dist.tex
@@ -2294,7 +2294,7 @@
 \begin{classdesc*}{Extension}
 
 The Extension class describes a single C or \Cpp extension module in a
-setup script. It accepts the following keyword arguments in it's
+setup script. It accepts the following keyword arguments in its
 constructor
 
 \begin{tableiii}{c|l|l}{argument name}{argument name}{value}{type}
@@ -2354,7 +2354,7 @@
 \end{classdesc*}
 
 \begin{classdesc*}{Command}
-A \class{Command} class (or rather, an instance of one of it's subclasses)
+A \class{Command} class (or rather, an instance of one of its subclasses)
 implement a single distutils command.
 \end{classdesc*}
 
@@ -2443,7 +2443,7 @@
 (don't actually execute the steps) and \var{force} (rebuild
 everything, regardless of dependencies). All of these flags default to
 \code{0} (off). Note that you probably don't want to instantiate
-\class{CCompiler} or one of it's subclasses directly - use the
+\class{CCompiler} or one of its subclasses directly - use the
 \function{distutils.CCompiler.new_compiler()} factory function
 instead.
 
@@ -3323,7 +3323,7 @@
 The option_table is a list of 3-tuples: \samp{(long_option,
 short_option, help_string)}
 
-If an option takes an argument, it's \var{long_option} should have \code{'='}
+If an option takes an argument, its \var{long_option} should have \code{'='}
 appended; \var{short_option} should just be a single character, no \code{':'}
 in any case. \var{short_option} should be \code{None} if a \var{long_option} 
 doesn't have a corresponding \var{short_option}. All option tuples must have
diff --git a/Doc/perl/l2hinit.perl b/Doc/perl/l2hinit.perl
index e27f238..89deed0 100644
--- a/Doc/perl/l2hinit.perl
+++ b/Doc/perl/l2hinit.perl
@@ -98,7 +98,7 @@
     $dir =~ s/$dd$//;
     $TEXINPUTS = "$dir$envkey$mytexinputs";
     # Push everything into $TEXINPUTS since LaTeX2HTML doesn't pick
-    # this up on it's own; we clear $ENV{'TEXINPUTS'} so the value set
+    # this up on its own; we clear $ENV{'TEXINPUTS'} so the value set
     # for this by the main LaTeX2HTML script doesn't contain duplicate
     # directories.
     if ($ENV{'TEXINPUTS'}) {
diff --git a/Lib/ConfigParser.py b/Lib/ConfigParser.py
index ade9614..6dc53b9 100644
--- a/Lib/ConfigParser.py
+++ b/Lib/ConfigParser.py
@@ -28,7 +28,7 @@
         create the parser and specify a dictionary of intrinsic defaults.  The
         keys must be strings, the values must be appropriate for %()s string
         interpolation.  Note that `__name__' is always an intrinsic default;
-        it's value is the section's name.
+        its value is the section's name.
 
     sections()
         return all the configuration section names, sans DEFAULT
diff --git a/Lib/SimpleXMLRPCServer.py b/Lib/SimpleXMLRPCServer.py
index 315ce84..5e39840 100644
--- a/Lib/SimpleXMLRPCServer.py
+++ b/Lib/SimpleXMLRPCServer.py
@@ -170,7 +170,7 @@
 
         If the registered instance has a _dispatch method then that
         method will be called with the name of the XML-RPC method and
-        it's parameters as a tuple
+        its parameters as a tuple
         e.g. instance._dispatch('add',(2,3))
 
         If the registered instance does not have a _dispatch method
@@ -371,7 +371,7 @@
 
         If the registered instance has a _dispatch method then that
         method will be called with the name of the XML-RPC method and
-        it's parameters as a tuple
+        its parameters as a tuple
         e.g. instance._dispatch('add',(2,3))
 
         If the registered instance does not have a _dispatch method
diff --git a/Lib/difflib.py b/Lib/difflib.py
index 590785f..3558f53 100644
--- a/Lib/difflib.py
+++ b/Lib/difflib.py
@@ -1371,7 +1371,7 @@
                 text = ' '
             # insert marks that won't be noticed by an xml/html escaper.
             text = '\0' + format_key + text + '\1'
-        # Return line of text, first allow user's line formatter to do it's
+        # Return line of text, first allow user's line formatter to do its
         # thing (such as adding the line number) then replace the special
         # marks with what the user's change markup.
         return (num_lines[side],text)
@@ -1472,7 +1472,7 @@
         """Yields from/to lines of text with a change indication.
 
         This function is an iterator.  It itself pulls lines from the line
-        iterator.  It's difference from that iterator is that this function
+        iterator.  Its difference from that iterator is that this function
         always yields a pair of from/to text lines (with the change
         indication).  If necessary it will collect single from/to lines
         until it has a matching pair from/to pair to yield.
diff --git a/Lib/idlelib/configDialog.py b/Lib/idlelib/configDialog.py
index 1984845..63bcae2 100644
--- a/Lib/idlelib/configDialog.py
+++ b/Lib/idlelib/configDialog.py
@@ -27,7 +27,7 @@
         self.configure(borderwidth=5)
         self.geometry("+%d+%d" % (parent.winfo_rootx()+20,
                 parent.winfo_rooty()+30))
-        #Theme Elements. Each theme element key is it's display name.
+        #Theme Elements. Each theme element key is its display name.
         #The first value of the tuple is the sample area tag name.
         #The second value is the display name list sort index.
         self.themeElements={'Normal Text':('normal','00'),
diff --git a/Lib/pydoc.py b/Lib/pydoc.py
index e0add86..50fe4a1 100755
--- a/Lib/pydoc.py
+++ b/Lib/pydoc.py
@@ -92,7 +92,7 @@
     return name
 
 def isdata(object):
-    """Check if an object is of a type that probably means it's data."""
+    """Check if an object is of a type that probably means its data."""
     return not (inspect.ismodule(object) or inspect.isclass(object) or
                 inspect.isroutine(object) or inspect.isframe(object) or
                 inspect.istraceback(object) or inspect.iscode(object))
diff --git a/Lib/tarfile.py b/Lib/tarfile.py
index 867b242..e4c5863 100644
--- a/Lib/tarfile.py
+++ b/Lib/tarfile.py
@@ -1462,7 +1462,7 @@
                 # stream of tar blocks.
                 raise StreamError, "cannot extract (sym)link as file object"
             else:
-                # A (sym)link's file object is it's target's file object.
+                # A (sym)link's file object is its target's file object.
                 return self.extractfile(self._getmember(tarinfo.linkname,
                                                         tarinfo))
         else:
diff --git a/Lib/test/test_al.py b/Lib/test/test_al.py
index 66955ba..02876f0 100755
--- a/Lib/test/test_al.py
+++ b/Lib/test/test_al.py
@@ -8,7 +8,7 @@
 alattrs = ['__doc__', '__name__', 'getdefault', 'getminmax', 'getname', 'getparams',
            'newconfig', 'openport', 'queryparams', 'setparams']
 
-# This is a very unobtrusive test for the existence of the al module and all it's
+# This is a very unobtrusive test for the existence of the al module and all its
 # attributes.  More comprehensive examples can be found in Demo/al
 
 def main():
diff --git a/Lib/test/test_cd.py b/Lib/test/test_cd.py
index 9a65a7d..d856211 100755
--- a/Lib/test/test_cd.py
+++ b/Lib/test/test_cd.py
@@ -10,7 +10,7 @@
            'ident', 'index', 'msftoframe', 'open', 'pnum', 'ptime']
 
 
-# This is a very inobtrusive test for the existence of the cd module and all it's
+# This is a very inobtrusive test for the existence of the cd module and all its
 # attributes.  More comprehensive examples can be found in Demo/cd and
 # require that you have a CD and a CD ROM drive
 
diff --git a/Lib/test/test_cl.py b/Lib/test/test_cl.py
index d3efe9f..abfe3c1 100755
--- a/Lib/test/test_cl.py
+++ b/Lib/test/test_cl.py
@@ -64,7 +64,7 @@
 
 
 # This is a very inobtrusive test for the existence of the cl
-# module and all it's attributes.
+# module and all its attributes.
 
 def main():
     # touch all the attributes of al without doing anything
diff --git a/Lib/test/test_minidom.py b/Lib/test/test_minidom.py
index a54fbd3..15581cc 100644
--- a/Lib/test/test_minidom.py
+++ b/Lib/test/test_minidom.py
@@ -1199,7 +1199,7 @@
             and not a1.isId
             and a2.isId
             and not a3.isId)
-    # renaming an attribute should not affect it's ID-ness:
+    # renaming an attribute should not affect its ID-ness:
     doc.renameNode(a2, xml.dom.EMPTY_NAMESPACE, "an")
     confirm(e.isSameNode(doc.getElementById("w"))
             and a2.isId)
@@ -1235,7 +1235,7 @@
     confirm(a2.isId)
     confirm(not a3.isId)
     confirm(doc.getElementById("v") is None)
-    # renaming an attribute should not affect it's ID-ness:
+    # renaming an attribute should not affect its ID-ness:
     doc.renameNode(a2, xml.dom.EMPTY_NAMESPACE, "an")
     confirm(e.isSameNode(doc.getElementById("w"))
             and a2.isId)
@@ -1271,7 +1271,7 @@
     confirm(a2.isId)
     confirm(not a3.isId)
     confirm(doc.getElementById("v") is None)
-    # renaming an attribute should not affect it's ID-ness:
+    # renaming an attribute should not affect its ID-ness:
     doc.renameNode(a2, xml.dom.EMPTY_NAMESPACE, "an")
     confirm(e.isSameNode(doc.getElementById("w"))
             and a2.isId)
diff --git a/Lib/test/test_unicodedata.py b/Lib/test/test_unicodedata.py
index 0bbabb1..f6dbe0e 100644
--- a/Lib/test/test_unicodedata.py
+++ b/Lib/test/test_unicodedata.py
@@ -191,7 +191,7 @@
     def test_decimal_numeric_consistent(self):
         # Test that decimal and numeric are consistent,
         # i.e. if a character has a decimal value,
-        # it's numeric value should be the same.
+        # its numeric value should be the same.
         count = 0
         for i in xrange(0x10000):
             c = unichr(i)
@@ -204,7 +204,7 @@
     def test_digit_numeric_consistent(self):
         # Test that digit and numeric are consistent,
         # i.e. if a character has a digit value,
-        # it's numeric value should be the same.
+        # its numeric value should be the same.
         count = 0
         for i in xrange(0x10000):
             c = unichr(i)
diff --git a/Mac/Tools/IDE/Wbase.py b/Mac/Tools/IDE/Wbase.py
index 4eef120..93e499f 100644
--- a/Mac/Tools/IDE/Wbase.py
+++ b/Mac/Tools/IDE/Wbase.py
@@ -128,28 +128,28 @@
             # depending on the values of l(eft), t(op), r(right) and b(ottom),
             # they mean different things:
             if l < -1:
-                # l is less than -1, this mean it measures from the *right* of it's parent
+                # l is less than -1, this mean it measures from the *right* of its parent
                 l = pr + l
             else:
-                # l is -1 or greater, this mean it measures from the *left* of it's parent
+                # l is -1 or greater, this mean it measures from the *left* of its parent
                 l = pl + l
             if t < -1:
-                # t is less than -1, this mean it measures from the *bottom* of it's parent
+                # t is less than -1, this mean it measures from the *bottom* of its parent
                 t = pb + t
             else:
-                # t is -1 or greater, this mean it measures from the *top* of it's parent
+                # t is -1 or greater, this mean it measures from the *top* of its parent
                 t = pt + t
             if r > 1:
                 # r is greater than 1, this means r is the *width* of the widget
                 r = l + r
             else:
-                # r is less than 1, this means it measures from the *right* of it's parent
+                # r is less than 1, this means it measures from the *right* of its parent
                 r = pr + r
             if b > 1:
                 # b is greater than 1, this means b is the *height* of the widget
                 b = t + b
             else:
-                # b is less than 1, this means it measures from the *bottom* of it's parent
+                # b is less than 1, this means it measures from the *bottom* of its parent
                 b = pb + b
             self._bounds = (l, t, r, b)
         if oldbounds and oldbounds <> self._bounds:
diff --git a/Misc/NEWS b/Misc/NEWS
index f726589..a6679ad 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -275,7 +275,7 @@
 - Enhancements to the csv module:
 
   + Dialects are now validated by the underlying C code, better
-    reflecting it's capabilities, and improving it's compliance with
+    reflecting its capabilities, and improving its compliance with
     PEP 305.
   + Dialect parameter parsing has been re-implemented to improve error
     reporting.
diff --git a/PC/getpathp.c b/PC/getpathp.c
index ecde205..3b4f452 100644
--- a/PC/getpathp.c
+++ b/PC/getpathp.c
@@ -11,7 +11,7 @@
    * Python always adds an empty entry at the start, which corresponds
      to the current directory.
 
-   * If the PYTHONPATH env. var. exists, it's entries are added next.
+   * If the PYTHONPATH env. var. exists, its entries are added next.
 
    * We look in the registry for "application paths" - that is, sub-keys
      under the main PythonPath registry key.  These are added next (the
diff --git a/PC/os2emx/getpathp.c b/PC/os2emx/getpathp.c
index 7bfd19e..5839eab 100644
--- a/PC/os2emx/getpathp.c
+++ b/PC/os2emx/getpathp.c
@@ -11,7 +11,7 @@
    * Python always adds an empty entry at the start, which corresponds
      to the current directory.
 
-   * If the PYTHONPATH env. var. exists, it's entries are added next.
+   * If the PYTHONPATH env. var. exists, its entries are added next.
 
    * We attempt to locate the "Python Home" - if the PYTHONHOME env var
      is set, we believe it.  Otherwise, we use the path of our host .EXE's
diff --git a/PC/w9xpopen.c b/PC/w9xpopen.c
index 95fc277..f8439f2 100644
--- a/PC/w9xpopen.c
+++ b/PC/w9xpopen.c
@@ -9,7 +9,7 @@
  * This program is to be launched with redirected standard
  * handles. It will launch the command line specified 16-bit
  * console based application in the same console, forwarding
- * it's own redirected standard handles to the 16-bit child.
+ * its own redirected standard handles to the 16-bit child.
 
  * AKA solution to the problem described in KB: Q150956.
  */    
diff --git a/Tools/pynche/README b/Tools/pynche/README
index c76da78..d20efc3 100644
--- a/Tools/pynche/README
+++ b/Tools/pynche/README
@@ -107,7 +107,7 @@
         master[*]
             the master window to use as the parent of the modal
             dialog.  Without this argument, pyColorChooser will create 
-            it's own Tkinter.Tk instance as the master.  This may not
+            its own Tkinter.Tk instance as the master.  This may not
             be what you want.
 
         databasefile
diff --git a/Tools/pynche/StripViewer.py b/Tools/pynche/StripViewer.py
index f7da479..8d17d55 100644
--- a/Tools/pynche/StripViewer.py
+++ b/Tools/pynche/StripViewer.py
@@ -268,7 +268,7 @@
         else:
             # decimal
             text = repr(coloraxis)
-        # move the arrow, and set it's text
+        # move the arrow, and set its text
         if coloraxis <= 128:
             # use the left arrow
             self.__leftarrow.set_text(text)